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

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

Open
zxj963577494 opened this issue Oct 23, 2019 · 6 comments
Open

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

zxj963577494 opened this issue Oct 23, 2019 · 6 comments

Comments

@zxj963577494
Copy link

使用汉化包后,导致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

@ericyangpan
Copy link
Owner

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

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

@zxj963577494
Copy link
Author

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

@ericyangpan
Copy link
Owner

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

@ghost
Copy link

ghost commented Nov 23, 2019

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

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

image

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

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

@ericyangpan
Copy link
Owner

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

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 不再被翻译,但每次升级的时候需要重新修改。

@ericyangpan
Copy link
Owner

已经临时去掉了 Differential Revision 的翻译。后续给官方提一个 commit 来 fix 这个 bug。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants