The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Difference between revisions of "Funtoo Linux Localization"
(→Portage Settings: add recommendation to re-emerge after changing LINGUAS (copied from the Gentoo wiki)) |
|||
(12 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
== Set Default Language == | <languages/> | ||
<translate> | |||
=== Set Default Language === <!--T:1--> | |||
On Funtoo, there are two configuration files responsible for your language settings: | <!--T:2--> | ||
On Funtoo, there are two configuration files responsible for your language settings: {{f|/etc/locale.gen}} and {{f|/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. | 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 | First you will need to edit {{f|/etc/locale.gen}}: | ||
{{console|body=# ##i##nano -w /etc/locale.gen}} | |||
# ##i##nano -w /etc/locale.gen | |||
Specify your preferred locale with the accompanying character format (you will mostly want UTF-8): | 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.}} | ||
{{file|name=/etc/locale.gen|body= | {{file|name=/etc/locale.gen|body= | ||
en_US.UTF-8 UTF-8 | en_US.UTF-8 UTF-8 | ||
fr_CA.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 | 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 {{f|/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.}} | ||
<!--T:3--> | |||
Now, those locales need to be generated: | Now, those locales need to be generated: | ||
{{console|body= | |||
# ##i##locale-gen | # ##i##locale-gen | ||
##g##*##!g## Generating 2 locales (this might take a while) with 1 jobs | ##g##*##!g## Generating 2 locales (this might take a while) with 1 jobs | ||
Line 23: | Line 25: | ||
* (2/2) Generating fr_CA.UTF-8 ... [ ok ] | * (2/2) Generating fr_CA.UTF-8 ... [ ok ] | ||
##g##*##!g## Generation complete | ##g##*##!g## Generation complete | ||
}} | |||
<!--T:4--> | |||
Once done, you can apply your locale settings system-wide. First display all available options: | Once done, you can apply your locale settings system-wide. First display all available options: | ||
{{console|body= | |||
# ##i##eselect locale list | |||
##b####g##Available targets for the LANG variable: | \##b####g##Available targets for the LANG variable: | ||
##b##[1]##!b## C | ##b##[1]##!b## C | ||
##b##[2]##!b## POSIX | ##b##[2]##!b## POSIX | ||
Line 34: | Line 37: | ||
##b##[4]##!b## en_US.utf8 ##bl##* | ##b##[4]##!b## en_US.utf8 ##bl##* | ||
##b##[ ]##!b## (free form) | ##b##[ ]##!b## (free form) | ||
}} | |||
The blue star indicates the current default system locale. You can now change it according your wishes: | The blue star indicates the current default system locale. You can now change it according your wishes: | ||
{{console|body= | |||
# ##i##eselect locale set 3 | # ##i##eselect locale set 3 | ||
Setting LANG to fr_CA.utf8 ... | Setting LANG to fr_CA.utf8 ... | ||
Run ". /etc/profile" to update the variable in your shell. | 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: | Alternatively, you can set the default locale manually. This file should be created first with your prefered editor: | ||
{{file|name=/etc/env.d/02locale|body=LANG="fr_CA.utf8"}} | {{file|name=/etc/env.d/02locale|body=LANG="fr_CA.utf8"}} | ||
You can verify your actions using: | You can verify your actions using: | ||
{{console|body= | |||
# ##i##eselect locale show | |||
##b####g##LANG variable in profile: | \##b####g##LANG variable in profile: | ||
##b##fr_CA.utf8 | ##b##fr_CA.utf8 | ||
}} | |||
<!--T:5--> | |||
For an immediate effect it is required to reload the environment: | For an immediate effect it is required to reload the environment: | ||
{{console|body= | |||
# ##i##env-update && source /etc/profile | # ##i##env-update && source /etc/profile | ||
>>> Regenerating /etc/ld.so.cache... | >>> Regenerating /etc/ld.so.cache... | ||
}} | |||
Congratulations! You have successfully set up your default language on Funtoo. | Congratulations! You have successfully set up your default language on Funtoo. | ||
== Portage Settings == | === Portage Settings === <!--T:6--> | ||
<!--T:7--> | |||
Portage uses a special variable {{c|L10N}} that defines what localizations/translations get installed by default. By default, {{c|L10N}} is unset, which only builds the packages' default language. | |||
<!--T:8--> | |||
It is possible to customize the setting of {{c|L10N}} by setting it in {{f|/etc/portage/make.conf}}: | |||
<!--T:9--> | |||
{{file|lang=bash|name=/etc/portage/make.conf|body= | |||
# Install English (United States) and Chinese (China) translations (if available) | |||
L10N="en-US zh-CN" | |||
}} | |||
< | <!--T:10--> | ||
The {{c|LI10N}} variable should use spaces between each localization name. A list of all supported languages can be found in {{f|/usr/portage/profiles/desc/l10n.desc}}. | |||
<!--T:11--> | |||
Some old packages still use the deprecated {{c|LINGUAS}} variable. You can set it in {{f|/etc/portage/make.conf}}: | |||
<!--T:12--> | |||
{{file|lang=bash|name=/etc/portage/make.conf|body=LINGUAS="en_US zh_CN"}} | |||
< | <!--T:13--> | ||
It uses the same syntax, but uses other language codes which can be found in {{f|/usr/portage/profiles/desc/linguas.desc}}. | |||
<!--T:14--> | |||
After setting the {{c|L10N}} and {{c|LINGUAS}} USE flags you may need to re-emerge some packages: | |||
<!--T:15--> | |||
{{console|body=###i## emerge --ask --newuse --deep --with-bdeps=y @world}} | |||
=== Read Your Language === <!--T:16--> | |||
<!--T:17--> | |||
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: 日本語フォント | 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 | <!--T:18--> | ||
Check if you have your language installed (Chinese) by using the {{c|fc-list}} command from the {{c|media-libs/fontconfig}} ebuild: | |||
<console | <!--T:19--> | ||
{{console|body= | |||
# ##i##fc-list :lang=zh | # ##i##fc-list :lang=zh | ||
}} | |||
<!--T:20--> | |||
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. | 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. | ||
<!--T:21--> | |||
For Japanese: | For Japanese: | ||
<console | <!--T:22--> | ||
{{console|body= | |||
# ##i##emerge media-fonts/kochi-substitute | # ##i##emerge media-fonts/kochi-substitute | ||
}} | |||
<!--T:23--> | |||
For Chinese: | For Chinese: | ||
{{console|body= | |||
# ##i##emerge media-fonts/arphicfonts | # ##i##emerge media-fonts/arphicfonts | ||
}} | |||
<!--T:24--> | |||
For Korean: | For Korean: | ||
<console | <!--T:25--> | ||
{{console|body= | |||
# ##i##emerge media-fonts/baekmuk-fonts | # ##i##emerge media-fonts/baekmuk-fonts | ||
}} | |||
= | <!--T:26--> | ||
A very good alternative could be a Noto Fonts by Google, claimed to be a fonts with widest language support: | |||
{{console|body= | |||
# ##i##emerge media-fonts/noto | |||
}} | |||
=== Keymap === <!--T:27--> | |||
<console | <!--T:28--> | ||
Funtoo Linux defaults to a US English keyboard. If you are using another type of keyboard, edit {{f|/etc/conf.d/keymaps}} and set keymap to your keyboard model. For example, cf for French Canadian keyboard, fr for French Azerty. | |||
<!--T:29--> | |||
{{console|body= | |||
# ##i##nano -w /etc/conf.d/keymaps | # ##i##nano -w /etc/conf.d/keymaps | ||
}} | |||
== Input Method == | === Input Method === <!--T:30--> | ||
ibus is an Intelligent Input Bus for Linux. | <!--T:31--> | ||
[[Package:IBus|ibus]] is an Intelligent Input Bus for Linux. | |||
<console | <!--T:32--> | ||
{{console|body= | |||
# ##i##emerge -av ibus | # ##i##emerge -av ibus | ||
}} | |||
<!--T:33--> | |||
You also need to install language table for ibus (Chinese) | You also need to install language table for ibus (Chinese) | ||
<console | <!--T:34--> | ||
{{console|body= | |||
# ##i##emerge -av ibus-table-chinese | # ##i##emerge -av ibus-table-chinese | ||
</ | }} | ||
</translate> | |||
[[Category:Install|Localization]] | [[Category:Install|Localization]] | ||
[[Category:Official Documentation]] |
Latest revision as of 18:17, October 22, 2022
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):
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.
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:
root # eselect locale list 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:
root # eselect locale show 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 L10N
that defines what localizations/translations get installed by default. By default, L10N
is unset, which only builds the packages' default language.
It is possible to customize the setting of L10N
by setting it in /etc/portage/make.conf
:
/etc/portage/make.conf
(bash source code) # Install English (United States) and Chinese (China) translations (if available)
L10N="en-US zh-CN"
The LI10N
variable should use spaces between each localization name. A list of all supported languages can be found in /usr/portage/profiles/desc/l10n.desc
.
Some old packages still use the deprecated LINGUAS
variable. You can set it in /etc/portage/make.conf
:
/etc/portage/make.conf
(bash source code) LINGUAS="en_US zh_CN"
It uses the same syntax, but uses other language codes which can be found in /usr/portage/profiles/desc/linguas.desc
.
After setting the L10N
and LINGUAS
USE flags you may need to re-emerge some packages:
root # emerge --ask --newuse --deep --with-bdeps=y @world
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
A very good alternative could be a Noto Fonts by Google, claimed to be a fonts with widest language support:
root # emerge media-fonts/noto
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