1

Visual Studio 2012 を使用して、母国語 (hun) で c# で書かれた大きなプロジェクトがあります。

英語に訳していただきたいです。

もちろん、ハンガリー語のテキストがあれば翻訳できますので、問題はテキストをどのように翻訳するかではなく、全体の翻訳をいかに簡単にするかです。実行中に言語を変更するソフトウェアは必要ありません。別の言語で別のプロジェクトを取得しても問題ありません。1 つの方法は、プロジェクト全体を調べてすべてのラベルを変更することですが、それは大変な作業です。プロジェクト全体を変更するため、最初からやり直す必要があります。

プロジェクト ファイル (「Form1.cs」など) で "..." でマークされたラベルを検索する別のプログラムを作成し、それらを翻訳することができました。これはミスが多かったです。たとえば、Visual Studio は長いテキストを分割するので、それらの文字列を分離したので、翻訳全体が終わった後でもまだ多くの作業が必要でした。

別のアイデアは、すべての文字列を配列のものに置き換えることでした。たとえば、 "Cancel"と書く代わりに、 t[201]などと書くと、t 変数のみを変換できます。しかし、それも大変な作業であり、テキストに変数を含めると問題が発生します。

たとえば、ハンガリー語では'2 masodperc maradt'と書くかもしれませんが、それを'Remaining seconds: 2'などに翻訳する必要があります。次に、含まれている変数を気にする必要があります。

では、翻訳を行う最も簡単な方法は何だと思いますか? また、他のプログラマーはどのようにこれを行っているのでしょうか?

たとえば、TotalCommander は、再起動などを行わなくても、すぐに言語を変更します。

4

1 に答える 1

3

resx ファイルを使用して .Net に組み込み方法があります。

  • ここで簡単な紹介を見つけることができます。

  • プログラマーに関する詳細

  • MSDN には、このトピックに関するドキュメントが多数あり、よく読んでいます。MSDN

.Net ローカリゼーションに基づく翻訳を支援するツールはたくさんありますが、VS で直接行うこともできます。

オンザフライで翻訳を変更できる .Net アプリケーションは、通常、テキスト ファイルのロードや GUI の更新など、カスタムメイドの国際化を使用します。

自分でそのようなことをしたい場合は、テキストが収まるようにコントロールのサイズも変更する必要があることに注意してください。

#count text text および text text #count に関する問題については、string.Format like を使用できます。

  1. Localized.resx のような resx ファイルをプロジェクトに追加します。
  2. 値 {0} テキスト text を持つ文字列プロパティ「CountText」を追加します。
  3. 2 番目の resx Localized.en.resx を追加します
  4. 文字列プロパティ "CountText" を値テキスト テキスト {0} で追加します。Localized.en.resx へ
  5. 進行状況を GUI に書き込む場所では、string.Format(Localized.CountText, myCount); を使用します。
  6. 最初のリンクに示されているように、プログラム言語を切り替えます。
  7. .Net は、言語に対応するリソースを自動的に読み込みます。

特に VS での翻訳に関するすべての可能性について学ぶには、MSDN ライブラリの記事を参照する必要があります。何かを見落としていると、翻訳が面倒になることがあります。

于 2013-06-18T13:53:12.210 に答える