Skip to content

Commit

Permalink
Deployed 5ae9dea with MkDocs version: 1.5.3
Browse files Browse the repository at this point in the history
  • Loading branch information
kaluluosi committed Apr 18, 2024
1 parent 2037be1 commit 64d80e8
Show file tree
Hide file tree
Showing 14 changed files with 218 additions and 40 deletions.
2 changes: 1 addition & 1 deletion 404.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
</li>

<li>
<a href="/GDExcelExporter/%E6%8C%87%E5%8D%97/%E5%A4%9A%E8%AF%AD%E8%A8%80%E6%94%AF%E6%8C%81/" class="dropdown-item">多语言支持</a>
<a href="/GDExcelExporter/指南/多语言支持.md" class="dropdown-item">多语言支持</a>
</li>
</ul>
</li>
Expand Down
6 changes: 3 additions & 3 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
</li>

<li>
<a href="%E6%8C%87%E5%8D%97/%E5%A4%9A%E8%AF%AD%E8%A8%80%E6%94%AF%E6%8C%81/" class="dropdown-item">多语言支持</a>
<a href="指南/多语言支持.md" class="dropdown-item">多语言支持</a>
</li>
</ul>
</li>
Expand Down Expand Up @@ -292,6 +292,6 @@ <h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4>
</html>

<!--
MkDocs version : 1.5.2
Build Date UTC : 2023-08-14 05:12:51.063577+00:00
MkDocs version : 1.5.3
Build Date UTC : 2024-04-18 15:57:19.096078+00:00
-->
2 changes: 1 addition & 1 deletion search/search_index.json

Large diffs are not rendered by default.

20 changes: 10 additions & 10 deletions sitemap.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,37 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://kaluluosi.github.io/GDExcelExporter/</loc>
<lastmod>2023-08-14</lastmod>
<lastmod>2024-04-18</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://kaluluosi.github.io/GDExcelExporter/%E5%85%A5%E9%97%A8/</loc>
<lastmod>2023-08-14</lastmod>
<lastmod>2024-04-18</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://kaluluosi.github.io/GDExcelExporter/%E6%8C%87%E5%8D%97/excel%E8%A1%A8%E8%A7%84%E8%8C%83/</loc>
<lastmod>2023-08-14</lastmod>
<loc>https://kaluluosi.github.io/GDExcelExporter/%E6%8C%87%E5%8D%97/POT%E6%9C%AC%E5%9C%B0%E5%8C%96%E5%A4%9A%E8%AF%AD%E8%A8%80%E6%94%AF%E6%8C%81/</loc>
<lastmod>2024-04-18</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://kaluluosi.github.io/GDExcelExporter/%E6%8C%87%E5%8D%97/export.toml/</loc>
<lastmod>2023-08-14</lastmod>
<loc>https://kaluluosi.github.io/GDExcelExporter/%E6%8C%87%E5%8D%97/excel%E8%A1%A8%E8%A7%84%E8%8C%83/</loc>
<lastmod>2024-04-18</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://kaluluosi.github.io/GDExcelExporter/%E6%8C%87%E5%8D%97/%E5%A4%9A%E8%AF%AD%E8%A8%80%E6%94%AF%E6%8C%81/</loc>
<lastmod>2023-08-14</lastmod>
<loc>https://kaluluosi.github.io/GDExcelExporter/%E6%8C%87%E5%8D%97/export.toml/</loc>
<lastmod>2024-04-18</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://kaluluosi.github.io/GDExcelExporter/%E6%8C%87%E5%8D%97/%E5%AF%BC%E5%87%BA%E5%99%A8%E8%AF%B4%E6%98%8E/</loc>
<lastmod>2023-08-14</lastmod>
<lastmod>2024-04-18</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://kaluluosi.github.io/GDExcelExporter/%E6%8C%87%E5%8D%97/%E7%9B%AE%E5%BD%95/</loc>
<lastmod>2023-08-14</lastmod>
<lastmod>2024-04-18</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>
Binary file modified sitemap.xml.gz
Binary file not shown.
8 changes: 6 additions & 2 deletions 入门/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
</li>

