Локализация для REST API - PullRequest
       0

Локализация для REST API

0 голосов
/ 27 декабря 2018

Я начинаю это обсуждение, чтобы собрать больше информации о методах локализации для API.Похоже, что HTTP НЕ дает достаточного руководства, и даже практического опыта недостаточно.

Основная проблема заключается в том, что API-интерфейсам может потребоваться предоставление контента, который зависит от культуры пользователя, страны, языка и часового пояса.Например, немецкий пользователь хотел бы читать сообщения на немецком языке, с европейскими метрическими датами, числами, единицами, используя евро и в центральноевропейском часовом поясе.

Чтение RFC 7231 Раздел 5.3.5 Принять* Язык и далее в RFC 4647 можно подумать, что Accept-Language достаточно сложен и это то, что должно быть сделано.Однако есть несколько заметных недостатков:

  1. Языковые теги могут быть недостаточно точными, например, пользователь может запрашивать язык только без кода страны и, таким образом, оставить неопределенность в виде: "de, en; q = 0,8"
  2. Даже если пользователь задает языковые и страновые предпочтения, неясно, как связать выбор языкового стандарта сообщения и языкового стандарта форматирования значения.Например, если пользователь запрашивает: «hu_HU, en_US; q = 0,9», в то время как в приложении отсутствуют венгерские сообщения, и он написан на Java, который знает, как форматировать дату на венгерском языке.Так должно ли приложение использовать английские сообщения с венгерскими датами или, скорее, предоставлять английские сообщения с датами США?Реальная ситуация может быть более сложной.
  3. Часовой пояс отсутствует в языковых тегах. нет стандартного заголовка HTTP для этого, кажется .

Я вижу Microsoft подумала о # 2 в ASP.Net и ввела понятие культурыи UICulture для отделения выбора языка сообщений от форматирования.

В мире Java Spring ввел TimeZoneAwareLocaleContext для адреса # 3

W3c выпустил директиву для Accept-Язык, используемый для настройки языка .Это более или менее говорит о том, что Accept-Language недостаточно

Итак, что вы думаете?

  1. Знаете ли вы, что API-интерфейсы решают эту проблему всесторонним способом?Указатели?
  2. Должны ли API принимать несколько значений для выбора языка сообщений, языка форматирования значений и часового пояса?
  3. Следует ли вообще использовать Accept-Language?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...