#php #codeigniter #translation
#php #codeigniter #перевод
Вопрос:
Я написал вспомогательную функцию codeigniter, которая помогает переводить строку, используя языковые файлы и lang()
помощник по умолчанию.
Файл на английском языке с именем label_lang.php
, как указано ниже.
$lang["label_country"] = "Country";
$lang["label_first_name"] = "First Name";
$lang["label_last_name"] = "Last Name";
$lang["label_email"] = "Email";
В настоящее время другие языковые файлы недоступны. Поэтому мне нужно вернуть саму английскую строку. Я попробовал это в своей вспомогательной функции.
function translate_string($string_key)
{
$ci = amp; get_instance();
if (lang($string_key) == '') //this section is to return google translated text or as an alernative to language file
{
$ci->lang->load('label', 'english'); //load the English language file
$string = lang($string_key); //get the English string
$ci->lang->load('label', $ci->session->userdata('site_lang')); //reload the session language selected by user
return $string;
}
return lang($string_key);
}
Но этот, похоже, не работает. Мне нужно получить английскую строку в этом помощнике, потому что я хочу реализовать переводчик Google / bing. Я надеюсь, что для этого должно быть решение.
Комментарии:
1. Зачем вам нужна такая ненастоящая функция перевода?
2. @Svetlio В противном случае вместо желаемого текста будет отображаться пустая строка
Ответ №1:
Временно управляется путем копирования файла в другие языковые папки и обновления строки по мере необходимости. Все еще приветствуются ответы.