код на создание перевода

Статус
В этой теме нельзя размещать новые ответы.
цель наверное - получение ГС на другом языке? Иначе такой перевод ничем другим нельзя назвать.
 
я только сейчас понял что меня не правильно поняли))
мне нужно сделать сайт на трёх языках, и не через какой-то переводчик, а самостоятельно внести корректно подготовленный текст
 
Если сайт самописный на PHP что мешает внести вар например 'lang' для задания языка и соответственно вывод формировать.

Например вывод одной страницы на двух разных языках вызывается ссылками:
hxxp://mysite.ru/id=345&lang=1
hxxp://mysite.ru/id=345&lang=2
 
У меня вот так:
Сделать папочку с локалями (языками). Внутри хранятся файлы с названием локали, содержащие перевод.
/lang/en.php
PHP:
$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/ru.php
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"
);

Не вдаваясь в подробности шаблонного движка (который я использую), в шаблонах использую так: {lang_login_register}.

Ну и сам код в ядре:
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);
}

ну и в шаблоне, выборка языка:
Код:
{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>

JavaScript (функция SetCookie:(
Код:
// 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
PHP:
$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/ru.php
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"
);
Не вдаваясь в подробности шаблонного движка (который я использую), в шаблонах использую так: {lang_login_register}.
Ну и сам код в ядре:
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);
}
ну и в шаблоне, выборка языка:
Код:
{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>
JavaScript (функция SetCookie:(
Код:
// 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=/";
}

если не сложно можно .rar архивчик с примером? а то что-то у меня не получается..:nezn:
 
А есть ли какой-то сервис с готовым API на PHP, который можно реализовать в скрипте?
 
отзовитесь!
правда очень надо!
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху