Pull to refresh

Comments 7

Минималистично API это, конечно, хорошо, но

  1. Какие инструменты для переводчиков вы предлагаете?

  2. Как происходит плурализация? (1 яблоко, 2 яблока, 5 яблок / 1 apple, 2 apples, 5 apples)

  3. Как насчет локализации чисел? (1 000,15 vs 1,000.15)

И падежи ещё (1 яблоком, 2 яблоками), я сейчас страдаю от их отсутствия в gettext

Имхо, падежи не меняются диамически, они не зависят от подставляемых данных. Вы просто формируете фразу сразу в нужном падеже. Но да, так мы ограничены в динамической сборке из кусков

Подставляемые данные зависят от падежей. А среднестатистический англоязычный разработчик часто забывает, что в других языках падежей бывает больше чем в английском, и в итоге из какого-нибудь «%s угостил %s %d %s» мы получаем «Вася угостил Петя 1 яблоко»

Ах да, попутно и про род можно вспомнить, а то какое-нибудь «Получен 1 яблоко» тоже не круто

  1. По сопровождению translation.json файлов и их наполнению я использую плагины в ide и отдельные приложения предназначенные чисто для этих целей.

  2. Плюрализации в этой библиотеки нет, возможно в будущем я добавлю ее. В проектах 90% случаев плюрализация скорее всего Вам не понадобится. Если рассматривать пример с яблоками, можно переназвать это как: "Яблок: {n} шт."

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

  3. По локализации чисел, валют, дат, номеров телефонов здесь я могу предложить использовать сторонние библиотеки, например locale (https://metanit.com/python/tutorial/6.3.php)

Это ваша библиотека? Ни одной звезды, 4 коммита за все время. Вы тогда хотя бы скажите об этом, а то выглядит не очень безопасно.

Это библиотека абсолютно безопасна в использовании, в ней нет сторонних зависимостей, все решение создано на чистом python. Она разрабатывалась специально для проектов разного уровня сложности с которыми мне приходилось работать.

Sign up to leave a comment.

Articles