<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.shroudforge.net/index.php?action=history&amp;feed=atom&amp;title=Translate_mod_text%2Fzh</id>
	<title>Translate mod text/zh - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.shroudforge.net/index.php?action=history&amp;feed=atom&amp;title=Translate_mod_text%2Fzh"/>
	<link rel="alternate" type="text/html" href="https://wiki.shroudforge.net/index.php?title=Translate_mod_text/zh&amp;action=history"/>
	<updated>2026-11-07T23:13:48Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://wiki.shroudforge.net/index.php?title=Translate_mod_text/zh&amp;diff=2639&amp;oldid=prev</id>
		<title>Bonsaibauer: Importing a new version from external source</title>
		<link rel="alternate" type="text/html" href="https://wiki.shroudforge.net/index.php?title=Translate_mod_text/zh&amp;diff=2639&amp;oldid=prev"/>
		<updated>2026-11-07T01:35:42Z</updated>

		<summary type="html">&lt;p&gt;Importing a new version from external source&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ShroudForge Modloader Wiki Post&lt;br /&gt;
title: Translate mod text&lt;br /&gt;
description: Translate visible Modloader text and Lua text from the same locale files in the mod folder. Read the Modloader language through shroudforge.locale(), added by PR #42.&lt;br /&gt;
language: en-GB&lt;br /&gt;
picture:ShroudForge-Wiki-modding-locales.svg&lt;br /&gt;
creator: Bonsaibauer&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ShroudForge-Wiki-modding-locales.svg|thumb|left|600px|Translate mod text]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
使用模组文件夹中的同一组语言文件，翻译 Modloader 界面文本和 Lua 文本。通过 PR #42 添加的 &amp;lt;code&amp;gt;shroudforge.locale()&amp;lt;/code&amp;gt; 读取 Modloader 语言。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Locale_files&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 语言文件 ==&lt;br /&gt;
&lt;br /&gt;
为每种语言在 &amp;lt;code&amp;gt;locales/&amp;amp;lt;code&amp;amp;gt;.json&amp;lt;/code&amp;gt; 下添加一个文件。Modloader 语言选择器当前支持的代码为 &amp;lt;code&amp;gt;de&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;de-AT&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;de-CH&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;en-GB&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;en-US&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;es&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;fr&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;hi&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;it&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;ja&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;nl&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;pl&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;sv&amp;lt;/code&amp;gt; 和 &amp;lt;code&amp;gt;zh&amp;lt;/code&amp;gt;。文件名必须与代码完全一致。这些文件与 &amp;lt;code&amp;gt;mod.json&amp;lt;/code&amp;gt; 和 &amp;lt;code&amp;gt;extended.mod.json&amp;lt;/code&amp;gt; 放在一起。&lt;br /&gt;
&lt;br /&gt;
架构已发布为 [https://bonsaibauer.github.io/shroudforge/schemas/mod-locale.schema.json &amp;lt;code&amp;gt;mod-locale.schema.json&amp;lt;/code&amp;gt;]。语言目录可以翻译 &amp;lt;code&amp;gt;mod.name&amp;lt;/code&amp;gt; 和 &amp;lt;code&amp;gt;mod.description&amp;lt;/code&amp;gt;、设置和选项标签、分组、操作、更新日志条目以及 Lua &amp;lt;code&amp;gt;strings&amp;lt;/code&amp;gt;。目录可以只包含部分翻译。没有译文的条目会保留源文本。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;$schema&amp;quot;: &amp;quot;https://bonsaibauer.github.io/shroudforge/schemas/mod-locale.schema.json&amp;quot;,&lt;br /&gt;
  &amp;quot;settings&amp;quot;: {&lt;br /&gt;
    &amp;quot;severity&amp;quot;: {&lt;br /&gt;
      &amp;quot;label&amp;quot;: &amp;quot;Log level&amp;quot;,&lt;br /&gt;
      &amp;quot;options&amp;quot;: { &amp;quot;info&amp;quot;: &amp;quot;Information&amp;quot;, &amp;quot;warn&amp;quot;: &amp;quot;Warning&amp;quot; }&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;groups&amp;quot;: [&lt;br /&gt;
    { &amp;quot;label&amp;quot;: &amp;quot;Logging&amp;quot;, &amp;quot;actions&amp;quot;: { &amp;quot;write&amp;quot;: { &amp;quot;label&amp;quot;: &amp;quot;Write message&amp;quot; } } }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;strings&amp;quot;: { &amp;quot;overlay.ready&amp;quot;: &amp;quot;Ready&amp;quot; }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
设置和选项的键与 &amp;lt;code&amp;gt;extended.mod.json&amp;lt;/code&amp;gt; 中的键保持一致。分组翻译遵循该文件中的分组顺序。操作翻译使用现有的操作 ID。已保存的值不会改变。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Use_the_same_text_in_Lua&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 在 Lua 中使用相同文本 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local locale = shroudforge.locale()&lt;br /&gt;
local ready = shroudforge.i18n.get(&amp;quot;overlay.ready&amp;quot;, locale, &amp;quot;Ready&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;shroudforge.i18n.get(key, locale, fallback)&amp;lt;/code&amp;gt; 使用 Modloader 已加载的同一目录。它会先检查 &amp;lt;code&amp;gt;de-AT&amp;lt;/code&amp;gt; 这样的区域代码，然后检查语言代码 &amp;lt;code&amp;gt;de&amp;lt;/code&amp;gt;。如果缺少字符串，则返回备用文本；如果未提供备用文本，则返回键本身。查询时不会重新读取文件。PR #42 提供语言 API，此功能会将它连接到每个模组的目录。&lt;br /&gt;
&lt;br /&gt;
如果无法读取配置而使 &amp;lt;code&amp;gt;shroudforge.locale()&amp;lt;/code&amp;gt; 返回 &amp;lt;code&amp;gt;en&amp;lt;/code&amp;gt;，目录查询会先检查 &amp;lt;code&amp;gt;en-GB.json&amp;lt;/code&amp;gt;，然后检查 &amp;lt;code&amp;gt;en.json&amp;lt;/code&amp;gt;。&amp;lt;code&amp;gt;en-GB&amp;lt;/code&amp;gt; 是 Modloader 的默认英语。&amp;lt;code&amp;gt;en-US&amp;lt;/code&amp;gt; 仍可作为显式选择的变体使用。&lt;br /&gt;
&lt;br /&gt;
语言文件不需要 runtime 能力。ShroudForge 界面文本仍位于 Modloader 共享翻译中。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:guide:Shroudforge]]&lt;/div&gt;</summary>
		<author><name>Bonsaibauer</name></author>
	</entry>
</feed>