テキストをその場で翻訳する機能を提供する強力なツール。
dotnet add package OftobTech.AppLocalizator
またはVisual StudioのNugetツールを介して
公開されたプロジェクトのrootでLangフォルダーを作成します
このフォルダー内には、たとえば翻訳ファイルを作成できます
en.txt
jp.txt
ar.txt
その場合、このツールはコードで使用できません
using OftobTech . AppLocalizator ;
OftobTech . AppLocalizator . Reader . UpdateLangs ( ) ;
var message = T . Compile ( "[Text to transalete]" ) ;
Console . WriteLine ( message ) ;[sentence for translate] : [translated sentence]
[sentence for translate] : [translated sentence]
[sentence for translate] : [translated sentence]
....翻訳された各文は、新しい行への移行で終了する必要があります。翻訳のテキストセパレーター、翻訳されたテキストはコロンです
ライブラリは最小限の構成もサポートしているため、プロジェクトに関連する翻訳ファイルを使用して、デフォルトの言語とフォルダーの場所を構成できます。
構成ファイルが作成されていない場合、デフォルトのファイルが使用されます。
# The default language will be used if it
# was not passed an additional parameter when using the library
DefaultLang: en
# The address of the language files can be either relative or absolute
LangsFilesPath: Langs次のパスconfig/lang.confを使用してファイルデータを手動で作成できます
または、次の構造に電話してください。
using OftobTech . AppLocalizator ;
OftobTech . AppLocalizator . Config . PublishConfig ( ) ;デフォルトの構成が自動的に作成されます
プログラムの実行中に言語を変更するには、 setLang(string lang)メソッドを呼び出す必要があります
using OftobTech . AppLocalizator ;
T . setLang ( item . DeviceLanguage ) ;また、翻訳前に毎回呼び出すこともできます(最後に露出した言語が記憶されていることを考慮する価値があります)
using OftobTech . AppLocalizator ;
T . setLang ( item . DeviceLanguage ) . Compile ( "[Text to transalete]" ) ; 翻訳ファイルにパラメーターを使用して文字列を翻訳するには、パラメーターを翻訳文字列に埋め込む必要があります。これは、パラメーター識別子をcurlyブラケットに包むことによって行われます。例:
Hello : Hello {parametr_1} {parametr_2}このような文字列をコンパイルメソッドに変換するには、for for属性はDictionary<string, string> typeでオブジェクトを渡します。キーはパラメーター識別子(巻き括弧なし)と値を置き換える必要があります。
例
using OftobTech . AppLocalizator ;
var params = new Dictionary < string , string > ( ) {
{ "parametr_1" , "beautiful" } ,
{ "parametr_2" , "world!" } ,
}
T . setLang ( item . DeviceLanguage ) . Compile ( "Hello" , params ) ; ライブラリは2つの変換モードとタイミングをサポートします。通常モードでは、トランスフォームファイルに適切な文字列が見つからなかった場合、渡された文字列が厳密なモードで返されます。翻訳文字列が見つからないと、nullが返されます
例
using OftobTech . AppLocalizator ;
T . Compile ( "[Text to transalete]" , true ) ;
/// OR
T . Compile ( "[Text to transalete]" , params , true ) ; 言語ファイルを追加または更新する必要がある場合がありますが、アプリケーションを再起動できない場合、Updatelangs()メソッドが支援を受けることができます。これにより、アプリケーションのメモリで翻訳を更新できます。
using OftobTech . AppLocalizator ;
OftobTech . AppLocalizator . Reader . UpdateLangs ( ) ;