Локализация Ruby: i18n, g18n, gettext, padrino… - в чем разница?

Будучи в некоторой степени новичком в Ruby, я исследую существующие библиотеки, чтобы делать то, что я обычно делал бы на других языках сценариев, и Я немного озадачен библиотеками локализации, которые могут быть доступны для чего-то, построенного на основе Sinatra / Sequel (Rails / AR на мой вкус слишком самоуверенны).

Теперь я столкнулся с парой (i18n, r18n, GetText) хотя эта вики-страница , и очевидно, что в Padrino используется дополнительная библиотека (основанная на i18n от Rails?); и, по-видимому, намного больше.

За исключением очевидного (например, стиль GetText mo / po и файлы yml), я несколько смущен тем, чем эти параметры могут отличаться. Вики мало что указывает в этом отношении, за исключением того, что они существуют; не то, чем они отличаются.

Эта путаница усугубляется тем фактом, что, по сути, каждая часть документации, кажется, охватывает только одну из них (и обычно в контексте RoR). Более того, эти варианты не выглядят полностью несовместимыми друг с другом при ближайшем рассмотрении - в том смысле, что, если я правильно это понял, они могут понять файлы друг друга в значительной степени.

Может ли кто-нибудь здесь дать краткое и конкретное объяснение / обзор этих библиотек и обрисовать разницу между ними? Некоторые указатели на производительность также будут приветствоваться, если вы знаете о них (кроме указателей из документации fast_gettext, что не имело большого смысла, учитывая мое непонимание разницы между этими параметрами).

17
задан Denis de Bernardy 21 June 2011 в 12:34
поделиться