Repository navigation
Expand file tree
/
Copy pathlocalization.html
More file actions
33 lines (33 loc) · 3.37 KB
/
Copy pathlocalization.html
File metadata and controls
33 lines (33 loc) · 3.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="EasySub 翻译与新增语言贡献指南。">
<title>本地化指南 — EasySub</title><link rel="icon" href="images/EasySub-AppIcon.png"><link rel="stylesheet" href="styles.css">
<script>document.documentElement.dataset.theme=localStorage.getItem("easysub-theme")||("matchMedia"in window&&matchMedia("(prefers-color-scheme: light)").matches?"light":"dark")</script>
</head>
<body class="doc-page">
<header class="doc-header"><a class="brand" href="index.html"><img src="images/EasySub-AppIcon.png" alt="" width="36" height="36"><span>EasySub</span></a><nav><a href="providers.html">字幕来源</a><a href="https://github.com/umlearn/EasySub">GitHub</a><button class="doc-theme" type="button">切换主题</button></nav></header>
<main class="doc-main"><h1>本地化指南</h1><p class="doc-lead">EasySub 默认跟随系统应用语言,目前支持简体中文与 English。应用名称 EasySub 在所有语言中保持不变。</p>
<article><h2>修改现有翻译</h2><p>在 Xcode 中打开 <code>Sources/EasySubApp/Localizable.xcstrings</code>,编辑对应语言列;也可以直接编辑这个 JSON 文件。英文为源语言,请不要通过修改 key 来调整译文。</p><ul>
<li>保留 <code>%@</code>、<code>%d</code>、<code>%lld</code> 等格式占位符的类型与数量。</li>
<li>需要调整顺序时使用位置占位符,例如 <code>%1$lld</code>。</li>
<li>新增界面文案使用 SwiftUI 本地化字符串字面量或 <code>LocalizedStringKey</code>;非 View 文案使用 <code>String(localized:)</code>。</li>
<li>文件名、字幕标题、路径和服务返回的原始内容不属于应用翻译。</li>
</ul></article>
<article><h2>增加语言</h2><ol>
<li>在 String Catalog 中添加语言并完成翻译,保留英文作为回退。</li>
<li>在 <code>Sources/EasySubCore/ApplicationLanguage.swift</code> 中增加语言代码。</li>
<li>在 SettingsView 的语言选择器中添加选项,并用该语言自己的写法显示语言名称。</li>
<li>在 <code>Scripts/generate_project.py</code> 的 <code>knownRegions</code> 中加入语言代码。</li>
<li>运行 <code>python3 Scripts/generate_project.py</code>,提交生成的工程变化。</li>
<li>构建并检查主窗口、设置、字幕选择、空状态、错误提示与完成通知。</li>
</ol></article>
<article><h2>验证重点</h2><ul>
<li>验证默认跟随系统、手动选择、重启后保持选择,以及恢复跟随系统。</li>
<li>检查长译文是否截断、占位符是否正确、EasySub 品牌名是否保持不变。</li>
<li>切换语言前应完成下载;当前队列不会跨重启保存。</li>
</ul><p>语言选择通过应用域的 <code>AppleLanguages</code> 保存。恢复跟随系统时只移除应用自己的覆盖,不会修改全局系统语言。</p></article>
</main><footer class="doc-footer"><a href="index.html">返回首页</a><span>© EasySub</span></footer>
<script>document.querySelector(".doc-theme").onclick=()=>{const t=document.documentElement.dataset.theme==="dark"?"light":"dark";document.documentElement.dataset.theme=t;localStorage.setItem("easysub-theme",t)}</script>
</body></html>