附加语言的资源文件

3
我该如何在现有的资源文件中添加其他语言的资源?
请参考以下解决方案浏览器中的图片:
如果我尝试添加新的资源,会出现以下情况:

你是在问如何创建一个新的吗?像 fr 但是即 nl?还是 fr 的那个不起作用? - Gerald Versluis
1
有什么问题吗?当您尝试添加另一个文件(例如Error.ru.resx)时会发生什么?此外,请解释您期望发生什么。 - Oded
我想添加一个新的资源文件,例如Error.de.resx。并且我希望这个新的资源文件能够像其他资源文件(如cs、fr)一样放在Error.resx下面。 - David Horák
那么?当你尝试那个时会发生什么? - Oded
@oded,我已上传结果,请查看新图片。 - David Horák
3个回答

4

在添加资源文件时,Visual Studio会将其添加到文件夹级别,就像您所看到的那样。

为了让您将其显示为子节点,您需要直接编辑.csproj文件(可以右键单击项目,选择“卸载项目”,然后再次右键单击并选择“编辑.csproj” - 完成后,通过右键单击重新加载项目。或者,在任何文本编辑器中打开.csproj文件)。

您会看到类似于这样的条目:

<Compile Include="Error.cs.Designer.cs">
  <DependentUpon>Error.cs.resx</DependentUpon>
</Compile>
<Compile Include="Error.cs.resx">

您需要将此更改为:
<Compile Include="Error.cs.resx">
  <DependentUpon>Error.resx</DependentUpon>
</Compile>
<Compile Include="Error.cs.Designer.cs">
  <DependentUpon>Error.resx</DependentUpon>
</Compile>

这将把Error.cs.resxError.cs.Designer.cs两个文件都放在Error.resx节点下。

在解决方案资源管理器中没有直接实现此功能的方式。


0

既然已经有了完全正确的答案,那么还有更好/更快/更好的方法。有一个名为文件嵌套的扩展程序可以让这项工作变得更加容易。


0

其他语言资源文件必须在当前文件夹下吗? 否则,您可以创建类似于以下内容的东西:

Translations

这将自动被捕捉进行翻译。

.cs 不是一个翻译文件,它是支持 resx 文件的类文件。


你恐怕搞错了.cs的东西了。 "cs"是捷克语ISO 639-1代码。 Translations.cs.resx是有效的。 - Flo
@Flo,我觉得你没有正确理解我的回答。我指的是文件扩展名.cs,而不是cs语言。 - KyorCode
好的。不过,提示有点突然,因为在此之前没有明确提到 .cs 文件。 - Flo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接