Мультиязыковые проекты

Как Вы реализуете интернационализацию своих проектов?

  • Копирую скрипты в другой каталог и перевожу выводимые сообщения

    Голосов: 1 1,8%
  • Подключаю include()'ом файл, где в переменных определяются сообщения на нужном языке

    Голосов: 34 60,7%
  • С помощью разных шаблонов

    Голосов: 10 17,9%
  • GNU gettext

    Голосов: 2 3,6%
  • как-то по-другому...

    Голосов: 9 16,1%

  • Всего проголосовало
    56

Higgerom

Guest
2Grey_EM
Ты попробуй сделать меленький проект для того чтобы понять насколько это все удобно или наоборот неудобно.
Да я наверное плохо выразился... уже сделал, понял (точнее не понял), вот потому и дискутирую тут с тобой :) Ты утверждаешь, что это все НАМНОГО УДОБНЕЕ и что это стандарт - вот и..

Опять таки мне ведь денег не платят
Ну тебе вроде и за посещение форума этого не платят, ага? :-\
Или же тебе форумы интересно посещать, а спорить (обьяснять) со мной нет?...

<...>
Поверь мне, я с такими общался.
Ааа ... ээ... Ну остается только верить на слово :)) Потому как мне правда трудно представить, чтобы кому-то было сложно понять, каким образом это устроено (как нужно строчки писать :)
Хотя! В чем-то ты прав, удобно - не нужно объяснять человеку, что, мол, mods_Some_index_name значит то-то и то-то. Но! Тут уже вопрос в том, кому что нравится ;-( Лично мне это и не понравилось - один язык в файле, другой в коде! Получается, если я захочу исправить "Невозможно получить доступ" на, скажем, "Доступ невозможен", мне придется прошерстить код в поисках этой строки? Не есть гуд, имо..

ЭЭээ... Я наверное плохо читал, но скажи мне, зачем xgettext юзать второй раз? Мне показалось, по мере добавления нового текста, ты сам добавляешь его в .мо, нет?
У меня xgettext, кстати, как-то коряво работала - скажем, есть такой комментарий: // I'm a script, execute me.
В итоге xgettext считает, что у меня имеет место быть незавершенная строковая константа :)

Затем я запускаю gettext и говорю переводчику на финский: "Слышь Вась тут новый текст появился". Он переводит. И так далее в каждом новом добавлении проекта.
Ну вот тут я не вижу принципиальной разницы с массивами - ну точно так же можно сказать ему, слышь, текст появился, он добавляет элемент массива. Разве что то, о чем я чуть выше написал ...

А ты попробуй посмотреть
Естественно, взгляну :)

PS: Значит-таки kbabel :) Ну ок, я подумал, у тебя очепятка вышел :)
 

Higgerom

Guest
Кстати! Раз ты ярый сторонник этой системы, ты ее наверное в php усиленно юзаешь! У тебя dcgettext работает !? Я так и не смог заставить ;-( А было бы удобно, не меняя домена, для ошибок скажем.
 

Silex

unitecsys
А я делаю так: инклуд файлов типа ***_язык.пхп, где $язык - переменная, определяемая на главной. Это в случае, если контент подключается, а если отдельные надписи - своя ф-ция, к-рая дергает из 3-х языковой базы.
 

Grey_EM

Guest
Ааа ... ээ... Ну остается только верить на слово :)) Потому как мне правда трудно представить, чтобы кому-то было сложно понять, каким образом это устроено (как нужно строчки писать :)
Вернемся к вопросу когда ты попробуешь минимум 3 раза с переводчиками поработать, которые могут только в ворде текстик набить. :)

Хотя! В чем-то ты прав, удобно - не нужно объяснять человеку, что, мол, mods_Some_index_name значит то-то и то-то. Но! Тут уже вопрос в том, кому что нравится ;-( Лично мне это и не понравилось - один язык в файле, другой в коде! Получается, если я захочу исправить "Невозможно получить доступ" на, скажем, "Доступ невозможен", мне придется прошерстить код в поисках этой строки? Не есть гуд, имо..
Нет не придется. Кстати я твой пример не понял. У тебя русский язык в качестве индексов po файла? Обычно в качестве индекса будет access unavailable.

ЭЭээ... Я наверное плохо читал, но скажи мне, зачем xgettext юзать второй раз? Мне показалось, по мере добавления нового текста, ты сам добавляешь его в .мо, нет?
Зачем ? Все само добавляется, только в po, а не в mo.

У меня xgettext, кстати, как-то коряво работала - скажем, есть такой комментарий: // I'm a script, execute me.
В итоге xgettext считает, что у меня имеет место быть незавершенная строковая константа :)
С таким не сталкивался.
Документация по пакету и настройке gettext довольно подробна и обширна.
Welcome to rtfm :).
 

newaver

Guest
Подскажите, а существуют ли законченные коммерческие продукты для организации мультиязыковой поддержки интернет-сайтов ?

И какие

Спасибо
 

Rynor

stay hungry
привет соседям
есть бета
http://webstream.ru/news.html?id=38&nls=1
на gettext + SQL :)
 
Сверху