我编写了一个 Web 应用程序,其用户界面是荷兰语。我使用系统的日期和时间例程来格式化应用程序中的日期字符串。但是,系统格式的日期字符串是英文的,但我希望它们是荷兰语,所以我需要设置系统的语言环境。我如何在 Debian 上做到这一点?我尝试设置,LC_ALL=nl_NL但似乎没有任何效果:
$ date
Sat Aug 15 14:31:31 UTC 2009
$ LC_ALL=nl_NL date
Sat Aug 15 14:31:36 UTC 2009
Run Code Online (Sandbox Code Playgroud)
我记得在我的 Ubuntu 桌面系统上设置 LC_ALL 工作正常。我是否需要安装额外的软件包才能完成这项工作,还是我这样做完全错误?
通常,我运行aptitude -y install locales然后dpkg-reconfigure locales设置语言环境。
现在我想把它放到一个 shell 脚本中,我怎样才能可靠地自动/非交互地执行以下操作?
en_US.UTF-8并将其设置为系统默认值/etc/default/locale包含LANG=en_US.UTF-8预期的唯一条目如何在 Windows 7 中获取系统区域设置?
我的意思是这样的:cs_CZ.UTF-8
我尝试在命令行中编写“locale”,但这在 Windows 中不起作用。有什么建议?
该%DATE%和%TIME%环境变量提供命令行和批处理文件内的当前日期和时间在Windows机器上。
可悲的是,这些值是本地化的!这意味着,比如说,在德国机器上,你会得到
26.1.2011
Run Code Online (Sandbox Code Playgroud)
代替
2011-26-01
Run Code Online (Sandbox Code Playgroud)
如果你想在文件名中使用这个变量,这会搞砸排序。
有没有什么简单的方法可以YYYY-MM-DD在 Windows 批处理文件中获取语言环境未知的日期字符串?
目前,我正在使用这种相当笨拙的解决方法:
for /f "tokens=1,2,3,4 delims=. " %%i in ('date /t') do set date=%%k-%%j-%%i
echo %date%
Run Code Online (Sandbox Code Playgroud)
但现在这是德语语言环境中具体-显然,一个完全独立的解决办法是多漂亮。
有问题的操作系统是 Server 2008。如果可能的话,我宁愿不使用第三方工具。
我偶尔会遇到语言环境错误,我尝试运行 dpkg-reconfigure locales 来解决这个问题。这是输出:
:~$ sudo dpkg-reconfigure locales
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_CTYPE to default locale: …Run Code Online (Sandbox Code Playgroud) 我刚刚安装了 CentOS 6,每当我通过 SSH 远程登录系统时,都会出现以下错误:
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8)
Run Code Online (Sandbox Code Playgroud)
当我在命令行上输入“locale”时,我得到以下输出:
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)
可能是什么问题?我该如何解决这个问题?
这是输出locale:
LANG=zh_CN.GBK
LC_CTYPE="zh_CN.GBK"
LC_NUMERIC="zh_CN.GBK"
LC_TIME="zh_CN.GBK"
LC_COLLATE="zh_CN.GBK"
LC_MONETARY="zh_CN.GBK"
LC_MESSAGES="zh_CN.GBK"
LC_PAPER="zh_CN.GBK"
LC_NAME="zh_CN.GBK"
LC_ADDRESS="zh_CN.GBK"
LC_TELEPHONE="zh_CN.GBK"
LC_MEASUREMENT="zh_CN.GBK"
LC_IDENTIFICATION="zh_CN.GBK"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)
我怎样才能将它们全部更改为UTF8?如何在 CentOS 5.5 中使区域设置持久化?
我有一台新服务器,但不幸的是,托管商只为我安装了德语版 Ubuntu 8.04。
所以升级工作顺利,但现在我正在尝试将系统更改为英文。
我适应了 /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANG="en_us.UTF-8"
LANGUAGE="de_DE:en_US:de_LU:de_CH:de_BE:de_AT"
Run Code Online (Sandbox Code Playgroud)
在搜索论坛后,我安装update-locale了生成文件的/etc/default/locale
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANG="en_us.UTF-8"
LANGUAGE="de_DE:en_US:de_LU:de_CH:de_BE:de_AT"
Run Code Online (Sandbox Code Playgroud)
(这是我通常从 debian 系统中记住的用于保存语言环境的文件)
然后我做了dpkg-reconfigure locales它配置了所有的语言环境,在注销和重新登录后,几乎所有的东西都是英文的。
几乎
欢迎信息是。这些节目是英文的。但例如 apt 不是:
prag341:~# apt-get upgrade
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Status-Informationen einlesen... Fertig
Die folgenden Pakete werden aktualisiert:
linux-image-generic
1 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 4,346B an Archiven heruntergeladen werden.
Nach dieser Operation werden 0B Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren [J/n]?
Run Code Online (Sandbox Code Playgroud)
这是一件非常糟糕的事情,因为然后默认参数 Y/N 被 …
当我启动 Aws Ec2 Windows 2012 R2 实例时,它总是带有默认的 en-US 语言环境。
但是,我需要将两个现有实例更改为 en-GB,就好像它们一开始就这样安装一样。也就是说,我需要将所有用户的区域设置更改为 en-GB,包括网络服务或本地服务等系统用户。
有没有办法做到这一点?
我曾在 powershell Set-WinSystemLocale en-GB 中尝试过,但即使我没有收到任何错误,即使在重新启动后它也没有任何反应。
感谢您的任何帮助。
我尝试使用 Debian Wheezy 在我的 VDS 上安装 nodejs 和 npm 包。但不是为了编译源代码,而且由于懒惰,我在 Internet 上找到了包含 jessie 源代码并从中安装的说明。
安装没有完成,我什至没有在我的系统中获得 nodejs 和 npm。但是现在我的语言环境设置中有这个问题:
# locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=ru_RU.UTF-8
....
Run Code Online (Sandbox Code Playgroud)
我从源列表中删除了 jessie souce。然后更新和升级系统。当我尝试重新安装语言环境时,我收到此错误,因此 jessie 的一些tailes 仍然存在:
# apt-get install --reinstall locales
Reading package lists... Done
Building dependency tree
Reading state information... Done …Run Code Online (Sandbox Code Playgroud) localization ×10
centos ×2
debian ×2
language ×2
ubuntu ×2
windows ×2
batch ×1
centos5 ×1
centos6 ×1
charset ×1
dependencies ×1
linux ×1
powershell ×1
ubuntu-10.04 ×1
utf-8 ×1