frame_decoration

NetworkX ドキュメントの非公式自動翻訳(の構想)



もくじ

1. インストールするもの
2. GitHub からダウンロードするもの
3. 手順とプロセス
4. ドキュメントの翻訳
5. 編集方針
6. アテンション表記案
7. ライセンスの確認
8. OSS 公式ドキュメント日本語版 星取表
9. 機械翻訳にまつわるクロニクル



[注記] プログラミングと Python の初心者のかたへ

以下、「$」ではじまる行はターミナル上で実行する シェルBash)の コマンドラインです。ドキュメント翻訳の準備や Sphinxの操作も ターミナル上が主体となります。

Linuxコマンドについては、
- 奈佐原顕郎『入門者の Linux』(講談社、ブルーバックス 2016.10)
- 沓名亮典『Linux コマンド ポケットリファレンス 改訂第3版』(技術評論社、2015.6)
... がおすすめです。



1. インストールするもの

$ pip install sphinx
$ pip install sphinx-intl
$ pip install translate-toolkit


[注]
※ sphinx スフィンクス。Python ライブラリ。ドキュメントジェネレータ。
※ sphinx-intl Sphinx i18n 機能の補助ツール。
※ Translate-Toolkit Python ライブラリ。Google Translator Toolkit とは別物。

[参考動画]
清水川 [PyConJP 2015] Sphinxで作る貢献しやすいドキュメント翻訳の仕組み
https://youtu.be/pMt9cbWFQ1M

キカガク今西 Sphinxで超簡単にドキュメント作成をしよう! | Python活用シリーズ
https://youtu.be/CMyw1tSvb2Y



2. GitHubからダウンロードするもの

翻訳したいドキュメント
networkx-master.zip
https://github.com/networkx/networkx

対訳集を登録するために使うドキュメント(翻訳エンジンのカスタマイズ用)
python-docs-ja-3.7
https://github.com/python/python-docs-ja/tree/3.7

  • GitHub は書き込んだりページを編集するには登録が必要になるが、閲覧や zip のダウンロードならば登録不要。
  • GitHub のページへ移動したら、ブラウザのメニューから「PC 版サイト」を選択。画面中央の右上寄りにグリーンの「Code▼」ボタンが現れるのでクリック。
  • 「Download ZIP」をクリックするとダウンロードが開始される。



3. 手順とプロセス

1. 用語集 tsvの生成
 - NetworkX 公式ドキュメント reST(原文)を取得(GitHub)
 - ファイル一覧 $ ls -R
 - 自動翻訳(TexTra)
 - 手修正
