私の無料 .NET リソースファイル管理ツール: Shen Resources Tool
これは、.NET アプリケーションの多言語ユーザーインターフェイスの開発を支援するために私が開発したツールです。多くの年月が経ちましたが、今でも私はこのツールを使い続けており、皆さんにも役立つことを願っています。😀
このソフトウェアは完全に無料で、商業的な計画は一切ありません。もし改良の意見をいただければ、それを基に今後も更新を続けていきます。このソフトウェアを気に入っていただけることを非常に楽しみにしており、皆さんのお役に立つことを願っています。
私のウェブサイトから無料でダウンロードして使用できます:
https://sr.shenlivechat.com/ja
ソフトウェアに多言語サポートを実装するために、.NETは異なる言語のリソースを保存するためのリソースファイルを提供しており、これらはプログラム内で読み込まれて使用されます。しかし、大規模なプロジェクトやチーム開発、特に継続的に進化するバージョンにおいて、多言語開発は非常に手間がかかり、制御が難しい問題を引き起こすことがあります。例えば、以下のような問題が発生することがあります。
- 従来のリソース取得方法は、文字列ベースのキーに依存しているため、開発者がリソースにアクセスする際にスペルミスが発生することがあります。
- リソースファイルを修正する際、既存のリソース識別子が変更されることがあり、プログラム全体で適切に同期されないことがあります。
- リソースファイルの修正中に、既存のエントリが誤って削除されたり、使用されていないと思われるエントリが他の場所で必要であったりすることがあります。
- リソースの使用状況を判断することが難しく、それがまだ使用されているか、複数の場所で使用されているかを把握するのが困難です。
- 新しい言語リソースを追加する際、すべての言語での同期を完全に保つことが困難になり、特にリソースが多く、頻繁に更新される場合はさらに難しくなります。
リソースキーが文字列として参照される場合、これらの問題はコンパイル時に検出できないため、エラーの特定が困難になります。
さらに、リソースファイル管理が開発中に特に厄介になる2つの課題があります。
-
Visual Studioでは、リソースファイルは個別のウィンドウで一つずつしか編集できません。たとえば、英語と日本語のリソースファイルがある場合、それぞれのウィンドウを別々に開いて編集する必要があります。さらに重要なのは、Visual Studioが両方のリソースファイルのエントリが一致しているかどうかを確認しないことです。これらの間にリンクやマッピングがないため、エントリの不足や余分なエントリ、大文字小文字の違いなどの不一致が見逃されてしまいます。
-
リソースのインポート、エクスポート、自動検証などの作業を翻訳者と効率的に調整する方法はありません。翻訳者に言語リソースを引き渡し、その後再インポートする際に、何千ものリソースエントリに欠落や不整合がないことを確実にする信頼できる方法が存在しません。
こちらは私のツールの紹介です:
Google の自動翻訳をサポートします。
.NET のコードとリソースファイルを生成し、単一のインターフェースで制約および呼び出しを行います。
Webプロジェクトで参照するためのJSONファイルを生成します。
翻訳者の作業を容易にするために、Excelファイルにエクスポートまたはインポートします。
私のウェブサイトから無料でダウンロードして使用できます:
https://sr.shenlivechat.com/ja
Discussion
vscode や visual studio の 拡張として出ていればインストールする人も増えそうな気もするが……。
ご提案いただき、ありがとうございます。Visual Studio の拡張開発技術を学んでみます。 ☺️