htaccess多语言不起作用

I use multiple languages. But, I have a problem. This my code not working. The default language always works.

For example :
www.mysite.com/tr/hakkimizda
www.mysite.com/en/about-us

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{QUERY_STRING} ^dil=([a-z]{2})(?:&|$) [NC]
RewriteRule !^[a-z]{2}/ /%1/%{REQUEST_URI}? [L,NC,R=301]

# default
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{QUERY_STRING} !^dil=.+(&|$) [NC]
RewriteRule !^tr/ /tr/%{REQUEST_URI} [L,NC,R=301]


**language.php**
$dil=$_GET["dil"];

if(file_exists("dil/".$dil.".php")){
    $_SESSION["dil"]=$dil;
    header("Location:/");
}else{
    header("Location:tr");
}

Link type
language.php?dil=tr (location index.php)
language.php?dil=en (location index.php)

I want to be
www.mysite.com/tr/hakkimizda
www.mysite.com/en/about-us

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{QUERY_STRING} ^dil=([a-z]{2})(?:&|$) [NC]
RewriteRule !^[a-z]{2}/ /%1/%{REQUEST_URI}? [L,NC,R=301]

# missing rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]{2})/ language.php?dil=$1 [L,NC]

# default
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{QUERY_STRING} !^dil=.+(&|$) [NC]
RewriteRule !^tr/ /tr/%{REQUEST_URI} [L,NC,R=301]