Difference between revisions of "Funtoo Linux Localization"

From Funtoo
Jump to navigation Jump to search
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Read Your Language ==
== Set Default Language ==
 
A newly installed Funtoo Linux does not able to read all the languages. You want to read the stuff, say, in Mozilla Firefox. You need to install fonts - A good sign that you have not installed the proper fonts is that the following characters appear as boxes with numbers inside: 日本語フォント
 
Check if you have your language installed (Chinese) by using the <tt>fc-list</tt> command from the <tt>media-libs/fontconfig</tt> ebuild:


On Funtoo, there are two configuration files responsible for your language settings: <code>/etc/locale.gen</code> and <code>/etc/env.d/00basic</code>. First file has only en_US.UTF-8 locale enabled. Last one is a default shipped file comes from stage3 and responsible for en_US.UTF-8 locale system-wide. Not recommended to edit.
The following steps will guide you through the process of setting up the default system language, using French Canadian as an example.
First you will need to edit <code>/etc/locale.gen</code>:
<console>
<console>
# ##i##fc-list :lang=zh
# ##i##nano -w /etc/locale.gen
</console>
</console>
Specify your preferred locale with the accompanying character format (you will mostly want UTF-8):
{{fancynote|It is recommended to keep the preconfigured en_US.UTF-8 locale as a fallback.}}
{{file|name=/etc/locale.gen|body=
en_US.UTF-8 UTF-8
fr_CA.UTF-8 UTF-8
}}
To determine an appropriate locale for your system, you should take a look into <code>/usr/share/i18n/SUPPORTED</code> for the default list of supported combinations or check the <code>/usr/share/i18n/locales/</code> directory for a list of valid values.
{{fancywarning|You are strongly advised to use ''at least one'' UTF-8 locale since some applications may require it.}}


A easier way to get the correct font installed is copy this to <tt>/etc/portage/make.conf</tt> (Simplified Chinese)
Now, those locales need to be generated:
 
<console>
<console>
# ##i##LANGUAGE="en_US zh_CN"
# ##i##locale-gen
##g##*##!g## Generating 2 locales (this might take a while) with 1 jobs
*  (1/2) Generating en_US.UTF-8 ... [ ok ]
*  (2/2) Generating fr_CA.UTF-8 ... [ ok ]
##g##*##!g## Generation complete
</console>
</console>


After editing the file, run emerge:
Once done, you can apply your locale settings system-wide. First display all available options:
 
<console>
<console>
# ##i##emerge -avuDN world
$ ##i##eselect locale list
##b####g##Available targets for the LANG variable:
  ##b##[1]##!b##  C
  ##b##[2]##!b##  POSIX
  ##b##[3]##!b##  fr_CA.utf8
  ##b##[4]##!b##  en_US.utf8 ##bl##*
  ##b##[ ]##!b##   (free form)
</console>
</console>
 
The blue star indicates the current default system locale. You can now change it according your wishes:
If you are lucky, the right font will be installed, and your apps will also be able to use Chinese as the default language. But in case you not have the right font installed in this way, you need to install them manually.
 
For Japanese:
 
<console>
<console>
# ##i##emerge media-fonts/kochi-substitute
# ##i##eselect locale set 3
Setting LANG to fr_CA.utf8 ...
Run ". /etc/profile" to update the variable in your shell.
</console>
</console>
 
Alternatively, you can set the default locale manually. This file should be created first with your prefered editor:
For Chinese:
{{file|name=/etc/env.d/02locale|body=LANG="fr_CA.utf8"}}
You can verify your actions using:
<console>
<console>
# ##i##emerge media-fonts/arphicfonts
$ ##i##eselect locale show
##b####g##LANG variable in profile:
  ##b##fr_CA.utf8
</console>
</console>


For Korean:
For an immediate effect it is required to reload the environment:
 
<console>
<console>
# ##i##emerge media-fonts/baekmuk-fonts
# ##i##env-update && source /etc/profile
>>> Regenerating /etc/ld.so.cache...
</console>
</console>
Congratulations! You have successfully set up your default language on Funtoo.


== Set Default Language ==
== Portage Settings ==


Suppose you are able to read your languages and you want to go further to set the default Languages for your apps, such as xfce4.
Portage uses a special variable <code>LINGUAS</code> that defines what localizations/translations get installed by default. By default, <code>LINGUAS</code> in unset, which will result in ''all'' available localizations being installed by Portage.


<tt>/etc/locale.gen</tt> and <tt>/etc/env.d/02locale</tt> are used to support your local language. The following are examples for French Canadian. You can look in '''/usr/share/i18n/SUPPORTED''' for the default list of supported combinations or look in '''/usr/share/i18n/locales''' to determine values to use.
It is possible to customize the setting of <code>LINGUAS</code> by setting it in <code>/etc/make.conf</code>:


<console>
<console>
# ##i##nano -w /etc/locale.gen
# ##i##LINGUAS="en_US zh_CN"
</console>
</console>


Copy this value to your file (French Canadian)
The <code>LINGUAS</code> variable should use spaces between each localization name.
 
== Read Your Language ==