<li>
<a href="../%E6%8C%87%E5%8D%97/%E5%A4%9A%E8%AF%AD%E8%A8%80%E6%94%AF%E6%8C%81/" class="dropdown-item">多语言支持</a>
<a href="../指南/多语言支持.md" class="dropdown-item">多语言支持</a>
</li>
</ul>
</li>
Expand Down Expand Up @@ -138,7 +138,7 @@ <h2 id="_2">环境要求</h2>
</ul>
<h2 id="_3">安装</h2>
<p>通过pip (建议)</p>
<pre><code>pip install gd-excelexporter
<pre><code>pip install gd-gd_excelexporter
</code></pre>
<p>或者直接去右边<a href="https://github.com/kaluluosi/GDExcelExporter/releases">release</a>里下载已经打包好的可执行文件(ee.exe,你需要将这个exe加到环境变量)。</p>
<div class="admonition note">
Expand All @@ -162,6 +162,10 @@ <h2 id="_4">创建配置表项目</h2>
</ul>
<h2 id="_5">尝试配置并导出你第一份数据文件</h2>
<p><img alt="图 5" src="../images/d5bfb173724772c097e5dbeb91f430a572b352b34ae7e59a834c9834eadc7b72.gif" /> </p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>当你需要创建新的excel表格的时候可以直接复制<code>sample</code>目录下的示例.xlsx文件,然后修改文件名即可。</p>
</div>
<h2 id="_6">在游戏中读取</h2>
<p>首先你需要将<code>Setting\dist\settings.gd</code>添加到项目<code>autoload</code></p>
<p><img alt="图 6" src="../images/a7948c13156531830c77bffe3ba948fe61216238bb9f87b3bf5c498de62c9d35.png" /><br />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">


<link rel="canonical" href="https://kaluluosi.github.io/GDExcelExporter/%E6%8C%87%E5%8D%97/%E5%A4%9A%E8%AF%AD%E8%A8%80%E6%94%AF%E6%8C%81/">
<link rel="canonical" href="https://kaluluosi.github.io/GDExcelExporter/%E6%8C%87%E5%8D%97/POT%E6%9C%AC%E5%9C%B0%E5%8C%96%E5%A4%9A%E8%AF%AD%E8%A8%80%E6%94%AF%E6%8C%81/">
<link rel="shortcut icon" href="../../img/favicon.ico">
<title>多语言支持 - GDExcelExporter</title>
<title>POT本地化多语言支持 - GDExcelExporter</title>
<link href="../../css/bootstrap.min.css" rel="stylesheet">
<link href="../../css/font-awesome.min.css" rel="stylesheet">
<link href="../../css/base.css" rel="stylesheet">
Expand Down Expand Up @@ -36,7 +36,7 @@
<li class="navitem">
<a href="../../%E5%85%A5%E9%97%A8/" class="nav-link">入门</a>
</li>
<li class="dropdown active">
<li class="dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">指南 <b class="caret"></b></a>
<ul class="dropdown-menu">

Expand All @@ -57,7 +57,7 @@
</li>

<li>
<a href="./" class="dropdown-item active">多语言支持</a>
<a href="../../指南/多语言支持.md" class="dropdown-item">多语言支持</a>
</li>
</ul>
</li>
Expand All @@ -70,17 +70,7 @@
</a>
</li>
<li class="nav-item">
<a rel="prev" href="../export.toml/" class="nav-link">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li class="nav-item">
<a rel="next" class="nav-link disabled">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li class="nav-item">
<a href="https://github.com/kaluluosi/GDExcelExporter/edit/master/docs/指南/多语言支持.md" class="nav-link"><i class="fa fa-github"></i> Edit on GitHub</a>
<a href="https://github.com/kaluluosi/GDExcelExporter/edit/master/docs/指南/POT本地化多语言支持.md" class="nav-link"><i class="fa fa-github"></i> Edit on GitHub</a>
</li>
</ul>
</div>
Expand All @@ -100,16 +90,65 @@
<div id="toc-collapse" class="navbar-collapse collapse card bg-secondary">
<ul class="nav flex-column">

<li class="nav-item" data-level="1"><a href="#_1" class="nav-link">多语言支持</a>
<li class="nav-item" data-level="1"><a href="#pot" class="nav-link">POT本地化多语言支持</a>
<ul class="nav flex-column">
<li class="nav-item" data-level="2"><a href="#_1" class="nav-link">简介</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="2"><a href="#poedit" class="nav-link">Poedit工作流(推荐入门)</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="2"><a href="#weblate" class="nav-link">Weblate工作流</a>
<ul class="nav flex-column">
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div></div>
<div class="col-md-9" role="main">

