5

Я пытаюсь оценить, какой из них использовать, поэтому оцените любые отзывы от других, которые приняли это решение. Кажется, есть две большие проекты для перевода:Метеоритная локализация/сравнение i18n libs

MessageFormat

http://messageformat.meteor.com/

PROS

  • на основе MessageFormat.js существенной Lib
  • включает в себя инструмент для извлечения
  • обрабатывает нечеткие строки и версии, если строки обновлены в приложении
  • Javascript и методы рулей
  • прекомпилированного перевод инструмента/WebUI для струнных переводов http://messageformat.meteor.com/translate/af
  • написана Гади, метеор гуру активного сообщества парня

TAP i18n

https://github.com/TAPevents/

отмечает:

  • на основе i18next двигателя
  • использует AJAX для загрузки языки

ПРОФИ

  • хелперы для начальной загрузки/языка сборщиков поддержки
  • для пакетов
  • поддержка
  • для перевода коллекции DB https://github.com/TAPevents/tap-i18n-db)

CONS? - только формат JSON, YAML нет, поэтому утомительно не редактировать - нет WebUI для управления строками

Есть некоторые другие проекты, такие как https://github.com/Nemo64/meteor-translator но два выше, кажется, самым тщательным. Я пропустил других?

Какие еще критерии используются людьми при выборе подходящего инструмента? Основополагающая технология messageFormat vs. i18next кажется фактором.

Вопросы:

1) Несколько языков в странице

Я пытаюсь сделать двуязычный приложение, но:

Tap: «Только необходимые переводы для языка текущего клиента являются отправляется по проводу «

это означает, что язык может быть только A или B, но не представляет собой смесь, автоматически коммутируемую на основе сессия?

т.е. как обеспечить хелперы на странице, чтобы иметь несколько переводу

EN: {{tr "string", 'en'}} 
    FR: {{tr "string", 'fr'}} 

2) Извлечение динамических данных

По крайней мере, MessageFormat проект захвата/извлечения строк в статических страниц, но если у меня есть много контента уже в сложных коллекциях манго, есть ли способ уловить это?

Благодарим за понимание со стороны создателей упаковки или других лиц в этой области.

+0

Вы также можете использовать http://l10ns.org для перевода вашего приложения. – einstein

ответ

3

Похоже, вы уже решили. ;)

как обеспечить хелпер на странице, чтобы иметь несколько перевода

В MessageFormat вам не нужно иметь специальные помощник для каждого языка. Вы просто определяете свой ключ и значение один раз в своем шаблоне для своего базового языка, допустим, английского. Затем позже вы можете использовать инструмент перевода MessageFormat на веб-сайт, чтобы добавить дополнительные строки, например, по-французски, по-испански и т. Д.

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

См SetLocale: http://messageformat.meteor.com/docs#methods

, если у меня есть много контента уже в сложных коллекциях Монго, есть способ, чтобы захватить это?

Мне действительно нужно знать гораздо больше о вашем приложении, чтобы ответить, как вы могли бы это сделать. MessageFormat просто создает файл функций messageformat.js, поэтому вы можете, возможно, напрямую изменить этот файл, но они будут перезаписаны при следующем запуске mf_extract. Поэтому я думаю, вам просто нужно получить пары имя-значение, определенные в вашем приложении, например {{mf 'admin.dashboard.title' 'Dashboard}}. Но если у вас есть способ сопоставить текущее «содержимое» с этими моими ключами, вы можете загрузить этот контент в коллекцию mfstrings или, возможно, написать код, чтобы потянуть их в mfAll.js. , ,

Мы используем MessageFormat для всех наших приложений Meteor и любим его. У меня нет опыта работы с TAP i18n, но MessageFormat, похоже, хорошо удовлетворяет наши потребности (мы делаем японский, английский, китайский).

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

+0

если у вас есть вопросы, я постараюсь ответить на них! –

Смежные вопросы