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) you give it.

Although video translation software may come with some built-in "instructions," you can always modify them based on your own experience for better results! This article discusses how AI translation works, 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 in the subtitle are sent to the AI for translation, without line numbers, timecodes, or blank lines.

Advantages: Saves tokens, reduces API call costs.

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

For example, if the original text has 10 lines, you expect the translation to also have 10 lines. But the actual result might be 8 or 9 lines because of differences in grammar and word order. The AI might translate two adjacent original lines into one translated line, leading to blank lines.

Example of 2 lines of original content:

On Saturday,
Let's go eat hot pot.

The expected translation result is also two lines. However, the AI may translate it into one line, like this:

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 to the AI, including line numbers, timecodes, subtitle text, and blank lines.

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

Disadvantages:

  • Cannot completely eliminate the appearance of blank lines.
  • Line numbers and timecodes 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:

Based on Andrew Ng's three-step reflection translation method, it has 3 stages: Direct Translation -- Reflection -- Interpretive Translation. It can achieve higher translation quality. However, with the continuous improvement of the intelligence of large models, especially the use of reasoning models like 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 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 excessive output tokens from being truncated, resulting in 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: Prompts

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

image.png

# Role:
You are a multilingual translator, skilled at 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 and do not output error information 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 to translate 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.

## Limitations:
- 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 it.

image.png

# Role:
You are an SRT subtitle translator, skilled at 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, and the subtitle text must be a bilingual comparison.
- If you encounter content that cannot be translated, return a blank line directly without outputting any error information or explanations.
- Content consisting of numbers, spaces, and various symbols should not be translated and should be returned as is.

## Limitations:
- Each subtitle must contain 2 lines of text, the first line is the original subtitle text, and the second line is 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>
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 numbers, timecode 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 it.

image.png

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

## Input Specification
Process the original SRT subtitle content within the <INPUT> tags and retain the original sequence numbers, timecode 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 without modification
   ✔ Subtitle sequence numbers are continuous without skips
   ✔ The {lang} translated text in each subtitle block occupies one line

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

3. Formatting Verification
   ✔ The translated line follows immediately after each original line
   ✔ Standardization of punctuation marks
   ✔ Transliteration of special symbols

### Phase 3: Final Formatting
Output bilingual SRT that complies with the EBU-STL standard, ensuring:
- The translated line follows immediately after each original line
- Maintain the original time segments
- 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 conforms to 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, locally deployed models are generally small models, such as 7b, 14b, 70b, with a maximum of about 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

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

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

Translation Result:

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

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

## Rules:
- Use colloquial expressions when translating to ensure the translated text is concise.
- When unable to translate, return a blank line directly, do not explain, and do not apologize.

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

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

<INPUT></INPUT>

The 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