forked from rust-unofficial/patterns
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Yuji MORI edited this page Jul 9, 2024
·
39 revisions
https://github.com/rust-unofficial/patterns (book) を読むついでに翻訳中。fork元更新に付き再度翻訳作業中@2024/4/22。下記デプロイ先は更新 前 のものです。
デプロイ先: https://ashiojin.github.io/patterns/ja/
やること :
- fork元の更新に追いつく@2024/4/22
- ja を fork元/main に rebase 、または ja に fork元/main を merge
- ja のところに 作業用ブランチを置いて、ビルド周りなどがうまくいくか試す
- ja_update でお試し中 @ 2024/4/23 : rebase で進めてます
- ja のところに 作業用ブランチを置いて、ビルド周りなどがうまくいくか試す
- 未翻訳箇所の確認
- かなりの部分が未翻訳or要更新になる
- 未翻訳の多くは、サンプルコード部分のxgettextでのパースの仕方が変わったのが原因ぽい。いままではコードブロックが1つの翻訳対象扱いだったが、今はコード内の文字列部分とコメント部分が個別に翻訳対象となったようだ。
- 要更新の箇所の多くは、
\nが消えたことによると思われる。とはいえ、文章が修正されていないとは言い切れないので、こつこつ確認するしか・・・- いまさらだけど、ひとつずつ cherry-pick しておけばこの辺バッと変換できたかもしれない・・・
- とりあえず翻訳通し
- ja に反映?または page に複数ブランチからの出力を置けるように変更
- マージしました
- pageの動作確認
- origin/main をfork元に引き上げ
- ja を fork元/main に rebase 、または ja に fork元/main を merge
- 理解がアヤシイ箇所の読み直し
- 理解しきれてない箇所をどっかに記載
- main 更新時にActionが実行される件の対応
- フォーク元追跡のために main を動かすと、その際にActionが実行される。
- Github Pages へのpublishは失敗(jaでないため)するとはいえ、できれば無効化したい・・・
- そもそもそんなことができるのかがよくわからない。mainに手を入れない方法あるのかな・・・
作業メモ:
mdbook-i18n-helpersのUSAGE 参照。 久々に触ったらコマンド忘れてたので、
cargo make に仕込んでしまうのもよいかもしれない。Makefile.toml にタスク build-ja を作成した。これで ja のビルドができる(はず)。
あと、pot ファイル生成+po/ja.poへのマージを merge-pot-to-ja として作成した。
上記タスクに mdbook 等々のインストールも記載したので、もしかしたら ci のスクリプトで使えるかもしれない。
-
ソースコードから potファイル(messages.pot) を生成する。この potファイルは 手で編集してはならない。mdbook を使って生成する。本当はリポジトリで管理すべきではないものと思われるが fork元 ではリポジトリに入ってる(この点は取り合えず無視)。
-
mdbook build -d po-
po/xgettext/messages.poが生成される。出力先をpo/messages.poにしたいがよくわからんので放置中・・・
-
-
-
messages.pot を更新後、po/ja.po にマージする。
-
msgmerge --update po/ja.po po/xgettext/messages.pot-
po/ja.poが更新される。
-
-
-
poedit で
po/ja.poを開く。- 未翻訳がたくさんあるはず(統計情報を確認)。未翻訳の箇所に対し、事前翻訳を実行する。
- あとは要確認がなくなるまで頑張る。
-
ビルド
-
MDBOOK_BOOK__LANGUAGE=ja mdbook build -d book/ja-
book/ja/htmlに出力される。
-
-
-
LensとPrism
- 前に訳したときよくわかんなかったところ。Haskellでの例を見て学んだ方がいいかもね。
(以下2024/4/22以前の記載)
-
作業環境構築する。
- やり残し:多言語対応+デプロイをもともとの仕組みにのっとった形にする。
現時点のは超適当である。少なくとも以下の問題がある。
- ビルド&デプロイは元のものを使っていない。 GitHub Action のテンプレをゴニョゴニョしたものを使っている。
元リポジトリにはちゃんと構想があるっぽい。
また現時点の Action は明らかにムダがあるっぽい。バージョン指定の
mdbookインストール後、mdbook-i18n-helpersインストールしたら、それにより別途最新バージョンのmdbookがまたインストールされてしまった。 両方バージョン指定すべきか。 - 環境依存と思われる問題があった。そのため po/message.pot を個人環境(WSL)にて再生成している。
発生した問題とは、
\rが一部msgidなどに含まれていたため、翻訳が処理されないという問題であった。 また、再生成したところ、内部のパスの\が/に置き換わっている。こちらは翻訳作業上どちらでも問題はなさそうだが、差分が見にくくなってしまっている。 元リポジトリの更新を取り込む際に注意が必要。
- ビルド&デプロイは元のものを使っていない。 GitHub Action のテンプレをゴニョゴニョしたものを使っている。
元リポジトリにはちゃんと構想があるっぽい。
また現時点の Action は明らかにムダがあるっぽい。バージョン指定の
- やり残し:多言語対応+デプロイをもともとの仕組みにのっとった形にする。
現時点のは超適当である。少なくとも以下の問題がある。
-
とりあえず一通り読む&訳す。
- いまいち理解しきれてないところあり(Prism のあたりとか) …Prismについてはfork元みたら大分更新されてた(9/10確認)
-
目次見直し。内容からそれっぽいタイトルにする。ページ題名、リンクと表現を統一する。
-
全角半角周りの統一。
-
訳再読&修正
- 内容の理解がアヤシイ
- FFI 関係
- 訳語見直し対象
- iteration, iterate, ...
- unsafety
- ...
- 内容の理解がアヤシイ