在我的语言环境设置方面,我是一个非常挑剔的人,而且没有一个预设区域对我来说足够好。
我希望我的日期为德语(或 ISO)格式,但我希望日期和月份的名称保留为英文。
我想要 24 小时格式、SI 单位、带有明确表示负数的美元货币,等等。具体没有太大关系。我关心的设置都在 International prefpane 的 Format 选项卡下。
我从头开始设置的每台新 Mac,我都必须一点一点地自定义每个小项目。
我想知道的是,如果所有这些东西都在一个合理的 plist 文件中,我可以把它放在我的 Dropbox 上并加载到我拥有帐户的每台 Mac 中。或者,更好的是,如果我实际上可以创建一个新区域,该区域将出现在上述 prefpane 选项卡中的区域下拉列表下。
我想在 Mac OS X 10.4 中使用 vim(通过 MacPorts 安装 7.2,大型 feautre 集,启用 iconv 支持,启用多字节支持)编辑 UTF-8 文档。
Terminal.app 配置为使用 Monaco 字体(具有良好的 Unicode 覆盖)并使用 UTF-8 作为字符集编码。
键盘映射设置正确。我可以输入一些本地化的字符,比如“za?ó??” 甚至引用...(是的,还有一个 elypsis)。
我已尽力设置环境:
LC_ALL=pl_PL.UTF-8
LC_CTYPE=pl_PL.UTF-8
LANG=pl_PL.UTF-8
export LC_ALL
export LC_CTYPE
export LANG
Run Code Online (Sandbox Code Playgroud)
我在 .vimrc 中没有设置编码、文件编码或 termencoding,因此它应该默认为语言环境中设置的内容。
我还错过了什么?我无法在 vim 中输入非 ASCII UTF-8 字符。它被解释为单字节垃圾而不是更宽的 UTF-8 字符。
我有一个 Ubuntu 系统,其当前语言环境是(语言环境命令的输出):
LANG=en_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)
我想把它改成en_GB,因为有些字符在终端显示上没有正确处理。
更改语言环境的命令是什么?
查看当前系统上有哪些不同的语言环境可供我设置/尝试的命令是什么?
最近我不得不更改我的域密码。我这样做了,并且整天使用新密码,使用它登录各种服务。
然后我重新启动了机器,当我可以使用新密码登录到机器时,我不能。经过大量玩耍后,我发现这是因为我的新密码中有"字符(Shift-2在我的键盘上)但是当我按下Shift-2在登录屏幕上我正在获取@字符并且必须使用Shift-'以获取". 当我重新启动后进入登录屏幕时会发生这种情况,但在我登录后机器锁定时不会发生这种情况。第一次登录后,我可以随后使用Shift-登录2。
那么如何确保 Windows 7 登录屏幕使用与我登录时相同的键盘方案?(我认为登录屏幕是 en-us,主窗口是 en-uk)
我尝试使用 Mac OS X 在 R 中安装软件包,但我tar: Failed to set default locale尝试的任何软件包都不断出现错误。经过谷歌搜索后,我发现这是由于意外的区域设置造成的。我将它们设置回en_US.UTF-8其他地方推荐的值,但仍然无法安装软件包。当我locale在终端中运行时,我得到:
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US. UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
但是当我system("locale")在 RI 中运行时得到:
LANG="en_US.UTF-8"
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY=" C"
LC_NUMERIC=" C"
LC_TIME="C"
LC_ALL="C"
我确实记得不久前出于其他目的将一些区域设置设置为“C”,但现在忘记了在哪里。
只是出于好奇,这是什么意思LC_IDENTIFICATION?
我问的原因是,位于“Jerusalem”的时区的 Linux Mint 的全新美式英语安装(我猜 Ubuntu 会是一样的)给我留下了以下混合和匹配语言环境/etc/default/locale:
LANG=en_US.UTF-8 语言= LC_CTYPE="en_US.UTF-8" LC_NUMERIC=he_IL.UTF-8 LC_TIME=he_IL.UTF-8 LC_COLLATE="en_US.UTF-8" LC_MONETARY=he_IL.UTF-8 LC_MESSAGES="en_US.UTF-8" LC_PAPER=he_IL.UTF-8 LC_NAME=he_IL.UTF-8 LC_ADDRESS=he_IL.UTF-8 LC_TELEPHONE=he_IL.UTF-8 LC_MEASUREMENT=he_IL.UTF-8 LC_IDENTIFICATION=he_IL.UTF-8 LC_ALL=
当我努力根据自己的喜好修复它时,我想知道我是否也应该更新LC_IDENTIFICATION.
该man换页locale(1)说:“有关的元数据区域设置信息”,但它并没有告诉我到底是什么改变这将是的效果。你能想到使用这个变量的任何应用程序或 API 吗?
我需要设置一个系统以使用“英语国际”键盘布局。我看到十几个我们和英国的布局使用
localectl 列表键映射 | grep -i 英国/美国
您知道其中之一是否被认为是国际的吗?
谢谢
在 Debian 8 之前,我可以这样配置键盘:
setxkbmap -model pc105 -layout us -variant alt-intl
如何在 Debian Stretch 中达到同样的效果?发生了什么变化?
我确实记得,在某些 Debian 版本中,每次X启动后我都必须执行该命令,但对我来说仍然可以。
由于我安装了 Debian Stretch,该命令将不再起作用。是的,它确实认为它正在工作:
setxkbmap -query
rules: evdev
model: pc105
layout: us
variant: alt-intl
options: terminate:ctrl_alt_bksp
但它不是。
我最终设法让它与:
ibus-setup #interactive
sudo ibus-daemon --xim &
但是,除了互动之外,这件事是随机的。有时键盘只是回到它认为应该应用的疯狂默认布局(甚至在工作编码面试中!)。我使用英语:
echo $LANG
en_US.UTF-8
我选择了荷兰时区和带有死键的国际布局;就这样。我从未尝试过设置与语言环境相关的任何内容,这些内容不是标准的 US-ish-ENG-ish 事物。
我希望它被改变的原因对很多人来说非常有用,因为,很难理解为什么配置这样一个基本的东西几十年来必须变得如此复杂。
我已经尝试过但没有效果的事情,即使在重新启动后:
1)
sudo dpkg-reconfigure keyboard-configuration
2)
setupcon
3)
sudo setupcon
4)
udevadm trigger --subsystem-match=input --action=change
5)
sudo apt-get install -y console-data console-setup console-locales keyboard-configuration
6)
sudo …
我的计算机系统(Windows 10)上有很多英语语言环境。大多数看起来像这样,并且有意义:
en_CA
en_DE
en_GB
en_IL
en_PK
en_US
...
Run Code Online (Sandbox Code Playgroud)
但有三个特殊的,似乎不对应于一个明确的物理区域:
en_001
en_150
en_US_POSIX
Run Code Online (Sandbox Code Playgroud)
通过进行一些挖掘,我为它们提取了以下“显示名称”(按顺序):
World
Europe
United States
Run Code Online (Sandbox Code Playgroud)
好的,那么“001”表示“世界”,“150”表示“欧洲”,“US_POSIX”表示“美国”,就像“en_US”一样?
重复的“en_US”语言环境有什么意义,“世界”和“欧洲”是什么?
应该指出的是,数字的格式似乎与美国版本中“世界”和“欧洲”的格式相同,这是出乎意料的。我以为他们会使用空格来表示数千个分隔符,因为我认为这被认为是“国际”标准,但他们使用逗号,就像在美国/英国一样:
123,456,789
Run Code Online (Sandbox Code Playgroud) 我们知道有一个应用叫做AppLocale,它可以改变非Unicode应用的代码页,解决文本显示问题。
但是有一个程序的正确显示代码页是 UTF-8,这意味着它的文本应该显示为 UTF-8,但 Windows 将其显示为本机代码页并使文本不可读。看起来好笑,因为几乎所有的国家和地区都有,但是没有UTF-8。我认为这是一个错误,因为程序员可能会使用英文而忽略测试非英文文本显示问题。我不认为制片人会修复它,我想自己修复它。
是否可以使用 AppLocale 等软件将非 Unicode 输出设置为 UTF-8?默认的非 Unicode 输出是本机代码页?如何将本机代码页设置为 UTF-8?
locale ×10
mac ×2
arch-linux ×1
code-page ×1
debian ×1
formatting ×1
keyboard ×1
linux ×1
linux-mint ×1
login ×1
macos ×1
posix ×1
r ×1
terminal.app ×1
ubuntu ×1
ubuntu-10.04 ×1
utf-8 ×1
vim ×1
windows ×1
windows-10 ×1
windows-7 ×1
xorg ×1