Хранение текстов отдельно - это хорошо, если вы хотите глобализировать / интернационализировать ваше приложение. Для rails есть много хороших плагинов для этого (в Rails 2.3 даже есть API для этого), но они обычно работают и для merb. Существуют различные подходы к этому, два основных подхода - как хранить ключ:
- YAML-подобный интерфейс, который вы используете, хранит символы, я думаю, и назначает текст этому символу.
- Подход в стиле gettext заключается в том, что текст является символом, и вы можете переопределить его в отдельном файле, если хотите (но если этого не произойдет, вы получите ту же строку, что и ключ).
Оба подхода имеют свои преимущества и недостатки. Помимо ключа есть множество средств хранения, которые вы можете использовать, например, YAML, или вы действительно можете создать полный ActiveRecord / DataMapper / etc. механизм хранения на основе.
Вы можете проверить, как rails 2.3 справляется с глобализацией, потому что их схема именования может быть хорошей отправной точкой для вас. Или используйте пространства имен для разделения файлов YAML, чтобы их было легче искать. Вы также можете попробовать подход gettext, но на самом деле он не считается ни СУХИМ, ни безопасным (но у него есть много инструментов, которые будут создавать файлы сопоставления, содержащие весь текст, который есть в вашем приложении).