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 ( ) ;