User Tools

Site Tools


zh_cn:tutorial:lang

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
zh_cn:tutorial:lang [2019/12/18 11:06] – created lightcolourzh_cn:tutorial:lang [2021/11/16 11:20] – [名字翻译] solidblock
Line 1: Line 1:
-====== Name translations ====== +====== 名字翻译 ====== 
-Notice how your item has a weird display name, such as //item.tutorial.my_item//? This is because your item's name doesn't have a translation in your game's selected languageTranslations are used to support multiple different languages for a single string.+你有没有注意到,你的物品显示的名称比较奇怪,例如//item.tutorial.my_item//?这是因为您的物品名称没有使用游戏选择的语言进行翻译。翻译用于为单个字符串支持多种不同的语言。 
 +===== 创建一个语言文件 ===== 
 +你可以使用语言文件为游戏内的可翻译字符串提供翻译。你需要创建的文件的名称应当是语言代码,参见[[https://minecraft.fandom.com/zh/语言|此链接]]。英语是en_us,简体中文是zh_cn,台湾繁体中文是zh_tw,香港繁体中文是zh_hk,文言文是lzh。有了语言代码后,在 __resources/assets/模组id/lang/__ 的位置创建JSON文件,例如英文翻译的文件位置是 __resources/assets/tutorial/lang/en_us.json__。 
  
-===== Creating a lang file ===== +===== 添加翻译 ===== 
-You can use lang files to provide translations for translatable strings in-game. You'll need to create a file with an appropriate file name for your language-- to find your languages' code, visit [[https://minecraft.gamepedia.com/Language|this link]]. English is en_us. Once you have your language code, create a JSON file at __resources/assets/modid/lang/__; a full example for an English translation file would be __resources/assets/tutorial/lang/en_us.json__.  +创建语言文件后,您可以使用此基本模板添加翻译
- +<code JavaScript resources/assets/tutorial/lang/zh_cn.json>
-===== Adding a translation ===== +
-After you've created the lang file, you can use this basic template to add translations+
-<code JavaScript resources/assets/tutorial/lang/en_us.json>+
 { {
-  "item.tutorial.my_item": "My Item", +  "item.tutorial.my_item": "我的物品", 
-  "item.tutorial.my_awesome.item": "My Awesome Item",+  "item.tutorial.my_awesome.item": "我的物品真棒",
   [...]   [...]
 } }
 </code> </code>
-where the first string is any translatable string (such as an item name, or TranslatableText). If you're following along in the wiki tutorial, remember to change modid to `tutorial`, or whatever modid you've chosen. +其中第一个字符串是任何可翻译的字符串(例如物品名称或TranslatableText)。如果您按照Wiki教程进行操作,请记住将模组id更改为`tutorial`或你自己的模组的id。 
- +===== 使用自定义可翻译文本 ===== 
-===== Using custom translatable text ===== +每当函数接受 ''Text'' 时,您可以选择提供一个''new LiteralText()'',这意味着 Minecraft 将按原样使用构造函数参数中的字符串。但是,这是不可取的,因为如果这样做,将很难将文本翻译成另一种语言。 这就是为什么每当需要 ''Text'' 对象时,都应给它一个带有翻译键的 ''new TranslatableText()'',然后在语言文件中翻译该键。例如,添加工具提示时,可在物品类的子类执行以下操作:
-Whenever a function accepts ''Text'', you have the option of giving it a ''new LiteralText()''+
-which means minecraft will use the string in the constructor argument as-is. However, this is not advisable because +
-that would make it difficult to translate that text to another language, should you wish to do that. This is why +
-whenever a ''Text'' object is needed, you should give it a ''new TranslatableText()'' with a translation key, +
-and then translate the key in the lang file.  +
-For example, when adding a tooltip, do:+
 <code java> <code java>
 @Override @Override
Line 30: Line 23:
 </code> </code>
  
-And then add in the lang file: +然后在语言文件中添加: 
-<code JavaScript resources/assets/tutorial/lang/en_us.json>+<code JavaScript resources/assets/tutorial/lang/zh_cn.json>
 { {
-  "item.tutorial.fabric_item.tooltip": "My Tooltip"+  "item.tutorial.fabric_item.tooltip": "我的工具提示"
 } }
 </code> </code>
  
-And the tooltip will be displayed as "My Tooltip" !+当游戏语言为简体中文时,该工具的提示将显示为“我的工具提示”!
  
-==== Adding dynamic values to translatable text ==== +==== 向可翻译文本添加动态值 ==== 
-Say you want the text to change based on some variable, like the current day and month.  +假设您希望文本根据某些变量(例如当前日期和月份)进行更改。对于动态的数字,可以在语言项的值中,在你需要数字显示的位置放个 %d,例如
-For a dynamic number, we put a %d where you want the number to show in the lang entry value, for example+<code JavaScript resources/assets/tutorial/lang/zh_cn.json>
-<code JavaScript resources/assets/tutorial/lang/en_us.json>+
 { {
-  "item.tutorial.fabric_item.tooltip": "My Tooltip in day %d, and month %d" +  "item.tutorial.fabric_item.tooltip": "我在第%d天和第%d月的工具提示
 } }
 </code> </code>
-Then we pass the variables we use in our string by the order it appears in the text. First the day, then the month:+然后我们按照在文本中出现的顺序依次传入我们使用的变量。第一个是日期,第二个是月份: 
 <code java> <code java>
 int currentDay = 4; int currentDay = 4;
Line 54: Line 46:
 </code> </code>
  
-And the tooltip will be displayed as "My Tooltip in day 4, and month 7".  +然后该工具提示将会显示为“我在第4天和第7月的工具提示”。如果需要传入字符串,使用 ''%s'' 而非 ''%d''。如果需要直接显示 ''%'',使用 ''%%''。如果需要指定顺序,可以使用如 ''%1$s''、''%2%s'' 这样的语法。更多信息请参见 [[https://dzone.com/articles/java-string-format-examples|Java String.format]]
-In order to pass a string, we use ''%s'' instead of ''%d''. If you want for it to literally show ''%'', use ''%%''.  +
-For more information, see [[https://dzone.com/articles/java-string-format-examples|Java String.format]] (it works the same way).+
  
-==== Adding a new line ==== +==== 添加新行 ==== 
-Making ''\n'' work was far too difficult for Mojang, so in order to have a string with multiple lines you must split the translation key into multiple keys:+由于 Mojang 的充满独特特性的代码,在工具提示中,''\n'' 不会正常工作。因此如果需要多行字符串,需要将翻译键拆分成多个键:
 <code JavaScript resources/assets/tutorial/lang/en_us.json> <code JavaScript resources/assets/tutorial/lang/en_us.json>
 { {
-  "item.tutorial.fabric_item.tooltip_1": "Line of my tooltip"  +  "item.tutorial.fabric_item.tooltip_1": "我的工具提示的第1"  
-  "item.tutorial.fabric_item.tooltip_2": "Line of my tooltip+  "item.tutorial.fabric_item.tooltip_2": "我的工具提示的第2
 } }
 </code> </code>
-Then add the ''TranslatableText'' parts individually:+然后分别加入 ''TranslatableText'' 部分:
 <code java> <code java>
 tooltip.add(new TranslatableText("item.tutorial.fabric_item.tooltip_1")); tooltip.add(new TranslatableText("item.tutorial.fabric_item.tooltip_1"));
 tooltip.add(new TranslatableText("item.tutorial.fabric_item.tooltip_2")); tooltip.add(new TranslatableText("item.tutorial.fabric_item.tooltip_2"));
 </code> </code>
-And the tooltip will be displayed as:+工具提示就会显示为:
 <code> <code>
-Line of my tooltip +我的工具提示的第1 
-Line of my tooltip+我的工具提示的第2
 </code> </code>
  
-====== Translation format ====== +====== 翻译格式 ====== 
-The translation key for objects you have registered is in the form +您注册的对象的翻译键的格式为''<对象类型>.<命名空间>.<路径>''(命名空间和路径就像在 ''Identifier'' 中注册的那样)。
-<code><object-type>.<modid>.<registry-id></code+
  
-Object Type      Format       ^ Example          ^ +对象类型      格式       ^ 例子          ^ 
-Block          <code>block.<modid>.<registry-id></code>     |<code>"block.tutorial.example_block": "Example Block"  </code>       | +方块          ''block.<modid>.<registry-id>''     |''"block.tutorial.example_block": "Example Block"  ''       | 
-Item    |<code> item.<modid>.<registry-id> </code> |<code> "item.tutorial.my_item": "My Item"</code> +物品    |'' item.<modid>.<registry-id> '' |'' "item.tutorial.my_item": "My Item"'' 
-ItemGroup <code> itemGroup.<modid>.<registry-id></code> <code> "itemGroup.tutorial.my_group": "My Group"</code>+物品组 '' itemGroup.<modid>.<registry-id>'' '' "itemGroup.tutorial.my_group": "My Group"''
-Fluid <code> fluid.<modid>.<registry-id> </code> || +流体 '' fluid.<modid>.<registry-id> '' || 
-SoundEvent <code> sound_event.<modid>.<registry-id> </code> || +声音事件 '' sound_event.<modid>.<registry-id> '' || 
-StatusEffect <code> mob_effect.<modid>.<registry-id> </code> || +状态效果 '' mob_effect.<modid>.<registry-id> '' || 
-Enchantment <code> enchantment.<modid>.<registry-id> </code> || +附魔 '' enchantment.<modid>.<registry-id> '' || 
-EntityType <code> entity_type.<modid>.<registry-id> </code> || +实体类型 '' entity_type.<modid>.<registry-id> '' || 
-Potion <code> potion.<modid>.<registry-id> </code> || +药水 '' potion.<modid>.<registry-id> '' || 
-Biome <code> biome.<modid>.<registry-id> </code> ||+生物群系 '' biome.<modid>.<registry-id> '' ||
  
-For types not in this list, see ''net.minecraft.util.registry.Registry.java''.+对于不在此列表中的类型,请参见''net.minecraft.util.registry.Registry.java''
  
  
  
zh_cn/tutorial/lang.txt · Last modified: 2024/02/06 10:25 by rawdiamondmc