QTextEdit
ユーザーが任意のテキストを挿入できる場所があります。このテキストには、自動翻訳したい特殊な文字列が含まれている可能性があります。そして翻訳版から、シークエンスに戻れたらと思います。
たとえば、次のようにします。
QMessageBox::information(0, "Foo", MAGIC_TRANSLATE(myTextEdit->text()));
ユーザーがmyTextEdit
のテキスト内にシーケンスを書いた場合、文字列を実際の改行文字に変換し\n
たいと思います。MAGIC_TRANSLATE
\n
同様に、改行を含むテキストを指定すると、 aMAGIC_UNTRANSLATE
は改行を文字列に変換します\n
。
もちろん、これらの 2 つの関数を自分で実装することもできますが、Qt で既に作成された使いやすいものがあるかどうかを尋ねています。
共通の接頭辞を持つシーケンスは、変換など、いくつかの競合を引き起こす可能性があることに注意してください。
\foo -> FOO
\foobar -> FOOBAR
の前に が検索されて置換された場合、結果のテキストは(より自然な) ではなく になるasd \foobar lol
ため、テキストを翻訳するときに問題が発生する可能性があります。\foo
\foobar
asd FOObar lol
asd FOOBAR lol
私のニーズを明確にしていただければ幸いです。これは一般的なタスクである可能性があると考えているため、競合するプレフィックスがある場合にこの種の問題を考慮した Qt ソリューションがあることを願っています。
これが些細なトピックである場合は申し訳ありませんが (そうかもしれないと思います)、エンコーディングの手法や問題についてはまったく詳しくありません。また、Qt エンコーディングに関する私の知識では、非常に単純な Unicode 関連の問題しか扱っていません。
EDIT:ところで、私の場合、リソースや外部ファイル、または再コンパイルを必要としないものに基づくデータ指向のアプローチは素晴らしいでしょう。