テキスト ファイルを Visual Studio のリソース ファイルに変換するツールがあることは知っています。しかし、翻訳できるように、リソース ファイルからテキスト ファイルにテキストを取得したいと考えています。または、これを行うより良い方法はありますか?
7 に答える
最後に、私は簡単なハックを使用しました:
public class Export
{
public string Run()
{
var resources = new StringBuilder();
var assembly = Assembly.GetExecutingAssembly();
var types = from t in assembly.GetTypes()
where t != typeof(Export)
select t;
foreach (Type t in types)
{
resources.AppendLine(t.Name);
resources.AppendLine("Key, Value");
var props = from p in t.GetProperties()
where !p.CanWrite && p.Name != "ResourceManager"
select p;
foreach (PropertyInfo p in props)
{
resources.AppendFormat("\"{0}\",\"{1}\"\n", p.Name, p.GetValue(null));
}
resources.AppendLine();
}
return resources.ToString();
}
}
このコードを your.resx ファイルを含むプロジェクトに追加し (私のファイルは別の「Languages」プロジェクトにあります)、次のコードを使用して結果を .csv に保存し、スプレッドシート エディターで読み込めるようにします。
var hack = new Languages.Export();
var resourcesSummary = hack.Run();
var cultureName = System.Threading.Thread.CurrentThread.CurrentCulture.Name;
using (TextWriter file = File.CreateText(@"C:\resources." + cultureName + ".csv"))
{
file.Write(resourcesSummary);
}
これにより、ファイルを .csv から .resx ファイルにインポートしてコンパイルできるようにすることはできません。それを行うユーティリティがあると便利です。
小さな翻訳指向のファイル エディターであるResx Editorを使用できます。
- 対象読者: 翻訳者。
- 対応ファイル形式:Microsoft RESX 2.0
Joannes Vermoel (無料ツールの作成者) のウェブログ エントリへのリンクを次に示します。
Simple Resx Editorを使用できます。これには、翻訳プロセスに役立ついくつかの興味深い機能があります。
Excel Resource Transferをご覧になることをお勧めします。リソース ファイルからテキストをインポートおよびエクスポートする Microsoft Excel 用のアドインです。試用版があります。フルバージョンの価格は 25 ユーロです。
直感に反しますが、リソース ファイルではなく exe を翻訳することをお勧めします。ここで理由を読んでください:
Web プロジェクトでこれを行っている場合、国際化 (翻訳を含む) を行うためのより良い方法は、i18n nuget パッケージを使用することです。テンプレートでうまく機能するだけでなく、ローカライズされた URL などの便利な機能もあります。
github リポジトリの例を次に示します。
<div id="content">
<h2>[[[Welcome to my web app!]]]</h2>
<h3><span>[[[Amazing slogan here]]]</span></h3>
<p>[[[Ad copy that would make Hiten Shah fall off his chair!]]]</p>
<span class="button" title="[[[Click to see plans and pricing]]]">
<a href="@Url.Action("Plans", "Home", new { area = "" })">
<strong>[[[SEE PLANS & PRICING]]]</strong>
<span>[[[Free unicorn with all plans!]]]</span>
</a>
</span>
</div>
ビルド後のタスクを実行すると、ロケール固有のテキストを提供するためにPO 編集ツール ( POEdit など) を使用する翻訳者に提供できる PO データベースが生成されます。
Microsoft の winres.exe を使用すると、Visual Studio を使用せずに Windows フォームをローカライズできます。リソースをテキスト ファイルに保存するわけではありませんが、各カルチャのローカリゼーションの専門家がこのツールを使用して、アプリケーションのローカライズ バージョンを生成できるようにするという考え方です。
より良い説明は次のとおりです 。 http://msdn.microsoft.com/en-us/library/8bxdx003(VS.80).aspx