跳转至

Dialog

部分引用

什么是Dialog

顾名思义就是游戏中一切跟文本有关的东西, 主要包括

  • 对话(人物对话文本)
  • UI(例如开始界面的文本, Mod选项界面的文本, 暂停界面的文本, 选关界面的文本, 明信片等)

你要知道游戏中的每一段文本可能对应不同的语言, 所以该怎么组织这些文本呢

官方的做法是一种语言对应一个.txt, 一段文本对应一个唯一的id, 叫做, 或者说key, 游戏就是通过你使用的语言来访问对应的文件, 用key来访问对应的文本来实现本地化的工作,

我们以Celeste/Content/Dialog/English.txt下的Main Menu 部分为例(找不到可以Ctrl + F搜索), 如果你此时的语言是英文, 看看这是不是和你游戏开始界面上显示的一样呢(左边是key, 右边是 对应语言的文本)

1
2
3
4
5
6
7
# Main Menu
    MENU_DEBUG=        ~DEBUG~
    MENU_BEGIN=        CLIMB
    MENU_PICO8=        PICO-8
    MENU_OPTIONS=  Options
    MENU_CREDITS=  Credits
    MENU_EXIT=     Exit
知道原理后我们就可以添加新的key来生成我们需要的文本, 甚至是替换官图文本(同名的key后加载的的会覆盖先加载的)

首先在你Mod根目录下创建一个Dialog文件夹形成类似Celeste/Mods/你的mod名/Dialog/的目录结构

接着你就可以创建各种.txt 文件来做不同语言的翻译和添加文本的工作, 但一般加中文Simplified Chinese.txt跟英文English.txt就够了

写好对应的文本后在对应Trigger中填入对应id/key即可

修改自己地图名称和吃心文本

最简单粗暴识别哪些东西是键名的方法就是那一串东西是不是被大括号{}或者中括号[]包着, 所以照抄就好了, 例如

1
2
3
4
Wiki_Tutorial=Tutorial
Wiki_Tutorial_CelesteWikiTutorial=WikiTutorial

poem_Wiki_Tutorial_CelesteWikiTutorial_A=Hello world!

如果要添加自定义文本键名一定要长~, 不然很可能和别人重了出问题, 一般建议是作者名_图名_键名

常用对话Trigger

  • Minitextbox Trigger(trigger)
  • Everest Dialog Cutscene(trigger)
  • Custom NPC(entity)

注意事项

  • =左边不要有空格

常用部分

QA

Q: 为什么我文本缺字了

A: 因为蔚蓝字库里没有, 请自己按示例生成(字库生成网站), 或者你直接依赖extended chinese font这个Mod, 大概率不会缺字, 但可能还是会缺