<pre>
A newly installed Funtoo Linux does not able to read all the languages. You want to read the stuff, say, in Mozilla Firefox. You need to install fonts - A good sign that you have not installed the proper fonts is that the following characters appear as boxes with numbers inside: 日本語フォント
fr_CA.UTF-8 UTF-8
</pre>


To set the default language globally:
Check if you have your language installed (Chinese) by using the <tt>fc-list</tt> command from the <tt>media-libs/fontconfig</tt> ebuild:


<console>
<console>
# ##i##nano -w /etc/env.d/02locale
# ##i##fc-list :lang=zh
</console>
</console>


Copy this to your file (French Canadian)
If you are lucky, the right font will be installed, and your apps will also be able to use Chinese as the default language. But in case you not have the right font installed in this way, you need to install them manually.


<pre>
For Japanese:
LANG="fr_CA.UTF-8"
LANGUAGE="fr_CA.UTF-8"
</pre>


After editing the files, generate a localized environment:
<console>
# ##i##emerge media-fonts/kochi-substitute
</console>


For Chinese:
<console>
<console>
# ##i##locale-gen && env-update && source /etc/profile
# ##i##emerge media-fonts/arphicfonts
</console>
</console>


You can also set the default language per user by set the LANG and LANGUAGE environment variable in <tt>~/.profile</tt>, and then logout and login.
For Korean:
 
<console>
# ##i##emerge media-fonts/baekmuk-fonts
</console>


== Keymap ==
== Keymap ==

Revision as of 14:16, October 15, 2014

Set Default Language

On Funtoo, there are two configuration files responsible for your language settings: /etc/locale.gen and /etc/env.d/00basic. First file has only en_US.UTF-8 locale enabled. Last one is a default shipped file comes from stage3 and responsible for en_US.UTF-8 locale system-wide. Not recommended to edit. The following steps will guide you through the process of setting up the default system language, using French Canadian as an example. First you will need to edit /etc/locale.gen:

root # nano -w /etc/locale.gen

Specify your preferred locale with the accompanying character format (you will mostly want UTF-8):

   Note

It is recommended to keep the preconfigured en_US.UTF-8 locale as a fallback.

   /etc/locale.gen
en_US.UTF-8 UTF-8
fr_CA.UTF-8 UTF-8

To determine an appropriate locale for your system, you should take a look into /usr/share/i18n/SUPPORTED for the default list of supported combinations or check the /usr/share/i18n/locales/ directory for a list of valid values.

   Warning

You are strongly advised to use at least one UTF-8 locale since some applications may require it.

Now, those locales need to be generated:

root # locale-gen
 * Generating 2 locales (this might take a while) with 1 jobs
 *  (1/2) Generating en_US.UTF-8 ... [ ok ]
 *  (2/2) Generating fr_CA.UTF-8 ... [ ok ]
 * Generation complete

Once done, you can apply your locale settings system-wide. First display all available options:

user $ eselect locale list
root ##b##Available targets for the LANG variable:
  [1]   C
  [2]   POSIX
  [3]   fr_CA.utf8
  [4]   en_US.utf8 *
  [ ]   (free form)

The blue star indicates the current default system locale. You can now change it according your wishes:

root # eselect locale set 3
Setting LANG to fr_CA.utf8 ...
Run ". /etc/profile" to update the variable in your shell.

Alternatively, you can set the default locale manually. This file should be created first with your prefered editor:

   /etc/env.d/02locale
LANG="fr_CA.utf8"

You can verify your actions using:

user $ eselect locale show
root ##b##LANG variable in profile:
  fr_CA.utf8

For an immediate effect it is required to reload the environment:

root # env-update && source /etc/profile
>>> Regenerating /etc/ld.so.cache...

Congratulations! You have successfully set up your default language on Funtoo.

Portage Settings

Portage uses a special variable LINGUAS that defines what localizations/translations get installed by default. By default, LINGUAS in unset, which will result in all available localizations being installed by Portage.

It is possible to customize the setting of LINGUAS by setting it in /etc/make.conf:

root # LINGUAS="en_US zh_CN"

The LINGUAS variable should use spaces between each localization name.

Read Your Language

A newly installed Funtoo Linux does not able to read all the languages. You want to read the stuff, say, in Mozilla Firefox. You need to install fonts - A good sign that you have not installed the proper fonts is that the following characters appear as boxes with numbers inside: 日本語フォント

Check if you have your language installed (Chinese) by using the fc-list command from the media-libs/fontconfig ebuild:

root # fc-list :lang=zh

If you are lucky, the right font will be installed, and your apps will also be able to use Chinese as the default language. But in case you not have the right font installed in this way, you need to install them manually.

For Japanese:

root # emerge media-fonts/kochi-substitute

For Chinese:

root # emerge media-fonts/arphicfonts

For Korean:

root # emerge media-fonts/baekmuk-fonts

Keymap

Funtoo Linux defaults to a US English keyboard. If you are using another type of keyboard, edit /etc/conf.d/keymaps and set keymap to your keyboard model. For example, cf for French Canadian keyboard, fr for French Azerty.

root # nano -w /etc/conf.d/keymaps

Input Method

ibus is an Intelligent Input Bus for Linux.

root # emerge -av ibus

You also need to install language table for ibus (Chinese)

root # emerge -av ibus-table-chinese