8

テキスト ファイルを Visual Studio のリソース ファイルに変換するツールがあることは知っています。しかし、翻訳できるように、リソース ファイルからテキスト ファイルにテキストを取得したいと考えています。または、これを行うより良い方法はありますか?

4

7 に答える 7

3

最後に、私は簡単なハックを使用しました:

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 ファイルにインポートしてコンパイルできるようにすることはできません。それを行うユーティリティがあると便利です。

于 2013-07-05T17:11:33.767 に答える
3

小さな翻訳指向のファイル エディターであるResx Editorを使用できます。

  • 対象読者: 翻訳者。
  • 対応ファイル形式:Microsoft RESX 2.0

Joannes Vermoel (無料ツールの作成者) のウェブログ エントリへのリンクを次に示します。

于 2008-10-13T19:57:35.040 に答える
2

Simple Resx Editorを使用できます。これには、翻訳プロセスに役立ついくつかの興味深い機能があります。

于 2009-03-09T00:46:04.203 に答える
1

Excel Resource Transferをご覧になることをお勧めします。リソース ファイルからテキストをインポートおよびエクスポートする Microsoft Excel 用のアドインです。試用版があります。フルバージョンの価格は 25 ユーロです。

于 2008-10-20T06:19:15.280 に答える
1

直感に反しますが、リソース ファイルではなく exe を翻訳することをお勧めします。ここで理由を読んでください:

http://www.apptranslator.com/misconceptions.html

于 2008-10-13T21:21:14.450 に答える
1

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 データベースが生成されます。

于 2015-12-07T00:44:01.083 に答える
0

Microsoft の winres.exe を使用すると、Visual Studio を使用せずに Windows フォームをローカライズできます。リソースをテキスト ファイルに保存するわけではありませんが、各カルチャのローカリゼーションの専門家がこのツールを使用して、アプリケーションのローカライズ バージョンを生成できるようにするという考え方です。

より良い説明は次のとおりです 。 http://msdn.microsoft.com/en-us/library/8bxdx003(VS.80).aspx

于 2008-10-16T12:52:24.380 に答える