FancyMenu Wiki/元素本地化
关于
从FancyMenu v2.3.0开始你就可以本地化你的文本(甚至图片,动画)元素到游戏语言中。
如何本地化文本元素
FancyMenu允许你往游戏中添加你自己的本地化。
然后,这些可以在%local:localization.key%
占位符文本值中使用,将一个文本本地化为当前游戏语言。
添加你的本地化
本地化目录
要添加你自己的本地化文件,你首先需要在.minecraft/config/fancymenu/custom_locals/
创建一个本地化目录。
这个目录应该有一个独特的名字,就像你的用户名。
接下来,我会把我的目录命名为keksuccino。
所以现在我的本地化目录在.minecraft/config/fancymenu/custom_locals/keksuccino
。
你可以在这个目录下放你所有的本地化文件。
首要本地化文件
本地化文件包含了你所有不同语言的文本内容。
每个本地化文件都针对一个单独的语言。
意思是你把相同的文本内容放在多个文件,但使用的语言不同。
为了识别多个文件中的相同内容,你需要给它们唯一的key(就像是ID)。
因为你很可能不会将你的内容本地化到游戏中的每一种语言,所以你需要一个后备语言,当游戏被设置为你的内容没有被本地化的语言时,它将被使用。
这就是为什么你在本地化文件夹下创建的第一个本地化文件是en_us.local
。
别忘了添加en_us.local*(US 英文)文件,因为当其他语言本地化没有或失效时会启用它。
至于如何添加,只需要打开你的本地化文件夹然后右键创建一个新文档。
重要:现在如果你是Windows,那需要检查一下你是否打开了文件拓展名显示,把.txt改成.local
右键它并选择 打开方式 之后选择一个你喜欢的文本编辑器。这样你下次打开.local时就会默认使用你选定的编辑器。
现在你可以用你的编辑器打开并编辑.local
文件了。
为本地化文件添加内容
你刚刚为美式英文创建了第一个本地化文件。
这意味着当你将游戏语言切换到 US English 时,你的元素会被本地化为en_us.local
里的内容。(如果你切换到了其他语言,但却没有对应的本地化文件的话也是默认启用en_us.local
)
但如果文件是空的,那么你的所有文本内容都不会从文件里获取任何本地化内容。
使用你喜欢的文本编辑器打开en_us.local
文件。
文本每一行都有一个本地化键+值,换行不会起作用。
要添加一个新的值,只需以你为这个值选择的唯一本地化键开始,然后是一个等号和实际值。
就像这样:
fancymenu.eicy.mainmenu.tip=How dare u!
本地化键应该是独一无二的,所以你不能对一个以上的值使用同一个键。
但不同本地化文件间可以存在相同的本地化键。
就像第一个值一样,你现在可以把所有的值添加到本地化文件中。
现在你有了第一个也是最重要的准备用于文本元素的本地化文件。
添加更多语言
你现在只有一个语言文件,这并不是真正的本地化对吧?
接下来,我们要着手解决这个问题!就像你创建编辑en_us.local
一样,你可以对其他语言也这么干!
接下来,我会创建一个文件来把我的文本内容本地化到中文。
为了本地化到中文,我需要在我的本地化文件夹创建一个zh_cn.local
。
你可能注意到了你的本地化文件名不能瞎写。
你必须使用正确的语言代号作为本地化文件名。
如果你想了解什么是语言代号(或称 local code)的话可以查阅Minecraft Wiki。
现在我将把与en_us.local
文件中完全相同的值添加到我的新zh_cn.local
文件中,但将把这些值翻译成中文。
请确保你翻译的是值,而不是等号前的本地化键。
fancymenu.eicy.mainmenu.tip=大胆!谁指使你的!
现在你有了默认的en_us.local
文件和一个或多个其他的本地化文件,这些文件对其他语言有相同语义的值。
你可以在以后编辑这些文件,增加更多的值或编辑现有的值。
使用你的本地化
现在你的本地化文件已经准备好了,来看看它们是如何生效的。
要在文本元素中使用你的本地化,你只需要编辑一个文本元素的内容(如按钮标签、普通文本等),然后点击文本编辑框右侧的小加号(+)按钮,再点击其他->本地化文本。
这样在你的文本编辑框中添加一个新的占位符文本值。
之后替换<localization.key>
(包括<>)为你本地化文件中的的本地化键。
fancymenu.eicy.mainmenu.tip
你也可以给元素添加普通文本。
带有占位符值的元素在编辑器中看起来有点特殊,但是在真正的菜单中它们又会恢复正常。
现在你可以切换你的语言到其他支持的语言以查看元素的本地化值是否切换到了对应的语言。
十分基础,一点特殊的东西都不用了解,一点也不难,对吧?
如何本地化非文本元素
哈哈!你在认为FM只能本地化无聊的文本元素了吧!
FancyMenu还允许你对图片和基本上所有你想得到的元素进行本地化。
为了做到这一点,你需要使用Visibility Requirements。
更确切地说,是Is Game Language requirement。
你的布局中的每一个元素都有自己的Visibility Requirements。
要访问一个元素的Visibility Requirements,需要右击该元素并点击Visibility Requirements。
现在使用箭头按钮切换到Is Game Language requirement。
点击第一个按钮,启用requirement,然后在文本框中写下你想检查的正确的语言代码。
如果你想知道什么样的语言代码是正确的,请查阅Minecraft Wiki。
你可以在Show If和Show If Not间选择,如果游戏语言被设置为所选语言,第一个将显示该元素,如果语言没有被设置为所选语言,第二个将显示该元素。
在我们的需求下,我们只需要Show If模式。
现在我们可以为英文游戏环境选择一个特定的图片显示,另一张图片用于在别的语言环境下显示。
最后你就可以单独为某个语言环境设置单独的本地化元素了。