【问题标题】:C# translate database data using resx fileC# 使用 resx 文件翻译数据库数据
【发布时间】:2017-08-22 09:05:27
【问题描述】:

在我的项目中(我使用的是 azure 存储),我有一些要翻译的数据。我有翻译资源系统。我在云中有一个具有 name 属性的表。我想以某种方式翻译它。

一种选择是在数据库中为我不喜欢的每种语言创建所有条目,因为它会创建很多条目以及名称。

有没有一种聪明的方法来使用我现有的 resx 机制?

所以表有多个属性,一个是名称。名称可以是 Mud、rock 等。现在我想将 Mud 翻译成不同的语言。 Texts.Mud 之类的东西会返回正确的值。

但是假设我得到这样的数据

var data = some query;
string translatedName = Texts.data[0].name; // this won't work

【问题讨论】:

  • 如果您已经在使用 resx,为什么不添加特定于文化的 resx?例如,您有中性 Resources.resx,为 us-english 添加 Resources.en-us.resx,为 German 添加 Resources.de.resx,为法语添加 Resources.fr.resx ... 还有一些可用的软件工具可以从您的解决方案并将其转换为与翻译软件兼容的格式并返回。
  • 是的,我有,但通常我会像 Texts.AboutUs 一样访问我想要的字符串,当数据来自数据库时,我将如何获得它?
  • 什么样的数据?文本?或者你想显示特定文化的数字或日期?
  • 它的文字,我会在我的问题中尝试更多地解释它。

标签: c# asp.net resx


【解决方案1】:

您应该在数据库中添加更多列,每个列用于不同的语言,并根据用户语言选择列。 其他解决方案是有一个转换机制(例如自定义类),您将原始数据库结果(例如 data[0].name)传递给查询,它会为您返回转换后的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-28
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多