我最近通过我的mac os x(10.9.5)上的fink将Git更新为2.7.0。默认情况下,构建是国际化的。这可以通过git status
和类似的命令与Git进行交互,但在执行提交时有点烦人,因为它适用于“重命名”,“修改”,“删除”之类的内容,我在编辑提交消息时取消注释的习惯。我不喜欢我的回购在经过数百次英文承诺后会突然发出法语单词。
隐藏libintl.h
文件后,我执行了“fink rebuild git”,结果git
没有国际化。问题是,与此同时,我已经习惯了--date=format:%c
在我的漂亮日志的别名中,这具有在git log
输出中本地化显示日期的效果。
我想:
仍然可以告诉git以符合我的语言环境的方式在git log ...
命令中显示日期,
但同时在预先编辑的提交消息中没有预先翻译过的“已删除”,“已修改”等字样。
是否可以在git repo的本地克隆中修改po/fr.po
?但这会破坏通过fink完成安装的优势(因为我没有关注Git开发,我对在光盘上保留克隆没有太大兴趣)。
答案 0 :(得分:0)
这种自我答案有望被更好,更有规律的答案所取代。
与此同时,由于缺乏更好的方法,我目前正在.bashrc
进行实验:
alias gitfr="LANG=fr_FR.UTF-8 /sw/bin/git"
alias git="LANG=en_US.UTF-8 /sw/bin/git"
gitfr
别名将在以下命令中为我提供服务:
foo$ gitfr log --date=format:%c
commit 22e01a35803f2b70a3e413d2fc9c774baffa01cc
Author: jfbu <...>
Date: Mar 2 fév 10:18:10 2016
OK
注意法国本地化日期。这是使用Git的唯一地方,我热衷于看法语。我在法语翻译中遇到的问题
https://github.com/git/git/blob/master/po/fr.po是他们将它变成预先格式化的提交消息。这很烦人,因为将来某些单词可能会在上游翻译,或者我会想要在我自己的分叉翻译上工作,但像Validation initiale
之类的东西会进入提交历史。如果回购将由其他开发人员(而不是法国人)在以后维护,则会导致问题。
想象一下对称情况,我检查了一个在中国zh_CN
本地化系统上维持了一段时间的回购。例如,一些提交是关于修改或删除的文件,并且在编辑提交消息时,提交者取消注释git准备的行说出来。如果我稍后检查提交历史,并且我遇到中文表意文字,我不会立即知道文件是否被修改,添加或删除。
因此,仍在寻找解决方案:
使用本地化的git进行命令行交互,
但保留所有提交历史记录。