gpt4 book ai didi

.net - 从 .resx 文件组获取所有可用区域性

转载 作者:行者123 更新时间:2023-12-02 05:37:54 24 4
gpt4 key购买 nike

我需要以编程方式列出 resx 文件组中的可用区域性,但 ResourceManager 类似乎没有帮助。

我可能有:

Labels.resx
Labels.fr-FR.resx
Labels.ro-RO.resx

等等

但是,如何在运行时找到这三种(或有多少种)区域性?

最佳答案

在应用程序的目录中查找附属程序集:对于每个子目录,检查其名称是否对应于区域性名称,以及它是否包含 .resources.dll 文件:

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;
}

关于.net - 从 .resx 文件组获取所有可用区域性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3226974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com