Программирование на языке Ruby
Программирование на языке Ruby читать книгу онлайн
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
msgstr """Project-Id-Version: myapp 1.0.0n""POT-Creation-Date: 2006-05-22 23:27+0900n""PO-Revision-Date: 2006-05-23 14:39+0900n"# Информация о текущем переводчике."Last-Translator: Your Name <[email protected]>n""Language-Team: Japanesen" (Ваш язык)"MIME-Version: 1.0n""Content-Type: text/plain; charset=UTF-8n" (Кодировка файла)"Content-Transfer-Encoding: 8bit r."# Форма множественного числа."Plural-Forms: nplurals=2; plural=(n != l);n"#: person.rb:12msgid "Information"msgstr "Jouhou"#: person.rb:13msgid "Name: %{name}, Age: %{age}"msgstr "Namae: %{name}, Nenrei: %{age}"#: person.rb:14msgid "%{name} has a child."msgid_plural "%{name} has %{num} children."msgstr[0] "%{name} ha hitori kodomo ga imasu."msgstr[1] "%{name) ha %{num} nin no kodomo ga imasu."Тегом
msgidmsgstrmsgid_pluralmsgstr[i]Plural-FormsiPlural-Formsnum != 1msgstr[1]Истоки синтаксиса правила
Plural-FormsИмейте в виду, что формы единственного и множественного числа в большой степени зависят от языка. Во многих языках есть несколько форм множественного числа. Например, в польском слово «файл» в единственном числе записывается как «plik». Если количество экземпляров заканчивается на 2, 3 и 4, то во множественном числе пишется «pliki», а во всех остальных случаях — «plików».
Поэтому для польского языка правило
Plural-FormsPlural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100=20) ? 1 : 2;Заголовок файла — не пустая формальность. Особенно важны разделы
Content-TypePlural-FormsmsginitЗакончив работу, переводчик посылает файлы обратно разработчику (или вы сами возвращаетесь к роли разработчика).
Файлы
myapp.роmyapp/роmyapp/ро/fr/myapp.роmyapp/po/de/myapp.роЗатем выполните команду
rake makemomyapp/data/locale/Таким образом, окончательная структура дерева каталогов выглядит так:
myapp/ Rakefile person.rb ро/ myapp.pot de/myapp.po fr/myapp.po ja/myapp.po : data/ locale/ de/LC_MESSAGES/myapp.mo fr/LC_MESSAGES/myapp.mo ja/LC_MESSAGES/myapp.mo :Перевод закончен, можно протестировать пример. Но предварительно следует указать, где искать МО-файлы и для какой локали проводится тестирование. Установим переменные окружения
GETTEXT_PATHLANGexport GETTEXT_PATH="data/locale"export LANG="ja_JP.UTF-8"ruby person.rbПрограмма выводит локализованные сообщения в соответствии со значением переменной
lang4.3.4. Прочие замечания
Если вы распространяете вместе со своей программой справочники сообщений, то лучше собрать пакет с помощью системы RubyGems или библиотеки
setup.rbПри установке пакета, собранного RubyGems, справочники сообщений копируются в каталоги вида:
(gem-packages-installed-dir)/myapp-x.x.x/data/locale/Такие каталоги уже включены в путь поиска для библиотеки
gettextGETTEXT_PATHВ случае сборки пакета с помощью библиотеки
setup.rb(system-dir)/share/locale/GETTEXT_PATHНапомним, что описанная библиотека не является оберткой набора утилит
gettext
