【问题标题】:Localize dbms demo data本地化 dbms 演示数据
【发布时间】:2010-09-26 09:43:49
【问题描述】:

我正在开发一个可以支持多种语言(英语、德语、法语、俄语)的 Windows 移动应用程序。

此应用程序即将向客户(德国人、俄罗斯人……)展示,我们希望根据其设置的文化生成数据。

那么:有没有人想出一种方法来创建将在运行时插入到 dbms 中的数据?

例如:英文版本的增值税描述为“VAT 17.5%”,值为 17.5,德文版本为“Mehrwertsteuer 19%”,值为 19,法文版本为“TVA 19.6%”,值为 19.6

提前致谢

编辑

我承认我不是很清楚。我需要一组数据进行本地化。我需要一种机制,以某种方式读取这个“准备好的”本地化数据并插入到 dbms。

我的第二个想法是使用 XML 文件,它对所有语言具有相同的结构(但当然值不同),例如

datafile.en-US.xml

datafile.de-DE.xml

您对此有何看法?

【问题讨论】:

  • 法语版本应该是“TVA 19,6 %”...

标签: sql localization internationalization globalization


【解决方案1】:

我不太清楚您的目标是什么,所以我可能会在此处弄错...无论如何,如果您打算在不同国家/地区分发您的 Windows Mobile 客户端应用程序并且一种语言版本是在一个国家/地区工作,我建议使用资源文件而不是 SQL DB。您可以放置​​诸如“VAT {0}”、“TVA {0}”之类的消息并在运行时对其进行格式化(取决于编程语言,它看起来会有所不同,请在下面找到 C#/.Net 示例)保留有效的文化格式。

var vat = string.Format(vatPatternStringFromResources, vatValueFromResources.ToString("P")); // "P" means percentage format

如果您仍需要将增值税值添加到 SQL 以供参考,您只需添加一个十进制列,该列将保存增值税表的外键或只是增值税值...

不同增值税值的更新

问题在于,增值税值不仅因国家而异,而且取决于您购买的商品...因此需要以可配置的方式存储它们...好吧,如果您想使用 SQL DB,您可以使用 PK 跨越两列的附加 VAT 表:一个 CountryID(FK 代表 Country 表)和第二个 RateID(整数)都唯一标识该国家/地区的给定增值税率...

【讨论】:

  • 因为要插入的数据量不知何故......“巨大”,所以使用资源不在讨论范围内。
猜你喜欢
  • 1970-01-01
  • 2019-07-23
  • 2015-10-19
  • 1970-01-01
  • 2010-10-01
  • 1970-01-01
  • 2010-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多