В настоящее время я создаю приложение для архитектуры, работающей в облаке Amazon (некоторые веб-серверы с php5.3, балансировка нагрузки, PostgreSQL).
Ключевой особенностью моего приложения (PHP5) является то, что все (во внешнем интерфейсе) должно быть переведено на разные языки, поэтому будет много строк, которые представлены «токеном», которые должны быть в переводе.
Мой вопрос: где вы будете хранить эти переводы?
- Хранить переводы в файлах на локальных (веб-сервера) дисках?
- Хранить переводы в файлах в центральном хранилище?
- Сохранить переводы в базе данных?
- В другом месте?
Дополнительная информация: Независимо от того, где будут храниться переводы - будет некоторое кэширование (Redis, + кэш шаблонов), поэтому файлы / БД не будут запрашиваться на каждой отображаемой странице.
У каждого из вышеперечисленных решений есть свои плюсы и минусы, и после долгих обсуждений в моей команде мы не нашли решения, которым мы все были довольны.
Некоторые наши мысли:
- Файлы легче поддерживать (обновлять переводы через перезаписываемые файлы)
- DB-таблицы более гибкие (создайте удобный интерфейс перевода вокруг данных перевода)
- БД-таблицы хранятся только один раз; так что это дешевле, чем много файлов в облаке, я думаю (мы платим за хранение и передачу данных)
- Центральным хранилищем файлов может быть узкое место
Так что вы думаете?
Привет,
Роберт