Мультиязычность приложений
Есть система, состоящая из бэкенда, веб-интерфейса для определенного круга лиц (аля админка) и мобильного приложения на обе платформы.
Бэкенд написан на PHP с использованием Symfony
Фронтенд для веб-интерфейса написан на React
Мобильное приложение написано на Swift и Kotlin соответственно.
Нужно добавить поддержку языков во все эти компоненты. Какое решение будет самым лучшим и наиболее универсальным? Ранее не имели с этим дела. Изначально предполагал, что все необходимые данные под язык пользователя будут грузиться с бэкенда, но не уверен в реализации (с учетом того, что там и даты локализовать надо и единственное/множественное число и т.д.). Как лучше всего поступить в этом случае и реализовать поддержку мультиязычности в каждой из составляющих?
Ответы (1 шт):
Даты не нужно локализовать на бекенде. Передавайте параметры, клиент форматирует дату как нужно.
Для текстов - если это динамические (ошибки, алерты и еще что-то) - то бек. Нужно передавать флаг для того, чтобы вернуло правильные строки. Если это не изменяемые, то ключи для строк. Клиент по ключу возьмет локализацию.
Правильно - стремится к локализации на клиенте. Но есть исключения.