.po файлы и gettext VS JSON и пользовательская библиотека i18n? - PullRequest
14 голосов
/ 14 ноября 2011

Мне нужно разработать или найти какую-то облегченную библиотеку, похожую на gettext, в JavaScript для переводов на стороне браузера. Предпочтительно, чтобы библиотека node.js могла использовать ту же библиотеку, если бы я вместо этого захотел перевести серверную часть.

1) Но каковы преимущества и недостатки использования файлов .po и библиотеки JavaScript gettext?
(В отличие от JSON и jQuery Globalize или аналогичных?)

2) И есть ли какой-либо рабочий процесс / служба, которая позволит краудсорсинг переводов, которые можно экспортировать в формат (.po / json), который может использоваться библиотекой JavaScript i18n (реализация gettext, Globalize). JS и т. д.)?

Ответы [ 2 ]

16 голосов
/ 17 октября 2012

1) Но каковы на самом деле плюсы и минусы использования файлов .po и библиотеки JavaScript gettext? Формат gettext довольно распространен: - так что, если на вашем сервере уже используется формат gettext, вы можете поделитьсяэто с клиентом - переводчики могут чувствовать себя более комфортно с форматом gettext (или yaml), чем с форматом json - для этого есть много инструментов

Мне лично не нравятся функции перевода, построенные вокруг gettext - чувствуетмне неуютно, когда облегченные библиотеки javascript (например, http://i18next.com) чувствуют себя лучше.

Libs, которые вы можете использовать:

  • jed поставляется с чистым gettextреализация
  • i18next поддерживает файлы gettext, но использует json-подход для функций перевода

2) И есть ли рабочий процесс / служба, которая позволиткраудсорсинг переводов, которые можно экспортировать в формат (.po / json), который может использоваться библиотекой JavaScript i18n (реализация gettext, Globalize.js и т. д.)?

  • http://webtranslateit.com/ может быть чем-то интересным
  • http://i18next.com поставляется с некоторым интерфейсом перевода, который вы можете использовать
1 голос
/ 15 ноября 2011

Преимущества использования gettext в том, что для него доступно множество инструментов, переводчики привыкли им пользоваться, и вы можете легко обмениваться строками между вашим javascript и остальной частью интерфейса.

Вы можете создавать .po файлы из javascript, используя xgettext, хотя javascript по умолчанию не поддерживается. Если вы используете те же имена функций и говорите, что используете perl (я думаю), это работает более надежно. Есть несколько инструментов для преобразования .po в json или просто используйте одну из реализаций gettext js.

...