use*_*686 97 git bash locale localization environment-variables
我想在我的Linux安装中更改git(到英语)的语言,而不更改其他程序的语言,也无法找到设置.怎么做?
Ben*_*ngt 138
将这些行添加到您的~/.bashrc或~/.bash_profile强制git以英语显示所有消息:
# Set Git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'
Run Code Online (Sandbox Code Playgroud)
LC_ALL当设置环境变量时,别名需要在某些系统上覆盖,该变量LC_ALL优先于LANG.有关详细说明,请参阅UNIX规范 - 环境变量.
# Set Git language to English
#alias git='LC_ALL=en_US git'
alias git='LC_ALL=en_GB git'
Run Code Online (Sandbox Code Playgroud)
如果您将这些行添加到~/.bashrc别名,将在新的交互式shell启动时定义.如果您将其添加到~/.bash_profile别名将在登录时应用.
rub*_*o77 15
如果你只想用英语输入一个命令,你可以LC_ALL=C在命令之前编写,例如:
LC_ALL=C git status
Run Code Online (Sandbox Code Playgroud)
会导致
# On branch master
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)
使用的语言环境C是英语,无需安装其他语言包即可随时使用
(请参阅https://askubuntu.com/a/142814/34298)
要为整个当前的bash会话更改它,只需输入即可
LANG=C
Run Code Online (Sandbox Code Playgroud)
要改变它,例如德国输入
LANG=de_DE.UTF-8
Run Code Online (Sandbox Code Playgroud)
Don*_*uck 10
添加此行解决了我的问题:
$ more ~/.bash_profile
export LANG=en_US
Run Code Online (Sandbox Code Playgroud)
注意:从Git 2.3.1+(Q1 / Q2 2015)开始,Git将在可能的情况下添加Accept-Language标头。
见提交f18604b由易EungJun( eungjun-yi)
添加
Accept-Language,其指示用户的首选语言由定义的头$LANGUAGE,$LC_ALL,$LC_MESSAGES和$LANG。这使git服务器有机会以用户首选的语言显示远程错误消息。
您具有git gui或其他GUI的语言环境,而不是命令行,因为这是GitSurvey 2010的问题之一
localization of command-line messages (i18n) 258 3.6%
Run Code Online (Sandbox Code Playgroud)
当然,自2010年以来,如下po/README所述:
在字符串可以翻译之前,首先必须将其标记为要翻译。
Git使用包装系统
gettext库的国际化接口 ,因此适用于gettext文档中的大多数建议(在info gettext终端的GNU系统上)。
自git 1.7.9+起生效(2012年1月):
gettext如果可以进行翻译并且适当地设置了语言环境,则Git 会将其最常见的界面消息翻译成用户的语言。
发行人可以放入新PO文件po/以添加新的翻译。
因此,如果您的更新使翻译混乱,请检查其gettext用途:
例如,请参见“ 语言环境变量 ”。
语言环境由几种语言环境类别组成,请参阅方面。程序查找与语言环境相关的值时,它将根据以下环境变量按优先级顺序执行此操作:
LANGUAGE
LC_ALL
LC_xxx, according to selected locale category: LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES, ...
LANG
Run Code Online (Sandbox Code Playgroud)
设置为值但为空的变量在此查找中将被忽略。
LANG是用于指定语言环境的普通环境变量。作为用户,通常设置此变量(除非系统/etc/profile或其他类似的初始化文件中已设置了其他一些变量)。
LC_CTYPE,LC_NUMERIC,LC_TIME,LC_COLLATE,LC_MONETARY,LC_MESSAGES,等等,都旨在覆盖环境变量LANG,只影响一个语言环境类别。
例如,假设您是西班牙的瑞典用户,并且您希望程序根据西班牙的约定处理数字和日期,则仅消息应使用瑞典语。然后,您可以使用该程序创建一个名为“sv_ES”或“sv_ES.UTF-8” 的语言环境localedef。但是将LANG变量设置为es_ES.UTF-8和将LC_MESSAGES变量设置为sv_SE.UTF-8; 更简单,并且达到相同的效果。这两个语言环境已预先安装在操作系统中。
LC_ALL是覆盖所有这些的环境变量。它通常用于运行特定程序的脚本中。例如,通过GNU生成的配置脚本autoconf使用LC_ALL,以确保配置测试不依赖于语言环境的方式运作。不幸的是,某些系统设置在类似的初始化文件
LC_ALL中/etc/profile或其中。因此,作为用户,如果要设置LANG,则必须取消设置此变量,并且可以选择取消其他一些LC_xxx变量。
| 归档时间: |
|
| 查看次数: |
41906 次 |
| 最近记录: |