为什么要本地化字符串?

时间:2018-07-20 19:25:45

标签: c# resharper

我刚刚下载了ReSharper,因为许多年来我的许多同事一直在讨好它。我正在查看我的一个程序,发现该扩展程序提出了一堆建议,有些建议有用,有些则没有。但是,一个建议确实使我感到困惑。最初,我有以下简单代码:

foreach (Device foo in MasterDataGrid.ItemsSource)
{
     Console.WriteLine("Value for {0}: {1}", foo.Name, foo.OriginalValue);
}

这工作得很好,而且我已经很长时间都在格式化这样的字符串了,没有问题。但是,ReSharper建议我使用资源而不是字符串文字。这是ReSharper完成后的代码。

foreach (Device foo in MasterDataGrid.ItemsSource)
{
     Console.WriteLine(Properties.Resources.MainWindow_HistoryButton_Click_Value_for__0____1_, foo.Name, foo.OriginalValue);
}

我一般是C#和编程的新手,所以我不知道这是一个人可以做的事情。

这在某种程度上是否比我拥有的更好?在什么情况下,我会注意到这两段代码之间的差异,以及它们之间的差异有多大?

1 个答案:

答案 0 :(得分:3)

如果要使用其他语言发布应用程序,则很有必要。然后,翻译人员只能将资源文件本地化,所有字符串都放在一个位置,并且翻译人员无需知道代码中的哪些字符串文字将被翻译,并且在翻译时不会弄乱代码。