String.Format多语言不起作用

时间:2013-10-24 08:01:34

标签: c# localization

以下是我如何使用String.Format来显示消息:

String.Format(CultureInfo.CurrentCulture, CommonResource.AlreadyExists, PageResource.UserViewModel_EmailId, viewModel.EmailId)  

AlreadyExists的瑞典字符串是{0} '{1}' Redan Finns
AlreadyExists的英文字符串为{0} '{1}' already exists

但是消息始终以英文显示。即使我选择瑞典语作为语言。

1 个答案:

答案 0 :(得分:0)

你的假设是错误的。

  1. String.Format使用culture参数获取正确的文化资源。
  2. CultureInfo.CurrentCulture是正确的文化。
  3. 解决这些问题:

    1. String.Format使用文化格式化DateTime和数字对象。
    2. 'CultureInfo.CurrentCulture'是Windows用于格式化DateTime和数字的文化信息。如果您想获得Windows UI文化,则需要使用CultureInfo.CurrentUICulture
    3. 如果您的Windows文化设置为Sweedish,

      CommonResource.AlreadyExists应该已经返回Sweedish字符串。如果没有,您可能设置了错误的资源文件。

      有关资源和文化的更多信息,请参阅我的答案: