如何为Windows商店本地化应用程序的显示名称?

20

我在Windows Store Dashboard中为我的Windows 8应用程序注册了德语和英语名称。

之后,我在我的解决方案中创建了两个文件:

Strings/de/Resources.resw with name "AppName" and value "German Title"
Strings/en/Resources.resw with name "AppName" and value "English Title"

我点击了编辑应用程序清单。在显示名称字段中,我输入了"ms-resource:/AppName",但是当我想要构建我的应用程序时,出现了一个错误,提示找不到"NamedResource"。

我做错了什么?

文档中只写到:"Display Name:指定要显示给用户的应用程序友好名称。此字符串为可本地化字符串"。但是,在我的应用程序清单中,我只有一个字段(称为显示名称),来指示我的应用程序名称。

2个回答

32

好的,我找到了!在“Package.appxmanifest”中,“显示名称”需要输入“ms-resource:AppName”。 在“包显示名称”字段(在 “包装”选项卡中)中也应输入“ms-resource:AppName”。


同样适用于Xamarin项目。虽然资源保存在PCL项目中,但您可以将这些资源文件(.resw)添加到UWP项目中,并使用此处指定的相同文件夹结构,它将适用于应用程序名称。 - Dpedrinha
还有一件事:请确保资源名称是纯文本,没有特殊字符。我曾经使用过“App.Name”而不是“AppName”,虽然构建成功了,但应用商店验证失败了。使用纯文本的“AppName”而不是带点的可以通过验证。 - Stefan

2
我想补充一下Benny Neugebauer的答案。如果您的.resw文件恰好存储在另一个程序集中(就像我的一样),您可能需要为资源名称提供完全限定路径。
例如,如果您的AppName字符串位于名为OtherProject的项目中,文件名为AppResources,并且具有键值AppName,则应使用以下语法:
ms-resource:OtherProject/AppResources/AppName

我在另一个子模块中有我的字符串,按照你的方式,它会出现错误“NamedResource Not Found。请检查是否定义了字符串资源,并且在此包含的resource.pri文件中至少定义了一个实例。” - hellodear
嗯,你的.appxmanifest文件是否使用“x-generate”标记来声明支持的语言,还是手动进行操作?我记得如果不手动声明语言,使用“x-generate”会导致其他程序集中的资源无法捆绑。 - PingZing
我没有使用x-generate,在appxmanifest文件中手动声明了使用的语言,但仍然遇到了@hellodear的相同错误。 - Tommaso Scalici

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