MC百科社群

标题: 本地化键的格式是什么 [打印本页]

作者: 付邦坤    时间: 2023-2-3 19:25
标题: 本地化键的格式是什么
如题,在VS Code里试了好几种都提示Expected a JSON object, array or literal

作者: Kasualix    时间: 2023-2-3 19:25
pppopipupu 发表于 2023-2-3 21:50
键名也得是字符串啊,应该是"tile.gct_book_landing.name" = "xxx"而且两个键之间得有逗号,还有整个json ...

1122用的是.lang,不是.json
作者: 付邦坤    时间: 2023-2-3 19:30
本帖最后由 付邦坤 于 2023-2-3 19:51 编辑

其它编辑器都提示
作者: pppopipupu    时间: 2023-2-3 19:35
本地化json zh_cn:
{
  "item.modid.itemName":"屎"
}
本地化json en_us:
{
  "item.modid.itemName":"shit"
}
使用时:new TranslatableComponent("item.modid.itemName")
作者: 付邦坤    时间: 2023-2-3 19:52
本帖最后由 付邦坤 于 2023-2-3 19:55 编辑
pppopipupu 发表于 2023-2-3 19:35
本地化json zh_cn:
{
  "item.modid.itemName":"屎"

其它前缀呢,还有在JSON文件里怎么使用,比如帕秋莉手册的book.json,WIKI上说可以使用本地化键,那怎么使用呢
作者: pppopipupu    时间: 2023-2-3 20:22
付邦坤 发表于 2023-2-3 19:52
其它前缀呢,还有在JSON文件里怎么使用,比如帕秋莉手册的book.json,WIKI上说可以使用本地化键,那怎么使 ...

这就是json格式,你上面的报错就是不遵循json格式造成的,本地化键你想起啥名字都行,只要大家看的懂就行,没有硬性要求,只要你指定了正确的本地化键(但是我推荐我上面的写法,这样mc可以自动匹配本地化键而不用重写方法)
作者: 付邦坤    时间: 2023-2-3 20:38
pppopipupu 发表于 2023-2-3 20:22
这就是json格式,你上面的报错就是不遵循json格式造成的,本地化键你想起啥名字都行,只要大家看的懂就行 ...

我是说怎么在这里使用本地化键
作者: 付邦坤    时间: 2023-2-3 20:51
pppopipupu 发表于 2023-2-3 20:22
这就是json格式,你上面的报错就是不遵循json格式造成的,本地化键你想起啥名字都行,只要大家看的懂就行 ...

我的版本是1.12.2,直接复制Forge1.12.x官方文档都会红
作者: pppopipupu    时间: 2023-2-3 21:05
付邦坤 发表于 2023-2-3 20:51
我的版本是1.12.2,直接复制Forge1.12.x官方文档都会红

你是在哪里使用本地化键?自己写mod?
作者: 付邦坤    时间: 2023-2-3 21:11
本帖最后由 付邦坤 于 2023-2-3 21:13 编辑
pppopipupu 发表于 2023-2-3 21:05
你是在哪里使用本地化键?自己写mod?

都说了,用帕秋莉手册制作教程书,图是WIKI,末尾说了可以用本地化键,但是不知道怎么用
作者: pppopipupu    时间: 2023-2-3 21:15
付邦坤 发表于 2023-2-3 21:11
都说了,用帕秋莉手册制作教程书,图是WIKI,末尾说了可以用本地化键,但是不知道怎么用 ...

他这个说的本地化是你要在外部创建本地化json,然后再使用外部json里的本地化键
作者: 付邦坤    时间: 2023-2-3 21:17
本帖最后由 付邦坤 于 2023-2-3 21:21 编辑
pppopipupu 发表于 2023-2-3 21:15
他这个说的本地化是你要在外部创建本地化json,然后再使用外部json里的本地化键 ...

我一开始就创建的,你告诉我格式之后我才问你怎么让它使用这个本地化键
作者: pppopipupu    时间: 2023-2-3 21:20
付邦坤 发表于 2023-2-3 21:17
我创建了,怎么让它使用这个本地化键

直接把本地化键的键名复制上去,他会根据玩家的语言自动匹配键值
作者: pppopipupu    时间: 2023-2-3 21:21
付邦坤 发表于 2023-2-3 21:17
我创建了,怎么让它使用这个本地化键

还有你在哪里创建的,你创建了几个json,名字都叫什么
作者: 付邦坤    时间: 2023-2-3 21:22
pppopipupu 发表于 2023-2-3 21:20
直接把本地化键的键名复制上去,他会根据玩家的语言自动匹配键值

上面还是下面对的
作者: 付邦坤    时间: 2023-2-3 21:23
pppopipupu 发表于 2023-2-3 21:21
还有你在哪里创建的,你创建了几个json,名字都叫什么

lang里面创建了en_us和zh_cn
作者: 付邦坤    时间: 2023-2-3 21:26
本帖最后由 付邦坤 于 2023-2-3 21:28 编辑
付邦坤 发表于 2023-2-3 21:23
lang里面创建了en_us和zh_cn


作者: Kasualix    时间: 2023-2-3 21:37
付邦坤 发表于 2023-2-3 21:22
上面还是下面对的

VSCode不都给你标红报错了……
肯定是下面对啊
作者: 付邦坤    时间: 2023-2-3 21:39
Kasualix 发表于 2023-2-3 21:37
VSCode不都给你标红报错了……
肯定是下面对啊

下面的会认为是文本,直接显示,而不是键名
作者: pppopipupu    时间: 2023-2-3 21:44
付邦坤 发表于 2023-2-3 21:39
下面的会认为是文本,直接显示,而不是键名

你把你本地化json放出来看看?
作者: 付邦坤    时间: 2023-2-3 21:44
付邦坤 发表于 2023-2-3 21:39
下面的会认为是文本,直接显示,而不是键名

{"translate": "本地化键名"}  #游戏直接崩溃
"本地化键名"  #以为是文本,直接显示
本地化键名  #同上

作者: 付邦坤    时间: 2023-2-3 21:46
pppopipupu 发表于 2023-2-3 21:44
你把你本地化json放出来看看?

tile.gct_book_landing.name=
tile.gct_book_name.name=
作者: pppopipupu    时间: 2023-2-3 21:50
付邦坤 发表于 2023-2-3 21:46
tile.gct_book_landing.name=
tile.gct_book_name.name=

键名也得是字符串啊,应该是"tile.gct_book_landing.name" = "xxx"而且两个键之间得有逗号,还有整个json得用花括号环绕
作者: Kasualix    时间: 2023-2-3 21:52
付邦坤 发表于 2023-2-3 21:46
tile.gct_book_landing.name=
tile.gct_book_name.name=

建议下个火种科技参考相关部分。
另外,你好歹赋值试试啊
作者: 付邦坤    时间: 2023-2-3 21:52
pppopipupu 发表于 2023-2-3 21:50
键名也得是字符串啊,应该是"tile.gct_book_landing.name" = "xxx"而且两个键之间得有逗号,还有整个json ...

也许你得先下载一个1.12.2Forge模组看看
作者: 付邦坤    时间: 2023-2-3 21:53
Kasualix 发表于 2023-2-3 21:52
建议下个火种科技参考相关部分。
另外,你好歹赋值试试啊

赋值过了,我不想发出来,就删了
作者: 付邦坤    时间: 2023-2-3 22:02
Kasualix 发表于 2023-2-3 21:37
VSCode不都给你标红报错了……
肯定是下面对啊

其实上面也能
作者: pppopipupu    时间: 2023-2-3 22:05
付邦坤 发表于 2023-2-3 21:52
也许你得先下载一个1.12.2Forge模组看看

啊这,我想当然成1.18的本地化方式了,对不起




欢迎光临 MC百科社群 (https://bbs.mcmod.cn/) MC百科|最大的MineCraft中文模组百科