Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ITEMS补全 #22

Open
ProjectSky opened this issue Jan 5, 2020 · 41 comments
Open

ITEMS补全 #22

ProjectSky opened this issue Jan 5, 2020 · 41 comments
Labels
改善 新功能或请求
Milestone

Comments

@ProjectSky
Copy link
Collaborator

缺失太多新版本内容,现将其补全(只有KEY部分,需要去除下划线才能得到对应文本)

@ProjectSky ProjectSky added the 改善 新功能或请求 label Jan 5, 2020
@ProjectSky ProjectSky added this to the Build 41 milestone Jan 5, 2020
@Mishasama
Copy link
Owner

Mishasama commented Jan 5, 2020

这些KEY是在哪找的?有对应的英文版本吗?

啊…新年快乐😂

@ProjectSky
Copy link
Collaborator Author

这些KEY是在哪找的?有对应的英文版本吗?

啊…新年快乐

用脚本导出,有空看看能不能把value也拿出来。

@Mishasama
Copy link
Owner

这些KEY是在哪找的?有对应的英文版本吗?
啊…新年快乐

用脚本导出,有空看看能不能把value也拿出来。

看来又是我不会弄的东西……官方没提供的内容我弄不出来,抱歉,拜托了。

@ProjectSky
Copy link
Collaborator Author

ProjectSky commented Jan 24, 2020

  • ITEMS 已全部导出,下一步解决字体问题。
  • 已将其全部转换为 ItemName_%s.txt 中的格式,Items_%s.txt 将弃用。
  • ItemName_CN.txt
  • 导出脚本 将该脚本保存在游戏client目录下,进入游戏按下 HOME 键,文本将自动导出至%USERPROFILE%/Zomboid/Lua/ItemName_%s.txt文件中。
  • 其它语言也可以使用该脚本,比如英文将是 ItemName_EN.txt

注意:不要重复按 HOME,会导致输出的文本重复 已修复

@Mishasama
Copy link
Owner

新春快乐!感谢大佬的新春大红包,不知道脚本能不能对内容按照A-Z进行排序……
如果能再标注一下未翻译部分(如注释掉)就更完美了!

@ProjectSky
Copy link
Collaborator Author

  • 脚本和文本已更新,现在脚本会导出 ItemName_%s.txtItemName_%s_miss.txt 其中 ItemName_%s.txt 包含已翻译的文本 ItemName_%s_miss.txt 包含未翻译的文本。
  • 可能导致其它语言导出的内容异常,因为字符串部分只判断 byte > 127
  • 排序好像没有什么必要?
  • 导出脚本
  • ItemName_CN_miss.txt

@Mishasama
Copy link
Owner

排序和分组对润饰工作比较有帮助,就像官方的EN文本一样,整理起来方便很多,也更易懂。

@ProjectSky
Copy link
Collaborator Author

ProjectSky commented Jan 26, 2020

这下没什么功能要实现了吧?

@Mishasama
Copy link
Owner

Mishasama commented Jan 26, 2020

不……主要是要对ItemName_CN.txt的key进行排序分组……
比如camping、farming这样分开之后再进行对“.”后面的ItemName进行排序。
miss的话按此排序了也不错。

又比如翻译好后是把新行直接贴在最后的位置,然后重新执行一下脚本就能把它分组排序好这样的……就确实轻松愉快了😂

另外希望保留DisplayName输出用于监测官方对物品名的更改,用ItemName有个缺点就是无法及时发现这个事。
所以我是比较倾向继续使用DisplayName而不是ItemName,比如最近“燧石刀”就改名成“石刀”了,如果用ItemName就没法察觉到了,因为key没改。

当然,如果有更好的办法来监测这个的话用ItemName是更理想的。

@ProjectSky
Copy link
Collaborator Author

那游戏的脚本已经不能实现这些功能,或者实现起来过于复杂,可能需要考虑其它工具了。

@Mishasama
Copy link
Owner

是无法按key排序吗?

@ProjectSky
Copy link
Collaborator Author

ProjectSky commented Jan 27, 2020

也不是没有办法排序,只是我感觉搞的太复杂了。

  • 已更新脚本,现在会导出 Items_%s_miss.txt 文件,里面包含未翻译的文本,并且内容按照key的顺序进行排序。
  • DisplayName真的很乱,各种奇怪的格式,同名的物品只能做一种翻译,ItemName里可以做更细致的翻译,就算同名物品类名也不一样,可以区分开来翻译。举例:

