2011-07-08 18 views
5

私はC#でアプリケーションを書いています。ローカライズの目的で、すべての文字列をリソースに移動しています。文字列のC#ローカライズの目的で文字列をリソースに移動するときに改行文字を処理するにはどうすればよいですか?

いくつかの例:最初の文字列で

  1. "First sentence.\n Second sentence."
  2. "wait..."

改行文字"\n" .Shouldは、私があまりにもリソースへの改行文字を移動しています。

2番目の文字列では、3つのドットをリソースに移動する必要がありますか、文字列を"wait" + "..."のように2つに分割し、"wait"だけをリソースに移動する必要があります。

私は他の言語への文字列を翻訳するグーグル翻訳を使用していると私は、改行文字"\n"グーグル翻訳することにより、他の言語にも翻訳しされないことを恐れています、したがって、私の迷いはリソースに改行文字を移動するには。

これは初めてのローカリゼーションです。さらなるアイデアがあるか、正しい方向で私を指摘してください。

ありがとうございました。

答えて

10

私は\ nがレンダリングされたテキストでエスケープ文字として扱われないと考えています。

リソースエントリの数が少ない場合は、シフト+を入力して新しい行を追加できます。

別のオプションは{0}\nを交換して、必要に応じて新しい行を挿入するためにString.Format()を使用することです。

+0

ありがとう!それはまさに私が探していたものです。私はすべての '\ n'を' {0} 'に置き換えました。ゼータリソースエディタでは、 '{0} {1} {2} 'などを** Google-Translate **で翻訳することを無視するオプションがあります。 – user835597

0

可能な限り、ローカライズ可能な文字列を分割しないようにすることをお勧めします。文字列を分割すると、文字列を正しくローカライズすることができなくなる可能性が高くなります。

+0

これは、手動で翻訳する場合に適していますが、このツール[Zeta Resource Editor](http://www.zeta-resource-editor.com/index.html)を使用しています。このツールは自動的に** Google-translate **を使用して自動的にリソース文字列を他の言語に変換します。 – user835597