syghの新フラグメント置き場

プログラミングTipsやコード断片の保管場所です。お絵描きもときどき載せます。

TortoiseGitの言語パックを削除する

TortoiseGitやGitに慣れたら、日本語の言語パックをインストールしてローカライズするとかえって分かりづらくなるし、いちいちバージョンアップのたびに言語パックを入れ直すのもダルいため、言語パックをアンインストールすることにしました。

しかし、コントロールパネルの「プログラムのアンインストール」では、TortoiseGitの言語パックが表示されない。
MSIインストーラーは修復やアンインストールも実行できるので、"TortoiseGit-LanguagePack-x.y.z.w-64bit-ja.msi" を右クリックしてコンテキストメニューから「アンインストール」を実行してみましたが、

この操作は現在インストールされている製品に対してのみ有効です。

と表示されてアンインストールできない。

推測するに、どうやらTortoiseGitの言語パックは以下の場所に言語DLLを配置するだけで、システムレジストリに情報を登録しているわけではないらしい。だったらMSIインストーラーなんか使うなよな……紛らわしいだろうが……

%ProgramFiles%\TortoiseGit\Languages

日本語のものとおぼしき以下のDLLをすべて削除することで、SettingsのLanguageに日本語が出てこなくなりました(1041はja-jpの言語ID)。

  • TortoiseGitBlame1041.dll
  • TortoiseGitUDiff1041.dll
  • TortoiseIDiff1041.dll
  • TortoiseMerge1041.dll
  • TortoiseProc1041.dll
  • TortoiseProc321041.dll

ローカライズは情弱への第一歩

日本語はほぼ日本国内でしか使われておらず、話者は概ね日本人に限られているのにもかかわらず、メジャーなソフトウェアやサービスはたいてい日本語にローカライズされていることが多く、日本人はかなり優遇されています。
しかし一般人はともかく、技術者はローカライズされた文言なんか読まないほうがいいです。日本語のドキュメントというのはことごとくクソで嘘だらけですから。特に最近は、極めて低品質で幼稚な機械翻訳が我が物顔で大量に氾濫しています。
あと、無理やり直訳した不自然で古臭い用語が満載で、カビの生えた時代遅れのガラパゴスJIS規格を崇め奉る連中をなんとかして欲しい。JISが優れているのはSI単位系メートル法)を採用していることくらいです。
情報通信系のJIS規格を読んだことがある人は知っていると思いますが、あまりの直訳ぶりに読んでいてこっちが恥ずかしくなります。軽く明治時代くらいにタイムスリップした気分になれます。C/C++はまだマシなほうですが、C#のJIS規格を書いた人間はマジで死んでください。ちなみにJIS X 3010:2003はC99、JIS X 3014:2003はC++03、JIS X 3015:2008はC# 2.0相当ですが、JIS規格は全然改訂されておらず、完全に時代遅れとなっています。特にC#は完全に害悪でしかないので読まないほうがよいです。

Microsoft Docs(旧MSDN)の日本語版はゴミクズみたいな機械翻訳であふれていますが、C#の言語仕様関連は一応人間の翻訳者が関わっているらしく、ある程度は読めるレベルになっています。ただ、誤訳もいくつか多々あるので、やはりMS Docsの英語版や、ISO規格またはECMA規格を参照するほうが正確です。

一例として挙げると、以下のように「with」キーワードが「ある場合」と誤訳されてしまっています(2021年現在)。このような極めて基本的な部分でお粗末な機械翻訳の名残が残っているようでは、とうてい信頼できるドキュメントとして利用することなどできません。他にも重篤なミスが放置されていると考えたほうがいい。このようなゴミをありがたがっているのは情弱だけです。

以下にも恥ずかしい機械翻訳の名残があります。

The unary * operator is the pointer indirection operator.

単項 * 演算子は、*です。

アッハイ。そうですね。
翻訳に失敗した部分はゴッソリ削ってなかったことにしてしまうか、余計なものをしれっと捏造してしまうのが機械翻訳の特徴です。クソザコですね。
※2023-12-02追記:この問題に関しては修正されたようです。

以下では原文と日本語訳がまるで逆の意味になっています(2021年現在)。いったい何をどうしたらこんな初歩的なミスを犯すのか、小一時間問い詰めたい

The following example uses explicit typing in a foreach statement.

次の例では、foreach ステートメント暗黙の型指定が使用されています。

そもそも日本語はコード例と一致しないので、ちょっと考えれば日本語が間違っていることに気づくと思いますが、こういう明らかなクソを放置している時点で程度が知れます。MSの日本人エンジニアのレベルの低さがうかがえます*1。特に最近のC#は言語仕様のアップデートが頻繁に入るようになったので、そういう意味でも翻訳が遅くて稚拙な日本語版は参照してはいけません。

以下も逆の意味です。命名規則において優先するべきは簡潔さ (brevity) ではなく明瞭さ (clarity) です。
小さな子供でも語彙さえあれば分かる単純明快な文章の翻訳にミスするなんて何が起きたのか。

Prefer clarity over brevity.

簡潔さを優先します。

GoogleAndroid関連ドキュメントは、APIリファレンスは英語のみですが、機能や仕様などの技術的な解説記事やチュートリアルの多くは日本語に翻訳されています。MS Docsのクソ日本語版と違って丁寧で翻訳ミスも少なく、比較的有用です。ただし日本語版はNDKやAndroidXライブラリの更新履歴の反映などが遅く、情報が古いことが難点で、やはり英語版を優先的に参照するべきであることに変わりはありません。
※2024-03-26追記:
2023年からは、Androidの日本語版ドキュメントはCloud Translation APIによって機械翻訳されるようになったようです。これにより、最新の情報が反映されるようになりましたが、翻訳精度が若干低下しています。とはいえ、MSの機械翻訳と比べたらGoogleのほうが遥かに品質が上で、違いは歴然としています。MSの機械翻訳は相変わらず稚拙な迷惑メールレベルにとどまっていて、まったく使い物になりません。

日本人の大半は英語に苦手意識を持っていて、事実まともな英語運用能力を持っていません。ですが、何も努力せずローカライズに甘んじているようでは、いずれ世界の潮流に取り残されていくことは目に見えています。というかすでに取り残されています。日本は決して先進国ではありません。日本の政治家はどいつもこいつも知能が低く、国のトップには科学技術はおろか読み書きすら軽んじるようなバカどもしかいませんから、落ちぶれて当然です。そもそも現与党の自民公明は、国立大学を弱体化させて高等教育を破壊し国際競争力を低下させ、国民をコントロールしやすいように白痴化させようとしている国賊ですからね。

結論:日本語のドキュメントは読むな、信用するな。

*1:どうやら機械翻訳の特性として、肯定と否定を逆に訳してしまうという致命的なミスを犯すことがときどきあるようです。おそらく機械翻訳をベースにして部分的に人の手を加えているので、こういったアホな誤訳が散見されるのだと思います。