[Moscow.pm] Мультиязычный сайт на Mojo

Ilynikh Denis greyhard на gmail.com
Чт Дек 13 11:03:38 PST 2012



13.12.2012, в 19:28, Dmitry Simonov <dsimonov на gmail.com> написал(а):

> В общем смотри, какая тема. Тут все кивают i18n, но мало, кто в курсе, что i18n (internationalization), это не только gettext. Тебе потребуется ещё и l10n (localization). 
> 
> Вот сложности, с которыми придётся столкнуться:
> 1. В одной стране может быть (а скорее и очень быстро потребуется) более одного языка. Например, в России потребуется русский и английский.
> 2. Перевод одного и того же языка для разных стран будет разным. Например, переводы маркетинговых текстов на английский для России и Великобритании будут отличаться.
> 3. Если у Тебя хоть сколько-нибудь нормальный клиент-сайд интерфейс, то переводы потребуется и для него на стороне клиента.
> 4. Тебе потребуется хранить переводы двух типов - короткие фразы (используются для интерфейсов и поясняющих подписей) и длинные тексты (маркетинг, faq, юридическая документация типа оферты и др).
> 5. Тебе потребуется перевод картинок на языки (причём для разных стран, опять-таки разные). Причём есть картинки как интерфейсного плана, так и тупо скриншоты. Причём совершенно точно известно, что не все картинки поддадутся автоматизированном наложению генерящихся надписей. И, кстати, для некоторых языков потребуется отдельно доставлять шрифтовые пекеджи.
> 6. Когда Ты соберёшься передавать тексты в перевод, то для каждого короткого текста потребуется комментарий, который описывает контекст, в котором нужен перевод (одно и тоже слов, как Ты знаешь, может иметь несколько значений). Более того, в такой комментарий потребуется точный перечень мест в интерфейс (и как до него добраться), где оно используется.
> 7. Во всех переводах (коротких и длинных) надо не забыть проставить макросы для вставки как минимум доменных имён и валют,  если они отличаются.
> 8. Таймзона в БД имеет значение. И вывод времени в нужной таймзоне тоже. В отдельных сложных случаях без костылей не обойтись. Например, по тайландскому летоисчислению, сейчас 2555 год.
> 9. Проект must be in UTF-8. Иначе вымрешь сразу же.
> 10. Вывод чисел с десятичной точкой в разных странах отличается. Будь готов.
> 11. Поиск по сайту. Каким бы ты не пользовался движком, важно знать, - все европейские языки, включая русский, процессятся специальным стеммером Snowball. Это такая штука, без которой орфография не будет работать вообще. НО для некоторых языков Snowball-а не хватит и движок заточенный под работу с ним станет бесполезной обузой. Чтобы решить проблему поройся по интернету и разберись, какие бывают стеммеры. Да, кстатьи, для некоторых языков символ пробела (" ") не является разделителем слов (сюрприз!).
> 12. НИКОГДА не храни исходники текстов в html, - Ты его тупо не сможешь отдать на перевод, который тарифицируется по-символьно. Используй форматы типа wiki-markup или markdown.
> 13. НИКОГДА не храни в .po файлах (это способ хранения коротких фраз для переводов с использование упомянутого тут всеми gettext) в лексемах что-либо кроме самого текста.
> 14. Для gettext-а НЕ ИСПОЛЬЗУЙ в качестве идентификаторов лексем русскую фразу, - ты не сможешь такой набор экспортировать на client-side.
> 
> Это не всё. Но основное!
> Если кто-то хочет, могу попросить на питерской перловке рассказать кого-нибудь из своих коллег про то, какие ещё бывают подводные камни с переводами проекта.  
> 
> 
> 
> ---
> Dmitriy V. Simonov,
> Perl & Python programmer
> 
Спасибо :) очень доходчиво , теперь ясно что задача шире чем просто перевод фраз. Действительно про форматы дат, денег и чисел не подумал. 
> 
> 2012/12/12 Денис Ильиных <greyhard на gmail.com>
>> 
>> 
>> 
>> 12 декабря 2012 г., 17:42 пользователь Dmitry Simonov <dsimonov на gmail.com> написал:
>> 
>>> Привет! А Твой чудесный сайт имеет только несколько языков или всё же он заточен под несколько отдельных стран?
>> 
>> 
>> Он будет для нескольких стран.
>>  
>>> 
>>> ---
>>> Dmitriy V. Simonov,
>>> Perl & Python programmer
>>> 
>>> 
>>> 
>>> 2012/12/12 Денис Ильиных <greyhard на gmail.com>
>>>> Есть сайт на Mojo. Появилась задача перевести его не несколько языков. У меня возник вопрос. Как правильно сделать перевод сайта?
>>>> Первая мысль переводить шаблоны и раскладывать по папкам /en/ /ru/ /de/
>>>> Вторая мысль так как текста не много делать через gettext.
>>>> 
>>>> Подскажите верный путь.
>>>> Спасибо.
>>>> 
>>>> --
>>>> Moscow.pm mailing list
>>>> moscow-pm на pm.org | http://moscow.pm.org
>>> 
>>> 
>>> --
>>> Moscow.pm mailing list
>>> moscow-pm на pm.org | http://moscow.pm.org
>> 
>> 
>> Спасибо всем за помощь. Я видимо так и буду делать. Проще поддерживать словарь чем логику в 2-х и более шаблонах
>> 
>> --
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
> 
> -- 
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20121213/0f933a8d/attachment-0001.html>


Подробная информация о списке рассылки Moscow-pm