中文导致arc diff --update DXX 无法执行原有操作
zxj963577494 opened this issue · comments
使用汉化包后,导致arc diff --update DXX无法更新DXX,而会创建一个新的revision,可能汉化后无法与源代码中文本检测相对应
将 dist/PhabricatorSimplifiedChineseTranslation.php 文件拷贝到 Phabricator 项目的 phabricator/src/extensions 目录中即可。
汉化未涉及 arcanist。只是针对 phabricator 进行的。不知道您是把汉化文件拷贝到哪里了导致 arcanist 也被汉化了?
@arielyang 我如果在phabricator上选择中文,arcanist也会出现中文,比如在arc diff审核单,选择英文的时候这些也会变成英文, 难道arcanist也会拉phabricator的字典?
arcanist 您操作是在本地做的吧,Phabricator 应该是跑在服务端,所以汉化应该在服务端发生的?为什么本地会变成中文?
曾经也遇见过同样的问题。
arcanist 的确是本地客户端, 但是arc diff的提交模版是来自于 服务端的Phabricator
请参考 arcanist 的 ArcanistWorkflow, 它是通过 'differential.getcommitmessage' api 获取的模版内容。
所以才会导致这个lz说的这个问题。
谢谢指出问题。
- 最简单的办法:注释掉翻译文件
PhabricatorSimplifiedChineseTranslation.php
中包含Differential Revision
的这一行。遗留的问题是其他地方的 Differential Revision 就不再被翻译了。 - 修改源代码的办法:找到文件
phabricator/src/applications/differential/field/DifferentialRevisionIDCommitMessageField.php
,在文件中找到:
public function getFieldName() {
return pht('Differential Revision');
}
修改为:
public function getFieldName() {
return 'Differential Revision';
}
此处的 Differential Revision 不再被翻译,但每次升级的时候需要重新修改。
已经临时去掉了 Differential Revision 的翻译。后续给官方提一个 commit 来 fix 这个 bug。