Linux あれこれ

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

APT で入れた Boxes (42.2) のヘルプを、ビルドして日本語化〈H157-5〉

登録日: 2022-10-06 更新日: 2022-10-07

ホストOS の「Xubuntu 22.04.1 LTS」にて、APT で入れた Boxes (42.2) のヘルプのみをビルドして、
英語のヘルプを日本語化しました。

-

前回の投稿で試したことを、本番で試しました。

その備忘録です。

-

-

使用したPC は「ASUS Chromebox CN60 」で、プロセッサは第4世代の「Intel Celeron 2955U 」です。

UEFI 立ち上げ」のPC です。

-

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

-

-


目次

-

以前の作業:

PC (SSD) に「Xubuntu 22.04.1 LTS」をインストール〈H157〉

-

前回の作業で学んだことを、目的で探す:

  1. wget」コマンドでソースをダウンロード :

  2. 「Meson」を apt でインストール :

  3. 「Meson」を使ったビルドの練習 :

  4. 「Boxes」のヘルプの日本語化に失敗する件の解消 :

  5. XML ファイルから pot ファイルを作成する手順 :

  6. po ファイルを翻訳する時と、ビルドでエラーする時の留意点 :

  7. 「Boxes」の「注目のダウンロード」で、一覧(データベース)を新しくする手順 :

  8. 翻訳された po ファイルのあるフォルダを使って、ヘルプを日本語化する手順 :

  9. メニューに「yelp」(GNOME ヘルプブラウザ)を追加 :

  10. patch コマンド適用でエラーになるときの、回避例 :

  11. 「Meson」で、フォルダごとに開発するときの meson.build の一時的な修正 :

  12. 国際化(他の言語にも翻訳可能)対応の XML ファイルを作る時の留意点 :

-

今回の作業:

  1. 前回の投稿のクリア処理:

  2. 「gnome-boxes」をapt でインストール:

  3. 「Meson」をapt でインストール:

  4. 「Boxes」(42.2) のソースをダウンロード:

  5. 「Boxes」のヘルプに po ファイルを追加する、パッチファイルを作成:

  6. 「Boxes」のヘルプをビルドして日本語化:

  7. 「Boxes」のヘルプで気付いたこと:

  8. 「重要」だけど、手順で省略したこと:

-

「まとめ へ」

-

「目次詳細 へ」

-

-


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

Xubuntu 22.04.1 LTS のデスクトップ画面:

-

ホストOS を、「Xubuntu 22.04.1 LTS」に移行:

→デスクトップは以前の「Xubuntu 20.04.5 LTS」とほぼ同じ設定にしました。

個人的に「ブログを書く土台となる仮想環境が必要」なので、 シンプルな「Boxes」をインストールしました。

-

作業前の「ヘルプの操作説明」:

→これを見ると、page ファイルにある <app>Boxes</app> の指定は斜体文字の Boxes になります。なので中の文字を日本語に翻訳する場合は強調されないので、日本語化で(翻訳のルール違反ですが)単語を強調したい場合は「」で囲みました。

-

今回、ビルドして日本語化した「ヘルプの操作説明」:

→リンクで飛ぶので、操作性は良いです。左上の「Boxes」のアイコンは白いので見づらいですね。

-

-


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

Xubuntu」について:

-

Ubuntu の公式フレーバー(性格の違う兄弟?)です

Ubuntu ベースの、軽量な「Xfce」デスクトップ環境です。

個人的には使い慣れた環境です。

-

Ubuntu は、アプリによっては問題が出る「Wayland」セッションがデフォルトです。
Xubuntu は、中身は Ubuntu ですが「X11」で動いているので問題が少ないのがポイントです。

-


Xubuntu 22.04.1 LTS」の現在のバージョンを表示:

-

ホストOS のバージョン:

2022-10-07 現在

カーネル:

$ uname -r
5.15.0-48-generic

-

リリース:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"

→「22.04.1」にアップしています。

-

-


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

「Meson」について:

-

「Meson」は、最近の GNOME アプリのビルドでよく使われているビルド管理のツールです。

実行することで、アプリのフォルダごとにある(以前よりは、わかりやすい記述ができる)「meson.build」の指示に従って、必要な依存パッケージのチェックと、(「Make」よりも処理が速い)「Ninja」を使うための「build.ninja」ファイルを自動で生成してくれます。

-

「Meson」は、「Ninja」を使うための前処理を行うだけで、後のビルドは高速な「Ninja」に任せています。

アプリの開発ではビルドを何度も繰り返すので、少しでもビルドが速いと、トータルで大幅に開発工数を減らせます。待ち時間も減るので、そのアプリの開発に集中できます。

フォルダごとにビルドできるので、アプリを分割して、複数で分担しての開発もできます。

-

「Meson」で注意すべきは、ビルドに使うバージョンです:

プログラムで使われている関数は、廃止されたり、代わりに別の関数を使うとか、パラメータの省略ができなくなったとか、その後に仕様が変更されることがよくあります。

「Meson」は、アプリに含まれるバグの要因を少なくするため、バージョンが上がるごとに、プログラムの構文チェックが厳しくなっています。以前はビルドできたけど、最近のビルドだと警告が表示されたり、エラーで停止とかが起こっています。(そうしないと、いつまで経ってもアプリが改修されないので、難しいところ)

-

古いアプリをビルドする場合、以前のバージョンの「Meson」でビルドするか、エラーを回避する、プログラムの修正が必要です。

-

参考:

Mesonビルドシステムを使う

Mesonビルドシステムを使う(gettextによる国際化)

-

Meson が使われ始めた2018年当時の記事です。基本的なことは同じなので参考になります。(感謝)。

記述のコマンドは以前の形式ですが、今でも有効です。現在はコマンドの与え方が統一されて、形式が少し違います。

-

上記の記事中の「po ファイル」は、本体アプリ側の翻訳で使われている「po ファイル」を指します。

アプリの翻訳に関する、重要な記述ですが、今回とは別のファイルになります。

最終目的 →/usr/share/locale-langpack/ja/LC_MESSAGES/gnome-boxes.mo の生成

-

今回の投稿で対象としている「po ファイル」は、「help」フォルダに置かれた、ヘルプの XML の説明文(.page ファイル)に翻訳を反映されるために(ビルドの時だけ)使われる「po ファイル」です。

一時的に「.gmo」が作られ、ファイルに反映されます。置かれている場所も使われる目的も違います。

