Я объясню, как это сделать для общего PHP-проекта, который также должен работать для Moodle. Сначала создайте отдельную папку с именем lang в вашем проекте. Эта папка может использоваться для размещения ваших языковых пакетов и библиотек обработчиков юникодов. Для обработки unicode сохраните следующий файл в формате Portable-utf8.php в папке lang.
portable-utf8.php
Ваши языковые файлы пакета можно назвать bahar.php, tamil.php и т.д., и сохранен в том же месте. Пример файла должен выглядеть так: с строкой ключевого слова, за которой следует перевод.
<?php
function get_translate($value){
$translations=array(
"yourstring1"=>"விஷேட அம்சங்கள்",
"yourstring2"=>"பின் செல்ல",
"yourstring3"=>"தொலைபேசி எண்",
"yourstring4"=>"தேர்ந்தெடுக்கப்பட்ட பண்ணை",
"yourstring5"=>"கிராமம்",
);
return utf8_html_encode($translations[$value]);
}
?>
Затем вам нужно изменить строки в файлах, которые вы должны с этим:
<?php echo get_translate("your_string");?>
Пожалуйста, обратите внимание, что эта строка должна совпадать со строкой в вашем файле пакета языка. Язык по вашему выбору передается со страницы на страницу с помощью метода GET. Поэтому вам нужно будет передать его, когда при соединении. При желании, если вы хотите сделать динамический перевод нажатием кнопки, вы можете просто использовать этот код jQuery.
$("#yourid").on('click', function(e) {
var split = location.search.replace('?', '').split('=');
if(split[1]=='yourlang1'){
window.location.href="yourdir/yourfile1.php?lang=yourlang1";
}
else if (split[1]=='yourlang2'){
window.location.href="yourdir/yourfile2.php?lang=yourlang2";
}
else if (split[1]=='yourlang'){
window.location.href=""yourdir/yourfile3.php?lang=yourlang3";
}
else{
window.location.href="yourdir/yourfile4.php";
}
});
Наконец-то вызовите свой языковой пакет в верхней части PHP-файла, где должен быть выполнен перевод; как это:
<?php
$lng='';
// setting up language
require 'yourdir/lang/portable-utf8.php';
if(isset($_GET['lang'])){
$lng=$_GET['lang'];
if($_GET['lang']=="yourlang1"){
require 'yourdir/lang/yourlang1.php';
}
elseif ($_GET['lang']=="yourlang2")
{
require 'yourdir/lang/yourlang2.php';
}
else{
require 'yourdir/lang/yourlang3.php';
}
}else{
$lng='yourlangdefault';
require 'lang/yourlangdefualt.php';
}
?>
это может выглядеть длинным на первый, но когда у вас есть сотни или возможно тысячи строк добавить, что это самый простой способ. Все, что вам нужно сделать, это добавить PHP-код в начало страницы, заменить строку, указанную выше, на одну строку кода и добавить строку в файл языкового пакета, если она не существует. Если вам требуется дополнительное объяснение, сообщите мне.