2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

FOSS4GAdvent Calendar 2020

Day 20

OmegaTでのOSGeoLiveドキュメント翻訳について

Last updated at Posted at 2021-01-06

この記事は、FOSS4G Advent Calendar 2020 の20日目の内容になります。
(が、投稿が遅れてしまって申し訳ないです...。)

はじめに

OSGeoLive とは

OSGeoLive は、Ubuntu から派生した軽量の Lubuntu をベースとしたLinuxディストリビューションで、起動可能なブータブルDVD・USBメディアや仮想マシン上で、FOSS4G関連の様々なツールを試すことができます。

Linuxディストリビューションの一つなので、DistroWatchにも取り上げられています。
https://distrowatch.com/table.php?distribution=osgeo

現時点の最新版は、2019年9月にリリースされたOSGeoLive 13.0で、基本的には年次のFOSS4Gのグローバルイベントに合わせてリリースされるのですが、昨年は新型コロナウイルスの影響でグローバルイベントがキャンセルとなったことや、Lubuntu 18.10以降のデスクトップ環境の変更(LXDE => LXQt)に伴ってか、リリースが遅れていましたが、今月初めに、今年(2021年)1月末にリリースされるとOSGeo-Discussメーリングリストでアナウンスされました。

2021年1月5日時点のalpha4リリース中の起動画面イメージ:
osgeolive_01.png

OSGeoLiveのドキュメントは、SphinxというPython製のツールを利用して生成されており、OSGeo-Live 11.0までは各言語毎に手動でreStructuredText形式のファイル(*.rst)を編集していましたが、OSGeoLive 12.0以降、Sphinxの国際化に対応し、Transifexというクラウドベースの翻訳ツール上でpoファイル(*.po)を編集する形に移行しました。

OmegaT とは

OmegaTは、Javaで実装されたデスクトップ環境での翻訳ツールで、翻訳メモリが利用できる他、機械翻訳の設定もプラグインを通じてできるようになっています。

OmegaTでのOSGeoLive-doc翻訳イメージ:
omegat_01.png

OmegaTを利用したOSGeoLiveドキュメント翻訳のイメージ

今回は、このOmegaTを利用したOSGeoLiveドキュメント翻訳手順について記載しようと思います。

参考までに、OmegaT導入前後の翻訳ワークフローのイメージを以下に記載します。
OmegaT導入前後のフロー.png

環境構築

前提条件

OmegaTのチームプロジェクト機能を利用することになりますので、以下のGitHubの設定は必須となります。

  • GitHubのアカウントを取得
  • GitHubアカウントのSSHキーの設定

まだ取得・設定されていない場合は、以下のサイトなどが参考になると思います。

