направляющие - как динамично добавить/переопределить формулировку к i18n yaml

Да, УДАЛИТЕ, медленнее, УСЕЧЕННЫЙ быстрее. Почему?

УДАЛЯЮТ, должен считать записи, проверочные ограничения, обновить блок, индексы обновления, и генерировать восстановление/отмену. Все это занимает время.

УСЕЧЕННЫЙ просто корректирует указатель в базе данных для таблицы (Паводок Mark) и пуф! данных не стало.

Это - конкретная Oracle, AFAIK.

8
задан Pavel K. 4 December 2009 в 08:09
поделиться

3 ответа

Он не должен перезаписывать вашу локаль "en". Переводы объединены. store_translations в простых внутренних вызовах I18n merge_translations , который выглядит следующим образом:

# Deep merges the given translations hash with the existing translations
# for the given locale
def merge_translations(locale, data)
  locale = locale.to_sym
  translations[locale] ||= {}
  data = deep_symbolize_keys(data)

  # deep_merge by Stefan Rusterholz, see http://www.ruby-forum.com/topic/142809
  merger = proc { |key, v1, v2| Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : v2 }
  translations[locale].merge!(data, &merger)
end

Как видите, будут перезаписаны только ключи, которые вы вводите в последнем файле yml перевода.

3
ответ дан 5 December 2019 в 19:00
поделиться

Моя компания занимается разработкой mavenlive.com , платформы для управления знаниями и поддержки принятия решений в течение трех лет. За последние несколько лет мы многое узнали о рельсах, и вот несколько моих рекомендаций.

  1. Переключитесь на Mac! Инструменты, доступные вам, и среда разработки на Mac позволяют вам работать намного продуктивнее, чем на Windows.

  2. railcasts.com предлагает множество информативных скринкастов от новичка до эксперта. Вы всегда можете найти новые и более эффективные способы сделать что-то из сообщений Райана.

  3. Скринкасты Scaling Rails в сочетании с NewRelic предоставили мощное представление о производительности нашего приложения и позволяют нам эффективно развиваться, сохраняя при этом глаза на проблемы масштабируемости в будущем .

1
ответ дан 5 December 2019 в 19:00
поделиться

Я думаю, вы перепутали две разные вещи.

Файл i18n предназначен для переводов.

Если у вас есть клиент, которому требуется конкретное имя для некоторого поля, это не проблема перевода, а функциональность.

Другими словами, я думаю, вам нужно что-то вроде этого:

 en:
   messages: messages
   users: users
   discussions: discussions

А затем добавьте конкретную функциональность где-нибудь еще, например, в вашем представлении:

if(customer.needs_discussions?)
<%= t(:discussions) %>
else
<%= t(:messages) %>
end

В качестве альтернативы вы можете добавить строковый атрибут для ваших клиентов, по умолчанию - «сообщения». Тогда ваше представление будет выглядеть так:

<%= t(customer.messages_field_name) %>
-1
ответ дан 5 December 2019 в 19:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: