标签: locale

无法在 16.04 服务器上永久更改区域设置

我已经设置了一个全新的 Ubuntu 16.04 服务器,但是当我尝试永久更改语言环境设置时,它失败并恢复为 POSIX 语言环境。

键入会locale产生以下结果:

LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)

据我所知,这意味着根本没有设置语言环境,因为文档指出 POSIX 是“后备、ASCII 编码,与 C 相同”。

为了确保语言环境de_AT.utf8en_US.utf8存在我的系统上,我跑了locale -a,这产生了:

C
C.UTF-8
POSIX
de_AT.utf8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
Run Code Online (Sandbox Code Playgroud)

请注意与 的不一致C.UTF-8,但是de_AT.utf8更让我担心的是 POSIX 是第三个条目,而在不同的工作系统上,它是列表的最后一个。

为了将我的语言更改为en_US.utf8,我输入了sudo …

server locale 16.04

9
推荐指数
3
解决办法
3万
查看次数

一种语言的命令行工具,另一种语言的系统

我的母语不是英语,所以我的 Ubuntu 语言是不同的,没关系:) 但是我想要命令行工具(例如 SVN)来用英语而不是我的系统语言打印消息。

你为什么问?这是因为很多教程都是英文的,恕我直言,以这种方式使用命令行更方便。那么,如何将命令行程序设置为英文,将系统设置为另一种语言呢?

command-line locale

8
推荐指数
1
解决办法
885
查看次数

Ubuntu 没有设置 LC_ALL,为什么?

如果你locale在 Ubuntu 安装上运行,你会得到类似的东西:

LANG=en_US.utf8
LANGUAGE=
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)

为什么 LC_ALL 未设置?我知道如何设置它,但是为什么 Ubuntu 没有像其他 LC_ 那样自动设置它?

locale

8
推荐指数
1
解决办法
4411
查看次数

Debian 中 locales-all 的等价物是什么?

在 Debian 上,我可以依赖一个包locales-all来确保所有语言环境都已安装/可用。Ubuntu 中没有这样的包。

过去,belocs-locales-*它似乎也这样做;或者,可以依赖于各种本地化包(如只de+ en+fr对于大多数的西欧,也存在一定的局限性的;有时,软件事实上确实需要所有的标准语言环境)。这些包在坚固和精确之间消失了,AFAICT。

那么,我可以使用什么 Ubuntu 软件包Depends来提供所有语言环境?

编辑:这是一样的locales包,它仅提供以生成语言环境所需的数据文件; 只需locales-all在 Debian 中安装该软件包,就可以立即使用这些语言环境,以及所有这些语言环境。(它包含一个包,在最近的版本中,也节省了很多空间。)这样,用户就没有一个旋钮可以(意外地)禁用必要的语言环境。

package-management debian locale

8
推荐指数
2
解决办法
4349
查看次数

为什么 apache2 默认为 LANG=C 而不是 UTF8 或系统默认

10 年前的评论/etc/apache2/envvars只是说“某些模块使用的语言环境,如 mod_dav”,但为什么不能修复 mod_dav 以便为 apache 的其余部分处理更好的 LANG 设置?

apache2 encoding utf-8 locale

8
推荐指数
0
解决办法
1131
查看次数

为什么通过 ssh 登录时未获取 /etc/default/locale ?

我不是新手,但我已经和这个看似简单的问题斗争了一段时间了。我知道如何使用/etc/environment或其他技巧来解决它,但我希望变量/etc/default/locale能够工作......它们根本没有来源

使用 Ubuntu 14.04.4。目前的内容/etc/default/locale有:

LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_ALL=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

我知道我可以将它们放入/etc/environment/etc/profile等中。触发dpkg-reconfigure locales, locale-gen,locale-update效果为零。我知道他们所有人。

那些应该来源的东西/etc/default/locale却没有来源。我不明白是什么。我也重启了。

这是我 ssh 进入机器的时候。

ssh locale

8
推荐指数
1
解决办法
2443
查看次数

manpath:无法设置区域设置;确保 $LC_* 和 $LANG 正确

当我ssh进入运行 Ubuntu 18.04 的 EC2 实例时,出现以下错误:

manpath: can't set the locale; make sure $LC_* and $LANG are correct
Run Code Online (Sandbox Code Playgroud)

我尝试了这个,但这并没有解决它:

sudo locale-gen "en_US.UTF-8"
sudo dpkg-reconfigure locales
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_TERMINAL_VERSION = "3.3.7",
    LC_CTYPE = "UTF-8",
    LC_TERMINAL = "iTerm2",
    LANG = "C.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back …
Run Code Online (Sandbox Code Playgroud)

locale

8
推荐指数
2
解决办法
2万
查看次数

有没有办法让 Debootstrap 自动配置语言环境?

我喜欢使用 Debootstrap 来制作稀疏系统(通常是嵌入式系统的基础)或半虚拟化 Xen 客户机。

我熟悉如何告诉 Debootstrap 在典型的最小基础之外我想要哪些包,但是我还没有找到正确的工具组合来让我在安装基础系统后指定和自动生成语言环境。

我是否需要在我自己的脚本中执行此操作,或者有没有办法告诉 Debootstrap 我想要什么语言环境并让它生成它们?

debootstrap locale

7
推荐指数
1
解决办法
1269
查看次数

月份名称是用希伯来语写的,而不是在终端用英语写的

当 I 时ls -l,输出将打印在屏幕上,类似于

drwxrwxr-x  3 yotam yotam     4096 ??? 29 10:27 mnt
Run Code Online (Sandbox Code Playgroud)

???部分是希伯来文JUN。我希望它是英文的,也就是说JUN我猜这是一些语言环境配置问题。可悲的是,我只是不了解区域设置,也找不到我喜欢的指南。我的/etc/default/locale档案

LANG="en_US.UTF-8"
LC_NUMERIC="he_IL.UTF-8"
LC_TIME="he_IL.UTF-8"
LC_MONETARY="he_IL.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"
Run Code Online (Sandbox Code Playgroud)

我假设LC_TIME变量是我想要更改的变量,但是,我怀疑这会导致更改整个时间格式,而不仅仅是月份名称。另外,我不知道该怎么做。

有什么想法吗?

command-line locale

7
推荐指数
1
解决办法
2474
查看次数

如何将 LC_TIME 变量设置为 en_DK 同时保持 en_US 为其他变量的系统默认值?

我将系统默认设置为en_US.UTF-8. 但是(在其他荒谬的事情中)这使得星期日(周末)成为日历中一周的第一天。

我想使用LC_TIME变量,en_DK.UTF-8同时保留en_US.UTF-8其他所有变量的变量。

我已经生成了en_US.UTF-8anden_DK.UTF-8并且我曾经能够/etc/default/locale通过添加行来简单地进行编辑LC_TIME="en_DK.UTF-8"

但这不再有效,我不知道为什么。那么我怎样才能让它再次工作呢?

在人们开始告诉我破解en_US.UTF-8文本文件 (at /usr/share/i18n/locales) 之前,这也不起作用,因为更新会定期重置它。我想知道为此配置的“正确”方式是什么。

locale

7
推荐指数
2
解决办法
9392
查看次数