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