Blame view

translation/prompts.py 13.4 KB
0fd2f875   tangwang   translate
1
  """Prompt templates for llm-based translation."""
d4cadc13   tangwang   翻译重构
2
  
0fd2f875   tangwang   translate
3
4
5
6
7
8
  from __future__ import annotations
  
  from typing import Dict
  
  
  TRANSLATION_PROMPTS: Dict[str, Dict[str, str]] = {
d4cadc13   tangwang   翻译重构
9
10
11
12
13
14
15
16
17
18
      "general": {
          "zh": "你是一名专业的 {source_lang}({src_lang_code})到 {target_lang}({tgt_lang_code})翻译专家,请准确传达原文含义并符合{target_lang}语言习惯,只输出翻译结果:{text}",
          "en": "You are a professional {source_lang} ({src_lang_code}) to {target_lang} ({tgt_lang_code}) translator. Accurately convey the meaning following {target_lang} grammar and usage, output only the translation: {text}",
          "ru": "Вы профессиональный переводчик с {source_lang} ({src_lang_code}) на {target_lang} ({tgt_lang_code}). Точно передайте смысл текста, соблюдая нормы {target_lang}, выводите только перевод: {text}",
          "ar": "أنت مترجم محترف من {source_lang} ({src_lang_code}) إلى {target_lang} ({tgt_lang_code}). انقل المعنى بدقة وفق قواعد {target_lang} وأخرج الترجمة فقط: {text}",
          "ja": "あなたは {source_lang}({src_lang_code})から {target_lang}({tgt_lang_code})へのプロ翻訳者です。意味を正確に伝え、{target_lang}の表現に従い、翻訳のみ出力してください:{text}",
          "es": "Eres un traductor profesional de {source_lang} ({src_lang_code}) a {target_lang} ({tgt_lang_code}). Transmite con precisión el significado y devuelve solo la traducción: {text}",
          "de": "Du bist ein professioneller Übersetzer von {source_lang} ({src_lang_code}) nach {target_lang} ({tgt_lang_code}). Gib die Bedeutung korrekt wieder und gib nur die Übersetzung aus: {text}",
          "fr": "Vous êtes un traducteur professionnel de {source_lang} ({src_lang_code}) vers {target_lang} ({tgt_lang_code}). Transmettez fidèlement le sens et produisez uniquement la traduction : {text}",
          "it": "Sei un traduttore professionista da {source_lang} ({src_lang_code}) a {target_lang} ({tgt_lang_code}). Trasmetti accuratamente il significato e restituisci solo la traduzione: {text}",
0fd2f875   tangwang   translate
19
          "pt": "Você é um tradutor profissional de {source_lang} ({src_lang_code}) para {target_lang} ({tgt_lang_code}). Transmita o significado com precisão e produza apenas a tradução: {text}",
d4cadc13   tangwang   翻译重构
20
      },
d4cadc13   tangwang   翻译重构
21
22
23
24
25
26
27
28
29
30
      "sku_name": {
          "zh": "你是一名专业的 {source_lang}({src_lang_code})到 {target_lang}({tgt_lang_code})电商翻译专家,请将原文翻译为{target_lang}商品SKU名称,要求准确完整、简洁专业,只输出结果:{text}",
          "en": "You are a professional {source_lang} ({src_lang_code}) to {target_lang} ({tgt_lang_code}) ecommerce translator. Translate into a concise and accurate {target_lang} product SKU name, output only the result: {text}",
          "ru": "Вы переводчик e-commerce с {source_lang} ({src_lang_code}) на {target_lang} ({tgt_lang_code}). Переведите в краткое и точное название SKU товара на {target_lang}, выводите только результат: {text}",
          "ar": "أنت مترجم تجارة إلكترونية من {source_lang} ({src_lang_code}) إلى {target_lang} ({tgt_lang_code}). ترجم إلى اسم SKU للمنتج بلغة {target_lang} بدقة واختصار، وأخرج النتيجة فقط: {text}",
          "ja": "{source_lang}({src_lang_code})から {target_lang}({tgt_lang_code})へのEC翻訳者として、簡潔で正確な{target_lang}の商品SKU名に翻訳し、結果のみ出力してください:{text}",
          "es": "Eres un traductor ecommerce de {source_lang} ({src_lang_code}) a {target_lang} ({tgt_lang_code}). Traduce a un nombre SKU de producto en {target_lang}, preciso y conciso, devuelve solo el resultado: {text}",
          "de": "Du bist ein E-Commerce-Übersetzer von {source_lang} ({src_lang_code}) nach {target_lang} ({tgt_lang_code}). Übersetze in einen präzisen und kurzen {target_lang} Produkt-SKU-Namen, nur Ergebnis ausgeben: {text}",
          "fr": "Vous êtes un traducteur e-commerce de {source_lang} ({src_lang_code}) vers {target_lang} ({tgt_lang_code}). Traduisez en un nom SKU produit {target_lang} précis et concis, sortie uniquement : {text}",
          "it": "Sei un traduttore ecommerce da {source_lang} ({src_lang_code}) a {target_lang} ({tgt_lang_code}). Traduce in un nome SKU prodotto {target_lang} conciso e accurato, restituisci solo il risultato: {text}",
0fd2f875   tangwang   translate
31
          "pt": "Você é um tradutor de e-commerce de {source_lang} ({src_lang_code}) para {target_lang} ({tgt_lang_code}). Traduza para um nome SKU de produto {target_lang} conciso e preciso, produza apenas o resultado: {text}",
d4cadc13   tangwang   翻译重构
32
      },
d4cadc13   tangwang   翻译重构
33
34
35
36
37
38
39
40
41
42
      "ecommerce_search_query": {
          "zh": "你是一名专业的 {source_lang}({src_lang_code})到 {target_lang}({tgt_lang_code})翻译助手,请将电商搜索词准确翻译为{target_lang}并符合搜索习惯,只输出结果:{text}",
          "en": "You are a professional {source_lang} ({src_lang_code}) to {target_lang} ({tgt_lang_code}) translator. Translate the ecommerce search query accurately following {target_lang} search habits, output only the result: {text}",
          "ru": "Вы переводчик с {source_lang} ({src_lang_code}) на {target_lang} ({tgt_lang_code}). Переведите поисковый запрос e-commerce с учётом привычек поиска, выводите только результат: {text}",
          "ar": "أنت مترجم من {source_lang} ({src_lang_code}) إلى {target_lang} ({tgt_lang_code}). ترجم عبارة البحث للتجارة الإلكترونية بما يناسب عادات البحث وأخرج النتيجة فقط: {text}",
          "ja": "{source_lang}({src_lang_code})から {target_lang}({tgt_lang_code})への翻訳者として、EC検索キーワードを{target_lang}の検索習慣に合わせて翻訳し、結果のみ出力してください:{text}",
          "es": "Eres un traductor de {source_lang} ({src_lang_code}) a {target_lang} ({tgt_lang_code}). Traduce la consulta de búsqueda ecommerce según los hábitos de búsqueda y devuelve solo el resultado: {text}",
          "de": "Du bist ein Übersetzer von {source_lang} ({src_lang_code}) nach {target_lang} ({tgt_lang_code}). Übersetze die E-Commerce-Suchanfrage entsprechend den Suchgewohnheiten, nur Ergebnis ausgeben: {text}",
          "fr": "Vous êtes un traducteur de {source_lang} ({src_lang_code}) vers {target_lang} ({tgt_lang_code}). Traduisez la requête de recherche e-commerce selon les habitudes de recherche, sortie uniquement : {text}",
          "it": "Sei un traduttore da {source_lang} ({src_lang_code}) a {target_lang} ({tgt_lang_code}). Traduce la query di ricerca ecommerce secondo le abitudini di ricerca e restituisci solo il risultato: {text}",
0fd2f875   tangwang   translate
43
44
          "pt": "Você é um tradutor de {source_lang} ({src_lang_code}) para {target_lang} ({tgt_lang_code}). Traduza a consulta de busca de ecommerce conforme os hábitos de busca e produza apenas o resultado: {text}",
      },
d4cadc13   tangwang   翻译重构
45
  }
