🌊

Linux の man ページ翻訳用に Weblate サイトを構築中の件

に公開

前回の記事をポエムで終わらせないために

https://zenn.dev/yasumichi/articles/5e2913dd193df6

言うは易く行うは難し

前回の記事からの変化事項です。

JM Projectに関すること

前回の記事で事実誤認がありましたが、2014年頃から多くの man ページに po4aが導入されていたようです。(正式なアナウンスがあったかは分かりませんが。)

構築中の Weblate サイト

https://v163-44-112-237.zyew.static.cnode.jp/projects/linuxjm/

ConoHa by GMO さんの VPS + メールサーバー

https://www.conoha.jp/

あまり手の内を明かすのは良くないのかもしれませんが、URL で分かるでしょうし。

サイト構築のインフラとして、ConoHa by GMO さんの VPS[2] とメールサーバーを契約しました。

ConoHa by GMO さんの VPS を選択した理由は、次の点です。

お恥ずかしい話、最初に VPS を構築する際にテンプレートを間違えたらしく、firewalld と Docker の相性の悪さにはまり、一度、作り直しました。(ちゃんと設定すれば、問題ないはずですが… 😓)

当初は、メールサーバーを契約するつもりはなかったのですが、次の点から契約をしました。

  • Weblate にはメールサーバーが必須であること
  • SPF[3] + DKIM[4] に対応していないと他のメールサーバーに転送できないこと
    • SPF に対応するためには独自ドメインが必要なこと

Weblate の良いところ

  • Docker による構築が可能
  • 複数のプロジェクトを管理可能
  • Git リポジトリと連携できる
    • 1つのリポジトリに複数の翻訳対象ファイル(gettext PO ファイル[5]など)があってもすべてをコンポーネントとして管理できる
  • 翻訳状況が可視化できる(下図参照)
  • ゲストユーザーでも翻訳の提案ができる(協力者の裾野を広げられる可能性がある)
  • 2FA[6]に対応している

Weblate のイマイチなところ

  • 1つのリポジトリに複数の翻訳対象ファイル(gettext PO ファイルなど)がある場合、1ファイルずつコンポーネントとして追加する必要がある
    • 負荷を考えると致し方なしですが
    • 2ファイル目以降は、既存のコンポーネントからタブで設定項目が少なくなります(下図参照)
  • カテゴリのページからコンポーネントを追加してもそのカテゴリが選択されない。

JM Project 用のコンポーネントを作成する場合の考慮点

コンポーネントの作成

既存のコンポーネントからを選択し、コンポーネントlinuxjm/info/GNU_coreutilsを選択する。

新しい翻訳コンポーネントの追加 画面での設定

  • カテゴリを適切なものに変更
  • 基礎となる翻訳ファイルの編集のチェックをはずす
  • 新しい翻訳の追加は、新しい翻訳の追加の無効化を選択

現在のカテゴリ

カテゴリ 詳細
linuxjm/LDP man-pages Linux man-pages project が配布している man ページ
linuxjm/Linux Linux 専用のソフトウェアパッケージに属する man ページ
linuxjm/GNU packages GNU が配布している ソフトウェアパッケージに属する man ペー
linuxjm/Miscellaneous Unix 汎用のソフトウェアのうち、 GNU 以外のもの
linuxjm/info info 形式で配布されているマニュアル
linuxjm/POD Perl 関連パッケージで良く用いられる、 POD (plain old documentation) 形式で書かれたページ

翻訳の設定

  • 文字列の管理のチェックをはずす
  • 翻訳フラグignore-prohibited-initial-character(禁止されている頭文字[7]の品質検査を除外する。)を追加する

ToDo

まだ、試験段階であり、完全な合意形成もできていないのですが…

  • 現状で po4a 化されている gettext PO ファイルをすべてコンポーネントとして追加する(2025/05/28完了)
  • まだ、po4a 化されていない man ページの po4a 化
  • Linux JM プロジェクトガイドの更新
  • JM Project の宣伝
脚注
  1. Weblate - Web ベースの翻訳 ↩︎

  2. Virtual Private Server 仮想専用サーバー(VPSとは?クラウドとの違いをわかりやすく解説します | Fujitsu Cloud Direct) ↩︎

  3. Sender Policy Framework 正規のIPアドレスからメールが送信されたかどうかを認証する送信ドメイン認証技術(SPF (Sender Policy Framework)|セキュリティ用語解説|NRIセキュア) ↩︎

  4. DomainKeys Identified Mail 電子メールにおける電子署名を利用した送信ドメイン認証技術(インターネット用語1分解説~DKIMとは~ - JPNIC) ↩︎

  5. Portable Object(PO (GNU gettext utilities)) ↩︎

  6. Two-Factor Authentication 2要素認証(2FAとは | IBM) ↩︎

  7. %, +, =, @, -, | ↩︎

GitHubで編集を提案

Discussion