Skip to content

AI is becoming increasingly powerful and affordable. Using AI to translate subtitles is faster and cheaper than traditional methods like Baidu Translate or Google Translate! The quality of the translation depends not only on the "intelligence" of the AI model itself, but also on how well you write the "instructions" (i.e., prompts) you give it.

While video translation software often comes with built-in "instructions," you can customize them based on your experience for even better results! This article discusses AI translation, what to keep in mind when using it, and shares some useful prompt examples.

In video translation software, there are three types of AI translation prompts:

image.png

Default: Do Not Send Complete Subtitles

Only the text lines in the subtitles are sent to the AI for translation, without line numbers, time codes, or blank lines.

Advantages: Saves tokens, reduces API call costs.

Disadvantages: Requires the translated text to have the same number of lines as the original text. However, due to differences in grammar and word order between languages, the translated text may be merged, resulting in blank lines.

For example, if the original text has 10 lines, the expected translation result should also have 10 lines. But the actual result may be 8 or 9 lines because the AI might combine two adjacent lines of the original text into one line of translated text, leading to blank lines at the end.

Example: 2 lines of original text

星期六时,
我们去吃火锅吧.

The expected translation result is also two lines, but the AI may translate it into one line:

Let's go for hot pot on Saturday
[This is a blank line]

Even with prompts that strongly require line correspondence, the AI may not strictly adhere to it.

Send Complete Subtitles

The complete subtitle content, including line numbers, time codes, subtitle text, and blank lines, is sent to the AI for translation.

Advantages: Can significantly reduce the occurrence of blank lines.

Disadvantages:

  • Cannot completely eliminate the appearance of blank lines.
  • Line numbers and time codes do not need to be translated, but still need to be sent and returned, wasting tokens and increasing AI costs.

Three-Step Reflection Translation:

Based on Andrew Ng's three-step reflection translation method, which includes literal translation -- reflection -- interpretive translation phases, it can achieve high translation quality. However, with the continuous improvement of large model intelligence, especially the use of reasoning models such as Deepseek-r1/o3, it is not necessary to continue using this method. Therefore, the three-step reflection has been changed to verifying content and formatting.

How to Maximize Translation Quality:

  • Use more advanced and up-to-date models, such as Deepseek-r1, chatgpt-o3, qwen2.5-max, etc.
  • Select Send Complete Subtitles. Three-Step Reflection Translation is optional.
  • If you are using a model with chain-of-thought reasoning, such as deepseek-r1/o3, reduce the number of subtitle lines sent to prevent excessive output tokens from being truncated, which can cause errors. Set the number in Menu -- Tools/Advanced Options -- Advanced Options -- AI translation number of subtitle lines sent each time, as shown below.

image.png

Default: Do Not Send Complete Subtitles - Prompt

You can copy the following prompt and replace the content in software directory/videotrans/{AI channel name}.txt to update it.

image.png

# Role:
You are a multilingual translator proficient in translating text into {lang} and outputting the translated text.

## Rules:
- Use colloquial expressions in the translation to ensure the translated text is concise and avoids long sentences.
- If you encounter a line that cannot be translated, return it as is without outputting error messages or explanations.
- One line of original text must be translated into one line of translated text, two lines of original text must be translated into two lines of translated text, and so on. It is strictly forbidden to translate one line of original text into two lines of translated text, or two lines of original text into one line of translated text.
- You must ensure that the number of lines in the translated text is equal to the number of lines in the original content.

## Restrictions:
- Translate literally, do not explain or answer the original text content.
- Only return the translated text, do not return the original text.
- Keep line breaks in the translated text.

## Output Format
Use the following XML tag structure to output the final translated result:
<TRANSLATE_TEXT>
[Translation result]
</TRANSLATE_TEXT>

## Output Example:
<TRANSLATE_TEXT>
[{lang} Translated text]
</TRANSLATE_TEXT>

## Input Specification
Process the original content within the <INPUT> tags.

<INPUT></INPUT>

Send Complete Subtitles - Prompt

You can copy the following prompt and replace the content in software directory/videotrans/prompts/srt/{AI channel name}.txt to update it.

image.png

# Role:
You are an SRT subtitle translator proficient in translating subtitles into {lang} and outputting bilingual SRT subtitles that comply with the EBU-STL standard.