2. 対訳集 tmx の生成
 - Python公式ドキュメント po(翻訳済み)を取得(GitHub)
 - $ po2tmx (Translate Toolkit
 - 複数の tmx を cat コマンドで結合
 - tmx の head と tail を調整する
3. 翻訳エンジンのカスタマイズ
 - 用語集と対訳集を TexTra へ登録
 - tsv 形式、36,624行。およそ11MB。



4. ドキュメントの翻訳

1. reST → pot → po の生成(Sphinx)
2. po を自動翻訳(TexTra)
3. 出力をダウンロード
4. ローカルのエディタで po を確認、手修正
 - sedコマンドで誤変換の置換
 - sed コマンドで半角スペースの付与
 - #. fuzzy を # ✓ fuzzy へ置きかえ
 - あきらかな誤変換を次回の対訳集へ収集
5. po(原文 + 訳文)+ reST(原文)→ html(訳文)の生成(Sphinx)
6. ページの逐次公開(@wiki)
 - po の提供(素訳)
 - 対訳集・用語集の提供
 - pdf, epub の提供


[注]
※ TexTra みんなの自動翻訳@TexTra。
※ tmx Translation Memory eXchange。翻訳メモリの標準規格。
翻訳メモリ翻訳の効率化と質の向上を支援するためのソフトウェア。厳密には原文と訳文のデータベースをさす。(ウィキペディアより)
※ pot po のテンプレートファイル。原文をセグメントに分割してある。
※ po 翻訳リソースファイル。各言語ごとに作られる。msgid "原文" と msgstr "訳文" の対からなる。多種の編集アプリがあるが、テキストファイルなのでエディタでも作業可。
※ セグメント 断片のこと。段落(パラグラフ)もしくは一文(センテンス)のまとまり。


[Bash]

$ sphinx-quickstart

> Project name: NetworkX 【Un official】
> Author name(s): PB'99 🕷 みんなの自動翻訳@TexTra
> Project release []: 2.5 日本語ドラフト版


conf.py に設定を追加。

locale_dirs = ['locale/'] # path is example but recommended.
gettext_compact = False # optional.


$ make gettext
/_build/gettext/ の中に message catalogs (pot) 生成。

$ sphinx-intl update -p _build/gettext -l ja
/locale/ja/LC_MESSAGES/ の中に po 生成。



5. 編集方針


  • ですます調を基本とする。
  • 句読点・感嘆符・疑問符は全角の 。、!?を使う。
  • 日本語文脈では全角の( )丸カッコを使う。
  • 行う、出来る、場合、下さい、全て、既に、はおこなう、できる、ばあい、ください、すべて、すでに、とする。できるだけ漢字混じりの印象をやわらげる。
  • 全角文字と半角欧文のあいだには半角スペースを入れる。ただし、( )や「 」や句読点、中黒に続くばあいは入れない。半角数字だけのばあいも入れない。

  • インラインマークアップの `` は、「 」とせず、原文にしたがって `` を使う。
  • TexTra 翻訳で削除された半角スペースは、sed による置きかえ、または手動でおぎないなおす。
  • 【必須】リンクテキストと URL の開きカッコ < のあいだには半角スペースをおぎなう。
  • 人名、固有名詞は「カタカナ(半角欧文)」もしくは「半角欧文(カタカナ読み)」とする。
  例)Python(パイソン)
  • 参考資料は原文表記をメインとして残し、つづけて( )でおぎなう形で和訳を記す。

  • 見出しは体言止め、または「する」(常体) とする
  • 箇条書きの項目では「する」(常体) とする

  • po ファイルの「# 🕷🕷🕷」コメントは、該当項目の用語集修正がすんだばあい「# ✓ 🕷」のようにチェック記号をつける。



[参照] WordPress 翻訳ハンドブック 翻訳スタイルガイド – Japanese Team — WordPress.org
https://ja.wordpress.org/team/handbook/translation/translation-style-guide/



6. アテンション表記案

🕷【非公式】UN-OFFICIAL
🕷【ニューラル機械翻訳】NMT (Neural Machine Translate)
🕷【ドラフト日本語版】Draft Japanese Edition
🕷【みんなの自動翻訳@TexTra】Everybody's Auto Translate@TexTra Powered by NICT, 2021.

🕷【カスタムエンジン】using customized engine
🕷【Python 公式ドキュメント対訳集+NetworkX 用語集】
 - TMX files from Python 3.7 official document.
 - Glossary from NetworkX 2.5 official document.

🕷【注意!】NMT の性能を測る目的のため、査読修正は加えていない。自動翻訳後に、sed を用いた置換のみおこなう。



7. ライセンスの確認


1)NetworkX 2.5

[上記のテキストより文末改行を削除して Google 翻訳。行頭タブを削除。]

NetworkXは、3条項BSDライセンスで配布されています。

:::

Copyright(C)2004-2021、NetworkX Developers
アリックハグバーグ<hagberg@lanl.gov>
ダン・シュルト<dschult@colgate.edu>
ピータースワート<swart@lanl.gov>
全著作権所有。

以下の条件が満たされている場合、変更の有無にかかわらず、ソース形式およびバイナリ形式での再配布および使用が許可されます。

  • ソースコードの再配布では、上記の著作権表示、この条件のリスト、および次の免責事項を保持する必要があります。
  • バイナリ形式での再配布では、上記の著作権表示、この条件のリスト、および以下の免責事項を、配布に付属するドキュメントやその他の資料に複製する必要があります。
  • NetworkX開発者の名前もその貢献者の名前も、書面による事前の特別な許可なしに、このソフトウェアから派生した製品を推奨または宣伝するために使用することはできません。

 このソフトウェアは、著作権所有者および寄稿者によって「現状有姿」で提供され、商品性および特定目的への適合性の黙示の保証を含むがこれに限定されない、明示または黙示の保証は否認されます。いかなる場合も、著作権の所有者または寄稿者は、直接的、間接的、偶発的、特別、模範的、または結果的な損害(代替の商品またはサービスの調達、使用、データ、または利益の損失を含むが、これらに限定されない)に対して責任を負わないものとします。またはビジネスの中断)ただし、契約、無過失責任、または不法行為(過失またはその他を含む)にかかわらず、このソフトウェアの使用から何らかの形で生じた責任の理論に基づいて、このソフトウェアの使用から生じたものです。


