gpt4 book ai didi

c# - ASP.NET Resourcemanager 读取本地 .resx

转载 作者:行者123 更新时间:2023-11-30 22:44:31 25 4
gpt4 key购买 nike

对于我的翻译,我使用了嵌入式 .resx 文件。其中一些翻译我希望用另一个未嵌入的 .resx 文件覆盖(例如 ~/App_Localresources/translations.en-US.resx)。

这样做的目的是在编译和部署应用程序后,用户可以手动更改 .resx 文件以覆盖某些嵌入式翻译。

有没有办法为此使用普通的 ResourceManager? (在 .NET 4 中)

谢谢指教

最佳答案

    public class ResxResourceManager : System.Resources.ResourceManager {
public ResxResourceManager(string baseName, string resourceDir) {
Type[] paramTypes = new Type[] { typeof(string), typeof(string), typeof(Type) };
object[] paramValues = new object[] { baseName, resourceDir, typeof(ResXResourceSet) };

Type baseType = GetType().BaseType;

ConstructorInfo ci = baseType.GetConstructor(
BindingFlags.Instance | BindingFlags.NonPublic,
null, paramTypes, null);

ci.Invoke(this, paramValues);
}

protected override string GetResourceFileName(CultureInfo culture) {
string resourceFileName = base.GetResourceFileName(culture);
return resourceFileName.Replace(".resources", ".resx");
}
}

关于c# - ASP.NET Resourcemanager 读取本地 .resx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3405877/

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