Linux あれこれ

Linux 関連(一部 Windows11 )の備忘録です。

「EndeavourOS」のインストールCD 立ち上げで、「Welcome」アプリを日本語表示〈H169-4〉

登録日: 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 です。

-

(注)リンクを戻るときはブラウザの左上の「←」をクリック

-

-


目次

-

今回の作業:

  1. スクリプトの作成:

  2. 「Issues」(問題)として報告:

  3. 参考:「yad」コマンドについて:

  4. 参考: 「ロケール」について:

-

「まとめ へ」

「目次詳細 へ」

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -

「EndeavourOS」のインストールCD(ISO イメージ)で立ち上げ:

-

「Welcome」アプリの「Install」タブが表示:

→デフォルトは「英語」表示です

-

作成した「スクリプト」を実行:

-

(1). 「言語選択メニュー」が表示されます:

→表示してほしい「言語」を選びます

-

(2). 選択した言語で「Welcome」アプリが起動:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - --

「EndeavorOS」について:

-

  • 「EndeavourOS」は、インストールが楽で、「Welcome」アプリなどのツールで使い勝手をよくした「Arch Linux」です。 (リポジトリが「Arch Linux」に近いのが利点)

  • 「Arch Linux」を GUI 環境で使いたいときに、オススメできます。

  • 「EndeavourOS」は、共通の「ISO イメージ」を使い、色々なデスクトップ環境のインストールが行えます。

  • ライブ立ち上げで起動されるデスクトップ環境は「Xfce」です。
    なので、立ち上がる「Welcome」アプリも共通です。

-

公式サイト:

ENDEAVOUR OS

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ---

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). 「言語選択メニュー」が表示されます:

1_select-language-menu

表示してほしい「言語」を選びます

-

(2). 選択した言語で「Welcome」アプリが起動:

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 のフォークです。

シェル・スクリプトだけで「GUI メニュー」が作れます。

以前の「EndeavourOS」では、「yad」を使うためにパッチされた eos-yad が使われていました。現在はそのパッチも解消されて 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

ちなみに、「マカオ」は香港と同じ「広東語」みたい

-

漢字の書き方は、複雑な「繁体字」があって、その後に簡単な表記に変化した「簡体字」が広がったようです。 中国は広いし、時代背景で入ってきた時期が異なるので、地区によって差が生まれたみたい:

ちなみに、日本語の漢字は「繁体字」になりそう。

-

中国の人がわかりやすい(だろう? )メニュー項目に修正:
  • 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」(問題)として報告しました:

:

報告先:

PKGBUILDS/eos-translations/

-

「Issues」の発行:

"Welcome" app is not translated when launched with Live Image. #309

-

表題:

ライブイメージで起動すると、「Welcome」アプリが翻訳されません。

-


-

→後日、回答あり:

将来のイメージにて、ライブ立ち上げでの「Welcome」アプリの国際化に対応してもらえるみたい。
感謝 !!

-

-


まとめ

今回は、「EndeavourOS」のインストールCD 立ち上げで、「Welcome」アプリが翻訳されるようにトライして、報告しました。

たぶん、実現のやり方は変わると思いますが、さらに「EndeavourOS」が使いやすくなって行けばと思います。

-

-

-


-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-