Интернационализация предложений с двумя множественными словами

Используя gettext, как предложение с несколькими числовыми переменными должно быть переведено? ngettext принимает только одно число в качестве параметра множественного числа.

Перестановки, которые должны быть разрешены в приведенном ниже предложении, это "взрослый и ребенок", "взрослый и ребенок", "взрослый и ребенок" и "взрослый и ребенок".

"от #AVAILABILITYFROM до #AVAILABILITYTO для #NUMADULTS взрослого и #NUMCHILDREN ребенка"

1 ответ

Решение

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

Помните, что несколько переменных и жанр (мужской / женский) также добавляет сложности.

Решение состоит в том, чтобы генерировать только простые предложения, где у вас есть только одна переменная. Это тот случай, который поддерживается ngettext,

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

Другие вопросы по тегам