查看: 1521|回复: 4
收起左侧

[讨论交流] xTranslator脚本汉化小技巧,如何精准的翻译词条

[复制链接]

21

主题

865

帖子

2万

积分

游戏之神

Rank: 14Rank: 14Rank: 14Rank: 14

点赞
439
贡献
363
猫币
8
精华
0
金元
16633
积分
24313
发表于 2022-8-19 19:40:59 | 显示全部楼层 |阅读模式

马上注册领取绝版勋章

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 FlyDut 于 2022-8-19 23:03 编辑

写这篇教程的原因,是最近某老滚Q群里跟网友聊天。该网友有比较丰富的汉化经验,也在某汉化群待过一段时间。所以我了解了他是如何汉化脚本的,他仅仅通过xTranslator的识别和语感判断哪些文本应该被翻译,这样的工作虽然能完成大部分的脚本汉化,但是容易导致错翻、漏翻的情况,甚至是产生一些bug(我甚至是发现因为套用旧版汉化,而出现了bug的传承),因为这样的问题并不少见。但是从与他本人的交流中可以看出,大部分汉化新人,甚至是一些汉化老手都是如此,这就让我多少感到意外。

而xTranslator的识别只能简单的筛选,如果稍有不注意,错误就非常容易出现。当然我很明白老滚中文教程稀少,所以容易踩坑。所以我没花多大功夫就写下这个教程,供大家学习和参考,如有不足请多指教。教程的目的很明确,就是如何准确汉化的脚本。所以不会教阅读者怎么使用xTranslator,阅读者应当对本工具先有基础的了解(论坛本身还是有很多不错的xTranslator基础教程)。

首先载入pex文件。我这里使用私密装置的脚本做一个示范
3.png
可以看到,载入脚本后,通过xTranslator的【反编译脚本】功能。
我们可以查看到脚本的反编译代码,同时支持点击词条快速跳转至对应的代码。
这可以非常方便的帮助我们查看词条的使用方式。




并且对于以往摸棱两可的词条,我们也可以通过查看反编译脚本,找到适合的翻译。比如以下例子
4.png
哪怕是你对于代码并不熟悉,但是通过一些简单的辨识,也可以看出【lost】和 【restraint keys】是同一句话里的,而不是独立两个单词。
这同样适用于那些大量拼接的起来的语句,我们可以通过该方法找到合适的语序。




但是如果要是我真的一点代码都不会,那么该怎么办呢?其实也非常简单,可以和经验稍微结合一下。
一般来说长语句,都是描述性话语,做为重要参数传递是很难见到的,比如下列这种可以放心翻译。
5.png




但是还有一些长语句,比如输出到控制台或者保存到日志文件中的语句,玩家在游玩过程中不会感知到,所以无需翻译。比如下列句子
【而且原则上其实不该翻译,因为如果你需要向原作者寻求帮助、反馈问题,日志文件是少不了的,翻译成中文后反而可能不好反馈问题】
6.png
这类语句通常的格式是  debug.trace()  ,作用是输出到日志文件,它们不需要被翻译。
此外还有 MiscUtil.PrintConsole(),用于将消息输出到控制台中。

相应的能被玩家感知的信息,常用的有
debug.notification()   作用是在屏幕右上角给出几秒钟的提示信息
debug.messagebox()   作用是在屏幕正中间弹出一个通知窗口




一些mod作者还可能将以上方法封装起来,这样的目的是可以通过mcm菜单的选项进行控制显示。我们同样可以快速辨别,比如下列句子
7.png
作者使用了一个自定义的 notify() 方法,但是这个是一个长语句,同时这个方法名【notify】非常简单直白。
这个方法是用来进行消息通知的,所以这样的句子正是我们需要翻译的。
如果你以前恰好学习过一些其他编程语言,虽然你可能并不熟悉papyrus,但是通过对照源代码(一般会在script/source下)。这也可以帮助你快速理解作者自己封装的方法。

比如我们跟着这条语句,找一下背后调用的方法。
1.png
2.png
3.png



虽然教程简单,但是正是简单的方法能基本防止不必要的翻译导致的错误出现,希望可以帮助有需要的人。


评分

参与人数 4贡献 +13 金元 +159 点赞 +18 收起 理由
龙狩翁斯坦 + 10 + 150 + 10 鼓励分享
mddlkjfdsa + 2 + 2 很给力
qwe2690382013 + 2 + 2 热心人士
无心无存 + 3 + 5 + 4 热心人士

查看全部评分

回复

使用道具 举报

1

主题

652

帖子

3万

积分

游戏终结者

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

点赞
5
贡献
7
猫币
0
精华
0
金元
27984
积分
39031
发表于 2022-8-19 20:30:30 | 显示全部楼层
拼接语句的部分很有帮助
回复

使用道具 举报

13

主题

1971

帖子

7万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
503
贡献
532
猫币
3
精华
0
金元
28698
积分
75289

梦想的开始最佳新人热心会员

发表于 2022-8-20 15:19:59 | 显示全部楼层
感谢分享
回复

使用道具 举报

1

主题

898

帖子

6572

积分

资深玩家

Rank: 10Rank: 10Rank: 10

点赞
0
贡献
2
猫币
0
精华
0
金元
5654
积分
6572
QQ
发表于 2022-8-29 23:00:19 | 显示全部楼层
非常感谢
回复

使用道具 举报

113

主题

1030

帖子

6万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
117
贡献
320
猫币
10
精华
0
金元
60566
积分
65496
发表于 2022-10-3 09:31:11 | 显示全部楼层
我都是看结尾有没有句话,有的话一般都能翻译
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|玖大猫论坛

GMT+8, 2025-11-7 18:03

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.