附加包教程第五期——.lang文件
本帖最后由 782 于 2022-5-15 13:35 编辑.lang文件
我的世界基岩版允许使用.lang文件给不同地区的玩家显示不同的翻译(可在设置-语言内调整),附加包也可以含有此文件。
.lang文件的优势有:体积小巧、可以给不同地区的玩家显示不同的翻译、使用范围广(例如在命令中)、便于比对和修改等。
static/image/hrline/line4.png
一、.lang文件简介
.lang文件路径:
资源包或行为包
|_texts
|_(语言).lang
警告:你可以在行为包里定义.lang文件,但是它只能定义包名称和包简介,其他内容要在资源包里创建!
lang代码格式
lang代码格式非常简单,
格式是:代码 = 名称
示例:
item.iron_sword.name=铁剑 #
后面有无井号(#)均可
.lang文件覆盖
如果你想覆盖原来的原版文件,这是完全可以的,你不用担心会导致崩溃,其他内容也不会重写。
比如说把铁剑的名称改为“神之剑” (doge
item.iron_sword.name=神之剑 #
未定义的lang代码
有的时候,你没有定义的lang代码会在游戏中显示。这个时候,它们会显示整个lang代码(例如item.iron_sword.name),而不是其他名称。
这些未定义的lang代码一般出现在物品栏或快捷栏中,
修复其实很简单,只要把lang代码输入.lang文件内,再进行定义,就可以了。
.lang的适用范围
.lang文件可以在以下任何地方使用:
[*]附加包名称(pack.name)
[*]附加包简介(pack.description)
[*]实体名称
[*]方块名称
[*]物品名称
[*]/tellraw命令
[*]......
在游戏中(例如/tellraw命令)插入lang代码时,使用原始JSON文本:{"rawtext":[{"translate" : "lang代码"}]}
static/image/hrline/line3.png
二、翻译
现在了解了.lang文件,可以研究文本的翻译,根据玩家使用不同的语言显示不同的翻译。
资源包中的texts文件夹中,有相当多的.lang文件,每个文件代表并包含不同的语言,它们的名字基于语言和地区,例如zh_CN(中文(简体))、en_GB(英语,英国)、en_US(英语,美国)、de_DE(德语)等。
所有lang代码都存在于每个单独的.lang文件中,并包含与文件名称中所述语言相关的文本。
下面是语言名称和.lang文件名称的对应关系表:
.lang文件名称语言名称
id_ID 印度尼西亚语
da_DK 丹麦语
de_DE 德语
en_GB 英语,英国
en_US 英语,美国
es_ES 西班牙语
es_MX 墨西哥西班牙语
fr_CA 加拿大法语
fr_FR 法语
it_IT 意大利语
hu_HU 匈牙利语
nl_NL 荷兰语
nb_NO 博克马尔语
pl_PL 波兰语
pt_BR 巴西葡萄牙语
pt_PT 葡萄牙语
sk_SK 斯洛伐克语
fi_FI 芬兰语
sv_SE 瑞典语
tr_TR 土耳其语
cs_CZ 捷克语
el_GR 希腊语
bg_BG 保加利亚语
ru_RU 俄语
uk_UA 乌克兰语
ja_JP 日语
zh_CN 中文(简体)
zh_TW 中文(繁体)
ko_KR 韩语
使用时,只需把编写语言的对应.lang文件名称+.lang即可
例如:编写中文(简体)的.lang文件:zh_CN.lang
static/image/hrline/5.gif
三、自定义语言
在texts文件夹中有两个不一样的的文件,一个是languages.json,另一个是language_names.json。
除了29种先前存在的.lang文件外,这些语言可用于向游戏添加更多语言,
当资源包全局应用时,还可以在游戏内设置的“语言”选项卡中选择自定义语言。
对于以下示例,假设我们有2个功能齐全的.lang文件,一个名为xx_XX.lang,另一个名为yy_YY.lang
languages.json
只需一个.lang文件的JSON数组,就能将自定义语言语言绑定至我的世界。
示例:
[
"xx_XX",
"yy_YY"
]
language_names.json
另一个JSON数组,这次定义了语言要显示的名称。
示例:
[
["xx_XX", "自定义语言1"],
["yy_YY", "自定义语言2"]
]
警告:每当使用自定义语言时,最好禁用存储在其中的资源,否则可能崩溃。
static/image/hrline/line2.png
四、本期文件下载
原版中文简体(zh_CN.lang)文件:
原版languages.json文件:
原版language_names.json文件:
(如果无法直接打开.lang文件,可以先转换成.txt文件,再进行查看)
static/image/hrline/line7.png
预告:下一期会给大家介绍.mcfunction文件与命名空间
附加包教程系列导航
上一期下一期
梗体中文就是用这个做的吧? 猫月 发表于 2022-5-3 11:03
梗体中文就是用这个做的吧?
对的
(应该是的,不过我没拆包) 真不戳,拆包去了[哔哩_妙啊] 热知识:lang是language的缩写 本帖最后由 782 于 2022-6-3 18:13 编辑
DHF_Believer 发表于 2022-6-3 18:09
热知识:lang是language的缩写
是的
但懒得打字了
毕竟四个字母比八个字母好打
我想问一下,我java版材质包转换为基岩版材质包,java版材质包里面有很多翻译的,比如"pl.item.name.baozi":包子这样的json文件,我按你说的弄基岩版材质包加上texts文件夹弄.lang文件,把上面那串改成pl.item.name.baozi=包子为什么行不通,基岩版物品显示是pl.item.name.baozi,而不是包子,我开的是java和基岩版互通的服务器
有快捷翻译这个文件的方法吗?[哔哩_脱单]
页: [1]