我需要以编程方式列出 resx 文件组中的可用区域性,但 ResourceManager 类似乎没有帮助。
我可能有 :
Labels.resx
Labels.fr-FR.resx
Labels.ro-RO.resx
等等
但是,我如何在运行时找到这三种(或有多少种)区域性?
在应用程序的目录中查找附属程序集:对于每个子目录,检查其名称是否对应于区域性名称,以及是否包含.resources.dll
file :
public IEnumerable<CultureInfo> GetAvailableCultures()
{
var programLocation = Process.GetCurrentProcess().MainModule.FileName;
var resourceFileName = Path.GetFileNameWithoutExtension(programLocation) + ".resources.dll";
var rootDir = new DirectoryInfo(Path.GetDirectoryName(programLocation));
return from c in CultureInfo.GetCultures(CultureTypes.AllCultures)
join d in rootDir.EnumerateDirectories() on c.IetfLanguageTag equals d.Name
where d.EnumerateFiles(resourceFileName).Any()
select c;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)