AppLocalizator
1.0.0
一種功能強大的工具,可提供即時翻譯文本的能力,在開發具有多語言的RESTAPI時,這可能很有用
dotnet add package OftobTech.AppLocalizator
或通過Visual Studio中的Nuget工具
在已發布的項目的根中創建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]" ) ; 要在翻譯文件中使用參數翻譯字符串,您需要將參數嵌入轉換字符串中,這是通過在捲曲支架中包裝一些參數標識符來完成的:
Hello : Hello {parametr_1} {parametr_2}要將這樣的字符串轉換為編譯方法,用於替換屬性通過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個翻譯模式正常模式和正常模式的時機,如果在翻譯文件中找不到合適的字符串,則通過嚴格的模式返回傳遞的字符串
例子
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 ( ) ;