Play Framework i18n.Как перейти на язык без кода страны - PullRequest
0 голосов
/ 30 января 2019

В Play я могу указать свои поддерживаемые языки в application.conf через:

play.i18n.langs = [ "de", "en", "fr" ]

Допустим, я создал три файла сообщений.Например:

conf/messages (with german as default)
conf/messages.en
conf/messages.fr

Предположим, входящий запрос установил следующий заголовок: Accept-Language = en-US.

Поскольку отсутствует файл "messages.en-US", будет принято сообщение по умолчанию («messages», которое будет на немецком языке).

Как можно (вообще возможно) настроить Play, чтобы взять языковой файл («messages.en») если языковой файл существует?Я немного удивлен, что это не по умолчанию?

Чтобы было понятно: я хочу, чтобы Play взял файл "conf / messages.en", если запрос имеет язык "en_US" или "en_GB"или" en_WHATEVER "в его" Accept-Language ", если не существует файла сообщений с запрошенным кодом страны.

Если нет, какая альтернатива?Нужно ли мне добавлять много комбинаций "language_country-code" в мою конфигурацию "play.i18n.langs"?

play.i18n.langs = [ "de", "en", "en-GB", "en-US","en-DE", "fr" ] // an so on

Надеюсь, что нет.У кого-нибудь есть такая же проблема?Думаю, я просто что-то наблюдаю.

...