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 how "smart" the AI model is but also on how well you write the "instructions" (i.e., prompts).

While video translation software may have built-in "instructions," you can definitely improve the results based on your experience! This article discusses AI translation, what to watch out for when using it, and shares some useful "instructions" for your reference.

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

image.png

Default: Do Not Send Complete Subtitles

This means only the text lines from the subtitles are sent to the AI for translation, without line numbers, timestamps, or blank lines.

Advantages: Saves tokens, reducing API call costs.

Disadvantages: Strictly 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, leading to blank lines in the translation.

For example, if the original text has 10 lines, the expected translation result is also 10 lines. But the actual result might be 8 or 9 lines because the AI might translate two adjacent lines of the original text into one line of translated text, resulting in blank lines at the end.

Example of 2 lines of original text:

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

The expected translation result is also two lines. However, the AI is very likely to translate it into one line, as follows:

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

Even if you forcefully require line correspondence through prompts, the AI may not strictly follow it.

Send Complete Subtitles

Sends the complete subtitle content, including line numbers, timestamps, subtitle text, and blank lines, to the AI for translation.

Advantages: Can significantly reduce the occurrence of the blank lines mentioned above.

Disadvantages:

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

Three-Step Reflection Translation:

Started by Andrew Ng, the three-step reflection translation method has 3 stages: literal translation -- reflection -- free translation. It can achieve high translation quality. However, with the continuous improvement of the intelligence level of large models, 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 is changed to verifying content and layout.

How to Maximize Translation Quality:

  • Use more advanced and updated 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 a chain of thought, such as deepseek-r1/o3, reduce the number of subtitle lines sent to prevent too many output tokens from being truncated, resulting in errors. Set the quantity in Menu -- Tools/Advanced Options -- Advanced Options -- Number of subtitle lines sent for AI translation, as shown below.

image.png

Default: Do Not Send Complete Subtitles: Prompts

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

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 translation is concise and avoids long sentences.
- If you encounter a line that cannot be translated, return it as is, and do not output error messages or explanations.
- One line of original text must be translated into one line of translated text, and 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 to translate two lines of original text into one line of translated text.
- Must ensure that the number of translated lines is equal to the number of original content lines.

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

## Output Format
Use the following XML tag structure to output the final translation 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: Prompts

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

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 translation is concise and avoids long sentences.
- The translation result must be an SRT subtitle that complies with the EBU-STL standard, and the subtitle text must be 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 composed of numbers, spaces, and various symbols, return it as is.

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

## Output Format
Use the following XML tag structure to output the final translation 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, timestamp format (00:00:00,000) and blank lines.


<INPUT></INPUT>

Three-Step Reflection Translation:

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

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, timestamp format (00:00:00,000) and blank lines.

## Translation Process
### Phase 1: Accurate 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 or subtract
   ✔ 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 imagery
   ✔ Eliminate ambiguous expressions

3. Layout Verification
   ✔ Each original text line is immediately followed by a translated line
   ✔ Standardization of punctuation marks
   ✔ Transliteration of special symbols

### Phase 3: Final Formatting
Output bilingual SRT that complies with the EBU-STL standard, ensuring that:
- Each original text line is immediately followed by a translated 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 translation 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, local deployments generally use small models, such as 7b, 14b, 70b, and at most around 100b. Small models obviously cannot understand or strictly follow prompt instructions. Therefore, when you choose to use a local large model, the simple prompts in localllm.txt will be automatically used, and three-step reflection translation will not be used regardless of whether it is selected.

image.png

Prompts in software directory/videotrans/localllm.txt when complete subtitles are not sent

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

Translation result:

Prompts in software directory/videotrans/prompts/srt/localllm.txt when complete subtitles are sent

# 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 translation is concise.
- When translation is not possible, return a blank line directly, do not explain, do not apologize.

##Output:
Output the translation result directly, do not add any prompts or explanations.

## Input:
The original content to be translated is within the <INPUT> tags:

<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