当你发现有游戏内容没有翻译,或者在添加了本脚本后页面出现了奇奇怪怪的问题,请按照如下格式将问题提交至本项目的 Issues 区来方便我们的检查和修复,当然,你也可以直接在 QQ群 中反映问题:
- 错误内容或翻译失效内容(截图,如果可以的话)。请注意,为了方便理解,某些单词会选择性的不予翻译,这些不是翻译失效内容,当出现长段落的英文文本时,才是翻译失效。
- 我觉得应该如何翻译(可选)
- 错误内容链接
如果你想要提交一个 PR 的话,请按照以下流程进行:
- 请确保你本地可以正常运行该项目。
- 请勿修改
src/pages/
之外的代码,除非你清楚自己在做什么。 - 请在翻译完成后通读一遍来确定没有错别字等问题。
- 请解决完所有的冲突(优先使用
rebase
)后再提交 PR。 - 请确保你的 commit message 以如下字段开头:
feat:
新的框架功能fix:
框架问题修复translate:
新内容汉化polish:
润色及错误勘正
提交完成后我们会进行审核并合并你的 PR,并将你的信息加入到本项目的鸣谢列表中😘。
下面是如何参与本项目的介绍:
参与本项目需要一点点的 dom
知识以及 chrome devtool
的使用经验,因为你可能需要深入网站的 HTML 结构中发掘要翻译的内容或节点。
本小节将介绍如何进行翻译工作,请确保你本地已经完成了开发环境的搭建。
步骤一:复制 src/pages/template.ts
文件并命名为你需要翻译的页面名,该页面中包含了一些较为常用的翻译用例。
步骤二:之后,在 src/pages/index.ts
中引入并统一导出你的文件,否则翻译模块将无法发现你新增的翻译内容:
import homePage from './homePage'
+ import overview from './overview'
export default [
homePage,
+ overview,
]
步骤三:打开你刚刚新建的 src/pages/xxx.ts
文件,并修改其中的 hashs
字段,该字段是一个数组,请确保你要翻译的页面的 hash 值(url 中以 #
开头的字符串 )被包含在其中,这样你的翻译内容才可以被正确的匹配到对应的页面上:
const content: PageContent = {
- hashs: [ '' ],
+ // 匹配所有 hash 以 #!/sim 开头的页面
+ hashs: [ '#!/sim' ],
content: [
// ...
]
}
export default content
步骤四:之后就可以按照文件 content
字段中包含的示例进行翻译啦。
- 所有的翻译内容都应存放于
src/pages/
目录下。 - 翻译内容中尽量不要出现诸如
<div>...</div>
之类的结构元素,但是允许出现strong
、em
之类的文本格式化元素。 - 在优先保证翻译兼容性(只要文本不变,页面结构再怎么改变也不会影响翻译)的情况下再考虑提高性能。
selector
应该尽可能的短(减小页面结构对翻译兼容性的影响 & 提高性能)。