使用.NET中的CultureInfo访问资源字符串

new*_*git 10 asp.net resources cultureinfo internationalization currentuiculture

另一个简单问题.我有不同语言的网站.如果我想从资源文件中访问一个字符串,我会像这样使用它

Resources.MyResourceFile.MyStringIdentifier
Run Code Online (Sandbox Code Playgroud)

很容易.这样我在编译期间就知道资源字符串存在.

现在,只有当我想使用当前的文化时,这才有效.有时我需要指定一种特定的文化(假设当前用户使用德语作为语言,但他的操作会触发将消息发送给其他用户,这些用户将使用收件人的语言).现在,我看到两个选择:

Resources.MyResourceFile.ResourceManager.GetString("MyStringIdentifier", neededCulturInfo)
Run Code Online (Sandbox Code Playgroud)

另一个是改变当前线程的文化信息,我需要做几次.

还有第三种方式吗?在编译时告诉我资源存在但不需要一直改变线程文化的东西?

Sim*_*gré 0

你有没有尝试过:

public static Object GetLocalResourceObject (
    string virtualPath,
    string resourceKey,
    CultureInfo culture)
Run Code Online (Sandbox Code Playgroud)

试试这个链接点击这里

您还可以尝试:

public static Object GetGlobalResourceObject (
    string classKey,
    string resourceKey,
    CultureInfo culture)
Run Code Online (Sandbox Code Playgroud)

试试这个链接点击这里