ubuntu Change Language
慎用
所謂的語系(locale),其實包含語言及地區的設定,因為除了語言之外,國家與國家的日期表示方式、數字格式、貨幣符號、度量單位可能都不一樣,所以才會有了這個locale的發明,依照國家和語言給予分類編號,再加上語言編碼,就構成了locale。
例如
zh_TW 表示 繁體中文 台灣
zh_CN 表示 簡體中文 中國
en_US 表示 英文 美國
然後再加上語言編碼
zh_TW.UTF-8 表示 繁體中文 台灣 UTF-8編碼
zh_TW.Big5 表示 繁體中文 台灣 Big5編碼
zh_CN.UTF-8 表示 簡體中文 中國 UTF-8編碼
zh_CN.GB2312 表示 簡體中文 中國 GB2312編碼
en_US.UTF-8 代表 英文 美國 UTF-8編碼
…
等等還有好多好多,Ubuntu所有支援的語系和編碼,可以看這個檔案:
/usr/share/i18n/SUPPORTED
設定語系
列出已安裝的語系
首先要先看看我們自己的系統上安裝了哪些語系:
$ locale -a
C
POSIX
C和POSIX是系統預設的,看來這台機器三比八,什麼都沒有裝…(囧)
列出目前的語系設定
再來看看我們現在的語系設定是怎樣:
$ locale
LANG=
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=
果然,全部也是預設的POSIX…(囧)
那這裡面一堆LC_xxx的就是我們上面所說的,關於日期、度量單位、貨幣符號等等各種的設定,其實它就是我們系統的環境變數,可以用 export 指令來看
挑幾個重點來講:
LC_CTYPE 這會影響字元的分類和轉換,若要能輸入中文,就是設定這裡
LC_TIME 這就是日期和時間的顯示格式囉
LC_MONETARY 這會影響貨幣單位的符號和表示
LC_MESSAGES 這會影響系統訊息的顯示,若想要顯示中文,就是設定這裡
LANG 這是預設,如果上面有沒設定的,就會用這裡的設定
LC_ALL 這是強制全部使用這裡的設定,如果這裡設定了,那麼上面的都沒用,全部以這裡的為準
基本上我們會全部都用同一個國家語系,但不表示全部就要設相同的,你可以日期設成中國、度量設成台灣、貨幣設成美國都OK,隨你高興,只是…沒有人會這樣做吧= =”
產生語系檔案
要設定語系,必須先有語系檔案,我們可以用locale-gen這個指令來產生
$ sudo locale-gen zh_TW zh_TW.UTF-8 zh_CN.UTF-8 en_US.UTF-8
Generating locales...
en_US.UTF-8... done
zh_CN.UTF-8... done
zh_TW.BIG5... done
zh_TW.UTF-8... done
Generation complete.
這樣就產生了4種語系檔案,由於Big5是zh_TW的預設編碼,所以下指令時不需要寫成zh_TW.Big5
檔案就放在 /usr/lib/locale 目錄下,會產生與語系同名的目錄:
$ ls -l /usr/lib/locale
drwxr-xr-x 3 root root 4096 2011-10-15 17:27 en_US.utf8
drwxr-xr-x 3 root root 4096 2011-10-15 17:27 zh_CN.utf8
drwxr-xr-x 3 root root 4096 2011-10-15 17:18 zh_TW
drwxr-xr-x 3 root root 4096 2011-10-15 17:18 zh_TW.utf8
另外我們也可以在 /var/lib/locales/supported.d/ 底下建一個 local 檔,裡面寫上妳要產生的語系,格式與我們上面提到的 /usr/share/i18n/SUPPORTED 這個檔案裡面列出的相同,例如:
$ sudo vim /var/lib/locales/supported.d/local
zh_TW.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
en_US.UTF-8 UTF-8
zh_TW BIG5
一行一個語系,有了這個檔案,以後只要下 locale-gen 指令,不指定語系,它會自己去找這裡面寫的語系去產生檔案
$ sudo locale-gen
Generating locales...
en_US.UTF-8... up-to-date
zh_CN.UTF-8... up-to-date
zh_TW.BIG5... up-to-date
zh_TW.UTF-8... up-to-date
Generation complete.
更改語系設定
若只是要暫時更改語系設定,直接下 export 指令更改環境變數即可
先看一下日期格式:
$ date
Sat Oct 15 17:44:37 CST 2011
然後設定,再看一下日期:
$ export LC_TIME=zh_TW.UTF-8
$ date
六 10月 15 17:50:58 CST 2011
唷~ 變中文了耶,喔耶~~ 不過這種格式其實我不是很喜歡,所以下面我要把它改回英文…
若只要變更自己帳號登入的語系設定,那麼編輯家目錄下的.bashrc檔,在最後面加上,例如:
$ vim ~/.bashrc
...(略)...
export LC_CTYPE=zh_TW.UTF-8 # 可以輸入UTF-8中文
export LC_MESSAGES=zh_TW.UTF-8 # 可以顯示UTF-8中文
export LC_TIME=en_US.UTF-8 # 日期格式還是用美式的
然後重新登入,噹噹~~就生效了
若要變更的是系統全域設定,那麼就把設定寫在 /etc/default/locale 這個檔案裡
$ sudo vim /etc/default/locale
LC_CTYPE=zh_TW.UTF-8
LC_MESSAGES=zh_TW.UTF-8
LC_TIME=zh_TW.UTF-8
或者加到環境變數的設定檔 /etc/environment 最後面
$ sudo vim /etc/environment
....(略)...
LC_CTYPE=zh_TW.UTF-8
LC_MESSAGES=zh_TW.UTF-8
LC_TIME=en_US.UTF-8
相關檔案目錄
/usr/share/i18n/SUPPORTED
/usr/lib/locale/
/var/lib/locales/supported.d/local
~/.bashrc
/etc/default/locale
/etc/environment
相關指令
local
local-gen
參考
locale man page
Ubuntu Documentation
[Ubuntu]初建置的中文環境
[拋磚] locale 設定相關說明
Ubuntu Locale配置问题根源解决之道
ubuntu Change Language的更多相关文章
- [Ubuntu] change mouse scrolling between standard and natural
Standard: sudo vi .Xmodmap insert the content as below pointer = Natural: sudo vi .Xmodmap insert th ...
- 如何在Ubuntu上创建及管理LXC容器?
将LXC安装到Ubuntu上 $ sudo apt-get install lxc 安装完毕之后,运行lxc-checkconifg工具,检查当前Linux内核支持LXC的情况.要是一切都已被启用,内 ...
- Ubuntu中一次更改用户名带来的连锁反应
我是一个ubuntu新手,接触ubuntu半年不到,装系统的时候输入了一个用户名,但是最近突然想更名了,这是悲剧的开始! google:ubuntu change username等相关的关键字,最终 ...
- Linux & change username & computer name & .bashrc
Linux & change username & computer name ubuntu change username and computer name https://ask ...
- Visual Studio Code预览版Ver 0.3.0试用体验
当你开始阅读这篇文章时,请先不要把Visual Studio Code和.net.Windows联想到一起,因为VS Code是一个跨平台,支持30多种语言的开箱代码编辑器.不管你是.Net.Java ...
- 使用密码记录工具keepass来保存密码
在第一章,曾经给过您建议,密码不要保存在文档中,那样不安全,如果密码很多而且又很复杂,人的大脑是不可能很容易记住的,只能记录下来,如果不能记在文档中那记在哪里呢?下面介绍给您一款记录密码的软件,使用. ...
- FastReport4.6 组件安装
要完整版不是官方版的试用版.下面包括有的文件 安装前请册除原有的FR控件. 1. "Tools|Environmet options..."中的"Library" ...
- 百度云+ KeePass 网络同步你的密码
百度云+ KeePass 网络同步你的密码 百度云一个目前不限流量不限格式能直链的网盘,速度在我这里很快,难得了!KeePass(小众介绍过 KeePass.) 是一个免费开源的密码管理类软件, ...
- 微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器
微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器 在 Build 2015 大会上,微软除了发布了 Microsoft Edge 浏览器和新的 Windows 10 预览 ...
随机推荐
- (三)Mybatis总结之动态sql
动态sql 为何需要动态sql?因为简单的sql语句已经不能满足复杂的业务需求 动态sql相当于sql语句拼接 1.if语句 if语句:判断,如果执行多条件查询,如果中间某个条件变量为空,就跳过当前判 ...
- 创建对象——单例(Singleton)模式
单例(Singleton)模式: 保证一个类在系统里只能有一个对象被实例化. 如:缓存池.数据库连接池.线程池.一些应用服务实例等. 难点:在多线程环境中,保证实例的唯一性. ...
- .Net实战之反射操作篇
1.上一讲中描述了反射中常见的类,仅仅是描述类与反射之间的关系. 但是实际是对数据的操作, 在反射中,数据如何操作? [MyTable("T_UserInfo")] publ ...
- Pro ASP.NET Core MVC 6th 第三章
第三章 MVC 模式,项目和约定 在深入了解ASP.NET Core MVC的细节之前,我想确保您熟悉MVC设计模式背后的思路以及将其转换为ASP.NET Core MVC项目的方式. 您可能已经了解 ...
- Pro ASP.NET Core MVC 第6版翻译 目录页
Pro ASP.NET Core MVC 第6版 目录 第一部分 第一章 ASP.NET Core MVC 的前世今生 第二章 第一个MVC应用程序(上) 第二章 第一个MVC应用程序(下) 第三章 ...
- 学习一波redis
作为一名合格的java程序员,做web开发的,除了java,mysql,免不了用到内存数据库redis. 身为一名菜鸟,是时候来一波redis从入门到放弃了,哦不,从入门到精通.. 一.安装部署red ...
- iOS UI布局总结
布局就是尺寸和位置的设置. 一.基本布局: 1)绝对布局:frame.layoutsubviews. 二.相对布局: autoresizing.autolayout.基于父视图.基于约束. 三.线性布 ...
- 并发编程学习笔记(4)----jdk5中提供的原子类及Lock使用及原理
(1)jdk中原子类的使用: jdk5中提供了很多原子类,它会使变量的操作变成原子性的. 原子性:原子性指的是一个操作是不可中断的,即使是在多个线程一起操作的情况下,一个操作一旦开始,就不会被其他线程 ...
- 03Struts2基本使用流程
Struts2基本使用流程 1.新建web工程 2.引入struts2类库 3.创建并配置Struts2的核心控制器web.xml用来拦截客户端请求并将请求转发到相应的Action类中来处理 4.创建 ...
- vue+webpack+npm搭建的纯前端项目
转载来源:https://www.cnblogs.com/shenyf/p/8341641.html 搭建node环境 下载 1.进入node.js官方网站下载页,点击下图中框出位置,进行下载即可,当 ...