<h1 id="_1">多语言支持</h1></div>
<h1 id="pot">POT本地化多语言支持</h1>
<h2 id="_1">简介</h2>
<p>要使用<code>gd-excelexporter</code>的多语言你首先要理解Godot的多语言方案。</p>
<p>Godot支持两种本地化多语言方案
- 翻译表(.translation)基于csv键值对的那种传统多语言表 -- <a href="https://docsgodotengine.org/zh-cn/4.x/tutorials/i18n/internationalizing_games.html#">使游戏国际化</a>
- POT文件(.pot)基于gettext的POT文件。 --<a href="https://docs.godotengine.orgzh-cn/4.x/tutorials/i18n/localization_using_gettext.html#advantages">使用gettext进行本地化</a>
前者是先在多语言表录入<code>key</code><code>文本</code>,然后代码中用<code>tr()</code>读取。也就是说是需要先录入,再使用。
后者是相反的,是先在代码中使用,通过<code>babel</code>之类的工具抽取到POT语言表中。</p>
<p>POT比传统多语言表有以下优势:
1. 研发期间不需要先添加翻译key,直接代码中正常开发即可,用<code>tr()</code>将需要翻译的字符串包起来。
2. Godot会自动抽取场景、tres等文件中文本字段到POT。
3. 自动除重,相同的字符串会合并成一条翻译。
4. 差异更新,不用像语言表那样手动管理增删。
5. 翻译工具更先进完备,<code>Poedit</code>编辑器或者<code>Transifex</code>(收费) 和 <code>Weblate</code>(Godot自己的多语言也是用这个,开源可以自己部署)等翻译平台来进行本地化翻译,然后导出<code>.po</code>文件。</p>
<p>Godot内置的POT功能可以将项目所有资源文件,比如场景(.tscn)、资源(.tres)中的一些字段(写死Godot里的)、还有<code>GDScript</code>里用<code>tr()</code>方法包裹的字符串都抽取到一个POT文件中用于本地化翻译。</p>
<p><code>gd-excelexporter</code>是使用第二种方案来将配置表中需要多语言支持的字符串抽取导出成POT文件的。</p>
<p>但是Godot无法抽取<code>excel</code>配置表文件。因此<code>excel</code>配置表中的字符串需要用<code>ee extract</code>命令来导出到<code>lang\template.pot</code>中。</p>
<p><code>ee extract</code>通过参考Godot的实现方式,实现导出<code>excel</code>配置表本地化字段的同时也顺便将Godot游戏项目中所有能够导出本地化的资源都抽到了<code>lang\template.pot</code>文件中。因此你甚至可以不使用Godot的POT功能来导出POT,直接用<code>ee extract</code>即可。</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Godot的POT功能其实还是太繁琐了点,需要手动将所有要翻译抽取的资源、脚本添加到列表里,非常麻烦。
<code>ee extract</code>则比较粗暴,直接遍历了整个游戏项目,将所有能抽的都给你抽到同一个POT文件里,不需要在Godot中操作。</p>
</div>
<h2 id="poedit">Poedit工作流(推荐入门)</h2>
<p><code>Poedit</code>是一个跨平台的翻译工具,支持多种语言。
这是最简单的使用POT文件做多语言的方案。</p>
<p><img alt="alt text" src="../image-2.png" /></p>
<h3 id="_2">安装</h3>
<p><a href="https://poedit.net/download">下载地址</a></p>
<h3 id="po">导出PO文件</h3>
<p>打开项目中的POT文件然后添加不同语言的翻译
<img alt="alt text" src="../image-1.png" /></p>
<p>翻译编辑完+保存成PO文件即可。</p>
<h3 id="po_1">导入PO文件</h3>
<p>将PO文件添加到Godot本地化的翻译分页里面即可
<img alt="alt text" src="../image.png" /></p>
<h2 id="weblate">Weblate工作流</h2>
<p>敬请期待...</p></div>
</div>
</div>

Expand Down
110 changes: 109 additions & 1 deletion 指南/excel表规范/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
</li>

