gpt4 book ai didi

C# 类库本地化

转载 作者:IT王子 更新时间:2023-10-29 04:38:49 26 4
gpt4 key购买 nike

我需要在类库中快速介绍本地化

我对从用户上下文中提取语言环境不感兴趣,而是我将用户存储在数据库中,并且他们的语言环境也在数据库中设置....

我在类库中的函数已经可以从数据库中的用户配置文件中提取区域设置代码...现在我想根据区域设置使用 resx...

我需要几个步骤才能正确执行此操作...

是的 - 我已经用谷歌搜索了这个,并进行了一些研究,但我能找到的所有教程都太复杂了,无法满足我的需求。

最佳答案

不幸的是,这个主题太复杂了。 ;) 我知道,我也做过研究。

虽然为了让你开始,

  1. 在您的程序集中创建一个 Resources 目录。

  2. 从英文开始,然后将“资源文件”(.resx) 添加到该目录。将其命名为“text.resx”。如果找不到本地化资源,应用程序将默认拉出该文件。

  3. 添加您的文本资源。

  4. 添加另一个资源文件。将其命名为“text.es.resx”,注意文件名的“es”部分。在这种情况下,这定义了西类牙语。请注意,每种语言都有自己的字符代码定义。查一下。

  5. 将您的西类牙语资源添加到其中。

现在我们有了可用的资源文件,让我们尝试实现。

为了设置文化,请从您的数据库记录中提取它。然后执行以下操作:

String culture = "es-MX"; // defines spanish culture
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(culture);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);

这可能发生在加载了您的程序集的应用程序中,也可能发生在程序集初始化本身中。你挑。

要利用资源,您只需在程序集中执行以下操作即可:

public string TestMessage() {
return Resources.Text.SomeTextValue;
}

哒哒。资源变得简单。如果您需要更改用户控件或直接在 aspx 页面中执行某些操作,事情可能会变得有点复杂。如果您需要更多信息,请更新您的问题。

请注意,您可以将资源文件命名为“text.es-mx.resx”,这将特定于墨西哥西类牙语。但是,这并不总是必要的,因为“es-mx”会在回退到默认值之前回退到“es”。只有您自己知道您的资源需要多具体。

关于C# 类库本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1138934/

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