上記後、GitHubのリポジトリにメンバー参加する必要がありますので、以下の手順でプロジェクトに参加申請をします。

  1. GitHubプロジェクトの "Issues" ページ (https://github.com/OSGeo-jp/OSGeoLive-doc-omegat/issues) にアクセス
  2. 右端にある [New Issue] ボタンをクリック
  3. テンプレートが表示されるので、一番上の "参加申請" の行の右端の [Get Started] ボタンをクリック
  4. "Issue: 参加申請" ページが表示されるので、 [Submit new issue] ボタンをクリック
    (本文入力は不要です。)
  5. 参加承認は、現状、手動となりますので、しばらくお待ち頂く必要があります。

OmegaTのインストールと設定

以下の手順でOmegaTのインストール・設定を行います。

  1. OmegaTのダウンロードページ (https://omegat.org/ja/download) から、中ほどの "最新版 - OmegaT 5.4.1" (2021年1月5日時点) をダウンロードし、インストール
    • ダウンロードサイト下部に記載のように、JRE付き版の以下の選択が無難です:
      • Windows 32bit 環境: "Windows (JRE付き)"
      • Windows 64bit 環境: "Windows (64-bit, JRE付き)"
      • macOS 環境: "OS X(認証済み)"
  2. OmegaTを起動後、[環境設定] メニューを選択して [環境設定] 画面を表示
  3. 左側ツリーの [編集] 項目を選択して、右側パネルで [原文と同じ訳文を許可] のチェックをON
    omegat_setting_editing.png
  4. 左側ツリーの [保存と訳文ファイル生成] 項目を選択して、自動保存の間隔をデフォルトの 3 分から 10 分に変更
    omegat_setting_auto_saving.png
  5. No.3、4の設定後、[確定] ボタンをクリックして反映
  6. GitHubプロジェクトへの参加承認がまだの場合は、一旦、OmegaTを終了
  7. GitHubプロジェクトへの参加承認済みの場合は、OmegaTを起動し、[プロジェクト] / [チームプロジェクトをダウンロード] メニューを選択
  8. [チームプロジェクト] 画面で以下を指定し、[確定] ボタンをクリック
    • リポジトリURL: git@github.com:OSGeo-jp/OSGeoLive-doc-omegat.git
    • 新規ローカルプロジェクトフォルダー: (ローカル環境の作業フォルダを指定)
      omegat_team_01.png
  9. GitのSSHキーにパスフレーズを設定している場合は、以下のような [認証] ダイアログが表示されるので、 [パスワード] にパスフレーズを入力して [確定] ボタンをクリック
    omegat_team_02.png
  10. OmegaTのメイン画面と翻訳対象ファイル一覧画面が表示されます。
    omegat_02.png

OSGeoLive 14.0 (alpha版)のインストール

OSGeoLiveのインストールは必須ではありませんが、特にクイックスタートというドキュメントを翻訳する場合は、動作確認できる状態が望ましいです。念のため、VirtualBoxを使った方法について簡単に記載します。
(ローカル環境が64bitで、CPU数が2以上、メモリが4GB以上ある場合を想定しています。)

  1. OSGeoLive 14.0のalpha最新版 (2021年1月5日時点で alpha4) のISOイメージを以下のいずれかのサイトからダウンロード
  2. VirtualBoxが未インストールの場合は、VirtualBoxのダウンロードページ (https://www.virtualbox.org/wiki/Downloads) から最新版をダウンロードし、インストール
  3. VirtualBoxを起動後、上部のツールバー内の [新規] ボタンをクリック (もしくは [仮想マシン] / [新規...] メニューを選択)
  4. [名前とオペレーティングシステム] 画面が表示されるので、下記を設定後、 [続き] ボタンをクリック
    • 名前: OSGeoLive-14.0alpha4
    • マシンフォルダー: (ローカル環境のフォルダを指定)
    • タイプ: Linux
    • バージョン: Ubuntu (64-bit)
  5. [メモリーサイズ] 画面が表示されるので、 1024 => 2048 MBに変更して、 [続き] ボタンをクリック
  6. [ハードディスク] 画面が表示されるので、 初期選択の [仮想ハードディスクを作成する] のままで、 [作成] ボタンをクリック
  7. [ハードディスクのファイルタイプ] 画面が表示されるので、初期選択の [VDI (VirtualBox Disk Image)] 選択のままで、 [続き] ボタンをクリック
  8. [物理ハードディスクにあるストレージ] 画面が表示されるので、初期選択の [可変サイズ] のままで、 [続き] ボタンをクリック
  9. [ファイルの場所とサイズ] 画面が表示されるので、サイズを 10.00 GB => 20.00 GB に変更して、 [作成] ボタンをクリック
  10. VirtualBoxメイン画面の左側リストで、"OSGeoLive-14.0alpha4"の項目を選択し、上部ツールバーの [設定] ボタンをクリック
  11. [システム] アイコンを選択し、 [プロセッサー] タブでプロセッサー数を 1 => 2 に変更
  12. [ディスプレイ] アイコンを選択し、ビデオメモリーを 16 MB => 64 MB に変更し、 [3Dアクセラレーションを有効化] をチェックON
  13. [ストレージ] アイコンを選択し、左側の [ストレージデバイス] ツリーの [コントローラー: IDE] 項目下の [空] 項目を選択し、右側の [属性] / [光学ドライブ] の右端のディスクアイコンをクリックして、コンテキストメニュー中の [ディスクファイルを選択...] メニューを選択し、No.1の手順でダウンロードしたISOファイルを指定
  14. [Live CD/DVD] のチェックをONにし、 右下の [OK] ボタンをクリック
  15. VirtualBoxメイン画面に戻るので、 "OSGeoLive-14.0alpha4"の項目を選択し、上部ツールバーの [起動] ボタンをクリック
  16. 言語選択メニューが(小さいながらも)表示されるので、 [日本語] を矢印カーソルで選択し、 [Enter] キーを押下
  17. 初期選択の [Start Lubuntu] のまま、 [Enter] キーを押下
  18. 小さいながらもOSが起動するので、VirtualBoxのウィンドウサイズを操作しやすいサイズに変更。
  19. 左下のOSメニューから、一番上の [Geospatial] メニューにカーソルをあてると、各カテゴリ毎に利用可能なアプリのメニューが表示されます。

OS終了時は、以下の手順でシャットダウンします。

  1. 左下のOSメニューから、 [Leave] / [終了] メニューを選択
  2. [どの操作を選択しますか?] 画面が表示されるので、 [シャットダウン] ボタンをクリック
  3. [LXQtセッションシャットダウン] 画面が表示されるので、 [はい] ボタンをクリック
  4. OSGeoLive のロゴの下に5つのドットが点滅する画面が表示されるので、マウスのフォーカスが画面内にある状態で、 [Enter] キーを押下

補足

OSGeoLive 14.0 alpha4版ですが、2021年1月5日時点でも、デスクトップのショートカットアイコンのリンクや、起動時エラーの問題が発生しています。

私の方はLinuxのシステム周りは門外漢なのですが、お詳しい方は上記のMLや、下記のTrac/GitHubで本家の方にフィードバックを上げて頂いた方が良いかもしれません。

=> 2021年1月6日追記: 上記の件については進展があったようです

翻訳手順

翻訳の準備が整いましたので、未翻訳部分のあるファイルの新規翻訳を行う場合を例に、翻訳手順を記載します。

新規翻訳の手順

未翻訳部分のあるファイルを確認する

まずは、未翻訳部分のあるファイルを確認しましょう。

  1. OmegaTを起動し、 [プロジェクト] / [開く...] メニュー、もしくは、[プロジェクト] / [最近使用したプロジェクト] メニューから、インストール・設定の手順で保存したプロジェクトを開く
  2. GitのSSHキーにパスフレーズを設定している場合は、 [認証] ダイアログで、 [パスワード] にパスフレーズを入力して [確定] ボタンをクリック
  3. プロジェクトが読み込まれる(Gitと同期される)と、メイン画面と翻訳対象ファイル一覧画面が表示されるので、メイン画面を選択して、 [ツール] / [翻訳状況] メニューを選択
  4. [翻訳状況] 画面が表示されるので、 "繰り返しを除いた未翻訳分節数" が 0 でないファイルを探し、ファイル名を控える
    (※ここでは、 quickstart/52nSOS_quickstart.po ファイルを例にします。)
    new_task_01.png
  5. ファイル名を確認したら、 [翻訳状況] 画面の [閉じる] ボタンをクリック
  6. [翻訳対象ファイル一覧] 画面から、No.4で控えたファイルを選択し、メイン画面上で該当ファイルが選択されており、未翻訳箇所(太字部分)が存在することを確認
    new_task_02.png

念のため、プロジェクトのWebサイトの方でも翻訳状況を確認しておきます。
Webブラウザで、 https://osgeo-jp.github.io/OSGeoLive-doc/ja/ に続けて、ファイル名の末尾 .po.html に置き換えてアクセスします。
例: https://osgeo-jp.github.io/OSGeoLive-doc/ja/quickstart/52nSOS_quickstart.html

new_task_before.png

Webサイトのヘッダー部分下の English | 日本語 箇所で、該当ページの言語を切り替えることが可能です。

新規翻訳を開始する

未翻訳部分のあるファイルを確認できたので、他の人と作業がかぶらないよう、翻訳作業開始前に一旦、GitHubにIssueを登録しましょう。

  1. GitHubプロジェクトの "Issues" ページ (https://github.com/OSGeo-jp/OSGeoLive-doc-omegat/issues) にアクセス
  2. 右端にある [New Issue] ボタンをクリック
  3. テンプレートが表示されるので、2番目の "新規" の行の右端の [Get Started] ボタンをクリック
  4. "Issue: 新規翻訳の開始" ページが表示されるので、以下を設定して [Submit new issue] ボタンをクリック
    • タイトル: *.po 部分を、翻訳するファイル名に変更
    • Assignees: ご自分のGitHubアカウントを選択
    • コメント: コメントがあれば記載
      new_task_03.png

準備ができましたので、OmegaTでの翻訳作業を開始します。

  1. OmegaTのメイン画面に戻り、編集パネル上で英語表記となっている文字ブロック部分をダブルクリック
    new_task_05.png
  2. 英語原文部分が緑色ハイライトで表示されるので、その下の訳文対象部分を日本語に翻訳
    new_task_06.png
  3. 翻訳が完了したら、次の英語太字表記文字ブロック部分をダブルクリック
    new_task_07.png
  4. 先ほど翻訳した箇所が日本語で表示され、新たにダブルクリックした箇所が英語原文・訳文対象で表示されるので、同様に訳文対象部分を日本語に翻訳
    new_task_08.png

翻訳中は、10分毎に翻訳メモリがGitHubに同期(保存)されますが、明示的に同期(保存)する場合は、Windowsでは [Ctrl + S] キー、macOSでは [Cmd + S] キーを押下します。

翻訳にあたっての注意事項

OSGeoLiveのドキュメント原文はreStructuredText形式で記載されているため、英語原文に含まれる表記は、日本語訳文でも必要となります。
OSGeoLiveの訳文でよく見かけるパターンを記載しますので、翻訳の際にはご注意ください。
いずれの表記も、半角記号前後の半角スペースは、なるべくそのままにしておいた方が良いです。

  • インラインマークアップ
    • *Hoge* => *ホゲ* 強調(イタリック)
    • **Hoge** => **ホゲ** 強い強調(太文字)
    • ``Hoge`` => ``ホゲ`` コードサンプル
  • ハイパーリンク
    • `Title <http://xxx>`_ => `タイトル <http://xxx>`_
  • ロール
    • :doc:`Hoge <../xxx>` => :doc:`ホゲ <../xxx>`
    • :guilabel:`Hoge` => :guilabel:`ホゲ`
    • :menuselection:`Geospatial --> Hoge --> Fuga`
      => :menuselection:`Geospatial --> ホゲ --> フガ`
    • ※ただし、UI要素は、なるべくVirtualBoxのOSGeoLive OS上で動作確認を行った上で、日本語に翻訳するか、英語表記のままとするかを決めた方が良いです。
  • 置換
    • |Hoge| => |Hoge|

reStructuredText文法エラーが発生していないか確認する

  1. 以下のGitHubのActionsの "Check translation" ワークフロー項目を選択
  2. reStructuredText文法エラーが発生していないかを確認します
    • reStructuredText文法エラーが発生していない場合:
      check_ok.png
    • reStructuredText文法エラーが発生している場合:
      check_ng.png
  3. restructuredText文法エラーが発生している場合は、項目をクリックして、エラー内容を確認し、作業中のファイルで文法エラーが発生している場合は、上記の注意事項を確認の上、修正を行います。
    check_details.png

結果HTMLが正しく訳されているか確認する

reStructuredText文法エラーの解消を確認したら、以下の手順で、表示確認用のWebサイトに内容を反映させます。

  1. 以下のGitHubのActionsの "Invoke doc pull workflow" ワークフロー項目を選択
  2. リスト部分のヘッダー右端から、 [Run workflow] ドロップダウンをクリックし、 [Run workflow] ボタンをクリック
    invoke_doc_pull.png
  3. 5分ほど待てば、確認用のWebサイト (https://osgeo-jp.github.io/OSGeoLive-doc/ja) に訳文が反映されますので、英語原文ページと比較しながら、意図した翻訳になっているかを確認し、問題があればOmegaTに戻って、該当訳文の更新を行います。

new_task_after.png

翻訳完了のマークを付ける

  1. 確認用のWebサイト (https://osgeo-jp.github.io/OSGeoLive-doc/ja) で新規翻訳分の翻訳完了を確認したら、新規翻訳を開始する の手順で作成したGitHubのIssueにアクセスし、ラベルに [レビュー待ち] を追加し、Assigneesを未選択に設定します。

基本的には差分チェックとTransifex側へのpush(更新)は、私(@sanak)の方で行う予定ですが、反映までは少し時間がかかるかもしれません。

OmegaTの便利なプラグイン・機械翻訳

オープンソースの翻訳でも利用可能な、「みんなの自動翻訳@TexTra®」 のAPIサービスを利用した機械翻訳を利用すると、訳文で迷った際の道標となります。

Textraプラグインの導入方法や、設定手順の詳細については、以下のWeb書籍の「4 機械翻訳」の章に記載されてますので、是非、トライしてみてください。

既存の訳文の問題を見つけた場合

これまで、未翻訳部分のあるファイルの新規翻訳手順を記載しましたが、確認用のWebサイト(https://osgeo-jp.github.io/OSGeoLive-doc/ja/index.html) 上などで、既存の翻訳済みの訳文上で、日本語訳文に問題があることを見つけられた場合は、以下の手順でご報告頂けると助かります。

  1. GitHubプロジェクトの "Issues" ページ (https://github.com/OSGeo-jp/OSGeoLive-doc-omegat/issues) にアクセス
  2. 念のため、タイトルの先頭が [日本語訳文] もしくはラベルが 日本語訳文 で、既に同じ問題が報告されていないか、検索
  3. 右端にある [New Issue] ボタンをクリック
  4. テンプレートが表示されるので、3番目の "日本語訳文の問題" の行の右端の [Get Started] ボタンをクリック
  5. "Issue: 日本語訳文の問題" ページが表示されるので、以下を設定して [Submit new issue] ボタンをクリック
    • タイトル: [日本語訳文] に続けて、WebサイトのURL末尾のファイル名部分か、OmegaT上で該当するファイル名を入力
    • Assignees: 空欄
    • コメント:

おわりに

以上、駆け足で記載しましたが、説明が不十分で分かりにくい箇所もあるかもしれません。

「翻訳を始めようとしたけど、詰まってしまって...」というようなことがあれば、以下のGitHubのDiscussionsページから、 [New discussion] ボタンをクリックして、お気軽にお尋ねください。
https://github.com/OSGeo-jp/OSGeoLive-doc-omegat/discussions

それでは、遅くなりましたが、本年もよろしくお願いいたします!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?