DisplayName

  • DisplayName_Medical_Cap = "Medical Cap"
  • Medical_Cap 全部叫做 Medical Cap

ItemName

  • ItemName_Base.Hat_SurgicalCap_Green = "Medical Cap"
  • ItemName_Base.Hat_SurgicalCap_Blue = "Medical Cap"
  • 虽然也都是叫 Medical Cap 但根本不是一个颜色

导出行数对比

  • Items_%s_miss.txt 354
  • ItemName_%s_miss.txt 406
  • 重名了52

@Mishasama
Copy link
Owner

Mishasama commented Jan 27, 2020

麻烦您了真的很抱歉……如果是不方便的话也可以不弄的,只是人工整理比较耗时而已。

至于DisplayName,怎么说呢……不同颜色如果分开翻译就会导致物品列表非常长,而官方采用同名的方式是为了“合并同类项”……个人比较倾向官方的做法,游戏体验会更好。

另外发现了个问题,导出的文件是ANSI编码的,会乱码。
image

@ProjectSky
Copy link
Collaborator Author

ProjectSky commented Jan 28, 2020

内容包含中文导出都会变成GB2312编码,这个无法避免,游戏读写文件函数问题,不仅速度慢,格式也有问题。
用notepad++可以自动识别格式,不会乱码。

@Mishasama
Copy link
Owner

image
但我们提交上去给游戏读取使用的txt翻译文本都是UTF的吧?

如果是这样的话我这边无法使用这个脚本导出的ItemName,只能使用miss部分翻译后追加到现有文件里了。

@ProjectSky
Copy link
Collaborator Author

  • 写了个简单的写入函数替换官方的API解决这个问题,不过需要替换游戏的class文件。
  • Language.zip 放入游戏目录替换即可,对游戏本身没有影响。
  • 脚本也更新了。

@joedai
Copy link

joedai commented Feb 6, 2020

这个问题还需要人手帮忙吗?

@Mishasama
Copy link
Owner

这个问题还需要人手帮忙吗?

image
Items_CN.txt 可以汉化一下缺失的部分……

@joedai
Copy link

joedai commented Feb 7, 2020

@Mishasama 直接从 ItemName_CN_miss.txt下手吗?是的话弄完我直接提Pull Request了

@Mishasama
Copy link
Owner

@Mishasama 直接从 ItemName_CN_miss.txt下手吗?是的话弄完我直接提Pull Request了

Items_CN.txt
你要先下载这个来作为基准……并继续沿用DisplayName,在官方提供ItemName之前所有翻译组都不用它。
目前ItemName仅建议Mod使用。

@Mishasama
Copy link
Owner

@ProjectSky 大佬有空吗?能不能帮忙看一下最新的41.34有部分汉化失效的问题?到底是怎么回事?

@ProjectSky
Copy link
Collaborator Author

@ProjectSky 大佬有空吗?能不能帮忙看一下最新的41.34有部分汉化失效的问题?到底是怎么回事?

哪部分失效了?

@Mishasama
Copy link
Owner

Mishasama commented Apr 12, 2020

@ProjectSky 大佬有空吗?能不能帮忙看一下最新的41.34有部分汉化失效的问题?到底是怎么回事?

哪部分失效了?

Items_CN_miss.txt
以上是由完全汉化的文件后用您的脚本导出的,对应条目应该除41.34新增的之外已经全部汉化完成了。
在游戏里实测41.33没有问题,但是41.34就变成英文了。

@ProjectSky
Copy link
Collaborator Author

ProjectSky commented Apr 12, 2020

以上是由完全汉化的文件后用您的脚本导出的,对应条目应该除41.34新增的之外已经全部汉化完成了。
在游戏里实测41.33没有问题,但是41.34就变成英文了。

测试了一下应该是官方搞错了MOD加载的部分代码,导致MOD内的语言文件不能正常覆写游戏本体的语言文件,解决方法是把语言文件复制进游戏目录里,而不是用MOD去加载。

@Mishasama
Copy link
Owner

以上是由完全汉化的文件后用您的脚本导出的,对应条目应该除41.34新增的之外已经全部汉化完成了。
在游戏里实测41.33没有问题,但是41.34就变成英文了。

测试了一下应该是官方搞错了MOD加载的部分代码,导致MOD内的语言文件不能正常覆写游戏本体的语言文件,解决方法是把语言文件复制进游戏目录里,而不是用MOD去加载。

测试过了,不行。
Items_CN.txt
DisplayName_.308_Magazine = ".308 弹匣",
你试试看这个