1e370dc9   tangwang   1. 翻译性能优化
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
  
  
  BATCH_TRANSLATION_PROMPTS: Dict[str, Dict[str, str]] = {
      "general": {
          "en": (
              "Translate each item from {source_lang} ({src_lang_code}) to {target_lang} ({tgt_lang_code}). "
              "Accurately and completely preserve the meaning of the original text, including key features and attributes.\n"
              "Output exactly one line for each input item, in the same order, using this exact format:\n"
              "1. translation\n"
              "2. translation\n"
              "...\n"
              "Do not explain or output anything else.\n"
              "Input:\n{text}"
          ),
          "zh": (
              "将每一项从 {source_lang} ({src_lang_code}) 翻译为 {target_lang} ({tgt_lang_code})。"
              "请准确完整地保留原文含义,包括关键特征和属性。\n"
              "请按输入顺序逐行输出,每个输入对应一行,格式必须如下:\n"
              "1. 翻译结果\n"
              "2. 翻译结果\n"
              "...\n"
              "不要解释或输出其他任何内容。\n"
              "输入:\n{text}"
          ),
          "ru": (
              "Переведите каждый элемент с {source_lang} ({src_lang_code}) на {target_lang} ({tgt_lang_code}). "
              "Точно и полностью сохраняйте смысл исходного текста, включая ключевые характеристики и свойства.\n"
              "Выводите ровно по одной строке для каждого входного элемента в том же порядке, в следующем формате:\n"
              "1. перевод\n"
              "2. перевод\n"
              "...\n"
              "Не добавляйте объяснений и ничего лишнего.\n"
              "Входные данные:\n{text}"
          ),
      },
      "sku_name": {
          "en": (
              "Translate each item from {source_lang} ({src_lang_code}) to a {target_lang} ({tgt_lang_code}) product title.\n"
              "Accurately and completely preserve the meaning of the original text, including key features and attributes.\n"
              "As a product title, keep the style concise, clear, professional, and natural in {target_lang}.\n"
              "Output exactly one line for each input item, in the same order, using this exact format:\n"
              "1. translation\n"
              "2. translation\n"
              "...\n"
              "Do not explain or output anything else.\n"
              "Input:\n{text}"
          ),
          "zh": (
              "将每一项从 {source_lang} ({src_lang_code}) 翻译为 {target_lang} ({tgt_lang_code}) 的商品标题。\n"
              "请准确完整地保留原文含义,包括关键特征和属性。\n"
              "作为商品标题,请保持简洁、清晰、专业,并符合 {target_lang} 的自然表达。\n"
              "请按输入顺序逐行输出,每个输入对应一行,格式必须如下:\n"
              "1. 翻译结果\n"
              "2. 翻译结果\n"
              "...\n"
              "不要解释或输出其他任何内容。\n"
              "输入:\n{text}"
          ),
          "ru": (
              "Переведите каждый элемент с {source_lang} ({src_lang_code}) на {target_lang} ({tgt_lang_code}) в виде названия товара.\n"
              "Точно и полностью сохраняйте смысл исходного текста, включая ключевые характеристики и свойства.\n"
              "Как название товара, текст должен быть кратким, ясным, профессиональным и естественным на {target_lang}.\n"
              "Выводите ровно по одной строке для каждого входного элемента в том же порядке, в следующем формате:\n"
              "1. перевод\n"
              "2. перевод\n"
              "...\n"
              "Не добавляйте объяснений и ничего лишнего.\n"
              "Входные данные:\n{text}"
          ),
      },
      "ecommerce_search_query": {
          "en": (
              "Translate each item from {source_lang} ({src_lang_code}) to a natural {target_lang} ({tgt_lang_code}) "
              "ecommerce search query.\n"
              "Accurately and completely preserve the meaning of the original text, including key features and attributes.\n"
              "Use concise search-style wording.\n"
              "Output exactly one line for each input item, in the same order, using this exact format:\n"
              "1. translation\n"
              "2. translation\n"
              "...\n"
              "Do not explain or output anything else.\n"
              "Input:\n{text}"
          ),
          "zh": (
              "将每一项从 {source_lang} ({src_lang_code}) 翻译为自然的 {target_lang} ({tgt_lang_code}) 电商搜索词。\n"
              "请准确完整地保留原文含义,包括关键特征和属性。\n"
              "使用简洁的搜索关键词风格表达。\n"
              "请按输入顺序逐行输出,每个输入对应一行,格式必须如下:\n"
              "1. 翻译结果\n"
              "2. 翻译结果\n"
              "...\n"
              "不要解释或输出其他任何内容。\n"
              "输入:\n{text}"
          ),
          "ru": (
              "Переведите каждый элемент с {source_lang} ({src_lang_code}) на естественный поисковый запрос для электронной коммерции на {target_lang} ({tgt_lang_code}).\n"
              "Точно и полностью сохраняйте смысл исходного текста, включая ключевые характеристики и свойства.\n"
              "Используйте краткую форму, характерную для поисковых запросов.\n"
              "Выводите ровно по одной строке для каждого входного элемента в том же порядке, в следующем формате:\n"
              "1. перевод\n"
              "2. перевод\n"
              "...\n"
              "Не добавляйте объяснений и ничего лишнего.\n"
              "Входные данные:\n{text}"
          ),
      },
  }