Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
$lang = Array (
'lang_403_forbidden' => "Forbidden",
'lang_lang_select' => "Language",
'lang_login_email' => "E-mail: ",
'lang_login_email_error_empty' => "Please specify valid e-mail adress.",
'lang_login_email_error_not_valid' => "E-mail adress is not valid.",
'lang_login_email_error_not_exists' => "This e-mail adress is not registered.",
'lang_login_password' => "Password: ",
'lang_login_password_error' => "Specifed password is not valid.",
'lang_login_submit' => "Enter",
'lang_login_remember' => "Remember me",
'lang_login_register' => "Register",
'lang_login_forgot' => "Forgot password",
'lang_login_logout' => "Logout",
'lang_login_logged_as' => "Lgged as",
'lang_login_balance' => "Balance",
'lang_dummy' => "Dummy"
);
$lang = Array (
'lang_403_forbidden' => "Доступ к разделу запрещён",
'lang_lang_select' => "Язык",
'lang_login_email' => "E-mail: ",
'lang_login_email_error_empty' => "Пожалуйста, укажите e-mail адрес.",
'lang_login_email_error_not_valid' => "E-mail адрес указан неверно.",
'lang_login_email_error_not_exists' => "Такой e-mail адрес не зарегистрирован.",
'lang_login_password' => "Пароль: ",
'lang_login_password_error' => "Указан неверный пароль.",
'lang_login_submit' => "Войти",
'lang_login_remember' => "Запомнить",
'lang_login_register' => "Регистрация",
'lang_login_forgot' => "Напомнить пароль",
'lang_login_logout' => "Выйти",
'lang_login_logged_as' => "Вы зашли как",
'lang_login_balance' => "Ваш баланс",
'lang_dummy' => "Dummy"
);
// подключаем языковые файлы
require("locales/en.php"); // по-умолчанию инглиш
$_lang="ru"; // так то оно у меня в конфиге, но для упрошения вывел в переменную
if (isset($_COOKIE['locale'])) // храним в куках
$_lang=$_COOKIE['locale'];
if (file_exists("lang/".$_lang.".php"))
require("lang/".$_lang.".php");
// Заменяем тэги локализации {lang_*}
foreach ($lang as $key => $value) {
$main_template->replace("{".$key."}", $value);
}
{lang_lang_select}: <select name="lang_select" onChange="javascript:setCookie('locale', this.value, 365*24*60*60); document.location='/';">
<option value="ru" selected>---</option>
<option value="ru">Русский</option>
<option value="en">English</option>
</select>
// set cookie (1 day = 24*60*60*1000 ms)
function setCookie(name, value, ms) {
function getExp( d ) {
var exp = new Date();
exp.setTime (exp.getTime() + d);
return '; expires=' + exp.toGMTString();
}
if (value.length == 0)
document.cookie = name + "=" + getExp(-1000) + ";path=/";
else
document.cookie = name + "=" + value + getExp(ms) + ";path=/";
}
А как в этот замечательный код передать запрос из переменной а не руками через форму?вот.. работает через translate.orionnet.ru... непомню где нашол...
*** скрытое содержание ***
У меня вот так:
Сделать папочку с локалями (языками). Внутри хранятся файлы с названием локали, содержащие перевод.
/lang/en.php
/lang/ru.phpPHP:$lang = Array ( 'lang_403_forbidden' => "Forbidden", 'lang_lang_select' => "Language", 'lang_login_email' => "E-mail: ", 'lang_login_email_error_empty' => "Please specify valid e-mail adress.", 'lang_login_email_error_not_valid' => "E-mail adress is not valid.", 'lang_login_email_error_not_exists' => "This e-mail adress is not registered.", 'lang_login_password' => "Password: ", 'lang_login_password_error' => "Specifed password is not valid.", 'lang_login_submit' => "Enter", 'lang_login_remember' => "Remember me", 'lang_login_register' => "Register", 'lang_login_forgot' => "Forgot password", 'lang_login_logout' => "Logout", 'lang_login_logged_as' => "Lgged as", 'lang_login_balance' => "Balance", 'lang_dummy' => "Dummy" );
Не вдаваясь в подробности шаблонного движка (который я использую), в шаблонах использую так: {lang_login_register}.PHP:$lang = Array ( 'lang_403_forbidden' => "Доступ к разделу запрещён", 'lang_lang_select' => "Язык", 'lang_login_email' => "E-mail: ", 'lang_login_email_error_empty' => "Пожалуйста, укажите e-mail адрес.", 'lang_login_email_error_not_valid' => "E-mail адрес указан неверно.", 'lang_login_email_error_not_exists' => "Такой e-mail адрес не зарегистрирован.", 'lang_login_password' => "Пароль: ", 'lang_login_password_error' => "Указан неверный пароль.", 'lang_login_submit' => "Войти", 'lang_login_remember' => "Запомнить", 'lang_login_register' => "Регистрация", 'lang_login_forgot' => "Напомнить пароль", 'lang_login_logout' => "Выйти", 'lang_login_logged_as' => "Вы зашли как", 'lang_login_balance' => "Ваш баланс", 'lang_dummy' => "Dummy" );
Ну и сам код в ядре:
ну и в шаблоне, выборка языка:PHP:// подключаем языковые файлы require("locales/en.php"); // по-умолчанию инглиш $_lang="ru"; // так то оно у меня в конфиге, но для упрошения вывел в переменную if (isset($_COOKIE['locale'])) // храним в куках $_lang=$_COOKIE['locale']; if (file_exists("lang/".$_lang.".php")) require("lang/".$_lang.".php"); // Заменяем тэги локализации {lang_*} foreach ($lang as $key => $value) { $main_template->replace("{".$key."}", $value); }
JavaScript (функция SetCookieКод:{lang_lang_select}: <select name="lang_select" onChange="javascript:setCookie('locale', this.value, 365*24*60*60); document.location='/';"> <option value="ru" selected>---</option> <option value="ru">Русский</option> <option value="en">English</option> </select>
Код:// set cookie (1 day = 24*60*60*1000 ms) function setCookie(name, value, ms) { function getExp( d ) { var exp = new Date(); exp.setTime (exp.getTime() + d); return '; expires=' + exp.toGMTString(); } if (value.length == 0) document.cookie = name + "=" + getExp(-1000) + ";path=/"; else document.cookie = name + "=" + value + getExp(ms) + ";path=/"; }