maboroshin / translation

Translation introduction. 日本語化の情報
6 stars 0 forks source link

My translatoins

I make translation files for my favorite software. (お気に入りのソフトの翻訳をしています)

I also tried the following (また以下も未翻訳部分の翻訳をやってみた):

more... → 2023

WordPress Plugins

more...

To Japanese translators

翻訳したソフトウェアは、バージョンアップ検出ができると便利です。私は RSS でバージョンアップを取得しています。

フリーソフト日本語化 Wiki ― 各種フリーソフトの翻訳状況を把握する。

訳し方の覚書

& はショートカットキーの指定なので、訳の後ろに半角括弧で持ってくる。システムトレイ上のメニューはこれが省略されているにも関わらず、一文字目のアルファベットのキーで選択できますので、これも半角括弧で指定します。言語ファイルがXMLファイルではこのショートカットキー指定の && にします。... はダイアログが開く場合です。「終了」はそのソフトに重複がなければ分かりやすいよう X を割り当ててほしい(X, E, Q が多い様子)。あと全初期化など重大な機能には、誤爆を避けるためにショートカットを割り当てないという工夫もできる。

翻訳作業としては、文脈を理解し -> 直訳 -> 推敲 となります。

(文脈の利用)利用者の記憶を利用するために、初期状態で Windows に入っているソフトの訳を使うといいです。ソフトごとに同じ機能なのに訳が違えば一から覚えないといけないからですね。簡単なのを埋める。

(文脈の利用)訳してみてカタカナ語は定訳を探し、言い回しをシンプル化します。個人的なサイトでなく、Microsoftのサイトで使用されているなどカタカナ語の定訳がある場合には、カタカナ語の採用も考慮します。辞書を引く。音訳を減らし、翻訳に昇華させる作業です。

混ぜ書きを減らす

’kakko’

(文脈の利用)訳語の統一をはかる/前後を見る

(文脈の利用)題に丸をうたない。

その英語文字列以外の文脈を見て含めようということです。定訳やアプリ内での統一性、実際の表示や実行した機能など、その文字がどういう位置づけにあるのかを探る。文脈を含めて対応するものを特定していく。そうすれば、title という単語だけの翻訳でも「記事名」「題」「ファイル名」など最もふさわしく、もっと分かりやすいものを割り当てることができることもある。文字列の周りにある情報を元に意味を絞っていく。

逆にまずいのは、英語文字列だけをみて翻訳すると誤訳が入りやすくなります。大げさな例では、英語圏の開発者が機械翻訳を使ったアプリに Clear が「晴れ」と訳された例がありました。アプリの翻訳で Clear に多い実際の翻訳は「消去」など消す処理だと思いますが、この単語だけを機械翻訳すると「晴れ」になってしまうかもしれない。同様に、言語の選択肢の中の Japanese の訳が「日本の」になっていた。言語の選択であれば「日本語」が適切です。実際の機能が全部初期化していたら、「消去」でなく「全初期化」に意訳してもいい。

またよく見るのは、カタカナの発音にしてしまうことです。たとえば「ファーストアイテムをセレクト」では、翻訳ではなくて英語の発音をつなげただけの作業途中の状態です。日本語という文脈をもっと当てはめるとしっかり翻訳したと言える状態は「1つ目の項目を選択」とかになりますね。

アレンジしてみる。元通り訳してみるのは大事ですですが。長くなったら混ぜ書きをしたり。複雑な言い回しを短くしてみたり削る。文の推敲ですね。まったく分からない場合、実際にその機能を使用してみたり、検索してみる。WEBの翻訳サイトであれば、References からコードが見やすいものがあるので、分かる範囲で読んでみる。コードでは、文章内の引数(%sとか%1とか)は訳文直後に引数として並んでいることがあり、その引数名が total であれば個数、minut であれば時間だと想像できる。前者では「%1個の」とし、後者では「%1分間」という訳がふさわしいかもしれない。

根本的には、オープンソースというのは FREE、自由、無料 そういうものを目指しています。なので通常一般通じやすいと思われる、最大多数が理解できそうな普遍的な訳を目指した方がいいと思います。

辞書

Web ベースの翻訳サービス

多言語化に対応していない場合

Resource Hacker(リソースディタ)を使用して、手動で日本語化するには、実行ファイル(.exe または .dll) をResource Hacker で開き、MenuDialogString Table を日本語化してみます。英語を日本語にします。括弧の "文字列" 内を翻訳していきます。この表示用文字列がない場合は、Resource Hacker ではなくさらにバイナリエディタを使う方法があります(ここでは解説しません)。

