使用资源文件本地化

Pet*_*r17 3 .net c# resources localization resx

我使用 *.resx 文件进行本地化。名称 - 它是英语中的短语或单词。价值 - 将该短语翻译成另一种语言。我选择这种方法来为整个应用程序创建一个本地化文件。任何拥有此文件的人都可以自己进行翻译。

但是在 Visual Studio 2010 resx 编辑器中,每个名称中包含空格的记录都会出现警告:“资源名称不是有效标识符。” 虽然它可以编译和工作,但请告诉我我是否在这里做错了什么。

Jak*_*cki 5

首先, resx 文件的想法是为每种文化都有一个单独的资源文件。您可以通过为相同的键创建具有不同值的新文件来提供新的翻译。

例如,您可以创建 Forms.en-GB.resx、Forms.pl-PL.resx、Forms.de-DE.resx,并且将根据当前的 UI 文化选择适当的文件,而您无需执行任何操作(除非确保设置相关文化)。

Visual Studio 将生成一个资源类,其中包含来自资源文件的所有键/值对作为属性 - 这使其更易于在代码中使用。您收到的警告意味着您在资源文件中提供的键不是有效标识符(它们包含空格)。您可能希望_在键中使用空格而不是空格。

如果您不想使用生成的类,您可以忽略此警告 - 您的 resx 文件很好,可以直接使用。ResXFileCodeGenerator如果您不需要生成类,您可以从 resx 文件(属性窗口)的“自定义工具”属性中删除或将“访问修饰符”设置为“无代码生成”,但您仍然会收到警告.