Dll 库核心命令介绍

核心控制与翻译接口
方法名称 功能描述
SetShowLang() 设置系统当前显示的语言。
F() 翻译指定内容,返回对应语种的文本字符串。
F(ID) 自定ID,同步后可编辑指定获取自定的翻译内容。
Mu() 翻译内容扩展方法(通常用于代码注入模式)。
Mu(Id) 自定ID,同步后可编辑指定获取自定的翻译内容,与F(ID)相同。
ReadLangShow() 初始化时调用,使用上次设置并保存的语言进行界面显示。
SysReadLang() 系统功能,返回上次设置的语言代码字符串,返回如zh,en。
NoMuSCan 配置同步内容与内容扫描要跳过的内容,可以模块、类、方法或属性添加。
Wpf项目命令相关
方法名称 功能描述
lang:Cr.Mu="Content" Xaml翻译标识,控件添加'lang:Cr.Mu'表明需进行翻译,Content对应要获取内容的控件属性名称。
lang:Cr.MuId="Id011" Xaml翻译标识,自定翻译内容ID,可指定相同内容的不同翻译。
Me.ApplyResource() 切换界面显示语言,一般放在Loaded事件,跟随SetShowLang("en")设置之后。
Me.ApplyResource(win,res) 指定控件所在容器,与语言资源路径。
缓存与系统性能管理
方法名称 功能描述
EanbledCach 属性:设置是否开启翻译缓存,开启后可大幅提升重复文本的显示速度。
IsOutLog() 设置是否开启输出系统调试日志,便于开发者排查语种识别问题。
Cach_Clear() 清空当前内存中的翻译缓存列表。
Cach_Get() 获取当前已缓存的翻译条目列表。
语言与区域信息查询
方法名称 功能描述
GetLangName() 获取多语言系统支持的所有语言标识名称(例如: en, ja)。
GetEnglishName() 获取对应语言标识英语全称。
GetLangName_CuList() 获取所有语言支持的详细区域列表(Culture List)。
GetShowName_NativeName() 获取对应语言的本地化显示名称列表。
GetShowName_NativeName("lang","EnglishName") 指定语言标识与英语全称可获取语言对应语言本地显示名称。

详细说明

SetShowLang()

描述: 设置显示语言
说明: 可在程序启动初设置当前应用程序显示语言。
C#
public Form1()
{
    MultiLangDll.QtLang.SetShowLang("en");
    InitializeComponent();
}
VB.Net
Sub New()
    MultiLangDll.QtLang.SetShowLang("en")
    InitializeComponent()
End Sub
备注: 启动参数位置可 VS 项目属性-启动对象进行查看。如使用窗口多语言需在 InitializeComponent() 前设置显示以便正常加载显示。

F()

描述: 翻译内容
说明: 根据当前设置的语种,返回对应的翻译字符串。
C#
string val = MultiLangDll.QtLang.F("确认");
VB.Net
Dim val As String = MultiLangDll.QtLang.F("确认")
备注: 该方法通常用于动态生成的字符串或提示框内容。

Mu()

描述: 翻译内容扩展方法
说明: 用于批量注入代码时的简化调用形式。
C#
MessageBox.Show("保存成功".Mu());
VB.Net
MessageBox.Show("保存成功".Mu())
备注: 需在项目顶部引用相应的扩展命名空间。

SysReadLang() / ReadLangShow()

描述: 返回/读取上次保存的语言
说明: 用于实现“记住语言选择”功能,自动从配置文件或注册表中读取历史设置。
C#
string lastLang = MultiLangDll.QtLang.SysReadLang();
MultiLangDll.QtLang.ReadLangShow();
VB.Net
Dim lastLang As String = MultiLangDll.QtLang.SysReadLang()
MultiLangDll.QtLang.ReadLangShow()

EanbledCach()

描述:设置是否开启缓存
说明:设置是否在程序内缓存已翻译内容,以便后续更快速读取,默认为开启。
C#
MultiLangDll.QtLang.EanbledCach=true;
VB.Net
MultiLangDll.QtLang.EanbledCach=true

IsOutLog()

描述:是否开启输出系统日志
说明:是否输入日志信息,默认为关闭。
C#
MultiLangDll.QtLang.IsOutLog=true;
VB.Net
MultiLangDll.QtLang.IsOutLog=true
备注: 备注:日志会在程序根目录Log内进行输出。

Cach_Clear()

