From f529cb167456b52f9e36c57e714c1aaebf6e566e Mon Sep 17 00:00:00 2001 From: Guo Xiang Tan Date: Tue, 11 Jul 2017 11:05:33 +0900 Subject: [PATCH] Remove validation for invalid interpolation keys. * Our codebase currently supports custom interpolations keys that are not present in the original translation. The proper fix should be to make `TranslateOverride` aware of such keys. --- app/models/translation_override.rb | 12 ------------ config/locales/server.en.yml | 1 - spec/models/translation_override_spec.rb | 13 ------------- 3 files changed, 26 deletions(-) diff --git a/app/models/translation_override.rb b/app/models/translation_override.rb index 11aba82a46e..6e73686f9b9 100644 --- a/app/models/translation_override.rb +++ b/app/models/translation_override.rb @@ -42,7 +42,6 @@ class TranslationOverride < ActiveRecord::Base original_interpolation_keys = I18nInterpolationKeysFinder.find(original_text) new_interpolation_keys = I18nInterpolationKeysFinder.find(value) missing_keys = (original_interpolation_keys - new_interpolation_keys) - invalid_keys = (original_interpolation_keys | new_interpolation_keys) - original_interpolation_keys if missing_keys.present? self.errors.add(:base, I18n.t( @@ -52,17 +51,6 @@ class TranslationOverride < ActiveRecord::Base return false end - - invalid_keys = (original_interpolation_keys | new_interpolation_keys) - original_interpolation_keys - - if invalid_keys.present? - self.errors.add(:base, I18n.t( - 'activerecord.errors.models.translation_overrides.attributes.value.invalid_interpolation_keys', - keys: invalid_keys.join(', ') - )) - - return false - end end end diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index ca5914b74ee..60c7c640268 100644 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -413,7 +413,6 @@ en: translation_overrides: attributes: value: - invalid_interpolation_keys: 'The following interpolation key(s) are invalid: "%{keys}"' missing_interpolation_keys: 'The following interpolation key(s) are missing: "%{keys}"' user_profile: diff --git a/spec/models/translation_override_spec.rb b/spec/models/translation_override_spec.rb index 0a6dc00d574..e331a73e3d7 100644 --- a/spec/models/translation_override_spec.rb +++ b/spec/models/translation_override_spec.rb @@ -19,19 +19,6 @@ describe TranslationOverride do )) end end - - describe 'when interpolation keys are invalid' do - it 'should not be valid' do - translation_override = TranslationOverride.upsert!( - I18n.locale, 'some_key', '%{first} %{second} %{third}' - ) - - expect(translation_override.errors.full_messages).to include(I18n.t( - 'activerecord.errors.models.translation_overrides.attributes.value.invalid_interpolation_keys', - keys: 'third' - )) - end - end end end