ericyangpan / phabricator_zh_Hans

Phabricator zh-Hans Translation & Tools.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

中文导致arc diff --update DXX 无法执行原有操作

zxj963577494 opened this issue · comments

使用汉化包后,导致arc diff --update DXX无法更新DXX,而会创建一个新的revision,可能汉化后无法与源代码中文本检测相对应

C5F3286C-F31F-4113-8A8C-57F1DED8A217.png

参考1:https://github.com/phacility/arcanist/blob/9e82ef979e8148c43b9b8439025d505b1219e213/src/differential/ArcanistDifferentialCommitMessage.php#L104

参考2:https://discourse.phabricator-community.org/t/arc-diff-keeps-creating-new-revision-on-phabricator/409/4

将 dist/PhabricatorSimplifiedChineseTranslation.php 文件拷贝到 Phabricator 项目的 phabricator/src/extensions 目录中即可。

汉化未涉及 arcanist。只是针对 phabricator 进行的。不知道您是把汉化文件拷贝到哪里了导致 arcanist 也被汉化了?

@arielyang 我如果在phabricator上选择中文,arcanist也会出现中文,比如在arc diff审核单,选择英文的时候这些也会变成英文, 难道arcanist也会拉phabricator的字典?

arcanist 您操作是在本地做的吧,Phabricator 应该是跑在服务端,所以汉化应该在服务端发生的?为什么本地会变成中文?

曾经也遇见过同样的问题。

arcanist 的确是本地客户端, 但是arc diff的提交模版是来自于 服务端的Phabricator

image

请参考 arcanist 的 ArcanistWorkflow, 它是通过 'differential.getcommitmessage' api 获取的模版内容。

所以才会导致这个lz说的这个问题。

曾经也遇见过同样的问题。

arcanist 的确是本地客户端, 但是arc diff的提交模版是来自于 服务端的Phabricator

image

请参考 arcanist 的 ArcanistWorkflow, 它是通过 'differential.getcommitmessage' api 获取的模版内容。

所以才会导致这个lz说的这个问题。

谢谢指出问题。

  1. 最简单的办法:注释掉翻译文件 PhabricatorSimplifiedChineseTranslation.php 中包含 Differential Revision 的这一行。遗留的问题是其他地方的 Differential Revision 就不再被翻译了。
  2. 修改源代码的办法:找到文件 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。