2)Python 3.7 公式ドキュメント
「Pythonドキュメント翻訳プロジェクトの成果物は、底本の著作権およびライセンスによる制限のない限り、翻訳著作権はこれを Python ドキュメント翻訳プロジェクト(責任者: 杵渕、稲田)に帰属し、Python と同じ Python Software Foundation(PSF) ライセンスの下に公開するものとします。」
https://github.com/python-doc-ja/python-doc-ja


3)みんなの自動翻訳@TexTra(NICT
サービス利用規約より
https://mt-auto-minhon-mlt.ucri.jgn-x.jp/content/policy/
  • 非商用利用に限定。
  • 「Powered by NICT」と表示すること。
  • 「みんなの自動翻訳」と「TexTra」は、国立研究開発法人情報通信研究機構の登録商標。
  • ほかに免責事項など。
「アプリケーション利用者向け制限事項」
1(略)アプリケーションを利用して、Wikipedia等のCreative Commons License の文書や、 GNU General Public License, MIT License, Apache License, BSD License 等のオープンソースソフトウェアの文書等の公益性が高い文書であって、アプリケーション利用者がその文書の自動翻訳結果や修正結果を利用者や目的の制限なく一般に無償公開する場合には、当該文書のライセンスが当該文書の利用の目的や範囲等を限定していない場合であっても、これによらず利用できます


4)(参考)Google 翻訳


[注]
※ 太字タグは、しだ。



8. OSS 公式日本語ドキュメント 星取表

OSS(オープンソースソフトウェア)
順不同 2021.7 調



◯ LibreOffice 7.1 https://ja.libreoffice.org/
◯ OpenStreetMap https://openstreetmap.jp/
◯ QGIS 3.16.8 https://qgis.org/ja/site/
◯ Linux カーネル 5.12.14 https://www.kernel.org/doc/html/latest/translations/ja_JP/index.html
◯ GIMP 2.10 https://docs.gimp.org/2.10/ja/
◯ Inkscape https://inkscape.org/ja/ GitLab po
◯ Blender 2.93 https://docs.blender.org/manual/ja/latest/ Python, rest, po
  • TortoiseSVN(バージョン管理システム)
  • (参照)Blennderのマニュアルの翻訳を公式ページに提供するには

JavaScript
◯ React.js 17.0.2 https://ja.reactjs.org/
  • content/ md MITライセンス
  • yarn dev でローカル用にドキュメントのサーバを立ち上げ、Web ブラウザで見栄えや誤字脱字を確認。[1]
  • 翻訳メモリを使った記述なし?

◯ Vue.js 3.0.11 https://jp.vuejs.org/
  • MITライセンス
  • JTF(日本翻訳連盟)日本語標準スタイルガイドに準拠。[2]
  • サイトは Netlify でホスト

◯ Nuxt.js 2.14.8 https://ja.nuxtjs.org/
  • MITライセンス

東京都 stopcovid-19 [3]
  • Transifex
  • 翻訳システムとしてnuxt-i18nを使用

◯ Node.js 14.17.3 https://nodejs.org/ja/docs/

◯ jQuery MIT License
● D3.js
●か Cytoscape.js

neovis.js
chart.js

[参照]
[1] React 公式ドキュメントの日本語翻訳を経験して感じた公式ドキュメント翻訳の魅力 - Qiita
[2] jp.vuejs.org_CONTRIBUTING.md
[3] covid19_TRANSLATION.md


Python
● NumPy 1.21
● pandas
● Matplotlib
● Jupyter Notebook & JupyterLab
● Plotly
● Seaborn
● NetworkX
● PyQt
● Kivy 1.10 公認非公式 https://pyky.github.io/kivy-doc-ja/
● Tkinter
● Bokeh
● graphviz
● Pillow
● PyGame 非公式 http://westplain.sakuraweb.com/translate/pygame/


