У меня мультитенантное приложение, и я экспериментирую с использованием гема i18n, чтобы позволить каждому из наших клиентов настроить систему по своему вкусу, изменить текст на различных страницах, настроить электронную почту и т. Д.По общему признанию, я не использую i18n, поскольку это предназначалось для использования, так как я фактически не переводил различные "языки", все на английском языке, но каждый клиент имеет РАЗНЫЙ английский, если это имеет смысл.
Тем не менее, я наткнулся на то, что я считаю ужасно плохим дизайнерским решением в жемчужине i18n: если когда-либо перевода не существует, то вместо того, чтобы просто не переводить и не распечатывать то, что обычно происходит, возникает ошибка,Например,
<%= distance_of_time_in_words_to_now @press_release.submitted_at %>
выглядит как
translation missing: en, datetime, distance_in_words, x_days
Я имею в виду, давай!Я даже не ХОЧУ переводить.
Я понимаю, что причина этого в том, что у меня не загружены переводы по умолчанию, но я использую ActiveRecord в качестве бэкэнда, и я хотелдержи в чистоте.«Решением» было бы импортировать все файлы перевода yaml в мое хранилище переводов базы данных, но это не очень хорошая идея.Что если я обновлю рельсы в будущем?Мне придется беспокоиться о синхронизации всех этих переводов.
Опять же, я не могу понять, почему это поведение по умолчанию.Когда бы кто-нибудь захотел, чтобы это странное сообщение об ошибке появилось вместо того, чтобы просто использовать значение по умолчанию «3 дня назад»?
В любом случае, мой вопрос, есть ли способ, чтобы оно автоматически отключало перевод и использовалонепереведенное сообщение, если перевода не существует?Спасибо!