1か所やってみて、左サイドバーで別のリソース番号にフォーカスを移すと「コンパイルしますか?」と出るのでコンパイルし、それから「保存」します。ソフトを起動してみて日本語になっていれば最後まで続けましょう。ただし書き変えまくってると、ファイルが破損するのか、ウイルスに判定されるのか、たまに実行ファイルが実行できなくなる場合があるので、そうなると再び最初からすでに作って壊れたファイルからコピペして作っていきます。なので途中で何回も半翻訳済みの実行ファイルをコピーして保存していくといいです。

実行ファイル内に複数の言語がある場合、多言語化に対応している可能性がありどれかの言語を、「リソースの言語を変更」(Change Language for this Resource... F6)から以下に変更します。同様にコンパイルし保存し日本語が表示されるか試しましょう。

リソースをまとめて文字列で出力するには、例えば Menu を翻訳したら、メニューの「操作」(Action)から、「[Menu] グループを .rc ファイルに保存」(Save [Menu] Group to an RC file)でテキスト形式で保存できます。MenuDialogString Tableを出力し、ひとつの .rc ファイルにまとめます。複数の言語がある場合には、ENGLISH の部分は不要なので全部削除しておきます。オープンソースのソフトなら、ライセンスを継承して翻訳したリソースをアップロードすることに何も問題はないでしょう。これのファイルをコンパイルさせて読み込めばいいのではと思いました。「すべてのリソースを .rc ファイルに保存」(Save All Resources...略)では、アイコンファイルとか多数出力されるので注意。

翻訳してない元の英語のままの .rc も出力しておくと、バージョンアップ時に Mergly など差分検出ツールで更新の有無を検出できます。

出力された文字列のリソースをコンパイルして読み込むには 。Resource Hacker で出力された .rc を読み込みます。メニューの「操作」(Action)から、「スクリプトをコンパイル」(Compile Script F5)、そしてバイナリ RES (.res) で保存します。Resource Hacker で実行ファイルを読み込み、「操作」の「リソース ファイル (*.res 略)から追加(R)」で、今バイナリにしたこの .res を追加します。ダイアログが出るので、「上書き」(Overwrite)と「すべて選択」(Check)を選択し、インポート(Import)、そして保存します。

オープンソースであれば、この形式でアップロードしておけば、誰でも引継ぎもできるしいいのではと思ったので。

以上の作業をコマンドラインで補助するには以下。

If not support multilingualization

If the software does not support multilingualization, Software use for translation. (もしソフトウェアが多言語に対応していない場合、翻訳に使うソフトウェアは以下)

You can also translate manually on Resource Hacker. However, you can also use the command line, Using a batch. It will be easier to detect changes.

  1. Extract resources:
SET rh=R:\anyPath\ResourceHacker.exe
SET file1=Notepad2.4.19.06r2148.x64.en
%rh% -open ../%file1%/Notepad2.exe -save %file1%.Menu.rc -action extract -mask Menu,,
%rh% -open ../%file1%/Notepad2.exe -save %file1%.Dialog.rc -action extract -mask Dialog,,
%rh% -open ../%file1%/Notepad2.exe -save %file1%.StringTable.rc -action extract -mask StringTable,,
copy %file1%*.rc %file1%.ALL.rc
  1. Detect changes with Mergly etc. Compare the contents of the current version with the previous version.

Then, You open the .rc file with a text editor and translate it. Or rewrite .exe with Resource Hacker. Then...

  1. For example, You rewrote the Menu.rc extracted above. Then compile this.

    %rh% -open %rcAnyPath% -save %file1%.Menu.res -action compile
  2. For example, You rewrote the exe. Then extract this.

    %rh% -open ../%file2%/Notepad2.exe -save %file1%.Menu.res -action extract -mask Menu,,
  3. Replace resources:

SET rh=R:\anyPath\ResourceHacker.exe
%rh% -script ReplaceExe.ini

ReplaceExe.ini contents:

[FILENAMES]
Exe=../Notepad2.4.19.06r2148.x86.en/Notepad2.exe
SaveAs=../Notepad2.4.19.06r2148.x86.jp/Notepad2.exe
[COMMANDS]
-addoverwrite Notepad2.4.19.06r2148.x64.jp.Menu.res, Menu,,
-addoverwrite Notepad2.4.19.06r2148.x64.jp.Dialog.res, Dialog,,
-addoverwrite Notepad2.4.19.06r2148.x64.jp.StringTable.res, StringTable,,