● Read the Docs

◯ Ruby https://www.ruby-lang.org/ja/ Jekyll

◯ Perl https://perldoc.jp/ sourceforge.jp + CVS pod


PHP
◯ PHP 8.0.8 https://www.php.net/manual/ja/
  • PHP License

WordPress 5.7
  • GNU GPLv2+
  • gettext を利用した i18n をサポート
  • 翻訳プラットフォーム “translate.wordpress.org” を使用
  • GlotPress
  • P2 ?
  • @wordpress/i18n

[参考]
JavaScript でも WordPress を国際化したい - Qiita


9. 機械翻訳&人工知能にまつわるクロニクル

おもにウィキペディア日本語版の各項を参照。
機械翻訳, Google 翻訳, AlphaGo, 人工知能, 人工知能の歴史

  • 1990年代以降、統計的な手法を用いた機械翻訳の研究が盛んになる。
  • 2001年2月、OmegaT(コンピュータ翻訳支援ツール)リリース。
  • 2005年、レイ・カーツワイル、技術的特異点(シンギュラリティ)説を発表。
  • 2006年ごろか、Google 翻訳の英和/和英(ベータ)サービス開始。
  • 2008年3月、Georg Brandl、Sphinx(Python で書かれているドキュメンテーションジェネレータ)を公開。
  • 2008年4月、GitHub サービス開始。
  • 2009年6月、Transifex(Web ベースの翻訳プラットフォーム)サービス開始。
  • 2010年代、ニューラルネットワークによるディープラーニングを使ったニューラル機械翻訳(NMT)が登場。
  • 2011年6月、『アインシュタイン その生涯と宇宙』日本語版(武田ランダムハウスジャパン)下巻に、機械翻訳されたような誤訳が多数発見され回収騒動になる。[3]
  • 2014年6月、NICT「みんなの自動翻訳@TexTra」サイト(https://mt-auto-minhon-mlt.ucri.jgn-x.jp/)にて一般公開。
  • 2016年3月、AlphaGo、李世乭 (Lee Sedol) と戦い、4勝1敗と勝ち越す。
  • 2016年、Google 翻訳アルゴリズムがニューラルネットワークを使用したものに変更され、翻訳の精度が向上する。
  • 2016年〜2017年、将棋ソフト不正使用疑惑騒動。日本将棋連盟、三浦氏を復帰させた上で謝罪・和解し、氏の疑惑が完全に晴れた旨を宣言。
  • 2016年11月、国立情報学研究所の人工知能「東ロボくん」が東大合格を諦めると発表。
  • 2017年(〜2019)NHK Eテレ『人間ってナンだ? 超 AI 入門』シリーズ放送。松尾豊レギュラー出演。
  • 2017年8月、ドイツの DeepL 翻訳、サービスを開始。
  • このころか、Ubuntu の日本語化プロジェクトに対して Web 翻訳の結果を突っ込む行為が批判される。[1][2]
  • 2019年1月、Google 翻訳が Wikipedia でのコンテンツ翻訳で利用できることを発表。
  • 2020年12月、オープンソースのコミュニティに NICT「みんなの自動翻訳」を提供。Linux Foundation と協定を結ぶ。[4]


[1] Google翻訳をオープンソースプロジェクトに使うのはダメなのか?
https://anond.hatelabo.jp/20170225195916
[2] Web翻訳の結果をオープンソースソフトウェア(OSS)の翻訳に突っ込んではいけませんという話
http://blog.goo.ne.jp/ikunya/e/37e5a52e10ab26fcbd4f7ff867e9eace
[3] https://ja.m.wikipedia.org/wiki/%E3%82%A2%E3%82%A4%E3%83%B3%E3%82%B7%E3%83%A5%E3%82%BF%E3%82%A4%E3%83%B3_%E3%81%9D%E3%81%AE%E7%94%9F%E6%B6%AF%E3%81%A8%E5%AE%87%E5%AE%99
[4] https://www.nict.go.jp/press/2020/12/02-1.html



2021年6月11日 公開
2021年7月22日 更新
しだひろし/PoorBook G3'99
リンク・引用・転載は自由です。
カウンタ: -

名前:
コメント:
最終更新:2021年07月28日 17:49