登録日: 2023-09-14 更新日: 2023-10-05
前回までに、「VirtualBox」で「EndeavourOS」の ISO イメージを使って「EndeavourOS」(Xfce) とか「EndeavourOS」(Openbox) などをインストールしました。
-
「EndeavourOS」の ISO イメージはデスクトップ環境が違っても共通です。ライブ立ち上げで「Welcome」アプリの「Install」タブの画面が表示されるので、どのようなインストールを行うかを選択します。
-
「Welcome」アプリは「英語」表示です。翻訳ファイルがあるのに無効です。
もったいないので、ISO イメージで立ち上げた場合に、言語一覧を表示、選んだ言語(例えば、日本語)で「Welcome」アプリを表示する「スクリプト」を作成しました。
その備忘録です。
-
「Welcome」アプリから起動される「インストーラ」には、自動で「言語選択」してくれる機能があります。 それ以前の話なので、その機能を活かせないのは惜しいですね。
-
-
-
使用したPC は「ASUS Chromebox CN60 」で、 プロセッサは第4世代の「Intel Celeron 2955U 」です。
「UEFI 立ち上げ」のPC です。
-
(注)リンクを戻るときはブラウザの左上の「←」をクリック
-
-
目次
-
今回の作業:
-
-
-
- --- - --- - --- - --- - --- - --- - --- - --- - -
「EndeavourOS」のインストールCD(ISO イメージ)で立ち上げ:
-
「Welcome」アプリの「Install」タブが表示:
→デフォルトは「英語」表示です
-
作成した「スクリプト」を実行:
-
(1). 「言語選択メニュー」が表示されます:
→表示してほしい「言語」を選びます
-
(2). 選択した言語で「Welcome」アプリが起動:
-
-
- --- - --- - --- - --- - --- - --- - --- - --- - --
「EndeavorOS」について:
-
「EndeavourOS」は、インストールが楽で、「Welcome」アプリなどのツールで使い勝手をよくした「Arch Linux」です。 (リポジトリが「Arch Linux」に近いのが利点)
「EndeavourOS」は、共通の「ISO イメージ」を使い、色々なデスクトップ環境のインストールが行えます。
ライブ立ち上げで起動されるデスクトップ環境は「Xfce」です。
なので、立ち上がる「Welcome」アプリも共通です。
-
公式サイト:
-
-
- --- - --- - --- - --- - --- - --- - --- - --- - ---
1. スクリプト作成のきっかけ:
-
1). 「Welcome」のバージョンアップで、翻訳関連の「ログ登録」が表示:
バージョン表示:
$ eos-welcome --version : Info: translation issues detected, see file '/tmp/translations-86B84.errlog'. 3.73-5
→注意表示のメッセージが含まれていますが、一部が翻訳されないだけで支障なし
-
2). 今回の「ログ登録」での対応:
こちらの翻訳作業 を実施:
-
今回の翻訳は、「ライブ立ち上げ」したときに、どのようなインストールを行うか選択する「Install」タブの画面の部分でした:
→「ライブ立ち上げ」の場合、(翻訳を実行する仕組みがないので)「英語」の表示です。
-
3). 翻訳ファイルを修正したので、「適切な表現」かを確認しました:
「ライブ立ち上げ」で、「Welcome」アプリを「日本語」で起動:
-
(1). 「Welcome」アプリを日本語で起動するために必要なこと:
-
(2). 「Welcome」アプリを手動で日本語で表示 してみました:
-
(3). 「ライブ立ち上げ」で、「Welcome」アプリを日本語で表示するスクリプト を作成しました:
-
(4). 次の「項番 2.」にて、日本語以外の言語でも翻訳して表示されるように「スクリプト」を修正:
-
-
- --- - --- - --- - --- - --- - --- - --- - --- - ----
2.「ライブ立ち上げ」で、「Welcome」アプリを選んだ言語で表示するスクリプトを作成:
-
1). インストールCD(ISO イメージ)で立ち上げ:
インストールに使う「イメージ」を光学ドライブにセット
「起動」をクリック
-
参考: すでに内蔵ディスクに「EndeavourOS」をインストール済みの場合の操作:
インストールで使った「イメージ」を光学ドライブにセット →使った履歴一覧が表示されるので選択
「起動」をクリックしたら、すぐに「Esc」キー
メニューで一番下の「UEFI ...」を「↓」で選んで Enter
「Boot Manager」を「↓」で選んで Enter
「UEFI VBOX CD-ROM ...」を「↓」で選んで Enter
-
2). yad を使って「言語選択メニュー」を作成:
$ sudo xed /usr/share/endeavouros/scripts/live-LANG-select-menu
#!/bin/bash yad --list\ --column="Language:":TEXT\ --column=" ":TEXT\ --separator="/"\ --width=400 --height=500\ --title="Select language for 'Welcome'" --fontname="Mono 10"\ English en_US\ Catalan(català) ca_AD\ German(Deutsch) de_DE\ Spanish(Español・Española) es_ES\ Persian(فارسی) fa_IR\ Finnish(Suomalainen) fi_FI\ French(Francés・Francesa) fr_FR\ India(हिंदी-भारत) hi_IN\ Croatian(Hrvatski) hr_HR\ Icelandic(Íoslainnis) is_IS\ Italian(Italiano・Italiana) it_IT\ Japanese(日本語) ja_JP\ Polish(Polski) pl_PL\ Portuguese(Português) pt_PT\ Portuguese-Brazil(Português-Brasil) pt_BR\ Romanian(Română) ro_RO\ Russian(Русский) ru_RU\ Norway(Norge) se_NO\ Slovak(slovenský) sk_SK\ Thai(แบบไทย) th_TH\ Ukrainian(українська) uk_UA\ Chinese-China(中文-中国) zh_CN\ Chinese-HongKong(中文-香港) zh_HK\ Chinese-Singapore(中文-新加坡) zh_SG\ Chinese-Taiwan(中文-台灣) zh_TW
→注: 国指定がないと「ロケールの生成」ができないので、ファイル名や中身から言語の国指定を予想しました。なので、誤りがあるかも。
ちなみに、「translation-rs.bash」で使用されている言語は「クロアチア語」みたいですが、
「/etc/locale.gen」にコメント行(国コード)が含まれておらず無効なので除外しました。
→詳細は、「項番 4. 」を参照:
ロケールがなくても、「hr_HR」を選べば(翻訳ファイルは別になるけど)「クロアチア語」で翻訳できると思います。
-
3). メインの「スクリプト」を作成:
$ sudo xed /usr/share/endeavouros/scripts/live-LANG-select
#!/bin/bash result=$(bash /usr/share/endeavouros/scripts/live-LANG-select-menu | cut -d/ -f2) echo "en_US.UTF-8 UTF-8" > locale.${result} echo ${result}".UTF-8 UTF-8" >> locale.${result} sudo cp locale.${result} /etc/locale.gen sudo locale-gen export LANG=$(echo ${result}".UTF-8") eos-welcome
→「言語選択メニュー」のスクリプトの結果から、
「言語」の指定(セパレータ「/」で分割した 2番目)を抽出、
ロケールに反映して、「Welcome」アプリを起動します:
-
注: ロケールの設定はスクリプト内でのみ有効。ただし、ロケールは作成されているので、ロケールを指定してアプリを起動することはできます。
-
追記: (修正案)
「/etc/locale.gen」の内容を消さずに、選択したロケールを追記する「スクリプト」に変更:
#!/bin/bash result=$(bash /usr/share/endeavouros/scripts/live-LANG-select-menu | cut -d/ -f2) cp /etc/locale.gen locale.${result} echo >> locale.${result} echo "###" >> locale.${result} echo "#" >> locale.${result} echo "# Locale used in 'Welcome'" >> locale.${result} echo "en_US.UTF-8 UTF-8" >> locale.${result} echo ${result}".UTF-8 UTF-8" >> locale.${result} sudo cp locale.${result} /etc/locale.gen sudo locale-gen export LANG=$(echo ${result}".UTF-8") eos-welcome
→どうせ「ライブ立ち上げ」をし直せば、初期値で上書きされてしまうので不要かも。
でも、何か問題があって調査するときは、以前の内容が保持されているとわかりやすいかな。
-
4). インストールCD(ISO イメージ)で立ち上げたときに、スクリプトを自動起動するように設定:
「EndeavourOS」→「Settings」→「Session and Startup」→「Application Autostart」タブ
-
(1). 「Welcome(EndeavourOS Welcome Launcher)」をクリックして選択:
表示:
Command: sh /usr/share/endeavouros/scripts/welcome --startdelay=3
(2). 行頭にある「チェック」をクリックして、チェックを外し無効にします:
-
(3). 「+ Add」をクリックして、自動起動するアプリを追加:
Name:
Welcome(Translate and launch EndeavorOS welcome)
Command:
sh /usr/share/endeavouros/scripts/live-LANG-select --startdelay=3
Trigger:
on login
→「OK」
→「Close」
-
5). 画面右下の「liveuser」をクリック:
→「Log Out...」→「Log Out」
-
6). 自動的にログイン:
-
(1). 「言語選択メニュー」が表示されます:
表示してほしい「言語」を選びます
-
(2). 選択した言語で「Welcome」アプリが起動:
-
7). (修正案)を使った場合は、「/etc/locale.gen」ファイルのお尻部分を確認:
$ tail -n 10 /etc/locale.gen
#zh_TW.UTF-8 UTF-8 #zh_TW BIG5 #zu_ZA.UTF-8 UTF-8 #zu_ZA ISO-8859-1 ↓(これ以降が追記) ### # # Locale used in 'Welcome' en_US.UTF-8 UTF-8 ←(★ 注目) ja_JP.UTF-8 UTF-8
→(修正案)の場合は、「★」の行は必要ありません。
(修正案)の場合は、元のファイルの 171 行目で「en_US.UTF-8 UTF-8」はすでに有効です。
ただし、後々のメンテでわかりやすいように残しました。
-
「ロケールの生成」を少しでも速くしたい場合:
メインのスクリプト「live-LANG-select」にて、
(修正案)の 9行目をコメント行(行頭に # を追記)にするか、削除します:
実行結果:
### # # Locale used in 'Welcome' ja_JP.UTF-8 UTF-8
-
-
- --- - --- - --- - --- - --- - --- - --- - --- - -----
3. 参考:「yad」コマンドについて:
-
「yad」コマンドは、シェルから GTK のダイアログを使う(GUI 表示を行う)ためのコマンドで、zenity のフォークです。
以前の「EndeavourOS」では、「yad」を使うためにパッチされた eos-yad が使われていました。現在はそのパッチも解消されて yad に戻ったと記憶しています。
-
スクリプトの作成で、参考にしたサイト:
-
1). 「yad」コマンドがインストールされているか確認:
「Welcome」アプリが動いているので、当然ながら「yad」はインストール済みです:
$ paru -Ss yad | grep 済 : endeavouros/yad 13.0-1.1 [0B 671.26KiB] [インストール済み] extra/yad 13.0-1 [213.33KiB 675.58KiB] [インストール済み: 13.0-1.1]
-
実行ファイル名:
$ which yad /usr/bin/yad
→「yad」です。
-
2). 「yad」コマンドのヘルプを表示:
$ yad --help
和訳:
使い方: yad [オプション…] - さらにもう1つの対話プログラム ヘルプのオプション: -h, --help (こちらの)「ヘルプのオプション」を表示 --help-all (下記の)すべての「ヘルプのオプション」を表示 --help-general 一般的なオプションを表示 --help-common 共通のオプションを表示 --help-about カスタム作成の「About」ダイアログ のオプションを表示 --help-app 「アプリケーションの選択」ダイアログ のオプションを表示 --help-calendar 「カレンダー」ダイアログ のオプションを表示 --help-color 「色の選択」ダイアログ のオプションを表示 --help-dnd 「ドラッグアンドドロップ」のオプションを表示 --help-entry 「テキスト入力」ダイアログ のオプションを表示 --help-file 「ファイル選択」ダイアログ のオプションを表示 --help-font 「フォント選択」ダイアログ のオプションを表示 --help-form 「フォーム」ダイアログ のオプションを表示 --help-html 「HTML」ダイアログ のオプションを表示 --help-icons 「アイコンボックス」のオプションを表示 --help-list 「リスト」ダイアログ のオプションを表示 --help-notebook 「ノートブック」ダイアログ のオプションを表示 --help-notification 「通知アイコン」ダイアログ のオプションを表示 --help-paned 「ペイン表示」ダイアログ のオプションを表示 --help-picture 「画像」ダイアログ のオプションを表示 --help-print 「印刷」ダイアログ のオプションを表示 --help-progress 「進行状況表示」ダイアログ のオプションを表示 --help-scale 「スケール」ダイアログ のオプションを表示 --help-text 「テキスト情報」ダイアログ のオプションを表示 --help-source 「ソースビュー」のオプションを表示 --help-filter 「ファイルフィルター」のオプションを表示 --help-misc その他のオプションを表示 --help-gtk 「GTK+」のオプションを表示 アプリケーションのオプション: --rest=FILENAME ファイルから追加の引数をロード --about 「About」ダイアログを表示 --app 「アプリケーション選択」ダイアログを表示 --calendar 「カレンダー」ダイアログを表示 --color 「色選択」ダイアログを表示 --dnd 「ドラッグアンドドロップボックス」を表示 --entry 「テキスト入力」または「コンボボックス」ダイアログを表示 --file 「ファイル選択」ダイアログを表示 --font 「フォント選択」ダイアログを表示 --form 「フォーム」ダイアログを表示 --html 「HTML」ダイアログを表示 --icons 「アイコンボックス」ダイアログを表示 --list 「リスト」ダイアログを表示 --notebook 「ノートブック」ダイアログを表示 --notification 「通知」ダイアログを表示 --paned 「ペイン表示」ダイアログを表示 --picture 「画像」ダイアログを表示 --print 「印刷」ダイアログを表示 --progress 「進行状況表示」ダイアログを表示 --scale 「スケール」ダイアログを表示 --text-info 「テキスト情報」ダイアログを表示 --display=DISPLAY 使用する「Xディスプレイ」を指定
-
3). 「yad」コマンドの詳細を表示:
$ man yad
→「スペース」で改ページ、「q」で終了
-
-
4). 今回使った、「yad」コマンドのパラメータ:
$ yad --help-list
抜粋:
--title=TITLE ダイアログ画面のタイトル
--window-icon=ICONPATH ダイアログ画面のアイコン
--width=WIDTH ダイアログ画面の幅
--height=HEIGHT ダイアログ画面の高さ
--timeout=TIMEOUT タイムアウトする秒数
--item-separator 初期値を複数与えるときの区切る文字: デフォルトは「!」
--separator 出力される値を区切る文字: デフォルトは「|」(パイプ文字)
-
-
- --- - --- - --- - --- - --- - --- - --- - --- - ----- -
4. 参考: 「ロケール」について:
-
1). 「翻訳ファイル」が存在する「言語」を確認:
「言語の一覧」画面に登録するために確認しました:
$ ls /usr/share/endeavouros/scripts/ : eos-script-lib-yad translation-is.bash translation-th.bash ksetwallpaper.py translation-it.bash translation-uk_UA.bash translation-ca.bash translation-ja.bash translation-zh_CN.bash translation-de.bash translation-pl.bash translation-zh_HK.bash translation-en.bash translation-pt.bash translation-zh_SG.bash translation-es.bash translation-pt_BR.bash translation-zh_TW.bash translation-fa.bash translation-ro.bash translations.bash translation-fi.bash translation-rs.bash wallpaper-once translation-fr.bash translation-ru.bash welcome translation-hi.bash translation-se.bash translation-hr.bash translation-sk.bash
→「翻訳ファイル」があるということは、その言語を翻訳した(翻訳して使いたい)人がいるということです。
ほとんどのファイルが「言語指定」だけで「国指定」がないことに注目
-
ちなみに、「翻訳ファイル」の 22 行目の「言語名」はコメントですが「重要」です:
$ sed -n 22,22p /usr/share/endeavouros/scripts/translation-en.bash : # English:
↓ 翻訳時に修正するのがベター:
$ sed -n 22,22p /usr/share/endeavouros/scripts/translation-ja.bash : # Japanese:
-
例えば、PKGBUILDS/eos-translations/ において、
22 行目が「# English:」のまま修正されてない翻訳ファイル:
translation-ca.bash ←(国指定が不明) translation-hi.bash ←(国指定が不明、インド?) translation-hr.bash translation-is.bash translation-pt.bash ←(ポルトガル語は有名なので予想できます) translation-pt_BR.bash ←(国指定があるので予想できます) translation-rs.bash ←(言語名の該当なし、言語はhr ?) translation-se.bash translation-sk.bash translation-th.bash translation-uk_UA.bash ←(国指定があるので予想できます) translation-zh_CN.bash ←(国指定があるので予想できます) translation-zh_HK.bash ←(国指定があるので予想できます) translation-zh_SG.bash ←(国指定があるので予想できます) translation-zh_TW.bash ←(国指定があるので予想できます)
→翻訳に支障はないけど、結構多いですね。コメント行なので修正の必要性に気付かなかったと思われます。
この行が修正(翻訳)されていないと(よく知られている言語や、国指定が付加された言語、以外では)、
後日、何かあって「翻訳した人」以外が調査するときに、ファイル名(言語)の誤りはわかりません。
今回は、スクリプト作成で「国指定」を予想しましたが、それは誤っているかもしれません。
-
必要性を英語の原本に付加すると、翻訳ファイル作成時に気付きやすいかも:
22行目:
## Change the following to your language name: # English: ## Change the following to your country name: # US:
-
2). ライブ立ち上げの時に、「ロケールの生成」で使える「言語コード」を確認:
ライブ立ち上げ時のデフォルトの「/etc/locale.gen」ファイルの内容:
$ cat /etc/locale.gen
# Configuration file for locale-gen # # lists of locales that are to be generated by the locale-gen command. # # Each line is of the form: # # <locale> <charset> # # where <locale> is one of the locales given in /usr/share/i18n/locales # and <charset> is one of the character sets listed in /usr/share/i18n/charmaps # # The locale-gen command will generate all the locales, # placing them in /usr/lib/locale. # # A list of supported locales is given in /usr/share/i18n/SUPPORTED # and is included in this file. Uncomment the needed locales below. # #aa_DJ.UTF-8 UTF-8 #aa_DJ ISO-8859-1 #aa_ER UTF-8 #aa_ER@saaho UTF-8 #aa_ET UTF-8 #af_ZA.UTF-8 UTF-8 #af_ZA ISO-8859-1 #agr_PE UTF-8 #ak_GH UTF-8 #am_ET UTF-8 #an_ES.UTF-8 UTF-8 #an_ES ISO-8859-15 #anp_IN UTF-8 #ar_AE.UTF-8 UTF-8 #ar_AE ISO-8859-6 #ar_BH.UTF-8 UTF-8 #ar_BH ISO-8859-6 #ar_DZ.UTF-8 UTF-8 #ar_DZ ISO-8859-6 #ar_EG.UTF-8 UTF-8 #ar_EG ISO-8859-6 #ar_IN UTF-8 #ar_IQ.UTF-8 UTF-8 #ar_IQ ISO-8859-6 #ar_JO.UTF-8 UTF-8 #ar_JO ISO-8859-6 #ar_KW.UTF-8 UTF-8 #ar_KW ISO-8859-6 #ar_LB.UTF-8 UTF-8 #ar_LB ISO-8859-6 #ar_LY.UTF-8 UTF-8 #ar_LY ISO-8859-6 #ar_MA.UTF-8 UTF-8 #ar_MA ISO-8859-6 #ar_OM.UTF-8 UTF-8 #ar_OM ISO-8859-6 #ar_QA.UTF-8 UTF-8 #ar_QA ISO-8859-6 #ar_SA.UTF-8 UTF-8 #ar_SA ISO-8859-6 #ar_SD.UTF-8 UTF-8 #ar_SD ISO-8859-6 #ar_SS UTF-8 #ar_SY.UTF-8 UTF-8 #ar_SY ISO-8859-6 #ar_TN.UTF-8 UTF-8 #ar_TN ISO-8859-6 #ar_YE.UTF-8 UTF-8 #ar_YE ISO-8859-6 #ayc_PE UTF-8 #az_AZ UTF-8 #az_IR UTF-8 #as_IN UTF-8 #ast_ES.UTF-8 UTF-8 #ast_ES ISO-8859-15 #be_BY.UTF-8 UTF-8 #be_BY CP1251 #be_BY@latin UTF-8 #bem_ZM UTF-8 #ber_DZ UTF-8 #ber_MA UTF-8 #bg_BG.UTF-8 UTF-8 #bg_BG CP1251 #bhb_IN.UTF-8 UTF-8 #bho_IN UTF-8 #bho_NP UTF-8 #bi_VU UTF-8 #bn_BD UTF-8 #bn_IN UTF-8 #bo_CN UTF-8 #bo_IN UTF-8 #br_FR.UTF-8 UTF-8 #br_FR ISO-8859-1 #br_FR@euro ISO-8859-15 #brx_IN UTF-8 #bs_BA.UTF-8 UTF-8 #bs_BA ISO-8859-2 #byn_ER UTF-8 #ca_AD.UTF-8 UTF-8 #ca_AD ISO-8859-15 #ca_ES.UTF-8 UTF-8 #ca_ES ISO-8859-1 #ca_ES@euro ISO-8859-15 #ca_ES@valencia UTF-8 #ca_FR.UTF-8 UTF-8 #ca_FR ISO-8859-15 #ca_IT.UTF-8 UTF-8 #ca_IT ISO-8859-15 #ce_RU UTF-8 #chr_US UTF-8 #ckb_IQ UTF-8 #cmn_TW UTF-8 #crh_UA UTF-8 #cs_CZ.UTF-8 UTF-8 #cs_CZ ISO-8859-2 #csb_PL UTF-8 #cv_RU UTF-8 #cy_GB.UTF-8 UTF-8 #cy_GB ISO-8859-14 #da_DK.UTF-8 UTF-8 #da_DK ISO-8859-1 #de_AT.UTF-8 UTF-8 #de_AT ISO-8859-1 #de_AT@euro ISO-8859-15 #de_BE.UTF-8 UTF-8 #de_BE ISO-8859-1 #de_BE@euro ISO-8859-15 #de_CH.UTF-8 UTF-8 #de_CH ISO-8859-1 #de_DE.UTF-8 UTF-8 #de_DE ISO-8859-1 #de_DE@euro ISO-8859-15 #de_IT.UTF-8 UTF-8 #de_IT ISO-8859-1 #de_LI.UTF-8 UTF-8 #de_LU.UTF-8 UTF-8 #de_LU ISO-8859-1 #de_LU@euro ISO-8859-15 #doi_IN UTF-8 #dsb_DE UTF-8 #dv_MV UTF-8 #dz_BT UTF-8 #el_GR.UTF-8 UTF-8 #el_GR ISO-8859-7 #el_GR@euro ISO-8859-7 #el_CY.UTF-8 UTF-8 #el_CY ISO-8859-7 #en_AG UTF-8 #en_AU.UTF-8 UTF-8 #en_AU ISO-8859-1 #en_BW.UTF-8 UTF-8 #en_BW ISO-8859-1 #en_CA.UTF-8 UTF-8 #en_CA ISO-8859-1 #en_DK.UTF-8 UTF-8 #en_DK ISO-8859-1 #en_GB.UTF-8 UTF-8 #en_GB ISO-8859-1 #en_HK.UTF-8 UTF-8 #en_HK ISO-8859-1 #en_IE.UTF-8 UTF-8 #en_IE ISO-8859-1 #en_IE@euro ISO-8859-15 #en_IL UTF-8 #en_IN UTF-8 #en_NG UTF-8 #en_NZ.UTF-8 UTF-8 #en_NZ ISO-8859-1 #en_PH.UTF-8 UTF-8 #en_PH ISO-8859-1 #en_SC.UTF-8 UTF-8 #en_SG.UTF-8 UTF-8 #en_SG ISO-8859-1 en_US.UTF-8 UTF-8 ←(注目) #en_US ISO-8859-1 #en_ZA.UTF-8 UTF-8 #en_ZA ISO-8859-1 #en_ZM UTF-8 #en_ZW.UTF-8 UTF-8 #en_ZW ISO-8859-1 #eo UTF-8 #es_AR.UTF-8 UTF-8 #es_AR ISO-8859-1 #es_BO.UTF-8 UTF-8 #es_BO ISO-8859-1 #es_CL.UTF-8 UTF-8 #es_CL ISO-8859-1 #es_CO.UTF-8 UTF-8 #es_CO ISO-8859-1 #es_CR.UTF-8 UTF-8 #es_CR ISO-8859-1 #es_CU UTF-8 #es_DO.UTF-8 UTF-8 #es_DO ISO-8859-1 #es_EC.UTF-8 UTF-8 #es_EC ISO-8859-1 #es_ES.UTF-8 UTF-8 #es_ES ISO-8859-1 #es_ES@euro ISO-8859-15 #es_GT.UTF-8 UTF-8 #es_GT ISO-8859-1 #es_HN.UTF-8 UTF-8 #es_HN ISO-8859-1 #es_MX.UTF-8 UTF-8 #es_MX ISO-8859-1 #es_NI.UTF-8 UTF-8 #es_NI ISO-8859-1 #es_PA.UTF-8 UTF-8 #es_PA ISO-8859-1 #es_PE.UTF-8 UTF-8 #es_PE ISO-8859-1 #es_PR.UTF-8 UTF-8 #es_PR ISO-8859-1 #es_PY.UTF-8 UTF-8 #es_PY ISO-8859-1 #es_SV.UTF-8 UTF-8 #es_SV ISO-8859-1 #es_US.UTF-8 UTF-8 #es_US ISO-8859-1 #es_UY.UTF-8 UTF-8 #es_UY ISO-8859-1 #es_VE.UTF-8 UTF-8 #es_VE ISO-8859-1 #et_EE.UTF-8 UTF-8 #et_EE ISO-8859-1 #et_EE.ISO-8859-15 ISO-8859-15 #eu_ES.UTF-8 UTF-8 #eu_ES ISO-8859-1 #eu_ES@euro ISO-8859-15 #fa_IR UTF-8 #ff_SN UTF-8 #fi_FI.UTF-8 UTF-8 #fi_FI ISO-8859-1 #fi_FI@euro ISO-8859-15 #fil_PH UTF-8 #fo_FO.UTF-8 UTF-8 #fo_FO ISO-8859-1 #fr_BE.UTF-8 UTF-8 #fr_BE ISO-8859-1 #fr_BE@euro ISO-8859-15 #fr_CA.UTF-8 UTF-8 #fr_CA ISO-8859-1 #fr_CH.UTF-8 UTF-8 #fr_CH ISO-8859-1 #fr_FR.UTF-8 UTF-8 #fr_FR ISO-8859-1 #fr_FR@euro ISO-8859-15 #fr_LU.UTF-8 UTF-8 #fr_LU ISO-8859-1 #fr_LU@euro ISO-8859-15 #fur_IT UTF-8 #fy_NL UTF-8 #fy_DE UTF-8 #ga_IE.UTF-8 UTF-8 #ga_IE ISO-8859-1 #ga_IE@euro ISO-8859-15 #gd_GB.UTF-8 UTF-8 #gd_GB ISO-8859-15 #gez_ER UTF-8 #gez_ER@abegede UTF-8 #gez_ET UTF-8 #gez_ET@abegede UTF-8 #gl_ES.UTF-8 UTF-8 #gl_ES ISO-8859-1 #gl_ES@euro ISO-8859-15 #gu_IN UTF-8 #gv_GB.UTF-8 UTF-8 #gv_GB ISO-8859-1 #ha_NG UTF-8 #hak_TW UTF-8 #he_IL.UTF-8 UTF-8 #he_IL ISO-8859-8 #hi_IN UTF-8 #hif_FJ UTF-8 #hne_IN UTF-8 #hr_HR.UTF-8 UTF-8 #hr_HR ISO-8859-2 #hsb_DE ISO-8859-2 #hsb_DE.UTF-8 UTF-8 #ht_HT UTF-8 #hu_HU.UTF-8 UTF-8 #hu_HU ISO-8859-2 #hy_AM UTF-8 #hy_AM.ARMSCII-8 ARMSCII-8 #ia_FR UTF-8 #id_ID.UTF-8 UTF-8 #id_ID ISO-8859-1 #ig_NG UTF-8 #ik_CA UTF-8 #is_IS.UTF-8 UTF-8 #is_IS ISO-8859-1 #it_CH.UTF-8 UTF-8 #it_CH ISO-8859-1 #it_IT.UTF-8 UTF-8 #it_IT ISO-8859-1 #it_IT@euro ISO-8859-15 #iu_CA UTF-8 #ja_JP.EUC-JP EUC-JP #ja_JP.UTF-8 UTF-8 #ka_GE.UTF-8 UTF-8 #ka_GE GEORGIAN-PS #kab_DZ UTF-8 #kk_KZ.UTF-8 UTF-8 #kk_KZ PT154 #kl_GL.UTF-8 UTF-8 #kl_GL ISO-8859-1 #km_KH UTF-8 #kn_IN UTF-8 #ko_KR.EUC-KR EUC-KR #ko_KR.UTF-8 UTF-8 #kok_IN UTF-8 #ks_IN UTF-8 #ks_IN@devanagari UTF-8 #ku_TR.UTF-8 UTF-8 #ku_TR ISO-8859-9 #kw_GB.UTF-8 UTF-8 #kw_GB ISO-8859-1 ``` #ky_KG UTF-8 #lb_LU UTF-8 #lg_UG.UTF-8 UTF-8 #lg_UG ISO-8859-10 #li_BE UTF-8 #li_NL UTF-8 #lij_IT UTF-8 #ln_CD UTF-8 #lo_LA UTF-8 #lt_LT.UTF-8 UTF-8 #lt_LT ISO-8859-13 #lv_LV.UTF-8 UTF-8 #lv_LV ISO-8859-13 #lzh_TW UTF-8 #mag_IN UTF-8 #mai_IN UTF-8 #mai_NP UTF-8 #mfe_MU UTF-8 #mg_MG.UTF-8 UTF-8 #mg_MG ISO-8859-15 #mhr_RU UTF-8 #mi_NZ.UTF-8 UTF-8 #mi_NZ ISO-8859-13 #miq_NI UTF-8 #mjw_IN UTF-8 #mk_MK.UTF-8 UTF-8 #mk_MK ISO-8859-5 #ml_IN UTF-8 #mn_MN UTF-8 #mni_IN UTF-8 #mnw_MM UTF-8 #mr_IN UTF-8 #ms_MY.UTF-8 UTF-8 #ms_MY ISO-8859-1 #mt_MT.UTF-8 UTF-8 #mt_MT ISO-8859-3 #my_MM UTF-8 #nan_TW UTF-8 #nan_TW@latin UTF-8 #nb_NO.UTF-8 UTF-8 #nb_NO ISO-8859-1 #nds_DE UTF-8 #nds_NL UTF-8 #ne_NP UTF-8 #nhn_MX UTF-8 #niu_NU UTF-8 #niu_NZ UTF-8 #nl_AW UTF-8 #nl_BE.UTF-8 UTF-8 #nl_BE ISO-8859-1 #nl_BE@euro ISO-8859-15 #nl_NL.UTF-8 UTF-8 #nl_NL ISO-8859-1 #nl_NL@euro ISO-8859-15 #nn_NO.UTF-8 UTF-8 #nn_NO ISO-8859-1 #nr_ZA UTF-8 #nso_ZA UTF-8 #oc_FR.UTF-8 UTF-8 #oc_FR ISO-8859-1 #om_ET UTF-8 #om_KE.UTF-8 UTF-8 #om_KE ISO-8859-1 #or_IN UTF-8 #os_RU UTF-8 #pa_IN UTF-8 #pa_PK UTF-8 #pap_AW UTF-8 #pap_CW UTF-8 #pl_PL.UTF-8 UTF-8 #pl_PL ISO-8859-2 #ps_AF UTF-8 #pt_BR.UTF-8 UTF-8 #pt_BR ISO-8859-1 #pt_PT.UTF-8 UTF-8 #pt_PT ISO-8859-1 #pt_PT@euro ISO-8859-15 #quz_PE UTF-8 #raj_IN UTF-8 #rif_MA UTF-8 #ro_RO.UTF-8 UTF-8 #ro_RO ISO-8859-2 #ru_RU.KOI8-R KOI8-R #ru_RU.UTF-8 UTF-8 #ru_RU ISO-8859-5 #ru_UA.UTF-8 UTF-8 #ru_UA KOI8-U #rw_RW UTF-8 #sa_IN UTF-8 #sah_RU UTF-8 #sat_IN UTF-8 #sc_IT UTF-8 #sd_IN UTF-8 #sd_IN@devanagari UTF-8 #se_NO UTF-8 #sgs_LT UTF-8 #shn_MM UTF-8 #shs_CA UTF-8 #si_LK UTF-8 #sid_ET UTF-8 #sk_SK.UTF-8 UTF-8 #sk_SK ISO-8859-2 #sl_SI.UTF-8 UTF-8 #sl_SI ISO-8859-2 #sm_WS UTF-8 #so_DJ.UTF-8 UTF-8 #so_DJ ISO-8859-1 #so_ET UTF-8 #so_KE.UTF-8 UTF-8 #so_KE ISO-8859-1 #so_SO.UTF-8 UTF-8 ``` #so_SO ISO-8859-1 #sq_AL.UTF-8 UTF-8 #sq_AL ISO-8859-1 #sq_MK UTF-8 #sr_ME UTF-8 #sr_RS UTF-8 #sr_RS@latin UTF-8 #ss_ZA UTF-8 #st_ZA.UTF-8 UTF-8 #st_ZA ISO-8859-1 #sv_FI.UTF-8 UTF-8 #sv_FI ISO-8859-1 #sv_FI@euro ISO-8859-15 #sv_SE.UTF-8 UTF-8 #sv_SE ISO-8859-1 #sw_KE UTF-8 #sw_TZ UTF-8 #syr UTF-8 #szl_PL UTF-8 #ta_IN UTF-8 #ta_LK UTF-8 #tcy_IN.UTF-8 UTF-8 #te_IN UTF-8 #tg_TJ.UTF-8 UTF-8 #tg_TJ KOI8-T #th_TH.UTF-8 UTF-8 #th_TH TIS-620 #the_NP UTF-8 #ti_ER UTF-8 #ti_ET UTF-8 #tig_ER UTF-8 #tk_TM UTF-8 #tl_PH.UTF-8 UTF-8 #tl_PH ISO-8859-1 #tn_ZA UTF-8 #to_TO UTF-8 #tpi_PG UTF-8 #tr_CY.UTF-8 UTF-8 #tr_CY ISO-8859-9 #tr_TR.UTF-8 UTF-8 #tr_TR ISO-8859-9 #ts_ZA UTF-8 #tt_RU UTF-8 #tt_RU@iqtelif UTF-8 #ug_CN UTF-8 #uk_UA.UTF-8 UTF-8 #uk_UA KOI8-U #unm_US UTF-8 #ur_IN UTF-8 #ur_PK UTF-8 #uz_UZ.UTF-8 UTF-8 #uz_UZ ISO-8859-1 #uz_UZ@cyrillic UTF-8 #ve_ZA UTF-8 #vi_VN UTF-8 #wa_BE ISO-8859-1 #wa_BE@euro ISO-8859-15 #wa_BE.UTF-8 UTF-8 #wae_CH UTF-8 #wal_ET UTF-8 #wo_SN UTF-8 #xh_ZA.UTF-8 UTF-8 #xh_ZA ISO-8859-1 #yi_US.UTF-8 UTF-8 #yi_US CP1255 #yo_NG UTF-8 #yue_HK UTF-8 #yuw_PG UTF-8 #zh_CN.GB18030 GB18030 #zh_CN.GBK GBK #zh_CN.UTF-8 UTF-8 #zh_CN GB2312 #zh_HK.UTF-8 UTF-8 #zh_HK BIG5-HKSCS #zh_SG.UTF-8 UTF-8 #zh_SG.GBK GBK #zh_SG GB2312 #zh_TW.EUC-TW EUC-TW #zh_TW.UTF-8 UTF-8 #zh_TW BIG5 #zu_ZA.UTF-8 UTF-8 #zu_ZA ISO-8859-1
→行頭の「#」を外すことで「ロケールの生成」を有効にできます:
すべて「"言語コード"_ "国コード"」の形式なので、「ロケールの生成」には「国コード」を含める必要がありました:
また、ここでは、UTF-8 を選択
-
ちなみに、「en_US.UTF-8」はコメントではないので、デフォルトだと「en_US.UTF-8」(英語)だけが生成されます。
-
3). 参考: 「中国語」のメニュー項目:
中国語(中文)の標準語(普通话)は、「北京語」に近い北方の方言がベース:
-
「中国語」は複雑です:
ちなみに、「マカオ」は香港と同じ「広東語」みたい
-
漢字の書き方は、複雑な「繁体字」があって、その後に簡単な表記に変化した「簡体字」が広がったようです。 中国は広いし、時代背景で入ってきた時期が異なるので、地区によって差が生まれたみたい:
ちなみに、日本語の漢字は「繁体字」になりそう。
-
中国の人がわかりやすい(だろう? )メニュー項目に修正:
- Chinese-China(中文-中国) zh_CN
- Chinese-HongKong(中文-香港) zh_HK
- Chinese-Singapore(中文-新加坡) zh_SG
- Chinese-Taiwan(中文-台灣) zh_TW
-
4). 参考: スクリプトが実行できるか確認:
ライブ立ち上げして、スクリプトを実行してみる:
$ sh /usr/share/endeavouros/scripts/live-LANG-select
-
→「生成すべきロケール」がファイルに追加されます:
「日本語」を選んだ場合:
$ cat /etc/locale.gen : en_US.UTF-8 UTF-8 ja_JP.UTF-8 UTF-8
→これを元にロケールが生成されます
-
結果として、利用可能になったロケールを確認:
$ locale -a : C C.UTF-8 en_US.utf8 ja_JP.utf8 ←(生成されたロケール) POSIX
もしくは
$ localectl list-locales : C.UTF-8 en_US.UTF-8 ja_JP.UTF-8
-
$ localedef --list-archive : en_US.utf8 ja_JP.utf8
→色々な確認のやり方がありますが、表示される意味は微妙に違います。
ここで「.UTF-8」は、「大文字」と「小文字」の場合があることに注目。
-
-
参考: ロケールで使われるファイルを確認:
$ ls -1 /usr/lib/locale/ : C.UTF-8 locale-archive
→「locale-archive」はコンパイルされたロケールの実体
-
$ ls -Rp1 /usr/lib/locale/ : /usr/lib/locale/: C.UTF-8/ locale-archive /usr/lib/locale/C.UTF-8: LC_ADDRESS LC_COLLATE LC_CTYPE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES/ LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME /usr/lib/locale/C.UTF-8/LC_MESSAGES: SYS_LC_MESSAGES
-
参考: ファイルの中身を確認:
バイナリ部分を除去して表示:
$ strings /usr/lib/locale/C.UTF-8/LC_TIME
Sunday Monday Tuesday Wednesday Thursday Friday Saturday January February March April June July August September October November December %a %b %e %H:%M:%S %Y %m/%d/%y %H:%M:%S %I:%M:%S %p %a %b %e %H:%M:%S %Z %Y UTF-8 January February March April June July August September October November December
-
$ strings /usr/lib/locale/C.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES
^[yY] ^[nN] UTF-8
→ロケールの「書式」の原本(英語)です。国際化した時は、これらが翻訳されると思われます。
また、翻訳ファイルが置かれるのは、こことは別の場所です。
-
現在設定されているロケールを確認:
$ locale : LANG=en_US.UTF-8 LC_CTYPE="en_US.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=
→「英語」のままです。
「スクリプト」で選択したロケール設定は、その「スクリプト」内でのみ有効です。
-
-
- --- - --- - --- - --- - --- - --- - --- - --- - ----- --
5. 国際化対応してもらうために、「Issues」(問題)として報告:
-
ライブ立ち上げの場合、「ソースファイル」の修正だけでなく、「ISO イメージ」の修正が必要です。
システムの方針や考え方、別のやり方もあるので、「プルリクエスト」(ソースファイルの修正依頼)でなく、「Issues」(問題)として報告しました:
:
報告先:
-
「Issues」の発行:
"Welcome" app is not translated when launched with Live Image. #309
-
表題:
ライブイメージで起動すると、「Welcome」アプリが翻訳されません。
-
-
→後日、回答あり:
将来のイメージにて、ライブ立ち上げでの「Welcome」アプリの国際化に対応してもらえるみたい。
感謝 !!
-
-
まとめ
今回は、「EndeavourOS」のインストールCD 立ち上げで、「Welcome」アプリが翻訳されるようにトライして、報告しました。
たぶん、実現のやり方は変わると思いますが、さらに「EndeavourOS」が使いやすくなって行けばと思います。
-
-
-
-
-
目次
-
-
- 目次
- - --- - --- - --- - --- - --- - --- - --- - --- - -
- 「EndeavourOS」のインストールCD(ISO イメージ)で立ち上げ:
- - --- - --- - --- - --- - --- - --- - --- - --- - --
- 「EndeavorOS」について:
- - --- - --- - --- - --- - --- - --- - --- - --- - ---
- 1. スクリプト作成のきっかけ:
- - --- - --- - --- - --- - --- - --- - --- - --- - ----
- 2.「ライブ立ち上げ」で、「Welcome」アプリを選んだ言語で表示するスクリプトを作成:
- - --- - --- - --- - --- - --- - --- - --- - --- - -----
- 3. 参考:「yad」コマンドについて:
- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -
- 4. 参考: 「ロケール」について:
- - --- - --- - --- - --- - --- - --- - --- - --- - ----- --
- 5. 国際化対応してもらうために、「Issues」(問題)として報告:
- まとめ
- -
-
-
-