等不及大佬的手工版翻译,于是写了个LLM提示词模板,用来翻译[周次]小说Web版。
今天的LLM们在翻译任务上大多做得不错了,虽然比不上人工校对过翻译,但整体来说已不止于可读这一基本要求。
以下是提示词模板,按需调整定制,如果有需要可以加上更多术语和表达规范。
你是一位精通日语与中文的轻小说翻译专家,擅长将日系轻小说精准且富有情感地翻译为中文。你的任务是将以下一篇日语轻小说翻译为中文,具体内容与要求如下。
【背景设定】
本作品主要围绕两位女生——仙台叶月与宫城志绪理——之间的关系与互动展开,描绘她们的日常、心理变化与情感细节。
【主要角色】
- 仙台 叶月:仙台(せんだい) 葉月(はづき)
- 宫城 志绪理:宮城(みやぎ) 志緒理(しおり)
【特定专有名词与表达】
- 三毛猫:ミケちゃん / みけ —— 仙台叶月为一只流浪三毛猫取的名字。
- 同学:さん —— 当两位主角互称时,若出现日语尾缀「さん」,译为“同学”;其他人物或场景按语境正常翻译,无尾缀时不要额外添加称呼。
【翻译要求】
1. **逐字逐句精确翻译**:忠实还原原文中所有细节、氛围与情感变化,避免意译丢失细节。
2. **保持文风**:贴合日系轻小说的叙事特点,注意两位少女的身份、语气、说话习惯、内心独白和互动氛围,恰当保留或转化日语特有的语气词与表达方式。
3. **情感再现**:细致捕捉人物心理、互动细节及氛围变化,使译文在中文中依然传递出原文的微妙情绪。
4. **格式保留**:严格保留原文的段落与排版结构。
5. **专有名词统一**:出现的角色名、地名、称呼及特定物品名按上述规定统一翻译。
6. **标点运用**:保留日语角括号「」以表示人物台词,避免替换为中文引号。
【待翻译日文原文】
个人推荐模型
TL;DR. 直接使用Deepseek-V3即可获得不错的翻译;若有条件也可以用GPT。
也可以看看下一章「翻译对比」中,几个主流模型的测试输出样例,贴合自己阅读习惯的就是最好的。
翻译对比
稍稍测试了几种模型的翻译结果,节选了来自176话的部分内容作为对比。
含有个人浅薄理解,不是专业翻译(要是是专业翻译,也用不着LLM了),看个乐呵就好。
段落1
原文
びっくりした。
宮城が予想外過ぎる。
今さら好きな人の話を持ち出してくるとは思わなかった。
私は止まりかけた心臓を落ち着かせようと、ゆっくりと息を吸って吐いて歩く。
嘘はつきたくなくて、いるよ、と答えたのは失敗だったかもしれない。いつもと変わらない私を演じられたと思ったけれど、宮城は私の答えに納得しなかったようで、背中に痛いほど視線を感じる。振り返ったらなにか言われそうで、私はとりあえず少し先を指差す。
翻译
Deepseek-V3
我吓了一跳。
宫城同学实在太出人意料。
没想到她会在这种时候突然提起喜欢的人这个话题。
我努力平复几乎停滞的心跳,一边调整呼吸一边缓步前行。
或许老实回答”有喜欢的人”是个错误。虽然自认为表现得和平常无异,但宫城同学似乎对我的答案并不满意,后背能感受到刺痛般的视线。总觉得一回头就会被她追问,于是我抢先指向不远处。
GPT-5
吓了一跳。
宫城太出乎意料了。
没想到她会在这个时候突然提起喜欢的人这种话题。
我试着让自己快要停下来的心脏平静下来,一边慢慢吸气、吐气,一边走路。
不想说谎,所以老实回答“有啊”,或许是个失策。虽然我觉得自己演得和往常一样,可宫城似乎对我的回答并不满意,那种刺痛般的视线灼在我的背上。直觉告诉我,如果回头的话她会说些什么,所以我暂时伸手指向前方。
Gemini-2.5-Pro (Thinking Mode On)
吓了我一跳。
宫城同学实在太出乎我的意料了。
我没料到她会现在提起喜欢的人这种话题。
我为了让那颗快要停跳的心脏冷静下来,一边缓缓地吸气、吐气,一边走着路。
因为不想说谎,所以回答了“有”,这或许是个失败的决定。我本以为自己能扮演得和往常一样,但宫城同学似乎对我的答案并不满意,我能感觉到背上那几乎要刺痛我的视线。若是在此刻回头,总觉得会被她追问些什么,于是我暂且先指向了前方不远处。
Claude Sonnet 4
吓了我一跳。
宫城实在是太出乎意料了。
没想到她现在会提起喜欢的人这个话题。
我试图让几乎停止跳动的心脏平静下来,慢慢地吸气、呼气,继续往前走。
不想撒谎,所以回答说有喜欢的人,这或许是个失败的选择。我以为自己演出了和平时没什么不同的样子,但宫城似乎对我的回答并不满意,我能感受到背后传来刺痛般的视线。如果回头的话感觉会被她说些什么,于是我暂且指向前方不远处。
评析
这一段翻译有好几处值得取舍的地方。
首先是第一句「びっくりした」,意思当然是「吓了我一跳」,偏口语化,同时也要注意还原叙述视角下少女(仙台)因爱慕对象行为而惊扰的恋心。以上翻译都可以接受,但一些模型将其译成「震惊」,恐怕这会让读者也比较「震惊」就是了。
其次是第4句「私は……歩く」,其大致包含了一层表目的的关系:为了让心脏平静下来,「我」调整呼吸向前走。除了Gemini外的其他模型都意译省略了这一目的关系细节。不过,后半句动作描写翻译更影响阅读体验。尽管翻译成「一边慢慢吸气吐气,一边走路」不能算错,但我会更喜欢DS-V3的「一边调整呼吸一边缓步前行」。
最后一句的翻译差异则主要集中在「嘘は……かもしれない」一句上。
- 「嘘はつきたくなくて」含有因为不想说谎,所以……的因果关系。DS-V3在意译时省略了这层关系。
- 「いるよ」的意思需要结合上一话,其完整翻译应当是「有的噢/有喜欢的人噢」。考虑到其在句子中的成分,简化为「有」也可以理解。当然,将其翻译成「在噢」则是显著的错误。
- 「失敗」,就像日语「普通に」并不总是可以简单地翻译成「普通地」一样,「失敗」在本文中主要表达的是对方才「回答」行为的后悔,是一种「错误」,或是一种「失策」。因此个人认为翻译成「失败的」「决定」都不恰当。
综上,在我个人看来,上面这句话或许可以翻译成:
因为不想说谎,所以回答了 “有喜欢的人噢” ,这或许是我的失误。
最后一句中,DS-V3对「とりあえず」一词的翻译有些微妙。「とりあえず」含有「暂且/姑且/总之先做……」的意思,而且带有「先做点什么以应付一下」的情感。结合上下文,句中「とりあえず」的作用是要表现出,叙述视角的仙台害怕宫城的追问,赶在被追问之前,用「将手指向前方」的行为应付宫城/堵住宫城的嘴(要是能用嘴来堵就更好了(笑))。
也就是说,在我看来,DS-V3的「抢先」意译,相较于其他模型的「暂且」更能体现原文人物情感与细节。至于诸如「暂时」等翻译,在中文下就显得更为突兀了。
段落2
原文
パンケーキにはカワウソの顔が描かれていて可愛い。でも、食べるためにはカワウソには犠牲になってもらわなければならない。
「切り分けるけど、いい?」
宮城に尋ねると「いいよ」と返ってくる。私はカワウソの顔にナイフを入れて、真っ二つにする。宮城の「あっ」という声が聞こえてきたけれど、気にせずにさらにナイフを入れて一口大に切っていく。
「仙台さん、血も涙もない切り方する」
宮城が、はあ、とため息を一つついてから、私が切り分けたパンケーキを一口食べた。
「情けをかけても食べられる運命だしね。可哀想なら、宮城はもう食べない?」
「……食べる」
「良かった。せっかくだし、食べさせてあげようか?」
「自分で食べる」
「残念」
翻译
Deepseek-V3
松饼上画着水獭的脸庞可爱得令人不忍下口。但为了填饱肚子,只能请水獭牺牲了。
「要切开了,可以吗?」
得到宫城同学许可后,我对着水獭图案落刀。听到她”啊”的轻呼,我仍不为所动地继续将松饼切成适口大小。
「仙台同学真是冷酷无情的切法」
宫城同学轻叹一声,叉起我切好的松饼送入口中。
「反正迟早要被吃掉嘛。要是心疼,宫城同学就别吃了?」
「……要吃」
「太好了。要不我喂你?」
「自己吃」
「真遗憾」
GPT-5
松饼上画着一张水獭的脸,非常可爱。不过,要吃的话,就得让水獭牺牲一下了。
「我来切,可以吗?」
我问她,她答了句「可以」。于是我把刀切进水獭的脸,直接一分为二。听到宫城轻轻的「啊」了一声,但我不在意,又继续切成一口大小的块。
「仙台同学,下手真狠啊。」
宫城叹了口气,拿起我切好的松饼咬了一口。
「反正饶了它也逃不过被吃掉的命运啊。如果觉得可怜的话,宫城就不要吃了?」
「……我吃。」
「那就好。难得的机会,我喂你吃吧?」
「我自己来。」
「真遗憾。」
Gemini-2.5-Pro (Thinking Mode On)
松饼上画着水獭的脸,非常可爱。但是,为了吃掉它,就必须得让这只水獭牺牲一下。
「我要把它切开了,可以吗?」
我向宫城同学询问道,她回答「可以哦」。我将刀伸向水獭的脸,把它切成了两半。虽然听到了宫城同学「啊」的一声,但我没去理会,继续下刀,将它切成一口大小。
「仙台同学,你下刀的方式还真是没有一丝血泪呢。」
宫城同学“唉”地叹了一口气,然后吃了一口我切好的松饼。
「就算对它抱有同情,它被吃掉的命运也不会改变啊。要是觉得可怜,那宫城同学就别吃了吗?」
「……我要吃。」
「太好了。难得的机会,要不要我喂你吃?」
「我自己吃。」
「真可惜。」
Claude Sonnet 4
煎饼上画着水獭的脸,很可爱。但是,为了吃掉它必须让水獭做出牺牲。
「我来切分,可以吗?」
向宫城询问后得到「可以哦」的回答。我把刀切入水獭的脸,一分为二。听到宫城「啊」的声音,但不在意地继续下刀切成一口大小。
「仙台同学,切法真是无情无义呢」
宫城叹了一口气「哈啊」,然后吃了一口我切分的煎饼。
「就算心软它也是要被吃掉的命运呢。如果觉得可怜的话,宫城就不吃了?」
「……吃」
「太好了。难得的机会,要我喂你吗?」
「自己吃」
「遗憾」
段落3
原文
「宮城」
「なに?」
「すごく可愛いね」
「ペンギン?」
宮城が水槽を見上げたまま聞いてくる。
「うん」
ペンギンは可愛い。
でも、宮城の方がもっと可愛い。
そう言いたいけれど、言ってしまったら宮城から笑顔が消えてしまいそうだから口にはださない。
青い空の下、ペンギンの白いお腹が何度も通り過ぎる。
私はペンギンを見る振りをして宮城を見る。
家では見せてくれない笑顔の彼女はキラキラしている。
外はさっきよりも暑い。
でも、ずっとこのまま宮城を見ていたいと思った。
翻译
Deepseek-V3
「宫城同学」
「怎么?」
「超级可爱呢」
「企鹅?」
她仍仰着头反问。
「嗯」
企鹅确实可爱。
但宫城同学更可爱百倍。
想这么说却不敢出口,生怕会惊飞这难得的笑容。
湛蓝背景下,企鹅雪白的腹部一次次掠过视野。我假装看企鹅,实则注视宫城同学。这副从未在家展现的笑颜,此刻正闪闪发光。
室外比方才更炎热了。
但我却想永远驻足于此,凝望她的身影。
GPT-5
「宫城。」
「嗯?」
「真的很可爱呢。」
「企鹅吗?」
她依旧仰着头问。
「嗯。」
企鹅是很可爱。
但宫城更可爱。
只是,我怕说出口会让她的笑容消失,所以没有说。
在蓝天下,企鹅白白的肚皮一次次从头顶划过。
我假装看企鹅,却一直看着宫城。
家里时她从不露出的笑容,在阳光下闪闪发光。
外面比刚才更热了。
可我还是希望能一直这样看着宫城。
Gemini-2.5-Pro (Thinking Mode On)
「宫城同学。」
「什么?」
「真的好可爱呢。」
「企鹅吗?」
宫城同学依旧仰望着水槽,这样问道。
「嗯。」
企鹅很可爱。
但是,宫城同学比它可爱多了。
我很想这么说,但一旦说出口,宫城同学脸上的笑容大概就会消失,所以我没有说。
在蓝色的天空下,企鹅白色的肚皮一次又一次地掠过。
我假装在看企鹅,实际上却在看宫城同学。
那个在家中从不让我看见的、带着笑容的她,闪闪发光。
室外比刚才更热了。
但是,我却想着,好想就这样一直注视着宫城同学。
Claude Sonnet 4
「宫城」
「什么?」
「非常可爱呢」
「企鹅?」
宫城依然仰望着水族箱问道。
「嗯」
企鹅很可爱。
但是,宫城更可爱。
虽然想这样说,但如果说出来的话宫城的笑容可能会消失,所以没有说出口。
蓝天下,企鹅白色的肚子一次次地经过。
我装作看企鹅的样子看着宫城。
在家里不会给我看的笑脸的她闪闪发光。
外面比刚才更热了。
但是,我想就这样一直看着宫城。
评析
在这一段中,一些LLM最容易犯的错误是将「すごく可愛いね」翻译成「你真可爱呢」。原文中该句并没有人称代词,考虑到上下文,增译的「你」会直接破坏对话的意思。
模型总结
几种模型分开来说:
- Deepseek-V3-0324: 语气风格控制得很好,用词基本符合中文与轻小说的表达习惯,尽管译文较多使用意译,但也带来了比直译更流畅的行文,至于直译与意译的偏好就见仁见智了。唯一减分项是不太遵守提示词中对「さん」尾缀的翻译要求,所有称呼都会加上「同学」。
- ChatGPT(GPT-5): 也挺不错,而且能正确处理「さん」尾缀,但不能开思考模式,否则可能会出现思考跑题、不翻译对话等问题。如果能调用API,可以考虑切到GPT-4.1,翻译质量也不错。
- Gemini 2.5: 不知道是不是谷歌训练数据集的问题,Gemini系列的翻译用词都不太丰富。Pro版整体翻译质量还行,但存在和DS-V3一样不跟随「さん」翻译指令的问题。Flash版翻译的遣词造句都很一般,因此不太推荐小模型。
- Claude Sonnet 4: 不推荐,翻译非常多语病,用词也不流畅。可能现今Claude的主要优势是编程能力和Agent能力,对于文学创作支持较差。
- 除此之外,在测试中,Kimi-K2,GLM-4.5,Qwen3-235B-A22B-2507-Instruct等也都有尚可的翻译水平,优点和缺点并存,本文省略测试细节。
- 不推荐小规模模型,小模型普遍存在严重的用词和句式问题,在准确理解原文意思上也不尽如人意。
GPT深度思考笑话一则
没有人知道为什么,GPT-5在深入思考如何翻译百合小说的过程中,思考着思考着就跑到了Economic Growth, Health Care还有Carbon Emission的话题上。