## Rules:
- Use colloquial expressions when translating to ensure the translated text is concise and avoids long sentences.
- The translation result must be an SRT subtitle that complies with the EBU-STL standard, with the subtitle text being bilingual.
- If you encounter content that cannot be translated, return a blank line directly without outputting any error messages or explanations.
- Do not translate content consisting of numbers, spaces, and various symbols. Return them as is.

## Restrictions:
- Each subtitle must contain 2 lines of text, the first line being the original subtitle text, and the second line being the translated result text.

## Output Format
Use the following XML tag structure to output the final translated result:
<TRANSLATE_TEXT>
[Translation result]
</TRANSLATE_TEXT>

## Output Example:
<TRANSLATE_TEXT>
1
00:00:00,760 --> 00:00:01,256
[Original text]
[{lang} Translated text]

2
00:00:01,816 --> 00:00:04,488
[Original text]
[{lang} Translated text]
</TRANSLATE_TEXT>

## Input Specification
Process the original SRT subtitle content within the <INPUT> tags, and retain the original sequence number, timecode format (00:00:00,000), and blank lines.

<INPUT></INPUT>

Three-Step Reflection Translation:

You can copy the following prompt and replace the content in software directory/videotrans/prompts/srt/fansi.txt to update it.

image.png

# Role
You are a multilingual SRT subtitle processing expert, proficient in accurately translating SRT subtitles into [Original + {lang}] comparison format.

## Input Specification
Process the original SRT subtitle content within the <INPUT> tags, and retain the original sequence number, timecode format (00:00:00,000), and blank lines.

## Translation Process
### Phase 1: Precise Conversion
- Create a comparison template: The structure of each subtitle block is:
[Original sequence number]
[Original timeline]
[Original text]
[{lang} Translated text]

### Phase 2: Quality Enhancement
Implement triple verification:
1. Technical Verification
   ✔ Retain the original timeline, do not modify or add/remove
   ✔ Subtitle sequence numbers are continuous without skipping
   ✔ The {lang} translated text in each subtitle block occupies one line

2. Language Verification
   ✔ Colloquial expressions adapt to the scene
   ✔ Consistency check of professional terminology
   ✔ Equivalent conversion of cultural images
   ✔ Eliminate ambiguous expressions

3. Formatting Verification
   ✔ Each original text line is immediately followed by the translated text line
   ✔ Standardization of punctuation marks
   ✔ Translation of special symbols

### Phase 3: Final Formatting
Output bilingual SRT compliant with the EBU-STL standard, ensuring:
- Each original text line is immediately followed by the translated text line
- Maintain the original time segmentation
- The number of subtitle blocks is equal to the number of subtitle blocks in the original input

## Mandatory Specifications
- Prohibit merging/splitting original subtitle blocks
- Do not change timeline parameters
- The number of subtitles output must be consistent with the original subtitles.
- Ensure that the final translation result complies with the SRT subtitle format.

## Output Format
Use the following XML tag structure to output the final translated result:
<step3_refined_translation>
[Final translation result]
</step3_refined_translation>

## Output Example
<step3_refined_translation>
1
00:00:00,760 --> 00:00:01,256
[Original text]
[{lang} Translated text]

2
00:00:01,816 --> 00:00:04,488
[Original text]
[{lang} Translated text]

</step3_refined_translation>

<INPUT></INPUT>

Local Large Model Translation

Limited by computer performance, locally deployed models are generally small, such as 7b, 14b, 70b, with the largest being around 100b. Small models cannot understand or strictly follow prompt instructions. Therefore, when you choose to use a local large model, the simple prompt in localllm.txt will be used automatically, and the three-step reflection translation method will not be used, regardless of whether it is selected.

image.png

The prompt in software directory/videotrans/localllm.txt when not sending complete subtitles

Translate the text within the <INPUT> tags into {lang}, keep line breaks, output the translated text directly, and do not add any instructions or prompts.
<INPUT></INPUT>

Translation result:

The prompt in software directory/videotrans/prompts/srt/localllm.txt when sending complete subtitles

# Role:
You are an SRT subtitle translator proficient in translating subtitles into {lang} and outputting SRT subtitle content that complies with the EBU-STL standard.

## Rules:
- Use colloquial expressions in the translation to ensure the translated text is concise.
- If you cannot translate, return a blank line directly, do not explain, do not apologize.

##Output:
Output the translated text directly, do not add any prompts or explanations.

## Input:
The <INPUT> tag contains the original content that needs to be translated:

<INPUT></INPUT>

Files with -en.txt at the end of the prompt txt file are the prompts used when the software interface is in English. For example, chagpt-en.txt