@ProjectSky
Copy link
Collaborator Author

你试试看这个

image
把ItemName改名或者删掉,ItemName优先级应该是比Items高。

@Mishasama
Copy link
Owner

你试试看这个

image
把ItemName改名或者删掉,ItemName优先级应该是比Items高。

啊……对,我把这事忘了,我都在git上删了他们居然没有更新。🤮
谢谢大佬,麻烦您了很抱歉😂

@Mishasama
Copy link
Owner

Mishasama commented Apr 12, 2020

Line 1361: DisplayName_Ice_Cream_Server_Apron = "冰淇淋服务员围裙",
这个貌似没法汉化?

话说要怎样才能搞到debug版……

@ProjectSky
Copy link
Collaborator Author

Line 1361: DisplayName_Ice_Cream_Server_Apron = "冰淇淋服务员围裙",
这个貌似没法汉化?

image

话说要怎样才能搞到debug版……

不是debug版,只是我为了方便调试写的一些小功能。

@Mishasama
Copy link
Owner

Line 1361: DisplayName_Ice_Cream_Server_Apron = "冰淇淋服务员围裙",
这个貌似没法汉化?

image

话说要怎样才能搞到debug版……

不是debug版,只是我为了方便调试写的一些小功能。

image

为什么我一直都是这样……已经重装过游戏也没变化。
已经是直接覆盖游戏原文件了。

@ProjectSky
Copy link
Collaborator Author

ProjectSky commented Apr 16, 2020

已经是直接覆盖游戏原文件了。

不能翻译肯定是有其它文件覆盖了。

@Mishasama
Copy link
Owner

Mishasama commented Apr 16, 2020

已经是直接覆盖游戏原文件了。

不能翻译肯定是有其它文件覆盖了。

好奇怪,我真的没有找到,我都搜索过CN目录下的全部语言文件了,没有重复的。
我也没加载任何的mod,直接就是覆盖游戏的语言文件进入游戏看的。

有没有什么办法能看到问题在哪里?

@ProjectSky
Copy link
Collaborator Author

有没有什么办法能看到问题在哪里?

  • 可以尝试从游戏输出的日志中查询Items_CNItemName,根据日志中的路径判断是被什么文件覆盖了。
  • 日志存放放在%USERPROFILE%/Zomboid/console.txt文件中

@Mishasama
Copy link
Owner

有没有什么办法能看到问题在哪里?

  • 可以尝试从游戏输出的日志中查询Items_CNItemName,根据日志中的路径判断是被什么文件覆盖了。
  • 日志存放放在%USERPROFILE%/Zomboid/console.txt文件中

查过了,并没有别的内容……😭

@ProjectSky
Copy link
Collaborator Author

查过了,并没有别的内容……😭

这……连我也搞不懂了。

@Mishasama
Copy link
Owner

查过了,并没有别的内容……😭

这……连我也搞不懂了。

那你拿 #54 的版本来试试看有没有问题,如果正常能用没问题那就当我系统有毛病不管了……

Mishasama added a commit that referenced this issue May 1, 2020
@Mishasama
Copy link
Owner

Mishasama commented May 1, 2020

查过了,并没有别的内容……😭

这……连我也搞不懂了。

已找到问题原因并解决。5725482
但不是很懂为什么EN的会被读取了,不知道是否需要提交issue。

@Mishasama
Copy link
Owner

41.40 貌似导出脚本失效了……大佬能不能修一下,官方的英文文本还是落后😓

@Mishasama Mishasama reopened this Aug 3, 2020
@ProjectSky
Copy link
Collaborator Author

41.40 貌似导出脚本失效了……大佬能不能修一下,官方的英文文本还是落后😓

报错还是什么?

@Mishasama
Copy link
Owner

41.40 貌似导出脚本失效了……大佬能不能修一下,官方的英文文本还是落后😓

报错还是什么?

右下角报错,然后没有任何文件输出。

@ProjectSky
Copy link
Collaborator Author

41.40 貌似导出脚本失效了……大佬能不能修一下,官方的英文文本还是落后😓

报错还是什么?

右下角报错,然后没有任何文件输出。

  • 官方最近对Language.class改动比较频繁,重新找了个很少更新的类文件反编译一下。
  • 导出脚本
  • class文件

Mishasama pushed a commit that referenced this issue Jan 6, 2021
* 官方指摘词汇修改
TheIndieStone#354

* 微波便当改为快捷盒饭
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
改善 新功能或请求
Projects
None yet
Development

No branches or pull requests

3 participants