diff --git a/app/jobs/scheduled/automatic_translation_backfill.rb b/app/jobs/scheduled/automatic_translation_backfill.rb index 2b8a2f06..ebbe579d 100644 --- a/app/jobs/scheduled/automatic_translation_backfill.rb +++ b/app/jobs/scheduled/automatic_translation_backfill.rb @@ -100,7 +100,7 @@ def translate_records(type, record_ids) def process_batch models_translated = [Post, Topic].size translations_per_model = [translations_per_run / models_translated, 1].max - topic_ids = fetch_untranslated_model_ids(Topic, "title", translations_per_model) + topic_ids = fetch_untranslated_model_ids(Topic, "fancy_title", translations_per_model) translations_per_model = translations_per_run - topic_ids.size post_ids = fetch_untranslated_model_ids(Post, "cooked", translations_per_model) return if topic_ids.empty? && post_ids.empty? diff --git a/app/services/discourse_translator/base.rb b/app/services/discourse_translator/base.rb index 2d0713c5..8b449d93 100644 --- a/app/services/discourse_translator/base.rb +++ b/app/services/discourse_translator/base.rb @@ -105,7 +105,7 @@ def self.get_text(translatable) when "Post" translatable.cooked when "Topic" - translatable.title + translatable.fancy_title end end diff --git a/lib/discourse_translator/topic_extension.rb b/lib/discourse_translator/topic_extension.rb index 03271c85..ff05f171 100644 --- a/lib/discourse_translator/topic_extension.rb +++ b/lib/discourse_translator/topic_extension.rb @@ -3,7 +3,7 @@ module DiscourseTranslator module TopicExtension extend ActiveSupport::Concern - prepended { before_update :clear_translations, if: :title_changed? } + prepended { before_update :clear_translations, if: :fancy_title_changed? } include Translatable end end diff --git a/spec/models/post_spec.rb b/spec/models/post_spec.rb index a7bdb6ad..999745ff 100644 --- a/spec/models/post_spec.rb +++ b/spec/models/post_spec.rb @@ -11,7 +11,7 @@ describe "translatable" do fab!(:post) - it "should reset translation data when post title has been updated" do + it "should reset translation data when post raw has been updated" do Fabricate(:post_translation, post:) Fabricate(:post_locale, post:) post.update!(raw: "this is an updated title") diff --git a/spec/models/topic_spec.rb b/spec/models/topic_spec.rb index 5fea78fc..e75fe9c8 100644 --- a/spec/models/topic_spec.rb +++ b/spec/models/topic_spec.rb @@ -8,10 +8,10 @@ before { SiteSetting.translator_enabled = true } - it "should reset translation data when topic title has been updated" do + it "should reset translation data when topic fancy_title has been updated" do Fabricate(:topic_translation, topic:) Fabricate(:topic_locale, topic:) - topic.update!(title: "this is an updated title") + topic.update!(fancy_title: "this is an updated title") expect(DiscourseTranslator::TopicLocale.where(topic:)).to be_empty expect(DiscourseTranslator::TopicLocale.find_by(topic:)).to be_nil diff --git a/spec/serializers/basic_topic_serializer_spec.rb b/spec/serializers/basic_topic_serializer_spec.rb index a880e3d6..c40b7794 100644 --- a/spec/serializers/basic_topic_serializer_spec.rb +++ b/spec/serializers/basic_topic_serializer_spec.rb @@ -17,7 +17,8 @@ let!(:jap_title) { "フス・ロ・ダ・ア" } before do - topic.title = original_title + topic.title = "x" + topic.fancy_title = original_title SiteSetting.experimental_topic_translation = true I18n.locale = "ja" end diff --git a/spec/serializers/topic_view_serializer_spec.rb b/spec/serializers/topic_view_serializer_spec.rb index c60f0407..0fd3daf9 100644 --- a/spec/serializers/topic_view_serializer_spec.rb +++ b/spec/serializers/topic_view_serializer_spec.rb @@ -40,7 +40,7 @@ let!(:jap_title) { "フス・ロ・ダ・ア" } before do - topic.title = original_title + topic.fancy_title = original_title SiteSetting.experimental_topic_translation = true I18n.locale = "ja" end @@ -76,7 +76,7 @@ def serialize_topic(guardian_user: user, params: {}) expect(serialize_topic.fancy_title).to eq(topic.fancy_title) end - it "returns translated title in fancy_title when translation exists for current locale" do + it "returns translated fancy title in fancy_title when translation exists for current locale" do topic.set_translation("ja", jap_title) expect(serialize_topic.fancy_title).to eq(jap_title) end