Перевести приложение Flutter с данными, предоставленными бэкэндом - PullRequest
0 голосов
/ 17 апреля 2020

Как лучше всего управлять переводом всего приложения, разработанного во Flutter, с данными, поступающими из бэкэнда?

Это пример данных, отправленных мне из бэкэнда после предоставления кода языка (ex: es, it, en)

{
    "locale": {
        "es": {
           . . .
           "disclaimer": "Renuncia",
           "date": {
             . . .
              "day_names": [
                    "domingo",
                    "lunes",
                    "martes",
                    "miércoles",
                    "jueves",
                    "viernes",
                    "sábado"
              ],
              . . .
          }
          . . .
       }
    }
}

1 Ответ

0 голосов
/ 17 апреля 2020

Вы можете использовать AppLocalizationDelegate для этого. Он имеет функцию загрузки, которую вы можете использовать для загрузки желаемого json в память.

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

Но после того, как вы загрузите переводы и расшифруете их (в делегате локализаций приложения), вы должны изменить локаль.

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

Обновление

Посмотрите В официальных документах пример с локальными файлами перевода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...