描述:清空缓存
说明:可手动清楚缓存。
C#
MultiLangDll.QtLang.Cach_Clear("");
VB.Net
MultiLangDll.QtLang.Cach_Clear("")
备注: 备注:可使用EanbledCach属性关闭缓存,参数为预留,设置为空即可.

Cach_Get()

描述:获取已缓存列表
说明:可获取已缓存内容。
C#
List> vList = MultiLangDll.QtLang.Cach_Get("");
foreach (KeyValuePair item in vList)
{
Debug.WriteLine(item.Key+":"+item.Value);
}
VB.Net
Dim lang As List(Of KeyValuePair(Of String, String)) = MultiLangDll.QtLang.Cach_Get("")
For Each i As KeyValuePair(Of String, String) In lang
Debug.WriteLine(i.Key + ":" + i.Value)
Next
备注: 备注:可使用EanbledCach属性关闭缓存,参数为预留,设置为空.

GetLangName()

描述:获取多语言系统支持所有语言名称 例如:en ja
C#
String[] vList = MultiLangDll.QtLang.GetLangName();
foreach (String item in vList)
{
Debug.WriteLine(item);
}
VB.Net
Dim lang As String() = MultiLangDll.QtLang.GetLangName()
For Each i As String In lang
Debug.WriteLine(i)
Next

GetShowName_NativeName()

描述:获取对应语言本地化语言名称列表
描述:可获取对应本地国家语言表示形式。
C#
Dictionary vList = MultiLangDll.QtLang.GetShowName_NativeName("en");
foreach (KeyValuePair item in vList)
{
Debug.WriteLine(item.Key+":"+item.Value);
}
VB.Net
MultiLangDll.QtLang.SetShowLang("en")
Dim lang As Dictionary(Of String, String) = MultiLangDll.QtLang.GetShowName_NativeName("en")
For Each i As KeyValuePair(Of String, String) In lang
Debug.WriteLine(i.Key + ":" + i.Value)
Next
例如在日本对应本地语言显示对照
Czech:チェコ語
Welsh:ウェールズ语
Danish:デンマーク语
German:ドイツ語
English:英語

例如在德国对应本地语言显示对照
Catalan:Katalanisch
Czech:Tschechisch
Welsh:Walisisch
Danish:Dänisch
English:Englisch
备注: 可便于用户使用本地能看懂的语言进行语言选择切换等

GetLangName_CuList()

描述:获取所有语言支持的区域列表
C#
List vList = MultiLangDll.QtLang.GetLangName_CuList();
foreach (CultureInfo item in vList)
{
Debug.WriteLine(item.DisplayName);
}
VB.Net
Dim lang As List(Of CultureInfo) = MultiLangDll.QtLang.GetLangName_CuList()
For Each i As CultureInfo In lang
Debug.WriteLine(i.DisplayName)
Next

GetShowName_NativeName()

描述:获取对应语言本地化语言名称
描述:可获取对应本地国家语言表示形式。
C#
string lang = MultiLangDll.QtLang.GetShowName_NativeName("en", "English");
VB.Net
Dim lang As String = MultiLangDll.QtLang.GetShowName_NativeName("de", "English")
返回结果 英语本地表现形式与在德国英语字符串对应的表现形式
en:English de;Englisch
备注:返回GetShowName_NativeName("en")只传输一个参数返回列表的具体选择.

NoMuSCan()

描述:设置跳过扫描或同步的 模块 类 方法 属性类
说明:可在模块,类,方法添加排除属性设置在进行资源同步或代码批量扫描时跳过资源同步或代码扫描。
构造函数

参数:NoScan 默认值:True 说明:批量代码扫描时是否跳过
参数:NoSynCode 默认值:True 说明:代码同步扫描时是否跳过
C# 类过滤
[MultiLangDll.NoMuSCan(true,true)]
internal class Class1
{
}

C# 方法过滤
[MultiLangDll.NoMuSCan(true, true)]
void Show() { }
VB.Net 类过滤
<MultiLangDll.NoMuSCan(True, True)>
Public Class Form1
End Class

VB.net 方法过滤
<MultiLangDll.NoMuSCan(True, True)>
Public Sub ShowContent()
End Sub
常见问题 (FAQ)
Dll 库文件在哪里?

通常位于安装根目录下的UserDll文件夹内,WPF在UserDll\Wpf内,或者通过系统设置-工具-查看DLL库目录进入。

该引用哪一个 DLL 库?

请根据您的项目版本框架:选择使用对应语言库,一般可以在项目属性,生成目标框架查看,如果NET472可选择\net472\MultiLangDll.dll库文件