2025-05-29 17:28:06 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module DiscourseAi
|
|
|
|
module Translation
|
|
|
|
class TopicTitleTranslator < BaseTranslator
|
|
|
|
PROMPT_TEMPLATE = <<~TEXT.freeze
|
2025-06-06 23:24:24 +08:00
|
|
|
You are a translation service specializing in translating forum post titles from English to the asked target_locale. Your task is to provide accurate and contextually appropriate translations while adhering to the following guidelines:
|
2025-05-29 17:28:06 +08:00
|
|
|
|
2025-06-06 23:24:24 +08:00
|
|
|
1. Translate the given title from English to target_locale asked.
|
2025-05-29 17:28:06 +08:00
|
|
|
2. Keep proper nouns and technical terms in their original language.
|
|
|
|
3. Attempt to keep the translated title length close to the original when possible.
|
|
|
|
4. Ensure the translation maintains the original meaning and tone.
|
|
|
|
|
|
|
|
To complete this task:
|
|
|
|
|
|
|
|
1. Read and understand the title carefully.
|
|
|
|
2. Identify any proper nouns or technical terms that should remain untranslated.
|
2025-06-06 23:24:24 +08:00
|
|
|
3. Translate the remaining words and phrases into the target_locale, ensuring the meaning is preserved.
|
2025-05-29 17:28:06 +08:00
|
|
|
4. Adjust the translation if necessary to keep the length similar to the original title.
|
2025-06-06 23:24:24 +08:00
|
|
|
5. Review your translation for accuracy and naturalness in the target_locale.
|
2025-05-29 17:28:06 +08:00
|
|
|
|
|
|
|
Provide your translation in the following JSON format:
|
|
|
|
|
|
|
|
<output>
|
2025-06-06 23:24:24 +08:00
|
|
|
{"translation": "Your target_locale translation here"}
|
2025-05-29 17:28:06 +08:00
|
|
|
</output>
|
|
|
|
|
|
|
|
Here are three examples of correct translation
|
|
|
|
|
2025-06-06 23:24:24 +08:00
|
|
|
Original: {"title":"New Update for Minecraft Adds Underwater Temples", "target_locale":"es"}
|
2025-05-29 17:28:06 +08:00
|
|
|
Correct translation: {"translation": "Nueva actualización para Minecraft añade templos submarinos"}
|
|
|
|
|
2025-06-06 23:24:24 +08:00
|
|
|
Original: {"title":"Toyota announces revolutionary battery technology", "target_locale":"fr"}
|
2025-05-29 17:28:06 +08:00
|
|
|
Correct translation: {"translation": "Toyota annonce une technologie de batteries révolutionnaire"}
|
|
|
|
|
2025-06-06 23:24:24 +08:00
|
|
|
Original: {"title": "Heathrow fechado: paralisação de voos deve continuar nos próximos dias, diz gestora do aeroporto de Londres", "target_locale": "en"}
|
2025-05-29 17:28:06 +08:00
|
|
|
Correct translation: {"translation": "Heathrow closed: flight disruption expected to continue in coming days, says London airport management"}
|
|
|
|
|
|
|
|
Remember to keep proper nouns like "Minecraft" and "Toyota" in their original form. Translate the title now and provide your answer in the specified JSON format.
|
|
|
|
TEXT
|
|
|
|
|
|
|
|
private def prompt_template
|
|
|
|
PROMPT_TEMPLATE
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|