SDL中文论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz

实现多国语言翻译

查看数: 6053 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-11-29 11:02

正文摘要:

要察看、更改多国语言翻译需下载源码包。发行包不提供*.pot和*.po。 实现多国语言翻译指的是用指定语言来显示游戏中界面上信息,像伤害,让英文时显示“Damage”,简体中文时显示“伤害”,繁体中文则是“傷害”。 ...

回复

ancientcc 发表于 2020-11-29 11:04:49

游戏中用到的*.mo

游戏用到近5000条需翻译字符串,为方便管理,这些字符串被归到数个*.mo中。

  • wesnoth.mo:主要是游戏操作环境中的字符串。
  • wesnoth-editor.mo:地图编辑器用到的字符串。
  • wesnoth-hero.mo:武将信息。像武将姓名、列传、特技、特技解释等。
  • wesnoth-lib.mo:游戏中对话框显示字符串。
  • wesnoth-manpages.mo/wesnoth-manual.mo:帮助信息中字符串。
  • wesnoth-multiplayer.mo:多人对战时要用到的字符串。
  • wesnoth-tk-units.mo:三国兵种中字符串。
  • wesnoth-units.mo:韦诺自带兵种的字符串。


以下是和特定战役相关的*.mo
  • wesnoth-race.mo:群雄争霸
  • wesnoth-lobl.mo:刘备传
  • wesnoth-td.mo:塔防休闲
ancientcc 发表于 2020-11-29 11:04:24

如何制作*.mo


游戏最终去读取的是*.mo。*.mo是由*.po生成的,而*.po是由*.pot生成的。

*.pot:建议找个文本编辑器,像UltraEdit-32。*.pot要写什么内容由游戏主程序决定,像会出现“Damage”,是游戏中要显示“Damage”,这时程序员会说出“Damage”大概是表示什么,mod制作者就根据这个作用进行相应翻译。

*.po:建议用Poedit。Poedit让编写*.po变得十分容易。具体操作,打开一个*.po,像wesnoth/zh_CN.po(文件可以没内容),菜单:“类目”,“从pot文件更新...”,选择wesnoth.pot,接下就可以逐条翻译。好了之后“文件”,“保存”,就可生成你希望的zh_CN.po。

*.mo:建议用Poedit实现*.po转为*.mo。这个转换过程和保存*.po是一样的操作,“文件”,“保存”,也就是这个菜单操作不仅生成像zh_CN.po,同时生成zh_CN.mo。然后把zh_CN.mo改名wesnoth.mo,放到相应的translations/zh_CN/LC_MESSAGES目录下。

Archiver|手机版|小黑屋|丽谷软件|libsdl.cn

GMT+8, 2025-6-28 06:52 , Processed in 0.056076 second(s), 24 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表