KDE のアプリケーションを翻訳しよう! on Linux


[Linux Advent Calendar 2024](https://qiita.com/advent-calendar/2024/linux) 4日目の記事です。

## 前作

1年半ほど前にも同様の記事を作成しました。

https://qiita.com/Lemon73/items/ad93e1ab5bad0cd1b44a

前作では Windows 環境を前提に記事を記載していましたが、本作では Linux であることを前提として記載しています。

## 翻訳作業

**目次**

1. 翻訳する対象を決める
1. 翻訳データの入手 (SVN を使用)
1. 翻訳アプリケーションを設定 (今回の説明では Lokalize を使用)
1. 翻訳を開始
1. 提出

### 翻訳する対象を決める

本記事のタイトルは"アプリケーション"としていますが、ウェブサイトや Plasma などのソフトウェアの翻訳も可能です。

特に決めていない場合は、基本ソフトウェア (Plasma 関連、KDE System Settings, Discover, Dolphin, Konsole など) や知名度の高いアプリケーション (Krita, Kdenlive, Labplot など) をおすすめします。また、下記の翻訳の進行度も参考になるでしょう。

- [KDE Frameworks 6.x ベース](https://l10n.kde.org/stats/gui/trunk-kf6/team/ja/)
- [KDE Frameworks 5.x ベース + ウェブサイト系](https://l10n.kde.org/stats/gui/trunk-kf5/team/ja/)

### SVN のインストール

KDE では、翻訳データの管理で SVN というバージョン管理システムが採用されています。

バージョン管理の状態を維持しながら、翻訳データをダウンロードするため、`svn` コマンドを利用するため、先にインストールしておきます。

```shell
# インストール
# Debian
sudo apt install subversion
```

### 翻訳データの入手

次は、翻訳データを実際にインストールします。

はじめに https://websvn.kde.org/trunk/l10n-support/ja/summit/messages/ にアクセスしてください。

![Screenshot_20241127_152934.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2769460/df11caac-2dd2-241c-2301-d3f67955cd3f.png)

次に、翻訳対象のページを開きます。今回は例として Filelight のページを開きます。

![Screenshot_20241127_153059.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2769460/02f62cd8-6375-9b48-333a-5c15930f428f.png)

Filelight のページの上部に記載されている Anonymous SVN Url をコピーします。

ローカルで、次のコマンドを実行することで、翻訳データを入手できます。(翻訳データがダウンロードされるので、適当なディレクトリで実行してください)

```shell
svn co リンク
# 例:
# svn co svn://anonsvn.kde.org/home/kde/trunk/l10n-support/ja/summit/messages/filelight
```

翻訳データがダウンロードできているのが確認できます。

```shell
tree
# .
# └── filelight
#     ├── filelight._desktop_.po
#     ├── filelight.po
#     └── org.kde.filelight.appdata.po
```

(今回は翻訳対象 (Filelight) のみダウンロードしていますが、全部 (`svn://anonsvn.kde.org/home/kde/trunk/l10n-support/ja/summit/messages`) をダウンロードしても良いです)

### 翻訳ツールの設定

続いて、翻訳ツールの準備を行います。

今回は、KDE で一般的に利用されている Lokalize を紹介します。

(KDE では PO Summit という、gettext を拡張した仕様を利用しています。そのため、Lokalize 以外で翻訳する場合は[翻訳 - 日本 KDE](https://jp.kde.org/community/getinvolved/translation/) を参考にしてください)

![Screenshot_20241127_154940.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2769460/864a6b16-842f-7c06-0da6-a0bf9cd5ab4b.png)

インストールは Discover から簡単にできます。他の方法でもインストール可能です。詳しくは[こちら](https://apps.kde.org/lokalize/)。

ここからは Lokalize の設定について記載していきます。

![Screenshot_20241127_155727.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2769460/fd6ce61a-00a4-1810-530d-b61280ddfa6e.png)

まずは、Lokalize を開き、"設定"から "Lokalize を設定"を開きます。

![Screenshot_20241127_160033.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2769460/7ed5a274-fd80-6693-9f0c-50d354fc2de7.png)

私は"個人情報"の項目のみ設定しています。

上記のように

```
名前: <自分の名前>
メールアドレス: <自分のメールアドレス>
デフォルトの言語: 日本語 (ja)
デフォルトのメーリングリスト: kde-jp@kde.org
デフォルトの言語チーム: kde-jp
ローカライズされた名前: 日本 KDE
```

で大丈夫だと思います。他の設定は任意です。

(翻訳メモリやプロジェクトの設定は推奨されていますが、私自身使ったことがないので、今回の説明からは省きます)

### 翻訳作業

ついに、Lokalize でダウンロードした翻訳ファイルを開き、翻訳を行うことができます。

**便利なショートカット**

- 次の Fuzzy か未翻訳メッセージ: <kbd>PageDown</kbd>
- 次のメッセージ: <kbd>PageDown</kbd>
- 前のメッセージ: <kbd>PageUp</kbd>

(Fuzzy: 昔翻訳されたが、その後原文が変更されたため、再度翻訳が必要なメッセージ)

### 提出

翻訳データの提出は、メールで行われています。

ZIP にアーカイブ、またはクラウドドライブを利用し、日本 KDE のメール (`kde-jp@kde.org`) 宛に翻訳データを送信してください。

(SVN の隠しファイルがあるので、ディレクトリごと ZIP にアーカイブしたほうがいいかもしれないです)

(過去のメールは[アーカイブ](https://mail.kde.org/pipermail/kde-jp/)から閲覧できるので、他の人の提出方法を参考にできます)

## 議論と今後

### SVN 廃止に関して (KDE 本部)

SVN は開発者にとっても翻訳者にとっても厄介なシステムの1つでした。これは、バージョン管理システムとしては Git が主流となった現在、SVN を使うのは時代遅れであると認識していたからです。

今まで、SVN から Git に移行することについて度々議論されてきましたが、ついに Akademy 2024 では、KDE/Plasma 7 まで SVN を継続できないという判断がなされました。([大串さんによる説明](https://mail.kde.org/pipermail/kde-jp/2024-September/001699.html))

これにより、SVN から Git に移行することがようやく決定事項となったのです。(しかし、Plasma 6 がリリースしてまだ1年も立っていないですし、Plasma 5 と Plasma 6 の間が9年空いたため、結局数年間は変わらなさそうですが…)

### 翻訳方法変更の検討 (日本 KDE)

日本 KDE では度々 Web ベースでの翻訳について検討されています。

- [2024年9月メール](https://mail.kde.org/pipermail/kde-jp/2024-September/thread.html)
- [翻訳の流れについて - KDE Discuss](https://discuss.kde.org/t/topic/9034)

しかし、Web ベースはどうしてもレスポンスの悪さが目立つことや、本部が SVN を Git に移行してくれないと使えない (これに関しては、日本 KDE として対処できる範疇を超えているので厳しそうです) など、課題が多く、現時点では採用の予定はなさそうです。

## 最後に

KDE 流行らせたい♡