最終目的 →/usr/share/help/ja/gnome-boxes/*.page を日本語に修正

-

-


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

0. 前回の投稿で行った、 Boxes (42.3) のビルドで入ったパッケージを削除:

-

すでに何らかの「ボックス」(ゲストOS)を使用していたり、前回の投稿の、Boxes (42.3) のビルドを行っていなければ、こちらの作業は要りません。

-

動作を安定させるにも、リソースの面でも、使われていないパッケージやファイルがあるとマイナスなので、余計なものは削除して、極力、Boxes (42.3) をビルドする前に戻しました:

-

1). 「Boxes」を起動して、もし一覧に「ボックス」があるなら、すべての「ボックス」で右クリック→「削除」

これからも使う「ボックス」があるときは、こちらの作業は行いません。

-

2). ビルドすることで配置されたファイルを確認:

$ sudo find / -name gnome-boxes
:
/home/ubn/.cache/gnome-boxes
/home/ubn/.config/gnome-boxes
/home/ubn/ダウンロード/box/gnome-boxes-42.3/builddir/src/gnome-boxes
:
/usr/local/bin/gnome-boxes
/usr/local/lib/x86_64-linux-gnu/gnome-boxes
/usr/local/share/gnome-boxes
/usr/local/share/help/es/gnome-boxes
/usr/local/share/help/de/gnome-boxes
/usr/local/share/help/gl/gnome-boxes
/usr/local/share/help/ru/gnome-boxes
/usr/local/share/help/cs/gnome-boxes
/usr/local/share/help/ca/gnome-boxes
/usr/local/share/help/hu/gnome-boxes
/usr/local/share/help/da/gnome-boxes
/usr/local/share/help/uk/gnome-boxes
/usr/local/share/help/it/gnome-boxes
/usr/local/share/help/C/gnome-boxes
/usr/local/share/help/pt_BR/gnome-boxes
/usr/local/share/help/sv/gnome-boxes
/usr/local/share/help/eu/gnome-boxes
/usr/local/share/help/ja/gnome-boxes
/usr/local/share/help/pl/gnome-boxes
/usr/local/share/help/el/gnome-boxes
/usr/local/share/help/id/gnome-boxes
/usr/local/share/help/fr/gnome-boxes
/usr/local/share/help/ko/gnome-boxes
/usr/local/include/gnome-boxes
$ ls /usr/local/share/help/C/
gnome-boxes

$ ls /usr/local/share/help/ja/
gnome-boxes

→help フォルダは gnome-boxes のみしかありません。

-

3). 手動で削除する場合:

削除には、正式?な「項番 4).」のやり方もあります。

$ rm -r /home/ubn/.cache/gnome-boxes
$ rm -r /home/ubn/.config/gnome-boxes
$ sudo rm -r /usr/local/bin/gnome-boxes
$ sudo rm -r /usr/local/lib/x86_64-linux-gnu/gnome-boxes
$ sudo rm -r /usr/local/share/gnome-boxes
$ sudo rm -r /usr/local/share/help
$ sudo rm -r /usr/local/include/gnome-boxes

→面倒なときは、上段の 2つのフォルダだけでも良いです。

-


4). meson のコマンドを使って削除しました:

たぶん、「項番 3).」よりも多くのファイルを削除できます。

-

前回の投稿で、「ビルド後」に色々とファイルを修正したので、削除漏れしないように、ファイルの状態を「ビルド直後」の状態に戻してから、作業しました。ファイルの修正がなければ、処理はもっとスマートだったはずです。

-

(1). 退避していた meson.build を戻しました:

前回の投稿で、「help」フォルダでのビルドのテストを行っていなければ、こちらの作業は要りません。

$ cd ~/ダウンロード/box/gnome-boxes-42.3/help/

$ ls
C         ca  de  eu  hu  ja           meson.build-ORG  ru
LINGUAS   cs  el  fr  id  ko           pl               sv
builddir  da  es  gl  it  meson.build  pt_BR            uk

$ rm -r builddir
$ cp meson.build-ORG meson.build

$ rm -r meson.build-ORG

$ ls
C        ca  da  el  eu  gl  id  ja  meson.build  pt_BR  sv
LINGUAS  cs  de  es  fr  hu  it  ko  pl           ru     uk

-

(2). ビルドでインストールした「Boxes」アプリとその関連を削除:
$ cd ~/ダウンロード/box/gnome-boxes-42.3/

-

新しい書式が使えるか、試しに実行:

$ sudo meson uninstall -C builddir
:
usage: meson [-h]
             {setup,configure,dist,install,introspect,init,test,wrap,subprojects,help,rewrite,compile,devenv}
             ...
meson: error: unrecognized arguments: -C builddir

→和訳: エラー: 認識できない引数: -C builddir

-

(3). meson のビルドでインストールしたアプリの削除には、昔のコマンドを使いました:
$ cd ~/ダウンロード/box/gnome-boxes-42.3/builddir/
$ sudo ninja uninstall
:
: 省略

Deleted: /usr/local/share/help/ca/gnome-boxes
Deleted: /usr/local/share/help/ca
Deleted: /usr/local/share/help
Deleted: /usr/local/share/metainfo

Uninstall finished.

Deleted: 921
Failed: 4

Remember that files created by custom scripts have not been removed.

→和訳:

カスタム スクリプトによって作成されたファイルは削除されていないことに注意してください。

-

(4). ビルドで配置されたファイルを確認:
$ sudo find / -name gnome-boxes
:
/home/ubn/.cache/gnome-boxes
/home/ubn/.config/gnome-boxes
/home/ubn/ダウンロード/box/gnome-boxes-42.3/builddir/src/gnome-boxes  ←ソース

→どちらにしても、上段の 2つのファイルは残りました。

-

(5). 削除:
$ rm -r /home/ubn/.cache/gnome-boxes
$ rm -r /home/ubn/.config/gnome-boxes
$ sudo rm -r ~/ダウンロード/box/gnome-boxes-42.3

-

(6). ビルドで配置されたファイルを確認:
$ sudo find / -name gnome-boxes
$

→なし

-


5). ビルドしたときにインストールされた、依存パッケージを削除:

インストールした順(の逆)で削除:

-

(1). 依存パッケージの削除1 :
$ sudo apt remove libxml2-utils
:
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  kinit libgif7 libgrantlee-templates5 libkf5js5
  libkf5khtml-bin libkf5khtml-data libkf5khtml5
これを削除するには 'sudo apt autoremove' を利用してください。
以下のパッケージは「削除」されます:
  kdoctools5 khelpcenter libxml2-utils

→あれっ、「khelpcenter」は、「libxml2-utils」の依存でもあったみたい。

ただし、「xmllint」をインストールする時のメッセージにはなかったので、インストールされたのはそれ以前で、別アプリでの依存と思われます。

-

$ sudo apt autoremove

-

(2). 依存パッケージの削除2 :
$ sudo apt remove valac cmake libarchive-dev gettext appstream-util itstool libgtk-3-dev libgtk-vnc-2.0-dev libhandy-1-dev libosinfo-1.0-dev libsecret-1-dev libsoup2.4-dev libusb-1.0-0-dev libvirt-glib-1.0-dev libtracker-sparql-3.0-dev libwebkit2gtk-4.0-dev libspice-client-gtk-3.0-dev libgudev-1.0-dev gobject-introspection libgirepository1.0-dev
:    
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  cmake-data dh-elpa-helper gir1.2-gtk-vnc-2.0 gir1.2-gudev-1.0
  gir1.2-libosinfo-1.0 gir1.2-libvirt-glib-1.0
  gir1.2-spiceclientglib-2.0 gir1.2-spiceclientgtk-3.0
  gir1.2-tracker-3.0 icu-devtools libappstream-glib8
  libatk-bridge2.0-dev libatk1.0-dev libatspi2.0-dev
  libblkid-dev libbrotli-dev libcacard0 libcairo2-dev
  libdatrie-dev libdbus-1-dev libdeflate-dev libegl-dev
  libegl1-mesa-dev libepoxy-dev libexpat1-dev libffi-dev
  libfontconfig-dev libfontconfig1-dev libfreetype-dev
  libfreetype6-dev libfribidi-dev libgcrypt20-dev
  libgdk-pixbuf-2.0-dev libgjs0g libgl-dev libgladeui-2-13
  libgladeui-common libgles-dev libgles1 libglib2.0-dev
  libglib2.0-dev-bin libglvnd-core-dev libglvnd-dev libglx-dev
  libgmp-dev libgmpxx4ldbl libgnutls-dane0 libgnutls-openssl27
  libgnutls28-dev libgnutlsxx28 libgpg-error-dev
  libgraphite2-dev libgtk-vnc-2.0-0 libgvnc-1.0-0
  libgvnc-1.0-dev libharfbuzz-dev libharfbuzz-gobject0
  libice-dev libicu-dev libidn2-dev
  libjavascriptcoregtk-4.0-dev libjbig-dev libjpeg-dev
  libjpeg-turbo8-dev libjpeg8-dev libjson-glib-dev libjsoncpp25
  liblzma-dev libmount-dev libmozjs-91-0 libopengl-dev
  libosinfo-1.0-0 libp11-kit-dev libpango1.0-dev libpcre16-3
  libpcre2-dev libpcre2-posix3 libpcre3-dev libpcre32-3
  libpcrecpp0v5 libphodav-2.0-0 libphodav-2.0-common
  libpixman-1-dev libpng-dev libpng-tools libpsl-dev
  libpthread-stubs0-dev libpulse-dev librhash0 libsasl2-dev
  libselinux1-dev libsepol-dev libsm-dev
  libspice-client-glib-2.0-8 libspice-client-glib-2.0-dev
  libspice-client-gtk-3.0-5 libspice-protocol-dev
  libsqlite3-dev libtasn1-6-dev libtasn1-doc libthai-dev
  libtiff-dev libtiffxx5 libtracker-sparql-3.0-0 libudev-dev
  libunbound8 libusb-1.0-doc libusbredirhost1
  libusbredirparser1 libvala-0.56-0 libvalacodegen-0.56-0
  libvirt-dev libvirt-glib-1.0-0 libvirt-glib-1.0-data libvirt0
  libwayland-bin libwayland-dev libx11-dev libxau-dev
  libxcb-render0-dev libxcb-shm0-dev libxcb1-dev
  libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev
  libxen-dev libxencall1 libxendevicemodel1 libxenevtchn1
  libxenforeignmemory1 libxengnttab1 libxenhypfs1
  libxenmisc4.16 libxenstore4 libxentoolcore1 libxentoollog1
  libxext-dev libxfixes-dev libxft-dev libxi-dev
  libxinerama-dev libxkbcommon-dev libxml2-dev libxrandr-dev
  libxrender-dev libxtst-dev nettle-dev osinfo-db
  pango1.0-tools pkg-config python3-libxml2 python3-markdown
  python3-pygments spice-client-glib-usb-acl-helper uuid-dev
  valac-0.56-vapi valac-bin wayland-protocols x11proto-dev
  xorg-sgml-doctools xtrans-dev zlib1g-dev
これを削除するには 'sudo apt autoremove' を利用してください。
以下のパッケージは「削除」されます:
  appstream-util cmake gettext gobject-introspection itstool
  libarchive-dev libgirepository1.0-dev libgtk-3-dev
  libgtk-vnc-2.0-dev libgudev-1.0-dev libhandy-1-dev
  libosinfo-1.0-dev libsecret-1-dev libsoup2.4-dev
  libspice-client-gtk-3.0-dev libtracker-sparql-3.0-dev
  libusb-1.0-0-dev libvirt-glib-1.0-dev libwebkit2gtk-4.0-dev
  valac

-

$ sudo apt autoremove

-

(3). 再起動:
$ reboot

-

(4). 最新の「Boxes」のビルドで問題となる「libsoup」を確認:
$ apt list libsoup*
:
libsoup-3.0-0/jammy-updates 3.0.7-0ubuntu1 amd64
libsoup-3.0-common/jammy-updates,jammy-updates 3.0.7-0ubuntu1 all
libsoup-3.0-dev/jammy-updates 3.0.7-0ubuntu1 amd64
libsoup-3.0-doc/jammy-updates,jammy-updates 3.0.7-0ubuntu1 all
libsoup-3.0-tests/jammy-updates 3.0.7-0ubuntu1 amd64
libsoup-gnome2.4-1/jammy,now 2.74.2-3 amd64 [インストール済み、自動]
libsoup-gnome2.4-dev/jammy 2.74.2-3 amd64
libsoup2.4-1/jammy,now 2.74.2-3 amd64 [インストール済み、自動]
llibsoup2.4-cil-dev/jammy 2.42.2+git20151219-3 amd64
libsoup2.4-cil/jammy 2.42.2+git20151219-3 amd64
libsoup2.4-common/jammy,jammy,now 2.74.2-3 all [インストール済み、自動]
libsoup2.4-dev/jammy 2.74.2-3 amd64
libsoup2.4-doc/jammy,jammy 2.74.2-3 all
libsoup2.4-tests/jammy 2.74.2-3 amd64

→「libsoup-3.0」が使われていないことを確認。

-

-


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

1. 「gnome-boxes」を apt でインストール:

-

ホストOS の「Xubuntu 22.04.1 LTS」で作業:

-

1). システム更新:

$ sudo apt update
$ sudo apt upgrade

-

2). 「gnome-boxes」のインストール:

$ sudo apt install gnome-boxes
:
以下のパッケージが新たにインストールされます:
  cpu-checker dmeventd genisoimage gnome-boxes
  ibverbs-providers ipxe-qemu ipxe-qemu-256k-compat-efi-roms
  libaio1 libcacard0 libdaxctl1 libdevmapper-event1.02.1
  libexempi8 libfdt1 libgfapi0 libgfrpc0 libgfxdr0 libgif7
  libglusterfs0 libgsf-1-114 libgsf-1-common libgtk-vnc-2.0-0
  libgvnc-1.0-0 libibverbs1 libiscsi7 liblvm2cmd2.03 libndctl6
  libosinfo-1.0-0 libosinfo-bin libphodav-2.0-0
  libphodav-2.0-common libpmem1 libpmemobj1 librados2 librbd1
  librdmacm1 libslirp0 libspice-client-glib-2.0-8
  libspice-client-gtk-3.0-5 libspice-server1
  libtracker-sparql-3.0-0 libusbredirhost1 libusbredirparser1
  libvirglrenderer1 libvirt-daemon libvirt-daemon-driver-qemu
  libvirt-glib-1.0-0 libvirt-glib-1.0-data libvirt0
  libxml2-utils lvm2 msr-tools osinfo-db ovmf qemu-block-extra
  qemu-system-common qemu-system-data qemu-system-gui
  qemu-system-x86 qemu-utils seabios
  spice-client-glib-usb-acl-helper thin-provisioning-tools
  tracker tracker-extract tracker-miner-fs

-

3). バージョンの確認:

$ apt list gnome-boxes
:
gnome-boxes/jammy-updates,now 42.2-0ubuntu1 amd64 [インストール済み]

-

$ gnome-boxes --version
42.2

→「42.2」です。

-

4). 最新の「Boxes」のビルドで問題となる「libsoup」の確認:

$ apt list libsoup*
:
libsoup-3.0-0/jammy-updates 3.0.7-0ubuntu1 amd64
libsoup-3.0-common/jammy-updates,jammy-updates 3.0.7-0ubuntu1 all
libsoup-3.0-dev/jammy-updates 3.0.7-0ubuntu1 amd64
libsoup-3.0-doc/jammy-updates,jammy-updates 3.0.7-0ubuntu1 all
libsoup-3.0-tests/jammy-updates 3.0.7-0ubuntu1 amd64
libsoup-gnome2.4-1/jammy,now 2.74.2-3 amd64 [インストール済み、自動]
libsoup-gnome2.4-dev/jammy 2.74.2-3 amd64
libsoup2.4-1/jammy,now 2.74.2-3 amd64 [インストール済み、自動]
libsoup2.4-cil-dev/jammy 2.42.2+git20151219-3 amd64
libsoup2.4-cil/jammy 2.42.2+git20151219-3 amd64
libsoup2.4-common/jammy,jammy,now 2.74.2-3 all [インストール済み、自動]
libsoup2.4-dev/jammy 2.74.2-3 amd64
libsoup2.4-doc/jammy,jammy 2.74.2-3 all
libsoup2.4-tests/jammy 2.74.2-3 amd64

→「libsoup-3.0」が使われていないことを確認。

-


5). 「Boxes」の起動:

メニュー →開発 →「Boxes」

-

6). インストール後の最初の起動時のみ、「ようこそ」画面が表示:

→閉じると、次回から表示されません。

「Boxes」をアンインストールして、インストールしても二度と表示されないので注意。

-

7). 今回は、「ようこそ」画面は表示されず、すぐにサムネール一覧画面が表示:

→ボックスが何も作成されていないときの表示です。

-

8). ヘルプの「操作説明」の表示を確認:

右上の「横3本線」ボタン→「ヘルプ」で、「ヘルプ」画面が表示:

-

英語の「操作説明」画面が表示されました:

→上記が表示されず、代わりに「ヘルプセンター」(KHelpCenter) 画面が表示されるときは、「こちら

-

-


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

2. 「help」フォルダだけをビルドして、ヘルプを日本語化する準備:

-

ヘルプの po ファイルを作成して翻訳、「help」フォルダでビルドして、

日本語の page ファイル群を生成しました:

-

1). 使用するツールのインストール:

$ sudo apt install patch unzip wget gettext
:
patch はすでに最新バージョン (2.7.6-7build2) です。
unzip はすでに最新バージョン (6.0-26ubuntu3) です。
wget はすでに最新バージョン (1.21.2-2ubuntu1) です。
:
以下のパッケージが新たにインストールされます:
  gettext

-

「its ツール」のインストール:

$ sudo apt install itstool
:
以下のパッケージが新たにインストールされます:
  itstool python3-libxml2

-

2). 作業用フォルダの作成:

$ mkdir -p ~/ダウンロード/box-help/

-

-


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

3. 「Meson」を apt でインストール:

-

pip3 でもインストールできますが、バージョン管理が面倒だし、

管理者権限でも「Meson」と「Ninja」のコマンドを使いたいので、apt でインストールしました。

-

1). Meson のインストール:

$ sudo apt install meson
:
以下のパッケージが新たにインストールされます:
  binutils binutils-common binutils-x86-64-linux-gnu
  build-essential dpkg-dev fakeroot g++ g++-11 gcc gcc-11
  libalgorithm-diff-perl libalgorithm-diff-xs-perl
  libalgorithm-merge-perl libasan6 libatomic1 libbinutils
  libc-dev-bin libc-devtools libc6-dev libcc1-0 libcrypt-dev
  libctf-nobfd0 libctf0 libdpkg-perl libfakeroot
  libfile-fcntllock-perl libgcc-11-dev libitm1 liblsan0
  libnsl-dev libstdc++-11-dev libtirpc-dev libtsan0 libubsan1
  linux-libc-dev lto-disabled-list make manpages-dev meson
  ninja-build python3-distutils python3-lib2to3 rpcsvc-proto

→「ninja-build」も依存でインストールされました。

-

2). Meson がインストールされたかの確認:

$ apt search meson
:
meson/jammy,jammy,now 0.61.2-1 all [インストール済み]
  high-productivity build system

→和訳: 生産性の高いビルドシステム

-

3). ninja がインストールされたかの確認:

$ apt search ninja-build
:
ninja-build/jammy,now 1.10.1-1 amd64 [インストール済み、自動]
  small build system closest in spirit to Make

→和訳: Make に最も近い小さなビルドシステム

-

4). 確認:

-

(1). 実行ファイルのパスの確認:
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

-

(2). 実行ファイルの場所の確認:
$ which meson
/usr/bin/meson

$ which ninja
/usr/bin/ninja

-

(3). バージョンの確認:
$ meson --version
0.61.2

$ ninja --version
1.10.1

-

(4). 管理者権限で使えるかを確認:
$ sudo meson --version
0.61.2

$ sudo ninja --version
1.10.1

-

-


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

4. 「Boxes」(42.2) のソースをダウンロード:

-

GNOME/gnome-boxes

-

APT で入れた「Boxes」と同じバージョン: 「42.2」

ダウンロード:

-

1). 「Boxes」のソースをダウンロード:

$ cd ~/ダウンロード/box-help/
$ wget https://github.com/GNOME/gnome-boxes/archive/refs/tags/42.2.tar.gz
:
2022-09-30 18:11:20 (4.26 MB/s) - ‘42.2.tar.gz’ へ保存終了 [2044636]

-

$ ls
42.2.tar.gz

-

2). 展開:

$ cd ~/ダウンロード/box-help/
$ tar -zxvf 42.2.tar.gz

-

$ ls -1
42.2.tar.gz
gnome-boxes-42.2

-

$ cd ~/ダウンロード/box-help/gnome-boxes-42.2/
$ ls
COPYING       README.md  gnome-boxes.doap   po           vapi
HACKING.md    build-aux  help               src
NEWS          copyright  meson.build        subprojects
README.logos  data       meson_options.txt  tests

→「meson.build」ファイルがあるので、「meson」を使ってビルドするアプリです。

-

-


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

5. 「Boxes」のヘルプに日本語の「po ファイル」を追加する、パッチファイルを作成:

-


1). パッチファイルの作成:

$ cd ~/ダウンロード/box-help/gnome-boxes-42.2/
$ mousepad help-ja.patch

↓ 連続して、区切りは無視して、すべて貼り付けてください:

  長いので、マウスで先頭の「diff」をダブルクリックして選び、
  Shift キーを押したまま、下矢印「↓」を押して選択すると良いです

diff -Naur a/help/LINGUAS b/help/LINGUAS
--- a/help/LINGUAS  2022-10-01 16:18:42.804121190 +0900
+++ b/help/LINGUAS  2022-10-01 17:19:37.092275469 +0900
@@ -11,6 +11,7 @@
 hu
 id
 it
+ja
 ko
 pl
 pt_BR


diff -Naur a/help/ja/ja.po b/help/ja/ja.po
--- a/help/ja/ja.po 1970-01-01 09:00:00.000000000 +0900
+++ b/help/ja/ja.po 2022-10-01 18:48:02.309323000 +0900
@@ -0,0 +1,1764 @@
+# Japanese translation for gnome-boxes.
+# Copyright (C) 2014 gnome-boxes's COPYRIGHT HOLDER
+# This file is distributed under the same license as the gnome-boxes package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2022-09-30 18:47+0900\n"
+"PO-Revision-Date: 2022-09-30 18:57+0900\n"
+"Last-Translator: ubn <ubn@ubn-box>\n"
+"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ja\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
+msgctxt "_"
+msgid "translator-credits"
+msgstr "translator-credits"
+
+#. (itstool) path: credit/name
+#: 3d-acceleration.page:10 create.page:17 interface.page:23
+msgid "Pranali Deshmukh"
+msgstr "Pranali Deshmukh"
+
+#. (itstool) path: credit/years
+#: 3d-acceleration.page:12 create.page:19 interface.page:25
+msgid "2020"
+msgstr "2020"
+
+#. (itstool) path: info/desc
+#: 3d-acceleration.page:17
+msgid "Enable 3D Acceleration for your box."
+msgstr "ボックスの 3D アクセラレーションを有効にします。"
+
+#. (itstool) path: page/title
+#: 3d-acceleration.page:20
+msgid "3D Acceleration"
+msgstr "3D アクセラレーション"
+
+#. (itstool) path: page/p
+#: 3d-acceleration.page:29
+msgid ""
+"Boxes now gives you the ability to enable or disable 3D acceleration for "
+"your VMs if both guest and host support it. This should allow you to improve "
+"the performance of your everyday graphic-hungry applications and games. It "
+"uses <sys>Virgil</sys> to create a virtual 3D capable graphics card for your "
+"QEMU virtual machines."
+msgstr ""
+"Boxes は、ゲストとホストの両方が「3D アクセラレーション」を"
+"サポートしている場合に、VM の 3D アクセラレーションを有効または"
+"無効にする機能を提供するようになりました。これにより、グラフィック"
+"を大量に消費する日常のアプリケーションやゲームのパフォーマンスを"
+"向上させることができます。 <sys>Virgil</sys> を使用して、QEMU 仮想"
+"マシン用の仮想 3D 対応グラフィックカードを作成します。"
+
+#. (itstool) path: note/p
+#: 3d-acceleration.page:35
+msgid "Currently only Linux guests support 3D acceleration."
+msgstr "現在、Linux ゲストのみが 3D アクセラレーションをサポートしています。"
+
+#. (itstool) path: steps/title
+#: 3d-acceleration.page:39
+msgid "To enable 3D Acceleration in a box:"
+msgstr "ボックスで 3D アクセラレーションを有効にするには:"
+
+#. (itstool) path: media/span
+#: 3d-acceleration.page:42 edit-domain.page:42 interface.page:102
+#: keystrokes.page:29 prop-system.page:29 prop-trouble.page:31
+#: shared-folders.page:29 snapshot-create.page:41 snapshot-delete.page:28
+#: snapshot-rename.page:36 snapshot-revert.page:36 usb-redirection.page:48
+msgid "settings"
+msgstr "設定"
+
+#. (itstool) path: item/p
+#: 3d-acceleration.page:40 edit-domain.page:40 shared-folders.page:27
+msgid ""
+"Right-click on the box in the collection view and select <gui>Preferences</"
+"gui>, or click the menu (<_:media-1/>) button in the header bar and select "
+"<gui>Preferences</gui>."
+msgstr ""
+"コレクション ビュー(サムネール一覧)のボックスを右クリックして"
+"<gui>「設定」</gui> を選択するか、ヘッダー バーのメニュー (<_:media-1/>) ボタン"
+"をクリックして <gui>「設定」</gui> を選択します。"
+
+#. (itstool) path: item/p
+#: 3d-acceleration.page:44
+msgid ""
+"The <link xref=\"interface#preferences\">Preferences view</link> opens, with "
+"the <gui>Resources</gui> tab selected by default."
+msgstr ""
+"<link xref=\"interface#preferences\">設定ビュー</link> が、"
+"デフォルトで<gui>「リソース」</gui>タブが選択された状態で開きます。"
+
+#. (itstool) path: item/p
+#: 3d-acceleration.page:46
+msgid ""
+"If 3D Acceleration is supported, the <gui>3D Acceleration</gui> switch would "
+"appear here. By default, it is disabled. To enable 3D Acceleration, simply "
+"toggle the switch next to it to <gui style=\"switch\">ON</gui>."
+msgstr ""
+"3D アクセラレーションがサポートされている場合、"
+"<gui>「3D アクセラレーション」</gui> スイッチがここに表示されます。"
+"デフォルトでは無効になっています。3D アクセラレーション"
+"を有効にするには、その横にあるスイッチを"
+"<gui style=\"switch\">「オン」</gui> に切り替えます。"
+
+#. (itstool) path: note/p
+#: 3d-acceleration.page:52
+msgid ""
+"When you enable 3D Acceleration for a virtual machine that is already "
+"running, the changes apply after you restart the box."
+msgstr ""
+"すでに実行中の仮想マシンで 3D アクセラレーションを有効にすると、"
+"ボックスの再起動後に変更が適用されます。"
+
+#. (itstool) path: credit/name
+#: backup.page:10 create.page:12 delete.page:9 disk-images.page:9 index.page:20
+#: interface.page:13 keystrokes.page:10 prop-system.page:11
+#: prop-trouble.page:11 search.page:10 shutdown.page:11 snapshot-create.page:12
+#: snapshot-delete.page:11 snapshot-rename.page:11 snapshot-revert.page:12
+#: supported-protocols.page:10 system-requirements.page:16
+#: usb-redirection.page:19 virtualization.page:9
+#: what-is-a-virtual-machine.page:15 why-do-i-need-virtual-machine.page:16
+msgid "Michael Hill"
+msgstr "Michael Hill"
+
+#. (itstool) path: credit/years
+#: backup.page:12 interface.page:20 shared-folders.page:12
+#: snapshot-create.page:19 snapshot-revert.page:19 usb-redirection.page:26
+msgid "2018"
+msgstr "2018"
+
+#. (itstool) path: info/desc
+#: backup.page:17
+msgid "Write the configuration of a box to a file to back it up or move it."
+msgstr "ボックスの設定をファイルに書き込み、バックアップまたは移動します。"
+
+#. (itstool) path: page/title
+#: backup.page:20
+msgid "Back up or move a box"
+msgstr "ボックスをバックアップまたは移動"
+
+#. (itstool) path: page/p
+#: backup.page:22
+msgid ""
+"Two components are required to back up or move a box: the image file, and "
+"the configuration of the box saved as an XML file. Saving the configuration "
+"requires the <cmd>virsh</cmd> command from the <app>libvirt</app> or "
+"<app>libvirt-client</app> package."
+msgstr ""
+"ボックスをバックアップまたは移動するには、「イメージファイル」と"
+"ボックスの設定を保存した「XML ファイル」の 2つのコンポーネント"
+"が必要です。設定を保存するには、<app>libvirt</app> または"
+"<app>libvirt-client(s)</app> パッケージをインストールしたら使える"
+"<cmd>virsh</cmd> コマンドが必要です。"
+
+#. (itstool) path: item/p
+#: backup.page:29
+msgid "In a terminal window, type"
+msgstr "端末画面で、次のように入力します"
+
+#. (itstool) path: item/code
+#: backup.page:30
+#, no-wrap
+msgid "virsh dumpxml Name &gt; Name.xml"
+msgstr "virsh dumpxml Name &gt; Name.xml"
+
+#. (itstool) path: item/p
+#: backup.page:31
+msgid ""
+"where <cmd>Name</cmd> is the <app>Boxes</app> name, or <em>domain</em>, of "
+"your box. To list the domains seen by <app>Boxes</app>, type"
+msgstr ""
+"ここで、<cmd>Name</cmd> は <app>Boxes</app> で使用される名前、"
+"または <em>ドメイン名</em> です。<app>Boxes</app> で表示される"
+"ドメイン名を一覧表示するには、次のように入力します"
+
+#. (itstool) path: item/code
+#: backup.page:33
+#, no-wrap
+msgid "virsh -c qemu:///session list --all"
+msgstr "virsh -c qemu:///session list --all"
+
+#. (itstool) path: item/p
+#: backup.page:36
+msgid ""
+"Copy the <cmd>.xml</cmd> file you just created to your backup or temporary "
+"storage location."
+msgstr ""
+"作成した <cmd>.xml</cmd> ファイルをバックアップ"
+"または一時的な保存場所にコピーします。"
+
+#. (itstool) path: item/p
+#: backup.page:40
+msgid ""
+"Copy the image file to your backup or temporary storage location. It will be "
+"a file with the domain name of your box and ending in <cmd>.qcow2</cmd>, "
+"located in <file>~/.local/share/gnome-boxes/images/</file>."
+msgstr ""
+"イメージ ファイルをバックアップまたは一時的な保存場所にコピーします。"
+"これは、ボックスのドメイン名が、<cmd>.qcow2</cmd> で終わるファイルで、"
+"<file>「~/.local/share/gnome-boxes/images/」</file> にあります。"
+
+#. (itstool) path: section/title
+#: backup.page:48
+msgid "Restore a box"
+msgstr "ボックスを復元"
+
+#. (itstool) path: section/p
+#: backup.page:50
+msgid ""
+"The saved box can be installed into <app>Boxes</app> on a new host machine, "
+"or on the original machine as part of a disaster recovery scenario."
+msgstr ""
+"保存したボックスは、新しいホストマシンの <app>Boxes</app> に"
+"インストールすることも、障害時の回復シナリオの一部として"
+"元のマシンにインストールすることもできます。"
+
+#. (itstool) path: item/p
+#: backup.page:56
+msgid "Exit <app>Boxes</app>."
+msgstr "<app>Boxes</app>を終了します。"
+
+#. (itstool) path: item/p
+#: backup.page:59
+msgid ""
+"Copy the <cmd>.qcow2</cmd> image file from your backup or temporary storage "
+"location into the <file>~/.local/share/gnome-boxes/images/</file> directory "
+"in the new location."
+msgstr ""
+"「<cmd>.qcow2</cmd> イメージ ファイル」をバックアップ、"
+"または一時的な保存場所から新しい場所の"
+"<file>「~/.local/share/gnome-boxes/images/」</file>"
+"ディレクトリにコピーします。"
+
+#. (itstool) path: item/p
+#: backup.page:64
+msgid ""
+"In a terminal window, navigate to the directory or device containing the "
+"<cmd>.xml</cmd> file you stored. Type"
+msgstr ""
+"保存した「<cmd>.xml</cmd> ファイル」を含むディレクトリまたは"
+"デバイスに移動するには、端末画面で、次のように入力します"
+
+#. (itstool) path: item/code
+#: backup.page:66
+#, no-wrap
+msgid "virsh define Name.xml"
+msgstr "virsh define Name.xml"
+
+#. (itstool) path: item/p
+#: backup.page:67
+msgid "where <cmd>Name</cmd> is the domain of your box."
+msgstr "ここで、<cmd>Name</cmd> はボックスのドメイン名です。"
+
+#. (itstool) path: item/p
+#: backup.page:70
+msgid "Launch <app>Boxes</app>."
+msgstr "<app>Boxes</app> を起動します。"
+
+#. (itstool) path: credit/years
+#: create.page:14 interface.page:15 search.page:12 system-requirements.page:18
+#: system-requirements.page:23 system-requirements.page:28
+#: usb-redirection.page:21 what-is-a-virtual-machine.page:17
+#: why-do-i-need-virtual-machine.page:18
+msgid "2013"
+msgstr "2013"
+
+#. (itstool) path: credit/name
+#: create.page:22 edit-domain.page:10 interface.page:18 shared-folders.page:10
+#: snapshot-create.page:17 snapshot-revert.page:17 usb-redirection.page:24
+msgid "Felipe Borges"
+msgstr "Felipe Borges"
+
+#. (itstool) path: credit/years
+#: create.page:24
+msgid "2022"
+msgstr "2022"
+
+#. (itstool) path: info/desc
+#: create.page:29
+msgid "Click <gui style=\"button\">+</gui> to begin creating a box."
+msgstr "<gui style=\"button\">「+」</gui> をクリックして、ボックスの作成を開始します。"
+
+#. (itstool) path: page/title
+#: create.page:32
+msgid "Create a box"
+msgstr "ボックスを作成"
+
+#. (itstool) path: page/p
+#: create.page:34
+msgid ""
+"When <app>Boxes</app> is launched, the collection view opens, displaying "
+"your existing boxes. If you haven't yet created a box, an introductory "
+"message is displayed."
+msgstr ""
+"<app>Boxes</app> を起動すると、コレクション ビュー(サムネール一覧)が開き、"
+"既存のボックスが表示されます。ボックスをまだ作成していない場合は、"
+"紹介メッセージが表示されます。"
+
+#. (itstool) path: item/p
+#: create.page:39
+msgid ""
+"Click <gui style=\"button\">+</gui> in the top left corner to launch the box "
+"creation assistant. Create a virtual machine from:"
+msgstr ""
+"左上隅の<gui style=\"button\">「+」</gui>をクリックして、"
+"ボックス作成アシスタントを起動し、以下から仮想マシンを作成します:"
+
+#. (itstool) path: item/p
+#: create.page:43
+msgid ""
+"An operating system image file in your home folder detected by <app>Boxes</"
+"app>."
+msgstr ""
+"<app>Boxes</app> によって検出されたホーム フォルダ内の OS のイメージ ファイル。"
+
+#. (itstool) path: item/p
+#: create.page:44
+msgid "A selected local ISO file (if not found automatically above)."
+msgstr "ローカルの ISO ファイル (上記で自動的に見つからない場合)。"
+
+#. (itstool) path: item/p
+#: create.page:45
+msgid "An installation media on a CD/DVD/USB drive."
+msgstr "CD/DVD/USB ドライブのインストール メディア。"
+
+#. (itstool) path: item/p
+#: create.page:46
+msgid ""
+"A supported operating system available on the <gui>Operating System "
+"Download</gui> page"
+msgstr ""
+"<gui>オペレーティング システムのダウンロード</gui> ページで"
+"入手可能な、サポートされている OS"
+
+#. (itstool) path: note/p
+#: create.page:50
+msgid ""
+"If your installation media supports <gui>Express Installation</gui>, the "
+"installation can proceed without further input."
+msgstr ""
+"インストールメディアが <gui>「かんたん インストール」</gui> をサポート"
+"している場合、インストールはそれ以上の入力なしで続行できます。"
+
+#. (itstool) path: item/p
+#: create.page:55
+msgid ""
+"After selecting one of the installations method above, continue to the "
+"<gui>Review and Create</gui> page where you can adjust memory, disk capacity "
+"and other preferences for your box."
+msgstr ""
+"上記のインストール方法のいずれかを選択したら、"
+"<gui>「確認と作成」</gui> 画面に進み、ボックスのメモリ、"
+"ディスク容量、およびその他の設定を調整できます。"
+
+#. (itstool) path: item/p
+#: create.page:58
+msgid "Click <gui style=\"button\">Create</gui>."
+msgstr "<gui style=\"button\">「作成」</gui>をクリックします。"
+
+#. (itstool) path: page/p
+#: create.page:61
+msgid "The collection view returns, and the installation of the box begins."
+msgstr "コレクションビュー(サムネール一覧)に戻り、ボックスのインストールが開始されます。"
+
+#. (itstool) path: credit/years
+#: delete.page:11 disk-images.page:11 index.page:22 prop-system.page:13
+#: prop-trouble.page:13 shortcuts.page:13 shutdown.page:13
+#: snapshot-create.page:14 snapshot-delete.page:13 snapshot-rename.page:13
+#: snapshot-revert.page:14 virtualization.page:11
+msgid "2014"
+msgstr "2014"
+
+#. (itstool) path: info/desc
+#: delete.page:16
+msgid "Remove a box that you no longer need."
+msgstr "不要になったボックスを削除します。"
+
+#. (itstool) path: page/title
+#: delete.page:19
+msgid "Delete a box"
+msgstr "ボックスを削除"
+
+#. (itstool) path: page/p
+#: delete.page:21
+msgid ""
+"When a box is no longer needed, it can be deleted from <app>Boxes</app>."
+msgstr ""
+"ボックスが不要になったら、<app>Boxes</app> から削除できます。"
+
+#. (itstool) path: item/p
+#: delete.page:24
+msgid "In the collection view, right click the box to be deleted."
+msgstr "コレクションビュー(サムネール一覧)で、削除するボックスを右クリックします。"
+
+#. (itstool) path: item/p
+#: delete.page:25
+msgid "Click the <gui style=\"button\">Delete</gui> menu option."
+msgstr "<gui style=\"button\">「削除」</gui> メニューをクリックします。"
+
+#. (itstool) path: page/title
+#: disk-images.page:19
+msgid "Where does Boxes store disk images?"
+msgstr "Boxes はどこにディスク イメージを保存しますか?"
+
+#. (itstool) path: page/p
+#: disk-images.page:21
+msgid ""
+"By default, <app>Boxes</app> stores disk images in the folder <file>~/.local/"
+"share/gnome-boxes/images/</file>. If you are using other software that "
+"interfaces with libvirt, such as <app>virt-manager</app>, then <app>Boxes</"
+"app> will also read from the folder that software uses to store its images."
+msgstr ""
+"デフォルトでは、<app>Boxes</app> はディスク イメージを"
+"<file>「~/.local/share/gnome-boxes/images/」</file> フォルダに保存します。"
+"<app>「virt-manager」</app> など、libvirt と連携する他のソフトウェアを使用"
+"している場合、<app>Boxes</app> はソフトウェアがイメージの保存に使用"
+"するフォルダからも読み取ります。"
+
+#. (itstool) path: credit/years
+#: edit-domain.page:12
+msgid "2021"
+msgstr "2021"
+
+#. (itstool) path: info/desc
+#: edit-domain.page:17
+msgid "Edit advanced configurations of your box."
+msgstr "ボックスの詳細設定を編集します。"
+
+#. (itstool) path: page/title
+#: edit-domain.page:20
+msgid "Edit the Libvirt domain XML configuration of a box"
+msgstr "ボックスの Libvirt ドメイン設定 XML を編集"
+
+#. (itstool) path: page/p
+#: edit-domain.page:30
+msgid ""
+"Boxes enables you to manually edit the <sys>Libvirt</sys> domain "
+"configuration XML of your box. You can achieve specific setups which are not "
+"exposed in the Boxes interface and neither supported by the Boxes developers."
+msgstr ""
+"Boxes では、ボックスの <sys>Libvirt</sys> ドメイン設定 XML を"
+"手動で編集できます。Boxes インターフェースで公開されておらず、"
+"Boxes 開発者によってサポートされていない特定のセットアップを"
+"実現できます。"
+
+#. (itstool) path: note/p
+#: edit-domain.page:35
+msgid ""
+"See the Libvirt domain configuration format in documentation at https://"
+"libvirt.org/format.html"
+msgstr ""
+"「https://libvirt.org/format.html」のドキュメントで「Libvirt ドメイン設定」"
+"の形式を参照してください。"
+
+#. (itstool) path: steps/title
+#: edit-domain.page:39
+msgid "To edit the Libvirt XML configuration of a box:"
+msgstr "ボックスの Libvirt XML 設定を編集するには:"
+
+#. (itstool) path: item/p
+#: edit-domain.page:44 prop-system.page:31 prop-trouble.page:33
+msgid "Click the <gui>Resources</gui> tab."
+msgstr "<gui>「リソース」</gui> タブをクリックします。"
+
+#. (itstool) path: item/p
+#: edit-domain.page:45 prop-trouble.page:34
+msgid "Scroll to the <gui>Configuration</gui> section."
+msgstr "<gui>「設定」</gui> セクションまでスクロールします。"
+
+#. (itstool) path: item/p
+#: edit-domain.page:46
+msgid ""
+"Click the <gui style=\"button\">Edit Configuration</gui> button to open the "
+"configuration in a text editor."
+msgstr ""
+"<gui style=\"button\">「設定を編集」</gui> ボタンをクリックして、 "
+ "テキストエディタで設定を開きます。 "
+
+#. (itstool) path: item/p
+#: edit-domain.page:48
+msgid "Edit the XML configuration and <gui style=\"button\">Save</gui>."
+msgstr "XML 設定を編集し、<gui style=\"button\">「保存」</gui> をクリックします。"
+
+#. (itstool) path: item/p
+#: edit-domain.page:49
+msgid ""
+"If the virtual machine which has been edited is already running, the changes "
+"will take effect after restarting the running virtual machine."
+msgstr ""
+"編集された仮想マシンがすでに実行されている場合、変更は実行中"
+"の仮想マシンを再起動した後に有効になります。"
+
+#. (itstool) path: note/p
+#: edit-domain.page:54
+msgid ""
+"Before editing the box configuration, Boxes will suggest that you create a "
+"snapshot. Snapshots allow you to revert your changes in case of a mistake."
+msgstr ""
+"ボックスの設定を編集する前に、ボックスのスナップショットを"
+"作成することを提案します。 スナップショットを使用すると、"
+"間違いが発生した場合に変更を元に戻すことができます。"
+
+#. (itstool) path: info/title
+#: index.page:7
+msgctxt "link:trail"
+msgid "Boxes"
+msgstr "Boxes"
+
+#. (itstool) path: info/title
+#: index.page:8
+msgctxt "link"
+msgid "Boxes"
+msgstr "Boxes"
+
+#. (itstool) path: info/title
+#: index.page:9
+msgctxt "text"
+msgid "Boxes"
+msgstr "Boxes"
+
+#. (itstool) path: credit/name
+#: index.page:15 supported-protocols.page:15 system-requirements.page:11
+#: usb-redirection.page:14 what-is-a-virtual-machine.page:10
+#: why-do-i-need-virtual-machine.page:11
+msgid "Baptiste Mille-Mathias"
+msgstr "Baptiste Mille-Mathias"
+
+#. (itstool) path: credit/years
+#: index.page:17 supported-protocols.page:12 supported-protocols.page:17
+#: system-requirements.page:13 usb-redirection.page:16
+#: what-is-a-virtual-machine.page:12 why-do-i-need-virtual-machine.page:13
+msgid "2012"
+msgstr "2012"
+
+#. (itstool) path: info/desc
+#: index.page:27
+msgid "Learn to set up local virtual machines."
+msgstr "ローカル仮想マシンのセットアップについて学びます。"
+
+#. (itstool) path: page/title
+#: index.page:30
+msgid "<_:media-1/> Boxes"
+msgstr "<_:media-1/> Boxes"
+
+#. (itstool) path: page/p
+#: index.page:35
+msgid ""
+"<app>Boxes</app> is an application that gives you access to local <link "
+"xref=\"what-is-a-virtual-machine\">virtual machines</link>. If you want to "
+"get access to a remote virtual machine or connect to the display of a remote "
+"computer, you can use another GNOME app called <app>Connections</app>."
+msgstr ""
+"<app>Boxes</app> は、ローカルの"
+"<link xref=\"what-is-a-virtual-machine\">仮想マシン</link> にアクセス"
+"できるアプリケーションです。"
+"リモート仮想マシンにアクセスしたり、リモート コンピュータのディスプレイ"
+"に接続したりする場合は、<app>「Connections」(gnome-connections)</app> という"
+"別の GNOME アプリを使用できます。"
+
+#. (itstool) path: section/title
+#: index.page:42
+msgid "Getting started"
+msgstr "入門"
+
+#. (itstool) path: section/title
+#: index.page:52
+msgid "Using Boxes"
+msgstr "Boxes を使う"
+
+#. (itstool) path: section/title
+#: index.page:56
+msgid "Preferences"
+msgstr "設定"
+
+#. (itstool) path: section/title
+#: index.page:60
+msgid "Snapshots"
+msgstr "スナップショット"
+
+#. (itstool) path: section/title
+#: index.page:64
+msgid "Questions"
+msgstr "質問"
+
+#. (itstool) path: section/title
+#: index.page:68
+msgid "Advanced topics"
+msgstr "高度なテーマ"
+
+#. (itstool) path: info/desc
+#: interface.page:30
+msgid "Get around the application."
+msgstr "アプリケーション周りについて。"
+
+#. (itstool) path: page/title
+#: interface.page:33
+msgid "The Boxes interface"
+msgstr "Boxes のインターフェース"
+
+#. (itstool) path: section/title
+#: interface.page:36
+msgid "Collection view"
+msgstr "コレクションビュー(サムネール一覧)"
+
+#. (itstool) path: section/p
+#: interface.page:38
+msgid ""
+"When you first launch <app>Boxes</app>, the greeting tells you to click the "
+"<gui style=\"button\">+</gui> button to create your first box. On subsequent "
+"visits, <app>Boxes</app> opens in the <em>collection view</em>, displaying "
+"thumbnails of your boxes in a grid. Frequently used boxes appear at the top "
+"of the list. Collection view allows you to:"
+msgstr ""
+"<app>Boxes</app> を初めて起動すると、<gui style=\"button\">「+」</gui>"
+"ボタンをクリックして最初のボックスを作成するようメッセージが表示されます。"
+"2 回目以降のアクセスでは、<em>コレクション ビュー(サムネール一覧)</em>で"
+"<app>Boxes</app> が開き、ボックスのサムネイルがグリッドに表示されます。"
+"よく使うボックスがリストの一番上に表示されます。"
+"コレクション ビュー(サムネール一覧)では、次のことができます。"
+
+#. (itstool) path: item/p
+#: interface.page:45
+msgid ""
+"Click <gui style=\"button\">+</gui> to <link xref=\"create\">create</link> a "
+"box."
+msgstr ""
+"<gui style=\"button\">「+」</gui> をクリックしてボックスを"
+"<link xref=\"create\">作成</link>します。"
+
+#. (itstool) path: item/p
+#: interface.page:47
+msgid "Click a box to launch a virtual machine session."
+msgstr "ボックスをクリックして、仮想マシン セッションを起動します。"
+
+#. (itstool) path: item/p
+#: interface.page:48
+msgid "<link xref=\"search\">Search</link> for a box."
+msgstr "ボックスを <link xref=\"search\">検索</link> します。"
+
+#. (itstool) path: item/p
+#: interface.page:49
+msgid ""
+"Right-click on a box to choose <gui>Open in New Window</gui>, <gui>Force "
+"Shutdown</gui>, <gui>Clone</gui>, <gui>Delete</gui>, or to open the "
+"<gui>Preferences</gui> view for the box."
+msgstr ""
+"ボックスを右クリックして、<gui>「新しいウィンドウで開く」</gui>、"
+"<gui>「強制終了」</gui>、<gui>「複製」</gui>、<gui>「削除」</gui>、"
+"またはボックスの<gui>「設定」</gui>ビューを開きます。"
+
+#. (itstool) path: section/title
+#: interface.page:58
+msgid "The assistant"
+msgstr "アシスタント"
+
+#. (itstool) path: section/p
+#: interface.page:60
+msgid ""
+"Clicking <gui style=\"button\">+</gui> launches the box creation "
+"<em>Assistant</em>, which guides you through the process of box creation."
+msgstr ""
+"<gui style=\"button\">「+」</gui> をクリックすると、ボックス作成"
+"<em>アシスタント</em> が起動し、ボックスの作成プロセスをガイドします。"
+
+#. (itstool) path: section/title
+#: interface.page:66
+msgid "Preferences view"
+msgstr "設定ビュー"
+
+#. (itstool) path: section/p
+#: interface.page:68
+msgid ""
+"Right-click a box in the collection view and select <gui "
+"style=\"button\">Preferences</gui> to open the <em>preferences view</em>, "
+"where you can configure some of the details of your box. The preferences "
+"view allows you to display or change settings depending on which of the "
+"following tabs is selected:"
+msgstr ""
+"コレクション ビュー(サムネール一覧)でボックスを右クリックし、"
+"<gui style=\"button\">「設定」</gui> を選択すると、<em>設定ビュー</em> が開き、"
+"ボックスの詳細を設定できます。設定ビューでは、次のタブのどれが選択"
+"されているかに応じて、設定を表示または変更できます。"
+
+#. (itstool) path: section/title
+#: interface.page:75
+msgid "The Resources tab"
+msgstr "「リソース」タブ"
+
+#. (itstool) path: item/p
+#: interface.page:78
+msgid ""
+"View the <gui>Name</gui> of your box and its <gui>IP Address</gui> (when "
+"available)."
+msgstr ""
+"ボックスの <gui>「名前」</gui> とその <gui>「IP アドレス」</gui>"
+"(利用可能な場合) を表示します。"
+
+#. (itstool) path: item/p
+#: interface.page:79
+msgid ""
+"Set the values for <gui>CPU</gui>, <gui>Memory</gui> and <gui>Storage</gui> "
+"of your box."
+msgstr ""
+"ボックスの <gui>「CPU」</gui>、<gui>「メモリ」</gui>、および"
+"<gui>「ストレージ」</gui> の値を設定します。"
+
+#. (itstool) path: item/p
+#: interface.page:80
+msgid "Set the <gui>Allow running in background</gui> preference of your box."
+msgstr "ボックスの <gui>「バックグラウンドでの実行を許可」</gui> を設定します。"
+
+#. (itstool) path: item/p
+#: interface.page:81
+msgid "Enable <gui>3D acceleration</gui> for supported operating systems."
+msgstr "サポートされている OS の <gui>「3D アクセラレーション」</gui> を有効にします。"
+
+#. (itstool) path: item/p
+#: interface.page:82
+msgid ""
+"Access the logs of your box in the <gui>Troubleshooting logs</gui> option, "
+"which can be useful for troubleshooting issues."
+msgstr ""
+"<gui>「トラブルシューティング ログ」</gui>オプションで"
+"ボックスのログにアクセスします。これは問題のトラブルシューティング"
+"に役立ちます。"
+
+#. (itstool) path: item/p
+#: interface.page:83
+msgid ""
+"The <gui>Edit Configuration</gui> option lets you edit the libvirt domain "
+"configuration of your box manually."
+msgstr ""
+"<gui>「設定を編集」</gui>を使用すると、"
+"ボックスの libvirt ドメイン設定を手動で編集できます。"
+
+#. (itstool) path: section/title
+#: interface.page:88
+msgid "The Devices and Shares tab"
+msgstr "「デバイスと共有」タブ"
+
+#. (itstool) path: item/p
+#: interface.page:91
+msgid "Choose the <gui>USB Devices</gui> to redirect to your box."
+msgstr "ボックスにリダイレクトする <gui>「USB デバイス」</gui> を選択します。"
+
+#. (itstool) path: item/p
+#: interface.page:92
+msgid "Set the <gui>Shared Folders</gui> to be made available in your box."
+msgstr "<gui>「共有フォルダ」</gui>をボックスで利用できるように設定します。"
+
+#. (itstool) path: item/p
+#: interface.page:93
+msgid ""
+"Set a <gui>CDROM/DVD Drive</gui> file or device to make available in your "
+"box."
+msgstr ""
+"<gui>「CDROM/DVD ドライブ」</gui> ファイルまたはデバイスを設定して、"
+"ボックスで使用できるようにします。"
+
+#. (itstool) path: section/title
+#: interface.page:98
+msgid "The Snapshots tab"
+msgstr "「スナップショット」タブ"
+
+#. (itstool) path: section/p
+#: interface.page:99
+msgid ""
+"With <gui>Snapshots</gui> you can <link xref=\"snapshot-create\">create</"
+"link> and manage snapshots of your box."
+msgstr ""
+"<gui>「スナップショット」</gui>を使うと、ボックスのスナップショットを"
+"<link xref=\"snapshot-create\">作成</link>して管理できます。"
+
+#. (itstool) path: section/p
+#: interface.page:102
+msgid ""
+"If the box is running, click the menu (<_:media-1/>) button in the header "
+"bar and select <gui>Preferences</gui>."
+msgstr ""
+"ボックスが起動している場合に、ヘッダーバーのメニュー (<_:media-1/>) ボタン"
+"をクリックし、<gui>「設定」</gui> を選択します。"
+
+#. (itstool) path: credit/years
+#: keystrokes.page:12
+msgid "2017"
+msgstr "2017"
+
+#. (itstool) path: info/desc
+#: keystrokes.page:15
+msgid "Keystroke combinations can be sent from the menu."
+msgstr "キーストロークの組み合わせは、メニューから送信できます。"
+
+#. (itstool) path: page/title
+#: keystrokes.page:21
+msgid "Send a keystroke combination to a box"
+msgstr "キーストロークの組み合わせをボックスに送信"
+
+#. (itstool) path: page/p
+#: keystrokes.page:23
+msgid ""
+"Some combinations of keystrokes are automatically directed to the host "
+"machine. To send a key sequence instead to the running guest:"
+msgstr ""
+"キーストロークのいくつかの組み合わせは、自動的にホストマシンに送信されます。"
+"その代わりに実行中のゲストにキーシーケンスを送信するには:"
+
+#. (itstool) path: item/p
+#: keystrokes.page:27
+msgid "Click the keyboard (<_:media-1/>) button in the header bar."
+msgstr "ヘッダーバーのキーボード (<_:media-1/>) ボタンをクリックします。"
+
+#. (itstool) path: item/p
+#: keystrokes.page:31
+msgid ""
+"Click the key combination you want to send. The available key combinations "
+"are:"
+msgstr ""
+"送信するキーの組み合わせをクリックします。"
+"利用可能なキーの組み合わせは次のとおりです:"
+
+#. (itstool) path: item/p
+#: keystrokes.page:34
+msgid "<keyseq><key>Ctrl</key><key>Alt</key><key>Backspace</key></keyseq>"
+msgstr "<keyseq><key>Ctrl</key><key>Alt</key><key>Backspace</key></keyseq>"
+
+#. (itstool) path: item/p
+#: keystrokes.page:35
+msgid "<keyseq><key>Ctrl</key><key>Alt</key><key>F1</key></keyseq>"
+msgstr "<keyseq><key>Ctrl</key><key>Alt</key><key>F1</key></keyseq>"
+
+#. (itstool) path: item/p
+#: keystrokes.page:36
+msgid "<keyseq><key>Ctrl</key><key>Alt</key><key>F2</key></keyseq>"
+msgstr "<keyseq><key>Ctrl</key><key>Alt</key><key>F2</key></keyseq>"
+
+#. (itstool) path: item/p
+#: keystrokes.page:37
+msgid "<keyseq><key>Ctrl</key><key>Alt</key><key>F3</key></keyseq>"
+msgstr "<keyseq><key>Ctrl</key><key>Alt</key><key>F3</key></keyseq>"
+
+#. (itstool) path: item/p
+#: keystrokes.page:38
+msgid "<keyseq><key>Ctrl</key><key>Alt</key><key>F7</key></keyseq>"
+msgstr "<keyseq><key>Ctrl</key><key>Alt</key><key>F7</key></keyseq>"
+
+#. (itstool) path: note/p
+#: keystrokes.page:44
+msgid ""
+"If your guest operating system is Linux, you can often use one of these key "
+"sequences to switch to the first virtual console, and another to switch back "
+"to the graphical console. In a number of Linux distributions, "
+"<keyseq><key>Ctrl</key><key>Alt</key><key>F3</key></keyseq> will switch to "
+"the virtual console, and <keyseq><key>Ctrl</key><key>Alt</key><key>F1</key></"
+"keyseq> will switch back to the graphical desktop."
+msgstr ""
+"ゲストOS が Linux の場合、これらのキーシーケンスの 1つを使用して"
+"最初の仮想コンソールに切り替え、別のキーシーケンスを使用して"
+"グラフィカルコンソールに戻すことができます。"
+"多くの Linux ディストリビューションでは、"
+"<keyseq><key>Ctrl</key><key>Alt</key><key>F3</key></keyseq> "
+"は「仮想コンソール」に切り替わり、"
+"<keyseq><key>Ctrl</key><key>Alt</key><key>F1</key></keyseq> "
+"は「グラフィカルデスクトップ」に戻ります。"
+
+#. (itstool) path: info/desc
+#: prop-system.page:16
+msgid "Specify RAM and maximum disk allocation."
+msgstr "メモリと最大ディスク容量の割り当てを指定します。"
+
+#. (itstool) path: page/title
+#: prop-system.page:21
+msgid "Adjust the system requirements of a box"
+msgstr "ボックスのシステム要件を調整"
+
+#. (itstool) path: page/p
+#: prop-system.page:23
+msgid ""
+"In <app>Boxes</app>, each virtual machine has its own settings for RAM, CPU "
+"and maximum allocated disk space."
+msgstr ""
+"<app>Boxes</app> では、各仮想マシンに「メモリ」、「CPU」と"
+"「最大割り当てディスク容量」の独自の設定があります。"
+
+#. (itstool) path: item/p
+#: prop-system.page:27 snapshot-create.page:39
+msgid ""
+"Right-click on the box in the collection view and select <gui>Preferences</"
+"gui>, or if the box is running, click the menu (<_:media-1/>) button in the "
+"header bar and select <gui>Preferences</gui>."
+msgstr ""
+"コレクション ビュー(サムネール一覧)でボックスを右クリックして"
+"<gui>「設定」</gui> を選択するか、ボックスが実行中の場合は、"
+"ヘッダー バーのメニュー (<_:media-1/>) ボタンをクリックして"
+"<gui>「設定」</gui> を選択します。"
+
+#. (itstool) path: item/p
+#: prop-system.page:32
+msgid ""
+"Adjust the <gui>Memory</gui>, <gui>CPU</gui> and <gui>Maximum disk size</"
+"gui> sliders to reflect the desired values."
+msgstr ""
+"<gui>「メモリ」</gui>、<gui>「CPU」</gui>、および"
+"<gui>「最大割り当てディスク容量」</gui>のスライダーを調整して、"
+"目的の値を反映させます。"
+
+#. (itstool) path: note/p
+#: prop-system.page:37
+msgid ""
+"You shouldn't allocate all the memory available as your host system also "
+"needs memory to run and the more memory is allocated, the longer it will "
+"take to suspend/resume. The recommended memory will be sufficient since this "
+"information comes from the OSes documentations."
+msgstr ""
+"ホストのシステムも実行するためにメモリを必要とし、"
+"より多くのメモリが割り当てられるほど、中断/再開に時間がかかるため、"
+"利用可能なすべてのメモリを割り当てるべきではありません。"
+"この情報は OS のドキュメントに基づいているため、"
+"推奨されるメモリで十分です。"
+
+#. (itstool) path: info/desc
+#: prop-trouble.page:16
+msgid "Diagnose problems with your box using the log file."
+msgstr "ログファイルを使用して、ボックスの問題を診断します。"
+
+#. (itstool) path: page/title
+#: prop-trouble.page:21
+msgid "View the troubleshooting log of a box"
+msgstr "ボックスのトラブルシューティング ログを表示"
+
+#. (itstool) path: page/p
+#: prop-trouble.page:23
+msgid ""
+"If a box is having a problem starting up or running, clues to help you fix "
+"the problem may be found in the trouble log. The trouble log displays the "
+"virtual machine state, the virtual machine libvirt configuration, and the "
+"QEMU hypervisor log."
+msgstr ""
+"ボックスの起動または実行に問題がある場合、問題の解決に役立つ"
+"手がかりがトラブル ログにある場合があります。トラブル ログには、"
+"仮想マシンの状態、仮想マシンの libvirt 設定、および "
+"QEMU ハイパーバイザー ログが表示されます。"
+
+#. (itstool) path: item/p
+#: prop-trouble.page:29 snapshot-delete.page:26 snapshot-rename.page:34
+#: snapshot-revert.page:34
+msgid ""
+"Right-click the box in the collection view and select <gui>Preferences</"
+"gui>, or if the box is running, click the menu (<_:media-1/>) button in the "
+"header bar and select <gui>Preferences</gui>."
+msgstr ""
+"コレクション ビュー(サムネール一覧)でボックスを右クリックして"
+"<gui>「設定」</gui> を選択するか、ボックスが実行されている場合は、"
+"ヘッダー バーのメニュー (<_:media-1/>) ボタンをクリックして"
+"<gui>「設定」</gui> を選択します。"
+
+#. (itstool) path: item/p
+#: prop-trouble.page:35
+msgid ""
+"Click the <gui style=\"button\">Troubleshooting Log</gui> button to view the "
+"log in a text editor."
+msgstr ""
+"<gui style=\"button\">「トラブルシューティング ログ」</gui>"
+"ボタンをクリックして、ログをテキスト エディタで表示します。"
+
+#. (itstool) path: info/desc
+#: search.page:17
+msgid "Quickly access a box by name."
+msgstr "名前でボックスにすばやくアクセスします。"
+
+#. (itstool) path: page/title
+#: search.page:20
+msgid "Search for a box"
+msgstr "ボックスを検索"
+
+#. (itstool) path: page/p
+#: search.page:22
+msgid ""
+"If there is more than one box, you can locate or filter boxes by name in the "
+"<link xref=\"interface#collection\">collection view</link>. Click the search "
+"icon, or just start typing to initiate a search."
+msgstr ""
+
+"複数のボックスがある場合は、"
+"<link xref=\"interface#collection\">コレクション ビュー(サムネール一覧)</link>"
+"でボックスを名前で検索、またはフィルタリングできます。"
+"検索アイコンをクリックするか、入力を開始して検索を開始します。"
+
+#. (itstool) path: page/p
+#: search.page:26
+msgid "Press <key>Esc</key> to dismiss the search."
+msgstr "<key>Esc</key> を押して検索を終了します。"
+
+#. (itstool) path: info/desc
+#: shared-folders.page:15
+msgid "Share folders between host and guest."
+msgstr "ホストとゲストの間でフォルダを共有します。"
+
+#. (itstool) path: page/title
+#: shared-folders.page:20
+msgid "Shared Folders"
+msgstr "共有フォルダ"
+
+#. (itstool) path: page/p
+#: shared-folders.page:22
+msgid ""
+"If your virtual machine is running and contains spice-webdavd, you may want "
+"to set folders in your host system which you desire to browse from inside "
+"your virtual machine."
+msgstr ""
+"仮想マシンが実行中で、仮想マシンに「spice-webdavd」が"
+"インストールされている場合、仮想マシン内から参照したい"
+"ホスト システムにフォルダを設定することができます。"
+
+#. (itstool) path: item/p
+#: shared-folders.page:31 usb-redirection.page:50
+msgid "Click the <gui>Devices &amp; Shares</gui> tab."
+msgstr "<gui>「デバイスと共有」</gui> タブをクリックします。"
+
+#. (itstool) path: item/p
+#: shared-folders.page:32
+msgid ""
+"In the <gui>Shared Folders</gui> section you can view, remove, and create "
+"new shared folders."
+msgstr ""
+"<gui>「共有フォルダ」</gui> セクションでは、新しい共有フォルダを表示、"
+"削除、および作成できます。"
+
+#. (itstool) path: credit/name
+#: shortcuts.page:11
+msgid "Lasse Schuirmann"
+msgstr "Lasse Schuirmann"
+
+#. (itstool) path: info/desc
+#: shortcuts.page:18
+msgid "Operate <app>Boxes</app> using keyboard shortcuts."
+msgstr "キーボードショートカットを使用して <app>Boxes</app> を操作します。"
+
+#. (itstool) path: page/title
+#: shortcuts.page:21
+msgid "Keyboard shortcuts"
+msgstr "キーボードショートカット"
+
+#. (itstool) path: page/p
+#: shortcuts.page:23
+msgid ""
+"Various shortcuts can be used to operate Boxes. Besides mnemonics, the "
+"following shortcuts are available:"
+msgstr ""
+"ボックスの操作には、さまざまなショートカットを使用できます。"
+"ニーモニックの他に、次のショートカットを使用できます:"
+
+#. (itstool) path: td/p
+#: shortcuts.page:29
+msgid "Action"
+msgstr "動作"
+
+#. (itstool) path: td/p
+#: shortcuts.page:32
+msgid "Shortcut"
+msgstr "ショートカット"
+
+#. (itstool) path: td/p
+#: shortcuts.page:39
+msgid "Create new virtual machine"
+msgstr "新しい仮想マシンを作成"
+
+#. (itstool) path: td/p
+#: shortcuts.page:42
+msgid "<keyseq><key>Ctrl</key><key>N</key></keyseq>"
+msgstr "<keyseq><key>Ctrl</key><key>N</key></keyseq>"
+
+#. (itstool) path: td/p
+#: shortcuts.page:47
+msgid "Toggle search"
+msgstr "検索を切り替え"
+
+#. (itstool) path: td/p
+#: shortcuts.page:50
+msgid "<keyseq><key>Ctrl</key><key>F</key></keyseq>"
+msgstr "<keyseq><key>Ctrl</key><key>F</key></keyseq>"
+
+#. (itstool) path: td/p
+#: shortcuts.page:55
+msgid "Go back"
+msgstr "戻る"
+
+#. (itstool) path: td/p
+#: shortcuts.page:58
+msgid "<keyseq><key>Alt</key><key>Left</key></keyseq>"
+msgstr "<keyseq><key>Alt</key><key>←(左)</key></keyseq>"
+
+#. (itstool) path: td/p
+#: shortcuts.page:63
+msgid "Go forward"
+msgstr "進む"
+
+#. (itstool) path: td/p
+#: shortcuts.page:66
+msgid "<keyseq><key>Alt</key><key>Right</key></keyseq>"
+msgstr "<keyseq><key>Alt</key><key>→(右)</key></keyseq>"
+
+#. (itstool) path: td/p
+#: shortcuts.page:71
+msgid "Cancel"
+msgstr "キャンセル"
+
+#. (itstool) path: td/p
+#: shortcuts.page:74
+msgid "<keyseq><key>Esc</key></keyseq>"
+msgstr "<keyseq><key>Esc</key></keyseq>"
+
+#. (itstool) path: td/p
+#: shortcuts.page:79
+msgid "Release mouse and keyboard grab"
+msgstr "マウスとキーボードの拘束を開放"
+
+#. (itstool) path: td/p
+#: shortcuts.page:82
+msgid "<keyseq><key>Ctrl</key><key>Alt</key></keyseq>"
+msgstr "<keyseq><key>Ctrl</key><key>Alt</key></keyseq>"
+
+#. (itstool) path: td/p
+#: shortcuts.page:87
+msgid "Quit Boxes"
+msgstr "Boxes を終了"
+
+#. (itstool) path: td/p
+#: shortcuts.page:90
+msgid "<keyseq><key>Ctrl</key><key>Q</key></keyseq>"
+msgstr "<keyseq><key>Ctrl</key><key>Q</key></keyseq>"
+
+#. (itstool) path: info/desc
+#: shutdown.page:16
+msgid "Shut down a box that has stopped working."
+msgstr "動作しなくなったボックスをシャットダウンします。"
+
+#. (itstool) path: page/title
+#: shutdown.page:21
+msgid "Force a box to shut down"
+msgstr "ボックスを強制的にシャットダウン"
+
+#. (itstool) path: page/p
+#: shutdown.page:23
+msgid ""
+"If a box stops responding, you can force it to shut down. This allows you to "
+"restart the virtual machine in the hope of returning it to its working state."
+msgstr ""
+"ボックスが応答しなくなった場合は、強制的にシャットダウン"
+"することができます。これにより、仮想マシンを動作できるように、"
+"再起動することができます。"
+
+#. (itstool) path: item/p
+#: shutdown.page:28
+msgid "Right-click the box in the collection view."
+msgstr "コレクション ビュー(サムネール一覧)でボックスを右クリックします。"
+
+#. (itstool) path: item/p
+#: shutdown.page:29
+msgid "Select the <gui style=\"button\">Force Shutdown</gui> option."
+msgstr "<gui style=\"button\">「強制終了」</gui> を選択します。"
+
+#. (itstool) path: info/desc
+#: snapshot-create.page:22
+msgid "Save the state of a box for later use."
+msgstr "後で使用するためにボックスの状態を保存します。"
+
+#. (itstool) path: page/title
+#: snapshot-create.page:27
+msgid "Create a snapshot"
+msgstr "スナップショットを作成"
+
+#. (itstool) path: page/p
+#: snapshot-create.page:29
+msgid ""
+"If your virtual machine is operating perfectly in a desired configuration, "
+"you may want to save the setup before it breaks because of a software "
+"upgrade or configuration change. Taking a snapshot of the box preserves the "
+"current state so you can return to it as often as you want."
+msgstr ""
+"仮想マシンが目的の設定で完全に動作している場合は、"
+"ソフトウェアのアップグレードや設定の変更によって機能が停止する前に、"
+"セットアップを保存することをお勧めします。ボックスのスナップショット"
+"を作成すると、現在の状態が保持されるため、必要に応じて"
+"何度でも戻ることができます。"
+
+#. (itstool) path: page/p
+#: snapshot-create.page:34
+msgid ""
+"Snapshots include the exact state of your virtual machine disk and they can "
+"also include the memory data for boxes which are running at the moment of "
+"the snapshot creation."
+msgstr ""
+"スナップショットには、仮想マシン のディスクの正確な状態が含まれ、"
+"スナップショットの作成時に実行されているボックスのメモリ データ"
+"も含まれている場合があります。"
+
+#. (itstool) path: item/p
+#: snapshot-create.page:43 snapshot-delete.page:30 snapshot-rename.page:38
+#: snapshot-revert.page:38
+msgid "Click the <gui>Snapshots</gui> tab."
+msgstr "<gui>「スナップショット」</gui> タブをクリックします。"
+
+#. (itstool) path: item/p
+#: snapshot-create.page:44
+msgid "Click <key>+</key> below the <gui>Snapshots</gui> list."
+msgstr ""
+"<gui>「スナップショット」</gui> 一覧の下にある <key>+</key> をクリックします。"
+
+#. (itstool) path: page/p
+#: snapshot-create.page:47
+msgid ""
+"A snapshot is saved reflecting the current state of your box. It appears in "
+"the list."
+msgstr ""
+"ボックスの現在の状態を反映したスナップショットが保存されます。"
+"リストに表示されます。"
+
+#. (itstool) path: info/desc
+#: snapshot-delete.page:16
+msgid "Remove a snapshot that you no longer need."
+msgstr "不要になったスナップショットを削除します。"
+
+#. (itstool) path: page/title
+#: snapshot-delete.page:21
+msgid "Delete a snapshot"
+msgstr "スナップショットを削除"
+
+#. (itstool) path: page/p
+#: snapshot-delete.page:23
+msgid "A snapshot that is no longer needed can be removed from the list."
+msgstr "不要になったスナップショットは、一覧から削除できます。"
+
+#. (itstool) path: item/p
+#: snapshot-delete.page:31
+msgid "Select the snapshot that you want to delete from the list."
+msgstr "一覧から削除するスナップショットを選択します。"
+
+#. (itstool) path: item/p
+#: snapshot-delete.page:32
+msgid ""
+"Click the <gui style=\"button\">X</gui> button on the list to delete it."
+msgstr ""
+"一覧の<gui style=\"button\">「X」</gui> ボタンをクリックして"
+"削除します。"
+
+#. (itstool) path: info/desc
+#: snapshot-rename.page:16
+msgid "Give the snapshot a meaningful name."
+msgstr "スナップショットに意味のある名前を付けます。"
+
+#. (itstool) path: page/title
+#: snapshot-rename.page:21
+msgid "Rename a snapshot"
+msgstr "スナップショットの名前を変更"
+
+#. (itstool) path: page/p
+#: snapshot-rename.page:23
+msgid ""
+"By default, a snapshot is given a generic name based on the timestamp, like:"
+msgstr ""
+"デフォルトでは、スナップショットには、タイムスタンプを元にして"
+"次のような一般的な名前が付けられます:"
+
+#. (itstool) path: page/p
+#: snapshot-rename.page:26
+msgid "<file>09/14/2014, 11:54:36 AM</file>"
+msgstr "<file>09/14/2014, 11:54:36 AM</file>"
+
+#. (itstool) path: page/p
+#: snapshot-rename.page:28
+msgid "You may want to change the name to something more meaningful, such as:"
+msgstr "次のように、名前をより意味のある名前に変更することをお勧めします:"
+
+#. (itstool) path: page/p
+#: snapshot-rename.page:30
+msgid ""
+"<file>Fedora_22_with_jhbuild</file> or <file>Windows 7 plus GTK+ 3.6.4</"
+"file>."
+msgstr ""
+"<file>Fedora_22_with_jhbuild</file> 、または "
+"<file>Windows 7 plus GTK+ 3.6.4</file>."
+
+#. (itstool) path: item/p
+#: snapshot-rename.page:39
+msgid "From the list, select the snapshot that you want to rename."
+msgstr "一覧から、名前を変更するスナップショットを選択します。"
+
+#. (itstool) path: item/p
+#: snapshot-rename.page:40
+msgid "Click the edit button on the list to rename."
+msgstr "一覧にある「編集」ボタンをクリックして、名前を変更します。"
+
+#. (itstool) path: info/desc
+#: snapshot-revert.page:22
+msgid "Change back to the state of a saved snapshot."
+msgstr "保存されたスナップショットの状態に戻します。"
+
+#. (itstool) path: page/title
+#: snapshot-revert.page:27
+msgid "Revert the state of a box"
+msgstr "ボックスの状態を元に戻す"
+
+#. (itstool) path: page/p
+#: snapshot-revert.page:29
+msgid ""
+"<em>Reverting</em> to a snapshot restores the state of the virtual machine "
+"saved in that snapshot. The memory state also gets restored, bringing back "
+"running programs and settings at the exact same state of the snapshot "
+"creation."
+msgstr ""
+"<em>元に戻す</em>と、そのスナップショットに保存されている"
+"仮想マシンの状態が復元されます。メモリの状態も復元され、"
+"実行中のプログラムと設定がスナップショット作成時とまったく"
+"同じ状態に戻ります。"
+
+#. (itstool) path: item/p
+#: snapshot-revert.page:39
+msgid "From the list, select the snapshot to which you want to revert."
+msgstr "一覧から、元に戻すスナップショットを選択します。"
+
+#. (itstool) path: item/p
+#: snapshot-revert.page:41
+msgid "Click the revert button next to the snapshot name."
+msgstr "スナップショット名の横にある「元に戻す」ボタンをクリックします。"
+
+#. (itstool) path: note/p
+#: snapshot-revert.page:45
+msgid ""
+"Snapshots capture a state of your virtual machine. Changes that you make "
+"after creating a snapshot will be lost on revert."
+msgstr ""
+"スナップショットは、仮想マシンの状態を保存します。"
+"スナップショットの作成後に行った変更は、元に戻すと失われます。"
+
+#. (itstool) path: page/title
+#: supported-protocols.page:26
+msgid "What is the technology used by Boxes?"
+msgstr "Boxes で使われているテクノロジーは何ですか?"
+
+#. (itstool) path: page/p
+#: supported-protocols.page:36
+msgid ""
+"Boxes uses <app>qemu-kvm</app>, <app>libvirt-glib</app> and <app>spice-gtk</"
+"app> to allow users to easily manage virtual machines."
+msgstr ""
+"Boxes は <app>「qemu-kvm」</app>、<app>「libvirt-glib」</app>、"
+"および <app>「spice-gtk」</app> を使用して、ユーザーが仮想マシンを"
+"簡単に管理できるようにしています。"
+
+#. (itstool) path: section/title
+#: supported-protocols.page:41
+msgid "QEMU with KVM"
+msgstr "KVM を使用した QEMU"
+
+#. (itstool) path: section/p
+#: supported-protocols.page:43
+msgid ""
+"<app>QEMU</app> is a machine emulator and virtualizer. As a machine "
+"emulator, it can run OSes and programs made for one machine (e.g. an ARM "
+"board) on a different machine (e.g. your own PC). As a virtualizer, QEMU "
+"achieves near native performance by executing the guest code directly on the "
+"host CPU using KVM."
+msgstr ""
+"<app>「QEMU」</app>  は、マシンエミュレータおよびバーチャライザー"
+"です。マシンエミュレータとして、あるマシン(ARM ボードなど)用に"
+"作成されたOS およびプログラムを別のマシン(自分のPC など)で実行できます。"
+"仮想化機能として、QEMU は、KVM を使用してホストCPU でゲストコードを"
+"直接実行することにより、ほぼネイティブのパフォーマンスを実現します。"
+
+#. (itstool) path: section/p
+#: supported-protocols.page:49
+msgid ""
+"<app>KVM</app> (Kernel-based Virtual Machine) is a Linux kernel module that "
+"allows a user space program to use the hardware virtualization features of "
+"various processors."
+msgstr ""
+"<app>「KVM」</app>(カーネルベースの仮想マシン)は、ユーザーペース"
+"プログラムがさまざまなプロセッサのハードウェア仮想化機能を使用できる"
+"ようにする Linux カーネルモジュールです。"
+
+#. (itstool) path: section/title
+#: supported-protocols.page:56
+msgid "libvirt"
+msgstr "libvirt"
+
+#. (itstool) path: section/p
+#: supported-protocols.page:58
+msgid ""
+"<app>libvirt</app> is a toolkit for manipulating (creating, deleting and "
+"modifying) and monitoring virtual machines."
+msgstr ""
+"<app>「libvirt」</app> は、仮想マシンを操作(作成、削除、変更)、"
+"および監視するためのツールキットです。"
+
+#. (itstool) path: section/p
+#: supported-protocols.page:61
+msgid ""
+"<app>libvirt-glib</app> wraps libvirt to provide a high-level object-"
+"oriented API suited for glib-based applications."
+msgstr ""
+"<app>「libvirt-glib」</app> は、libvirt をラップして、glib ベースの"
+"アプリケーションに適した高レベルのオブジェクト指向 API を提供します。"
+
+#. (itstool) path: section/title
+#: supported-protocols.page:67
+msgid "SPICE"
+msgstr "SPICE"
+
+#. (itstool) path: section/p
+#: supported-protocols.page:69
+msgid ""
+"<app>SPICE</app>, the Simple Protocol for Independent Computing "
+"Environments, is a system for accessing and controlling remote desktops "
+"across a network."
+msgstr ""
+"<app>「SPICE」</app> は、独立したコンピュータの環境向け"
+"のシンプルなプロトコルであり、ネットワークを介してリモート"
+"デスクトップにアクセスして制御するためのシステムです。"
+
+#. (itstool) path: section/p
+#: supported-protocols.page:73
+msgid ""
+"The SPICE server is a library that runs inside the QEMU binary. It is mainly "
+"responsible for authentication of client connections, relaying of graphics "
+"output of the guest OS to the client and relaying of user input (mouse and "
+"keyboard) from client to guest."
+msgstr ""
+"「SPICE サーバー」は、QEMU バイナリー内で実行されるライブラリです。"
+"主に、クライアント接続の認証、ゲストOS のグラフィック出力"
+"のクライアントへの中継、およびクライアントからゲストへの"
+"ユーザ入力(マウスとキーボード)の中継を担当します。"
+
+#. (itstool) path: section/p
+#: supported-protocols.page:78
+msgid ""
+"<app>spice-gtk</app> is the SPICE client that provides a view into the guest "
+"OS."
+msgstr ""
+"<app>「spice-gtk」</app> は、ゲストOS へのビューを提供する"
+"SPICE クライアントです。"
+
+#. (itstool) path: section/title
+#: supported-protocols.page:84
+msgid "VNC"
+msgstr "VNC"
+
+#. (itstool) path: section/p
+#: supported-protocols.page:86
+msgid ""
+"<app>VNC</app>, Virtual Network Computing, used as fallback when SPICE is "
+"not available, is a well know protocol but quite limited and slow."
+msgstr ""
+"<app>「VNC」</app> (仮想ネットワークコンピューティング)は、"
+"SPICE が利用できない場合のフォールバックとして使用されますが、"
+"リモート表示のみに使用される、よく知られたプロトコルですが、"
+"非常に限定的で低速です。"
+
+#. (itstool) path: credit/name
+#: system-requirements.page:21
+msgid "Ekaterina Gerasimova"
+msgstr "Ekaterina Gerasimova"
+
+#. (itstool) path: credit/name
+#: system-requirements.page:26
+msgid "Zeeshan Ali (Khattak)"
+msgstr "Zeeshan Ali (Khattak)"
+
+#. (itstool) path: info/desc
+#: system-requirements.page:31
+msgid "Hardware required to run a <app>Boxes</app> virtual machine."
+msgstr "<app>Boxes</app> で仮想マシンを実行するために必要なハードウェア。"
+
+#. (itstool) path: page/title
+#: system-requirements.page:36
+msgid "Get started with virtual machines"
+msgstr "仮想マシンについて入門"
+
+#. (itstool) path: page/p
+#: system-requirements.page:38
+msgid ""
+"Your computer should meet certain criteria for best performance when "
+"creating and running virtual machines in <app>Boxes</app>. These "
+"requirements are specified by the vendors of the operating systems. "
+"<app>Boxes</app> automatically allocates resources to virtual machines based "
+"on vendor recommendations. When such information is unavailable to "
+"<app>Boxes</app>, it allocates the following:"
+msgstr ""
+"<app>Boxes</app> で仮想マシンを作成して実行する場合、"
+"コンピュータは最高のパフォーマンスを得るために特定の基準を満たして"
+"いる必要があります。 これらの要件は、オペレーティング システムのベンダー"
+"によって指定されています。"
+"<app>Boxes</app> は、ベンダーの推奨事項に基づいて仮想マシンに"
+"リソースを自動的に割り当てます。そのような情報が <app>Boxes</app> で"
+"利用できない場合、以下を割り当てます:"
+
+#. (itstool) path: item/p
+#: system-requirements.page:47
+msgid "20 GB of maximum storage space."
+msgstr "最大ストレージ容量は 20GB です。"
+
+#. (itstool) path: note/p
+#: system-requirements.page:49
+msgid ""
+"This does not mean that <app>Boxes</app> will allocate 20 GB of space when "
+"creating the virtual machine. The actual disk space used by <app>Boxes</app> "
+"will be less than (or in the worst case, equal to) the disk space used by "
+"the virtual machine itself."
+msgstr ""
+"これは、仮想マシンの作成時に <app>Boxes</app> が 20GB の"
+"スペースを割り当てることを意味するものではありません。"
+"<app>Boxes</app> が使用する実際のディスク容量は、"
+"仮想マシン自体が使用するディスク容量よりも少なくなります"
+"(最悪の場合、同じになります)。"
+
+#. (itstool) path: item/p
+#: system-requirements.page:56
+msgid "500 MB of RAM."
+msgstr "500MB のメモリ。"
+
+#. (itstool) path: note/p
+#: system-requirements.page:61
+msgid ""
+"<app>Boxes</app> performs best if your computer processor supports hardware "
+"<link xref=\"virtualization\">virtualization extensions</link> and these are "
+"enabled in the system BIOS."
+msgstr ""
+"<app>Boxes</app> は、コンピュータのプロセッサが"
+"ハードウェア <link xref=\"virtualization\">仮想化機能</link>"
+"をサポートし、これらがシステム BIOS で有効になっている場合"
+"に最高のパフォーマンスを発揮します。"
+
+#. (itstool) path: note/p
+#: system-requirements.page:66
+msgid ""
+"It is also recommended that you have at least 8GB RAM and 20GB of free disk "
+"space on your computer to efficiently run <app>Boxes</app>."
+msgstr ""
+"<app>Boxes</app> を効率的に実行するには、コンピュータに"
+"少なくとも 8GB のメモリと 20GB の空きディスク容量があること"
+"をお勧めします。"
+
+#. (itstool) path: info/desc
+#: usb-redirection.page:29
+msgid "Allow your box to access a USB device."
+msgstr "ボックスが USB デバイスにアクセスできるようにします。"
+
+#. (itstool) path: page/title
+#: usb-redirection.page:35
+msgid "USB Redirection"
+msgstr "USB リダイレクト"
+
+#. (itstool) path: page/p
+#: usb-redirection.page:37
+msgid ""
+"<sys>USB</sys> is a universal hardware bus protocol used to plug any kind of "
+"device into your computer. <sys>USB redirection</sys> makes devices plugged "
+"into your local computer available in the machines running in <app>Boxes</"
+"app>. For instance, a USB flash drive or a webcam will appear as directly "
+"connected to the virtual computer."
+msgstr ""
+"<sys>USB</sys> は、あらゆる種類のデバイスをコンピュータに"
+"接続するために使用されるユニバーサルハードウェアバスプロトコルです。"
+"<sys>USB リダイレクト</sys> を使用すると、"
+"ローカルコンピュータに接続されているデバイスを、"
+"<app>Boxes</app> で実行されているマシンで使用できるようになります。"
+"例えば、「USB フラッシュドライブ」または「Web カメラ」は、"
+"リモートまたは仮想コンピュータに直接接続されているように表示されます。"
+
+#. (itstool) path: steps/title
+#: usb-redirection.page:44
+msgid "To enable host USB devices in a box:"
+msgstr "ボックスでホストの USB デバイスを有効にするには:"
+
+#. (itstool) path: item/p
+#: usb-redirection.page:45
+msgid "Make sure the box is running."
+msgstr "ボックスが実行されていることを確認します。"
+
+#. (itstool) path: item/p
+#: usb-redirection.page:46
+msgid ""
+"Right-click the box in the collection view and select <gui>Preferences</"
+"gui>, or click the menu (<_:media-1/>) button in the header bar and select "
+"<gui>Preferences</gui>."
+msgstr ""
+"コレクションビュー(サムネール一覧)でボックスを右クリックし、"
+"<gui>「設定」</gui>を選択するか、メニュー (<_:media-1/>) "
+"ボタンをクリックし、<gui>「設定」</gui> を選択します。"
+
+#. (itstool) path: item/p
+#: usb-redirection.page:51
+msgid ""
+"<gui>USB Devices</gui> connected to the host machine are shown in a list. "
+"Set the switch next to each desired device to <gui style=\"switch\">ON</gui>."
+msgstr ""
+
+"ホスト マシンに接続されている <gui>「USB デバイス」</gui>"
+"が一覧表示されます。目的の各デバイスの横にあるスイッチを"
+"<gui style=\"switch\">「オン」</gui> に設定します。"
+
+#. (itstool) path: credit/name
+#: virtualization.page:15
+msgid "Priya Pandya"
+msgstr "Priya Pandya"
+
+#. (itstool) path: credit/years
+#: virtualization.page:17
+msgid "2019"
+msgstr "2019"
+
+#. (itstool) path: info/desc
+#: virtualization.page:22
+msgid "Check the resources available to <app>Boxes</app>."
+msgstr "<app>Boxes</app> で利用できるリソースを確認してください。"
+
+#. (itstool) path: page/title
+#: virtualization.page:25
+msgid "Using processor hardware virtualization"
+msgstr "「プロセッサ ハードウェア仮想化機能」を使う"
+
+#. (itstool) path: page/p
+#: virtualization.page:27
+msgid ""
+"To determine whether your computer supports processor virtualization "
+"hardware extensions, and that they have been enabled in the system BIOS, run "
+"the following in a terminal window:"
+msgstr ""
+"お使いのコンピュータが「プロセッサ ハードウェア仮想化機能」"
+"をサポートしているかどうか、およびそれらがシステム BIOS で有効"
+"になっているかどうかを確認するには、"
+"端末画面で次のコマンドを実行します:"
+
+#. (itstool) path: page/p
+#: virtualization.page:30
+msgid "<cmd>gnome-boxes --checks</cmd>"
+msgstr "<cmd>gnome-boxes --checks</cmd>"
+
+#. (itstool) path: page/p
+#: virtualization.page:33
+msgid "To enable Virtualization on your system:"
+msgstr "システムで仮想化を有効にするには:"
+
+#. (itstool) path: item/p
+#: virtualization.page:35
+msgid "Reboot the system and open the <gui>BIOS</gui> menu"
+msgstr "システムを再起動し、<gui>「BIOS」</gui> メニューを開きます"
+
+#. (itstool) path: item/p
+#: virtualization.page:36
+msgid ""
+"Select <gui>Restore Defaults</gui> option and then <gui>Save and Exit</gui>"
+msgstr ""
+"<gui>「Restore Defaults」(デフォルトに戻す)</gui> を選択してから、"
+"<gui>「Save and Exit」(保存して終了)</gui> を選択します"
+
+#. (itstool) path: item/p
+#: virtualization.page:37
+msgid "Reboot and again open <gui>BIOS</gui>"
+msgstr "再起動して、<gui>「BIOS」</gui>を再度開きます"
+
+#. (itstool) path: item/p
+#: virtualization.page:38
+msgid ""
+"Open the <gui>Processor</gui> submenu in the <gui>Chipset, Advanced CPU "
+"Configuration</gui> or <gui>Northbridge</gui>"
+msgstr ""
+
+"<gui>「Chipset, Advanced CPU Configuration」</gui>、"
+"または <gui>「Northbridge」</gui> で、"
+"<gui>「Processor」</gui> サブメニューを開きます。"
+
+#. (itstool) path: item/p
+#: virtualization.page:39
+msgid ""
+"Enable <gui>Intel Virtualization Technology</gui> (also known as Intel VT) "
+"or <gui>AMD-V</gui> depending on the brand of the processor. The "
+"virtualization extensions may be labeled <gui>Virtualization Extensions, "
+"Vanderpool</gui> or various other names depending on the OEM and system BIOS"
+msgstr ""
+
+"プロセッサのブランドに応じて、"
+"<gui>「Intel Virtualization Technology」</gui>(Intel VT)、"
+"または <gui>「AMD-V」</gui> を有効にします。"
+"「プロセッサ ハードウェア仮想化機能」には、OEM およびシステム BIOS に応じて、"
+"<gui>「Virtualization Extensions」、「Vanderpool」</gui>、"
+"またはその他のさまざまな名前が付けられます。"
+
+#. (itstool) path: item/p
+#: virtualization.page:40
+msgid "<gui>Save and Exit</gui>"
+msgstr "<gui>「Save and Exit」</gui>"
+
+#. (itstool) path: item/p
+#: virtualization.page:41
+msgid "Reboot and run: <cmd>cat /proc/cpuinfo | grep vmx svm</cmd>"
+msgstr ""
+"再起動して、次のコマンドを実行します:  "
+" <cmd>cat /proc/cpuinfo | grep vmx svm</cmd>"
+
+#. (itstool) path: page/p
+#: virtualization.page:44
+msgid ""
+"If there is some output then the virtualization extensions are now enabled. "
+"If there is no output your system may not have the virtualization extensions "
+"or the correct BIOS setting enabled"
+msgstr ""
+"出力があれば、プロセッサ ハードウェア仮想化機能が有効になっています。"
+"出力がない場合、システムでプロセッサ ハードウェア仮想化機能が"
+"有効になっていないか、正しい BIOS 設定が有効になっていない可能性"
+"があります"
+
+#. (itstool) path: page/title
+#: what-is-a-virtual-machine.page:26
+msgid "What is a virtual machine?"
+msgstr "仮想マシンとは何ですか?"
+
+#. (itstool) path: page/p
+#: what-is-a-virtual-machine.page:28
+msgid ""
+"A virtual machine is a simulated computer running inside another computer. "
+"The simulated computer is often called <em>guest</em>, while the real "
+"machine is called <em>host</em>."
+msgstr ""
+"仮想マシンは、別のコンピュータ内で実行されている"
+"シミュレートされたコンピュータです。"
+"シミュレートされたコンピュータは <em>「ゲスト」</em> と呼ばれる"
+"ことが多く、実際のマシンは <em>「ホスト」</em> と呼ばれます。"
+
+#. (itstool) path: page/p
+#: what-is-a-virtual-machine.page:31
+msgid ""
+"With <em>virtualization</em>, the guest has access to the real hardware the "
+"host is running. If the guest can run on fake hardware, it's called "
+"<em>emulation</em>."
+msgstr ""
+
+"<em>仮想化</em>を使用すると、ゲストはホストが実行している"
+"実際のハードウェアにアクセスできます。ゲストが実体ではないハードウェアで"
+"実行できる場合、それは <em>「エミュレーション」</em> と呼ばれます。"
+
+#. (itstool) path: page/title
+#: why-do-i-need-virtual-machine.page:27
+msgid "Why do I need a virtual machine?"
+msgstr "なぜ仮想マシンが必要なのですか?"
+
+#. (itstool) path: page/p
+#: why-do-i-need-virtual-machine.page:29
+msgid ""
+"A virtual machine can be useful when you need to run applications that will "
+"only run on another operating system, on Microsoft Windows™ for instance. A "
+"virtual machine can also be used during software development, to test in a "
+"pristine environment."
+msgstr ""
+"仮想マシンは、例えば「Microsoft Windows™」など、"
+"別のオペレーティングシステムでのみ実行されるアプリケーション"
+"を実行する必要がある場合に役立ちます。"
+"ソフトウェア開発中に仮想マシンを使用して、"
+"手付かずの環境でテストすることもできます。"
+


→連続して、すべて貼り付けてください:

  Shift+下矢印「↓」を使って行き過ぎたら、
  Shift キーを押したまま、「↓」だけを離して、「↑」で調整
  Ctrl+C して、テキストエディタに Ctrl+V で貼り付け。

-

ファイルの最後に「+」だけの行(1781 行目)があることを確認、
その「+」行で改行して(計: 1782 行)にしてから、Ctrl+S で保存してください。

-


2). パッチファイルの適用:

$ cd ~/ダウンロード/box-help/gnome-boxes-42.2/
$ ls *ja.patch
help-ja.patch

-

$ patch -p1 < help-ja.patch
:
patching file help/LINGUAS      ←(日本語を翻訳する指定)
patching file help/ja/ja.po     ←(日本語の翻訳ファイル)

→正常に完了すれば、上記のメッセージが表示されます。

-

-


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

6. 「Boxes」のヘルプのみをビルド:

-

「help」フォルダで、ビルドして、翻訳ファイルを作成しました:

-

1). 「help」フォルダの「meson.build」を退避:

$ cd ~/ダウンロード/box-help/gnome-boxes-42.2/help/
$ cp meson.build meson.build-ORG

-

2). meson.build の一部修正:

$ mousepad ~/ダウンロード/box-help/gnome-boxes-42.2/help/meson.build

↓ ファイルの先頭に下記を追記:

project ('gnome-boxes',
         ['c'],
         version: '42.3',
         license: 'LGPLv2+',
         meson_version: '>= 0.50.0',
)

gnome = import ('gnome')
i18n = import ('i18n')

cc = meson.get_compiler ('c')

-

確認:
$ cat ~/ダウンロード/box-help/gnome-boxes-42.2/help/meson.build
project ('gnome-boxes',
         ['c'],
         version: '42.3',
         license: 'LGPLv2+',
         meson_version: '>= 0.50.0',
)

gnome = import ('gnome')
i18n = import ('i18n')

cc = meson.get_compiler ('c')

help_files = [
  '3d-acceleration.page',
  'backup.page',
  'create.page',
  'delete.page',
  'disk-images.page',
  'edit-domain.page',
  'index.page',
  'interface.page',
  'keystrokes.page',
  'legal.xml',
  'prop-system.page',
  'prop-trouble.page',
  'search.page',
  'shared-folders.page',
  'shortcuts.page',
  'shutdown.page',
  'snapshot-create.page',
  'snapshot-delete.page',
  'snapshot-rename.page',
  'snapshot-revert.page',
  'supported-protocols.page',
  'system-requirements.page',
  'usb-redirection.page',
  'virtualization.page',
  'what-is-a-virtual-machine.page',
  'why-do-i-need-virtual-machine.page',
]

help_media = [
  'figures/boxes_icon.svg',
  'figures/input-keyboard-symbolic.svg',
  'figures/view-more-symbolic.svg'
]

gnome.yelp (meson.project_name (),
            sources: help_files,
            media: help_media,
            symlink_media: true,
)

-


3). 「meson」でビルド:

$ cd ~/ダウンロード/box-help/gnome-boxes-42.2/help/

-

$ meson builddir/
:
The Meson build system
Version: 0.61.2
Source dir: /home/ubn/ダウンロード/box-help/gnome-boxes-42.2/help
Build dir: /home/ubn/ダウンロード/box-help/gnome-boxes-42.2/help/builddir
Build type: native build
Project name: gnome-boxes
Project version: 42.3
C compiler for the host machine: cc (gcc 11.2.0 "cc (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
C linker for the host machine: cc ld.bfd 2.38
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program itstool found: YES (/usr/bin/itstool)
Program msgmerge found: YES (/usr/bin/msgmerge)
Program msgfmt found: YES (/usr/bin/msgfmt)
Build targets in project: 59

Found ninja-1.10.1 at /usr/bin/ninja

→成功

-

結果の確認:
$ ls ~/ダウンロード/box-help/gnome-boxes-42.2/help/
:
C         ca  de  eu  hu  ja           meson.build-ORG  ru
LINGUAS   cs  el  fr  id  ko           pl               sv
builddir  da  es  gl  it  meson.build  pt_BR            uk

-

$ ls ~/ダウンロード/box-help/gnome-boxes-42.2/help/builddir/
:
build.ninja            meson-info  meson-private
compile_commands.json  meson-logs

→「build.ninja」が出来ました。成功。

-


6). ninja でビルド:

$ cd ~/ダウンロード/box-help/gnome-boxes-42.2/help/
$ meson compile -C builddir
:
ninja: Entering directory `/home/ubn/ダウンロード/box-help/gnome-boxes-42.2/help/builddir'
[38/38] Generating uk/help-gnome-boxes-uk with a custom command

-

結果の確認:
$ ls ~/ダウンロード/box-help/gnome-boxes-42.2/help/builddir/
:
build.ninja            da  eu  id  meson-info     pt_BR
ca                     de  fr  it  meson-logs     ru
compile_commands.json  el  gl  ja  meson-private  sv
cs                     es  hu  ko  pl             uk

-

$ cd ~/ダウンロード/box-help/gnome-boxes-42.2/help/builddir/ja/

$ ls -1
:
3d-acceleration.page
backup.page
create.page
delete.page
disk-images.page
edit-domain.page
gnome-boxes-ja.gmo   ←(不要)
index.page
interface.page
keystrokes.page
legal.xml
prop-system.page
prop-trouble.page
search.page
shared-folders.page
shortcuts.page
shutdown.page
snapshot-create.page
snapshot-delete.page
snapshot-rename.page
snapshot-revert.page
supported-protocols.page
system-requirements.page
usb-redirection.page
virtualization.page
what-is-a-virtual-machine.page
why-do-i-need-virtual-machine.page

→翻訳に必要なファイルが生成されました。

画像の「finger」フォルダがなくて、翻訳するときの一時的な「gnome-boxes-ja.gmo」(不要)があります。

今回は、上記で一覧表示された page ファイルがあれば十分です。

-

page ファイルが日本語に翻訳されているか確認:

ひとつを抜粋:

$ tail -n 4 3d-acceleration.page
    <p>すでに実行中の仮想マシンで 3D アクセラレーションを有効にすると、ボックスの再起動後に変更が適用されます。</p>
  </note>

</page>

→翻訳 OK

-


7). ヘルプを日本語化するための「フォルダ」を作成:

$ cd ~/ダウンロード/box-help/gnome-boxes-42.2/help/builddir/ja/

$ mkdir -p test-dir
$ cp *.page test-dir
$ cp -r ~/ダウンロード/box-help/gnome-boxes-42.2/help/C/legal.xml test-dir/
$ cp -r ~/ダウンロード/box-help/gnome-boxes-42.2/help/C/figures test-dir/

-

結果の確認:
$ ls -1 ~/ダウンロード/box-help/gnome-boxes-42.2/help/builddir/ja/test-dir/
:
3d-acceleration.page
backup.page
create.page
delete.page
disk-images.page
edit-domain.page
figures             ←(注目)
index.page
interface.page
keystrokes.page
legal.xml           ←(注目: これがないと日本語化されません)
prop-system.page
prop-trouble.page
search.page
shared-folders.page
shortcuts.page
shutdown.page
snapshot-create.page
snapshot-delete.page
snapshot-rename.page
snapshot-revert.page
supported-protocols.page
system-requirements.page
usb-redirection.page
virtualization.page
what-is-a-virtual-machine.page
why-do-i-need-virtual-machine.page

-

$ ls -l ~/ダウンロード/box-help/gnome-boxes-42.2/help/builddir/ja/test-dir/figures/
:
-rw-rw-r-- 1 ubn ubn 5443 10月  1 20:05 boxes_icon.svg
-rw-rw-r-- 1 ubn ubn 6068 10月  1 20:05 input-keyboard-symbolic.svg
-rw-rw-r-- 1 ubn ubn  265 10月  1 20:05 view-more-symbolic.svg

→リンクではなく、確実な実体をコピーしました。

-

-


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

7. 「Boxes」のヘルプを日本語化:

-

ヘルプを日本語化するために準備した「フォルダ」の内容をシステムにコピーしました:

-

1). 翻訳フォルダをクリア:

$ sudo rm -r /usr/share/help/ja/gnome-boxes
:
rm: '/usr/share/help/ja/gnome-boxes' を削除できません: そのようなファイルやディレクトリはありません

→念の為の、再実行に備えての処理です。

-


2). 翻訳フォルダ「ja」をシステムに配置:

$ sudo mkdir -p /usr/share/help/ja/gnome-boxes
$ cd /usr/share/help/ja/gnome-boxes/

$ sudo cp -r ~/ダウンロード/box-help/gnome-boxes-42.2/help/builddir/ja/test-dir/* ./

-


3). 確認:

$ ls -1 /usr/share/help/ja/gnome-boxes/
:
3d-acceleration.page
backup.page
create.page
delete.page
disk-images.page
edit-domain.page
figures             ←(画像フォルダ)
index.page
interface.page
keystrokes.page
legal.xml           ←(ライセンス)
prop-system.page
prop-trouble.page
search.page
shared-folders.page
shortcuts.page
shutdown.page
snapshot-create.page
snapshot-delete.page
snapshot-rename.page
snapshot-revert.page
supported-protocols.page
system-requirements.page
usb-redirection.page
virtualization.page
what-is-a-virtual-machine.page
why-do-i-need-virtual-machine.page

→「完了」

-


4). 再起動:

$ reboot

-

-


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

8. ヘルプの「操作説明」が日本語化されたか確認:

-

「Boxes」を起動して、ヘルプの「操作説明」を表示:

メニュー →開発 →「Boxes」

-

右上の「横3本線」ボタン →ヘルプ

-

(1). 「ヘルプ」ではなく、 (KHelpCenter) 画面が表示されるとき:

こちら 」を参照:

-

(2). 「ヘルプ」が表示されるけど、日本語化されないとき:

「legal.xml」ファイルがあるかを確認:

$ ls -1 /usr/share/help/ja/gnome-boxes/legal.xml
/usr/share/help/ja/gnome-boxes/legal.xml

→コピーを忘れると、日本語化されません。

-

-


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

9. Boxes のヘルプの日本語化を確認するため、ボックスを作成:

-

ボックスが作成されていないと、Boxes の半分の機能しか、日本語化されたかの確認ができません。

-

すでにダウンロードした「Xubuntu 22.04.1 LTS」の「iso イメージ」を使い、ボックスを作成しました:

-

現在、ブログを書くために、色々な(新しく公開された) Linux ディストリビューションのインストールを行っています。公開前のイメージを使うことが多いので、登録の遅めな「注目のダウンロード」一覧は、期待できません。

個人的には、ダウンロード済みの「iso イメージ」を指定できて、「ボックス」が作成(ゲストOS がインストール)できれば十分です。

-

-


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

9-1. 「Xubuntu 22.04.1 LTS」の ISO イメージをダウンロード:

-

すでに下記でダウンロード済みです:

-

「ISO イメージをダウンロード:」

-

$ ls ~/ダウンロード/Xubuntu/xubuntu-22.04.1-desktop-amd64.iso
/home/ubn/ダウンロード/Xubuntu/xubuntu-22.04.1-desktop-amd64.iso

-

-


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

9-2. 「Xubuntu 22.04.1 LTS」のボックスを作成:

-

最近販売されているPC のほとんどは「UEFI 立ち上げ」です。

EFI 立ち上げ」オンにすることで、実際のインストールに近い画面が見れます。

-

1). 「Boxes」を起動:

メニュー →開発 →「Boxes」

→「Boxes」の起動:

-

2). ウィンドウの左上の「+」(新規)

-

3). 「仮想マシンを作成」画面:

→「注目のダウンロード」には、「Ubuntu 22.04 LTS」と「Ubuntu 20.04 LTS」の2つだけが表示されました。

-

参考: 以前、試してみようと「注目のダウンロード」の一覧をクリックしたら、ハマりました

→スムーズに行くときは良いのですが、もし、ダウンロードに失敗したり、気が変わって途中で画面を戻ったりすると、その後、アプリを終了しても、選択したその設定を引きずり、抜けるのが大変でした。

-

以前の苦い経験から、および、個人的には不要な機能なので、

「Boxes」で売りの、「注目のダウンロード」と「かんたんインストール」の機能は無視してます

-

ただし、(うまく動くのなら、)簡単にゲストOS を試せるので便利な機能です。

-

4). 画面下にある「ファイルから仮想マシンを作成」をクリック:

ファイルを指定:

~/ダウンロード/Xubuntu/xubuntu-22.04.1-desktop-amd64.iso

→「開く」

-

5). 「準備中…」画面:

テンプレート: 「不明な OS」→「Ubuntu 22.04 LTS」を選択:

-

選択しても一覧が消えないので、

テンプレート: 「Ubuntu 22.04 LTS」をクリックしてから、

→右上の「次へ」

-

6). 「確認と作成」画面:

クルクル回って、

-

(1). 表示された画面:

次のプロパティで新しいボックスをセットアップする準備ができました:
オペレーティングシステム: Ubuntu 22.04 LTS
メモリ: 2.0 GiB
ストレージの上限: 20.0 GiB
EFI を有効にする: オフ

-

(2). 上記の項目を変更しました:

→「ー/+」設定パネルで、値を調整できます:

メモリ: 2.0 GiB            →「3.0」GiB に変更
ストレージの上限: 20.0 GiB   →「25.0」GiB に変更
EFI を有効にする: オフ       →「オン」に変更

-

→右上の「作成」をクリック

-

(3). この時点では、ボックスの名前は指定できません

ウィンドウのタイトルバーに「xubuntu 22」が表示されています。 これが現在のボックス名です。

→インストール完了後に(サムネールを右クリック →設定にて)変更できます。

-

-


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

9-3. 「Xubuntu 22.04.1 LTS」のライブ立ち上げ:

-

1). 右上の「作成」をクリックすると、自動でボックスが起動されました

-

2). ブート選択画面が表示

メニューの一番下に、UEFI のメニュー項目があるので、UEFI 立ち上げ」です。

→デフォルトの選択のまま待つか、Enter

-

画面真っ暗で少し時間がかかりました。

-

デフォルトの壁紙が長めに表示されます:

→開いていたウィンドウの幅に縮小された解像度で表示されました。

-

3). Welcome 画面が表示:

→ひとつのウィンドウ画面として表示されます。

-

日本語を選ぶと、日本語の表示に変わります:

→「Xubuntu を試す」を選択:

-

4). ライブ立ち上げのデスクトップ画面が表示されました

→壁紙で、インストールアイコンが見づらいです。

-

事前の確認:

  • 端末にて、
$ uname -r
5.15.0-43-generic

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"

-

5). 電源オフ:

$ shutdown -h now

-

Xubuntu」が表示されたままです:

電源がオフにならないので、

→ Enter

-

6). 電源オフされ、「Boxes」のボックス一覧画面が表示:

xubuntu-22」という、ボックスがひとつ作成されています:

→2重丸のアイコンになっていることに注目。(停止状態)

クリックして起動すれば、「Xubuntu」のインストールの続きが実行できます。

-

7). ボックスの名前を変更:

ボックスの「xubuntu-22」を右クリック:

→「設定」

-

「設定」画面が表示:

→タイトルバーの表示が欠けています:

アイコンの高さだけ、ウィンドウのタイトルバーの高さが足りていません。 アイコンは横置きがいいかも。

-

ボックスの名前を変更:

「リソース」タブ:

名前: 「xubuntu-22」→「Xubuntu 22.04.1 LTS」に変更

-

「設定」画面の右上の「x」で画面を閉じました:

-

8). 「Boxes」の右上の「x」で、「Boxes」を閉じました:

-

-


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

10. 「Boxes」のヘルプで気付いたこと:

-

1). 英語で「Boxes」を起動:

$ LANG=C gnome-boxes

-

ヘルプを表示:

→あれっ、「操作説明」は英語のはずですが、日本語で表示 されました。

-

2). ビルドによるファイルの変化を確認:

-

原本側の確認(4行指定):
$ cd /usr/share/help/C/gnome-boxes/
$ head -n 4 3d-acceleration.page
<page xmlns="http://projectmallard.org/1.0/"
      xmlns:its="http://www.w3.org/2005/11/its"
      type="topic" style="task"
      id="3d-acceleration">

-

日本語側の確認(2行指定):
$ cd /usr/share/help/ja/gnome-boxes/
$ head -n 2 3d-acceleration.page
<?xml version="1.0" encoding="utf-8"?>        ←(行1: xml 行の追加)
<page xmlns="http://projectmallard.org/1.0/"
 xmlns:its="http://www.w3.org/2005/11/its"
 type="topic" style="task"
 id="3d-acceleration"
 xml:lang="gnome-boxes-ja">                    ←(行2: 行末に言語指定)

→実際は2行の文です。ブログで見やすいように行を分割しました。

ビルドにより、ファイルの先頭 1〜2 行目が使用言語に応じて加工されてます。

-

→ビルドすると使用言語に応じて、XML 行が追加されます:

今までの投稿での、直接ファイルへ行った日本語化パッチでは、「C」フォルダの page ファイルにXML 行を追加していました。これだと、

「ja」フォルダ側の page ファイルだけに追加で良かったみたい。

逆に、今回の投稿のビルドの場合は、XML 行は自動で追加されるので、パッチしなくて正解でした。

パッチしなかったから、気付いたことです。

-

3). 参考:「ninja でビルド」で行われていること(一部)を確認:

「ninja でビルド」で使われる、build.ninja から抜粋:

$ less ~/ダウンロード/box-help/gnome-boxes-42.2/help/builddir/build.ninja

「q」で終了

-

(1). PO ファイルを MO ファイルに変換:
/usr/bin/msgfmt ../ja/ja.po -o ja/gnome-boxes-ja.gmo

→「gnome-boxes-ja」はMO ファイルの名前です。これには見覚えがあります(行末の指定)。

-

(2). XML ファイルと MO ファイル をマージし、ja ディレクトリ内の XML ファイルに出力:
/usr/bin/itstool -m ja/gnome-boxes-ja.gmo -o ja \
 ../C/3d-acceleration.page ../C/backup.page ../C/create.page \
 ../C/delete.page ../C/disk-images.page ../C/edit-domain.page \
 ../C/index.page ../C/interface.page ../C/keystrokes.page \
 ../C/legal.xml ../C/prop-system.page ../C/prop-trouble.page \
 ../C/search.page ../C/shared-folders.page ../C/shortcuts.page \
 ../C/shutdown.page ../C/snapshot-create.page \
 ../C/snapshot-delete.page ../C/snapshot-rename.page \
 ../C/snapshot-revert.page ../C/supported-protocols.page \
 ../C/system-requirements.page ../C/usb-redirection.page \
 ../C/virtualization.page ../C/what-is-a-virtual-machine.page \
 ../C/why-do-i-need-virtual-machine.page

→1行のコマンドですが、ブログで見やすいように行を分けました。

前処理がどこで行われたかはわかりませんが、xml 行の追加が反映されたのはここだろうと思います。

-

→「po ファイル」を翻訳して、上記の「項番 (1)」と「項番 (2)」を行えば、今回投稿した、ヘルプのビルドは要らないかも

-

-


4). 英語で「Boxes」を起動で、ヘルプが日本語表示される件:

英語で使いたい人には不便です。

-

$ locale
:
LANG=ja_JP.UTF-8
LANGUAGE=ja_JP             ←(注目)
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=

-

→システムに「LANGUAGE=ja_JP」の設定がありました

アプリによっては色々と弊害が出るので、デフォルトは空白にすべきと思います。
ちなみに、Fedora では「LANGUAGE=」の行は表示されません。

-

なので、「Boxes」で英語のヘルプを見たいときは、下記で起動:
$ LANGUAGE=C gnome-boxes

-

-


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

11. 参考: ヘルプの「日本語化」が、英語に戻ったとき:

-

ヘルプを「日本語化」しましたが、 もし、ヘルプが英語に戻ったら、アプリの更新でビルドで追加した部分が削除されたと思われます。

つまり、アプリの機能の変更があった可能性があります。

-


参考: 更新されたヘルプを、再び日本語化したいときは、

-

1). 差分の部分を修正する場合:

ソースファイルの「C」フォルダ (*1) と、更新後のシステムの「C」フォルダ (*2) の差分を確認。

作業フォルダ (*3) を残しているなら、翻訳されたファイルをエディタで修正して、手順の最後の配置を行えば早道です。

(*1): 「~/ダウンロード/box-help/gnome-boxes-42.2/help/C/」

(*2): 「/usr/share/help/C/gnome-boxes/」

(*3): 「~/ダウンロード/box-help/gnome-boxes-42.2/help/builddir/ja/test-dir/*.page」

-

参考: 差分を確認:

$ cd ~/ダウンロード/box-help/
$ cp -r gnome-boxes-42.2/help/C tmp-a
$ cd tmp-a
$ rm -r *.stub
$ rm -r figures

$ cd ~/ダウンロード/box-help/
$ cp -r /usr/share/help/C/gnome-boxes tmp-b
$ cd tmp-b
$ rm -r figures

$ cd ~/ダウンロード/box-help/
$ diff -Naur tmp-a tmp-b > help.diff
$ cat help.diff

→変更(差分)がなければ、表示なし

-

2). 勉強したいなら、更新後のシステムの「C」フォルダ (*4) をどこかにコピーして、pot ファイルの作成から行ってもよいです。

この場合も、LINGUAS ファイル (*5) の修正を忘れてはいけません。

また、すでに翻訳された、po ファイル (*6) とのマージについて勉強できる (*7) 、よい機会です。

(*4): 「/usr/share/help/C/gnome-boxes/」

(*5): 「~/ダウンロード/box-help/gnome-boxes-42.2/help/LINGUAS」

(*6): 「~/ダウンロード/box-help/gnome-boxes-42.2/help/ja/ja.po」

-

(*7) po ファイルのマージについて:

2つの.po翻訳ファイルを組み合わせることができますか? 」よりの抜粋:

  • 「msgcat」コマンドを使用

  • 「poedit」アプリを使用
    GUI での操作

  • 「msgmerge」コマンドを使用
    →翻訳する部分が、どこで使われていたかのエントリ部が捨てられるので注意。
     後々のメンテでは不利ですが、目的によっては有利 (*8)

-

(*8) 目的によっては有利:

「po ファイル」にある、エントリが必要か、必要ではないか、について記述されているページ:

gettextとバージョン管理システムの相性の悪さを解消する案

-

→内容もですが、「po ファイル」を操作するコマンドの使い方に注目すると、勉強になります。

-

こちらは、リモートのバージョン管理の「git」で、「po ファイル」を管理する場合のケースです。

例題によく使われる「hello.c」プログラム(C で書かれた簡単なプログラム)にて、
それを日本語から英語に翻訳する「po ファイル」の作り方と、
そのバージョン管理をどうするかの、ひとつの案です。

-

参考: 「git」で使われコマンド:

こちらによく出る「リポジトリーに追加」は「管理フォルダに保存」に近い意味です。 ただし、「git」の場合、作業段階ごとに、ファイルの差分(コミット単位)で管理されています。

% git add po/ja.po   ←ローカルにある仮のフォルダへ(ファイル指定して)保存
% git commit         ←ローカルにある本番のフォルダへ(仮のフォルダの中身を)保存

→この段階では、まだ、リモート(上位サイト)には反映されていません。送信準備 OK の段階。

-

今回は、git 以外の、「po ファイル」を操作するコマンドの使い方に注目してください。

-

-


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

(備忘録1)4-1. ソースを事前に確認:

-

こちらの作業は要りません。確認だけにしてください。

-

今回の投稿では重要な「事前作業」になりますが、手順を見やすくするために外しました。

なので、備忘録として残しました。

-

手順の順番としては、「項番 4).」の後半になります。

-

確認:

$ cd ~/ダウンロード/box-help/gnome-boxes-42.2/
$ ls help/
:
C        ca  da  el  eu  gl  id  ko           pl     ru  uk
LINGUAS  cs  de  es  fr  hu  it  meson.build  pt_BR  sv

→ヘルプに日本語化の「ja」フォルダがありません。

-

$ cat  help/LINGUAS
# Keep this list sorted alphabetically
ca
cs
da
de
el
es
eu
fr
gl
hu
id
it
ko
pl
pt_BR
ru
sv
uk

→「ja」の指定がありません。翻訳対象にするには、アルファベット順の追記が必要です。

-

ヘルプのインストール (meson.build) の指定:

$ cat  help/meson.build
help_files = [
  '3d-acceleration.page',
  'backup.page',
  'create.page',
  'delete.page',
  'disk-images.page',
  'edit-domain.page',
  'index.page',
  'interface.page',
  'keystrokes.page',
  'legal.xml',
  'prop-system.page',
  'prop-trouble.page',
  'search.page',
  'shared-folders.page',
  'shortcuts.page',
  'shutdown.page',
  'snapshot-create.page',
  'snapshot-delete.page',
  'snapshot-rename.page',
  'snapshot-revert.page',
  'supported-protocols.page',
  'system-requirements.page',
  'usb-redirection.page',
  'virtualization.page',
  'what-is-a-virtual-machine.page',
  'why-do-i-need-virtual-machine.page',
]

help_media = [
  'figures/boxes_icon.svg',
  'figures/input-keyboard-symbolic.svg',
  'figures/view-more-symbolic.svg'
]

gnome.yelp (meson.project_name (),
            sources: help_files,
            media: help_media,
            symlink_media: true,
)

-

-


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

(備忘録2)4-2. XML ファイルから pot ファイルを作成して、翻訳:

-

こちらの作業は要りません。確認だけにしてください。

-

こちらの作業を経て、「項番 5).」のパッチを作成しました。

-

ソースファイルを確認すると、「pot ファイル」(po テンプレートファイル)が含まれていないので、

現状のXML ファイルから、pot を生成して、そこから po ファイルを作成しました:

これにより、最新の po ファイルが手に入るので、翻訳漏れを最小にできます。

-

参考:

-

1). 「its ツール」を使うので、インストール:

-

インストール:
$ sudo apt install itstool
:
以下のパッケージが新たにインストールされます:
  itstool python3-libxml2

-

$ apt search itstool
:
itstool/jammy,jammy,now 2.0.6-2 all [インストール済み]
  tool for translating XML documents with PO files

→和訳: PO ファイルを含む XML ドキュメントを翻訳するためのツール

-

「itstool」のバージョン:
$ itstool --version
itstool 2.0.6

-

「itstool」のヘルプを表示:
$ itstool --help
:
Usage: 
  itstool [OPTIONS] [XMLFILES]
  itstool -m <MOFILE> [OPTIONS] [XMLFILES]
  itstool -j <XMLFILE> [OPTIONS] [MOFILES]

Options:
  -h, --help            show this help message and exit
  -i ITS, --its=ITS     Load the ITS rules in the file ITS (can specify
                        multiple times)
  -l LANGUAGE, --lang=LANGUAGE
                        Explicitly set the language code for output file
  -j FILE, --join=FILE  Join multiple MO files with the XML file FILE and
                        output XML file
  -m FILE, --merge=FILE
                        Merge from a PO or MO file FILE and output XML files
  -n, --no-builtins     Do not apply the built-in ITS rules
  -o OUT, --output=OUT  Output PO files to file OUT or XML files in directory
                        OUT
  --path=PATHS          Extra path where ITS files may be found (can specify
                        multiple times)
  -s, --strict          Exit with error when PO files contain broken XML
  -d, --load-dtd        Load external DTDs used by input XML
  -k, --keep-entities   Keep entity reference unexpanded
  -p NAME VALUE, --param=NAME VALUE
                        Define the ITS parameter NAME to the value VALUE (can
                        specify multiple times)
  -t CATEGORY, --test=CATEGORY
                        Generate conformance test output for CATEGORY
  -v, --version         Print itstool version and exit

-

2). 対象となる、XML ファイルを確認:

$ ls -1 ~/ダウンロード/box-help/gnome-boxes-42.2/help/C/
:
3d-acceleration.page
backup.page
collection.page.stub                       ←(対象外)
command-line.page.stub                     ←(対象外)
continuous.page.stub                       ←(対象外)
create.page
delete.page
disk-images.page
edit-domain.page
figures                                    ←(対象外)
how-many-machines.page.stub                ←(対象外)
import-images.page.stub                    ←(対象外)
index.page
interface.page
keystrokes.page
legal.xml                                  ←(対象外)
list-of-supported-protocols.page.stub      ←(対象外)
networking.page.stub                       ←(対象外)
legal.xml
prop-system.page
prop-trouble.page
properties.page.stub                       ←(対象外)
search.page
shared-folders.page
shortcuts.page
shutdown.page
snapshot-create.page
snapshot-delete.page
snapshot-rename.page
snapshot-revert.page
supported-protocols.page
system-requirements.page
unattended.page.stub                       ←(対象外)
usb-redirection.page
virtualization.page
what-is-a-virtual-machine.page
why-do-i-need-virtual-machine.page

→フォルダには対象外のファイルも含まれていますが OK です。

-

3). 対象となる、page ファイルの先頭を確認:

例:

$ head -n 2 ~/ダウンロード/box-help/gnome-boxes-42.2/help/C/3d-acceleration.page
<page xmlns="http://projectmallard.org/1.0/"
      xmlns:its="http://www.w3.org/2005/11/its"

→先頭の説明:

1行目は「mallard」(XML言語)のバージョンが低いので、標準のXML形式だと思います。
2行目は「its ルール」の指定です。

-

ヘルプに置かれている page ファイルの作り方からわかることは、ヘルプに置かれている page ファイルは、「itstool」で扱える XML ファイルの形式です。

-


4). pot ファイルを作成

ディレクトリにある 「Mallard XML」形式の page ファイルから、PO テンポラリファイルを生成しました:

$ cd ~/ダウンロード/box-help/gnome-boxes-42.2/help/C/

$ itstool -o box-help.pot *.page

-

ファイルの確認:

$ ls *.pot
box-help.pot

-

5). pot ファイルを作業フォルダにコピー:

$ mkdir -p ~/ダウンロード/test-help/{a,b}
$ cp box-help.pot ~/ダウンロード/test-help/

-

ファイルの確認:

$ cd ~/ダウンロード/test-help/

$ ls -1
a
b
box-help.pot

-

6). 翻訳を楽にするために、仮に、英語指定で po ファイルを作成:

$ cd ~/ダウンロード/test-help/

$ msginit --locale=en --input=box-help.pot
:
ユーザが翻訳に関するフィードバックをあなたに送ることができるように,
新しいメッセージカタログにはあなたの email アドレスを含めてください.
またこれは, 予期せぬ技術的な問題が発生した場合に管理者があなたに連絡が取れる
ようにするという目的もあります.

Is the following your email address?
  ubn@ubn-box
Please confirm by pressing Return, or enter your email address.  ←(Enter)

https://translationproject.org/team/index.html を検索中... 完了.
A translation team for your language (en) does not exist yet.
If you want to create a new translation team for en, please visit
  https://translationproject.org/team/index.html
  https://translationproject.org/html/leaders.html
  https://translationproject.org/html/welcome.html

en.po を生成.

-

→en.po を生成すると、各項目に同じ文字列が入力されます:

入力時の半角、全角の誤りを防げるだけでなく、修正すべき場所がわかりやすくなり、翻訳漏れが減る利点もあります。

-

例:

$ head -n 17 ~/ダウンロード/test-help/en.po | tail -n 2
msgid "translator-credits"
msgstr "translator-credits"  ←(注目: 通常は空ですが、同じ文字列がコピーされます)

→HTML タブ等を移し替えるときのミスを防げます。また、コピーの手間を減らせます。

-

空のままが良いのなら、こちらの作業はパスします:
msgid "translator-credits"
msgstr ""          ←(注目: 通常は空です)

-

ファイルの確認:

$ ls -1
a
b
box-help.pot
en.po

-

7). 日本語指定で po ファイルを作成:

$ msginit --locale=ja --input=en.po
:
ユーザが翻訳に関するフィードバックをあなたに送ることができるように,
新しいメッセージカタログにはあなたの email アドレスを含めてください.
またこれは, 予期せぬ技術的な問題が発生した場合に管理者があなたに連絡が取れる
ようにするという目的もあります.

Is the following your email address?
  ubn@ubn-box
Please confirm by pressing Return, or enter your email address.  ←(Enter)

https://translationproject.org/team/index.html を検索中... 完了.
Please visit your translation team's homepage at
  https://translationproject.org/team/ja.html
  https://translationproject.org/team/index.html
  https://translationproject.org/html/translators.html
  https://translationproject.org/html/welcome.html
and consider joining your translation team's mailing list
  <translation-team-ja@lists.sourceforge.net>

ja.po を生成.

-

→日本語指定することで、po のヘッダー部が自動で「日本語指定」に修正されます:

例:

ヘッダー部からの抜粋:

$ head -n 12 ~/ダウンロード/test-help/ja.po | tail -n 7
"Last-Translator: ubn <ubn@ubn-box>\n"        ←(任意で修正が必要)
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"   ←(注目)
"Content-Transfer-Encoding: 8bit\n"           ←(注目)
"Language: ja\n"                              ←(注目)
"Plural-Forms: nplurals=1; plural=0;\n"  ←(言語に複数形、男性名詞、女性名詞があるかの指定)

-

データ部からの抜粋:

$ head -n 17 ~/ダウンロード/test-help/ja.po | tail -n 2
msgid "translator-credits"
msgstr "translator-credits"  ←(注目: 英語の po のデータが引き継がれます)

-

ファイルの確認:

$ ls -1
a
b
box-help.pot
en.po
ja.po

-

8). po ファイルの翻訳:

-

(1). 差分を作成するための配置:
$ cd ~/ダウンロード/test-help/

$ cp -r ~/ダウンロード/box-help/gnome-boxes-42.2/help a/
$ cp -r ~/ダウンロード/box-help/gnome-boxes-42.2/help b/

-

(2). po ファイルのコピー:
$ mkdir -p ~/ダウンロード/test-help/b/help/ja
$ cd ~/ダウンロード/test-help/b/help/ja/

$ cp ~/ダウンロード/test-help/ja.po ja.po

-

(3). ファイルの先頭を修正:
$ mousepad ~/ダウンロード/test-help/b/help/ja/ja.po

↓ ファイルの先頭に、下記の「gnome-boxes のコメント」 4行を追加:

# Japanese translation for gnome-boxes.
# Copyright (C) 2014 gnome-boxes's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-boxes package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.

-

(4). 翻訳:

-

-


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

(備忘録3)4-3. 「po ファイル」の翻訳ミスをチェック:

-

個人的に確認に使ったやり方です。

-

1). 「featherpad」にて、「\"」等や、「msgstr ""」をキーワードにして、順次、検索:

→全体を見直して、翻訳した行に「""」の漏れがないか、チェック。

-

2). 最終的に「mousepad」で開いて、タイプミスを確認:

テキストエディタに「mousepad」を使うと、po ファイルの構文がハイライト表示されるので、「\"」等の確認がしやすいです。

→ただし、</gui></ gui> としても、色は変わらないので、自分で確認する必要がありますが、見やすい色なので見つけやすいです。

ちなみに、「VSCode」であれば、上記は違う色になりますが、落ち着いたテーマだと、その違いがわかりづらい色になります。高機能でも気付きにくい色使いだと、役に立ちません。(使う目的でテーマを変えるのが良いかも)

-

3). 構文誤りがあれば、ninja でビルドする時に「翻訳できない部分」を指摘したエラーが表示されます:

上記の「項番 1) 」、「項番 2) 」 でチェックしていても、いくつかの漏れがありました。

→エディタでその「翻訳できない部分」をキーワードにして検索、修正。

修正しての確認は、再び、ninja でビルド。エラーがなくなるまで繰り返し。

-

4). パッチファイル(差分)を作成:

上記の「ninja のビルド」で、エラーが出なくなれば、対象の「po ファイル」は、(内容は別にして)日本語化するときに(パッチとして)使えます。

-

ちなみに、「パッチファイル」を作成しているのは、誰でも正しく修正できるようにする「ブログでの自分のやり方」なので、通常は、わざわざ「パッチファイル」を作成する必要はありません。

-

-


まとめ

「Boxes」(42.2) のヘルプのソースから、「Boxes」のヘルプ部分だけのビルドをして、その結果をヘルプの日本語化に使いました。

このやり方なら、更新の多い「page ファイル」にて、現状の更新の内容と同じ「po ファイル」が作成できるので、翻訳の更新漏れが少ないと思います。

また、ひとつの「po ファイル」にまとまることで、エディタの検索が使えて修正が楽です。

-

追記:

後で気付いたのですが、「po ファイル」を翻訳して、
こちら 」に書いた 2つのコマンドだけで、今回投稿した、ヘルプのビルドは要らないかもしれません。

-

-

-


-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-