zh_cn:tutorial:lang
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
zh_cn:tutorial:lang [2019/12/18 11:17] – lightcolour | zh_cn:tutorial:lang [2024/08/25 14:38] (current) – solidblock | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | 请注意,您的商品具有奇怪的显示名称,例如// | + | 你有没有注意到,你的物品显示的名称比较奇怪,例如 // |
- | ===== 创建一个lang文件 ===== | + | |
- | 您可以使用lang文件为游戏中的可翻译字符串提供翻译。 | + | ===== 创建一个语言文件 ===== |
+ | 你可以使用语言文件为游戏内的可翻译字符串提供翻译。你需要创建的文件的名称应当是语言代码,参见 | ||
===== 添加翻译 ===== | ===== 添加翻译 ===== | ||
- | 创建lang文件后,您可以使用此基本模板添加翻译: | + | 创建语言文件后,您可以使用此基本模板添加翻译: |
<code JavaScript resources/ | <code JavaScript resources/ | ||
{ | { | ||
Line 13: | Line 14: | ||
} | } | ||
</ | </ | ||
- | 其中第一个字符串是任何可翻译的字符串(例如项目名称或TranslatableText)。 如果您按照Wiki教程进行操作,请记住将modid更改为`tutorial`或您选择的任何modid。 | + | 其中 |
===== 使用自定义可翻译文本 ===== | ===== 使用自定义可翻译文本 ===== | ||
- | 每当函数接受'' | + | 每当函数接受 '' |
- | 这意味着我的世界将按原样使用构造函数参数中的字符串。 但是,这是不可取的,因为 | + | <yarncode |
- | 如果您希望这样做,将很难将文本翻译成另一种语言。 这就是为什么 | + | |
- | 每当需要'' | + | |
- | 然后在lang文件中翻译密钥。 | + | |
- | 例如,添加工具提示时,请执行以下操作: | + | |
- | <code java> | + | |
@Override | @Override | ||
- | public void appendTooltip(ItemStack | + | public void method_9568(ItemStack |
- | tooltip.add(new | + | // 1.18.2 之前 |
+ | tooltip.add(new | ||
+ | |||
+ | // 1.19 之后 | ||
+ | tooltip.add(Text.translatable(" | ||
} | } | ||
- | </code> | + | </yarncode> |
- | 然后添加lang文件: | + | 然后在语言文件中添加: |
<code JavaScript resources/ | <code JavaScript resources/ | ||
{ | { | ||
Line 36: | Line 36: | ||
</ | </ | ||
- | tooltip将显示为“我的工具提示” | + | 当游戏语言为简体中文时,该工具的提示将显示为“我的工具提示”! |
- | ==== 向可翻译文本添加动态值 ==== | + | ===== 向可翻译文本添加动态值 |
- | 假设您希望文本根据某些变量(例如当前日期和月份)进行更改。 | + | 假您希望文本根据某些变量(例如当前日期和月份)进行更改。对于动态的数字,可以在语言项的值中,在你需要数字显示的位置放个 |
- | 对于动态数字,我们在您希望数字显示在lang条目值中的位置放一个%d,例如: | + | |
<code JavaScript resources/ | <code JavaScript resources/ | ||
{ | { | ||
- | " | + | " |
} | } | ||
</ | </ | ||
- | 然后,我们按照字符串在文本中出现的顺序传递在字符串中使用的变量。 | + | 然后我们按照在文本中出现的顺序依次传入我们使用的变量。第一个是日期,第二个是月份: |
- | <code java> | + | <yarncode |
int currentDay = 4; | int currentDay = 4; | ||
int currentMonth = 7; | int currentMonth = 7; | ||
- | tooltip.add(new | + | // 1.18 之前 |
- | </code> | + | tooltip.add(new |
+ | // 1.19 之后 | ||
+ | tooltip.add(Text.translatable(" | ||
+ | </yarncode> | ||
+ | |||
+ | 在译文中,变量的顺序可能变,因此可以使用 '' | ||
- | And the tooltip will be displayed as "My Tooltip in day 4, and month 7". | + | 如果需要直接显示 |
- | In order to pass a string, we use '' | + | |
- | For more information, | + | |
==== 添加新行 ==== | ==== 添加新行 ==== | ||
- | 对于Mojang来说,使'' | + | 换行符 |
- | <code JavaScript resources/ | + | <code JavaScript resources/ |
{ | { | ||
- | " | + | " |
- | " | + | " |
} | } | ||
</ | </ | ||
- | 然后分别添加'' | + | 然后分别加入 '' |
- | <code java> | + | |
- | tooltip.add(new TranslatableText(" | + | |
- | tooltip.add(new TranslatableText(" | + | |
- | </ | + | |
- | And the tooltip will be displayed as: | + | |
- | < | + | |
- | 第一行我的工具提示 | + | |
- | 第二行我的工具提示 | + | |
- | </ | + | |
- | ====== 翻译格式 ====== | + | 1.18.2之前: |
- | 您注册的对象的翻译key的格式为 | + | <yarncode java> |
- | < | + | tooltip.add(new class_2588("item.tutorial.fabric_item.tooltip_1")); |
- | + | tooltip.add(new class_2588(" | |
- | ^ Object Type ^ Format | + | </yarncode> |
- | | Block | < | + | |
- | | Item |< | + | |
- | | ItemGroup | < | + | |
- | | Fluid | < | + | |
- | | SoundEvent | < | + | |
- | | StatusEffect | < | + | |
- | | Enchantment | < | + | |
- | | EntityType | < | + | |
- | | Potion | < | + | |
- | | Biome | < | + | |
- | + | ||
- | For types not in this list, see '' | + | |
+ | 1.19之后: | ||
+ | < | ||
+ | tooltip.add(Text.translatable(" | ||
+ | tooltip.add(Text.translatable(" | ||
+ | </ | ||
+ | 工具提示就会显示为: | ||
+ | < | ||
+ | 我的工具提示的第1行 | ||
+ | 我的工具提示的第2行 | ||
+ | </ | ||
zh_cn/tutorial/lang.1576667858.txt.gz · Last modified: 2019/12/18 11:17 by lightcolour