i18next: Пользовательский формат json с комментариями для бюро переводов

#i18next #react-i18next

Вопрос:

Мы используем пользовательский формат json для наших ресурсов i18n, которые содержат комментарии для бюро переводов, чтобы они лучше понимали контекст строк для перевода:

Пример en.json :

 {
  "headerbar": {
    "search": {
      "placeholder": {
        "value": "Enter your search here...",
        "comment": "This string will be shown in the search input if empty. Truncated after 100 characters."
    }
  },
  "welcome": {
    "heading": {
      "value": "Welcome, {{name}}!",
      "comment": "This string should not be longer than 50 characters."
    }
  }
}
 

Как я могу настроить i18next (или react-i18next) таким образом, чтобы перевод всегда извлекался из value свойства? Без необходимости использовать {returnObjects} в каждом t() .

 t('headerbar.search.placeholder')  // === 'Enter your search here...'
t('welcome.header', {name: 'Bob'}) // === 'Welcome, Bob!'