<li>
<a href="../%E5%A4%9A%E8%AF%AD%E8%A8%80%E6%94%AF%E6%8C%81/" class="dropdown-item">多语言支持</a>
<a href="../../指南/多语言支持.md" class="dropdown-item">多语言支持</a>
</li>
</ul>
</li>
Expand Down Expand Up @@ -459,6 +459,114 @@ <h3 id="function">function</h3>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>显式参数函数类型,参数列表是显式定义的,Godot编辑器语法检查的时候可以会约束参数列表。相对于泛用参数列表,显式参数可以更容易约束和看出函数参数。</p>
</div>
<hr />
<div class="admonition info">
<p class="admonition-title">Info</p>
<p>下面是本地化字段类型,这些字段类型的配置值会抽取到POT文件中用于多语言翻译。
POT是Godot支持的多语言翻译文件格式/方案--<a href="https://docs.godotengine.org/zh-cn/4.x/tutorials/i18n/localization_using_gettext.html#advantages">使用gettext进行本地化</a></p>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Godot支持两种本地化多语言方案
- 翻译表(.translation)基于csv键值对的那种传统多语言表 -- <a href="https://docs.godotengine.org/zh-cn/4.x/tutorials/i18n/internationalizing_games.html#">是游戏国际化</a>
- POT文件(.pot)基于gettext的POT文件。 --<a href="https://docs.godotengine.org/zh-cn/4.x/tutorials/i18n/localization_using_gettext.html#advantages">使用gettext进行本地化</a></p>
<p>前者是先在多语言表录入<code>key</code><code>文本</code>,然后代码中用<code>tr()</code>读取。也就是说是需要先录入,再使用。
后者是相反的,是先在代码中使用,通过<code>babel</code>之类的工具抽取到POT语言表中。</p>
<p>POT比传统多语言表有以下优势:
1. 研发期间不需要先添加翻译key,直接代码中正常开发即可,用<code>tr()</code>将需要翻译的字符串包起来。
2. Godot会自动抽取场景、tres等文件中文本字段到POT。
3. 自动除重,相同的字符串会合并成一条翻译。
4. 差异更新,不用像语言表那样手动管理增删。
5. 翻译工具更先进完备,<code>Poedit</code>编辑器或者Transifex 和 Weblate 等翻译平台来进行本地化翻译,然后导出成<code>.po</code>文件。</p>
</div>
<h3 id="tr_string">tr_string</h3>
<p>本地化字符串,例如:</p>
<table>
<thead>
<tr>
<th>id</th>
<th>tr_string</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>tr_string</td>
</tr>
<tr>
<td>1</td>
<td>name</td>
</tr>
</tbody>
</table>
<p>会被导出成:</p>
<pre><code class="language-go">{
'1':{'id':1,'tr_string':&quot;name&quot;}
}
</code></pre>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p><code>tr_string</code><code>string</code>的区别在于<code>tr_string</code>会被抽取到POT文件中用于多语言翻译。</p>
</div>
<h3 id="tr_dict">tr_dict</h3>
<p>本地化字典,例如:</p>
<table>
<thead>
<tr>
<th>id</th>
<th>tr_dict</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>tr_dict</td>
</tr>
<tr>
<td>1</td>
<td>"name":"Tom"|"age":10</td>
</tr>
</tbody>
</table>
<p>会被导出成:</p>
<pre><code class="language-go">{
'1':{'id':1,'tr_dict':{'name':'Tom','age':10}}
}
</code></pre>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p><code>tr_dict</code><code>dict</code>的区别在于<code>tr_dict</code>会被抽取到POT文件中用于多语言翻译。
<strong>只会抽取string类型value。</strong></p>
</div>
<h3 id="tr_array_str">tr_array_str</h3>
<p>本地化数组字符串,例如:</p>
<table>
<thead>
<tr>
<th>id</th>
<th>tr_array_str</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>tr_array_str</td>
</tr>
<tr>
<td>1</td>
<td>"a"|"b"|"c"</td>
</tr>
</tbody>
</table>
<p>会被导出成:</p>
<pre><code class="language-go">{
'1':{'id':1,'tr_array_str':['a','b','c']}
}
</code></pre>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p><code>str_array_str</code><code>array_str</code>的区别在于<code>str_array_str</code>会被抽取到POT文件中用于多语言翻译。</p>
</div></div>
</div>
</div>
Expand Down
Loading

0 comments on commit 64d80e8

Please sign in to comment.