无法使用多语言应用工具包本地化WIndows 8 App

时间:2012-10-11 14:21:50

标签: localization windows-8 windows-runtime

我正在尝试使用Multilingual App Toolkit本地化我的Windows 8应用程序。 为此我试图按照这个解释来说明:

http://channel9.msdn.com/posts/Build-Multi-language-apps-using-the-Multilingual-App-Toolkit

但它失败并带有以下输出:

1>  Multilingual App Toolkit build started.
1>  Merge of Loc PRI file failed calling makepri.exe: '0x80073B08'
1>  Multilingual App Toolkit build completed with errors.

我找不到0x80073B08的任何内容。 如果我从它编译的项目中删除所有xlf语言文件,则能够启动并构建商店包。 但是,只要包含任何语言文件,就会因上述错误而构建错误。

任何想法?

修改

我正在使用c#和一个resw文件。

只要我不包含任何xlf文件,一切正常。

没有重复的键(除了部分重复,如“MyButton.Text”,“MyButton。[using:Windows.UI.Xaml.Controls] ToolTipService.ToolTip”)

EDIT2:

似乎真正的问题是扩展格式,例如:

ClearNotesButton.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip

AddPageButton.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name

如果我使用那些makepri抛出上面的异常。 这是否意味着我无法通过x:Uid机制设置工具提示和按钮文本?

2 个答案:

答案 0 :(得分:2)

此错误代码表示尝试了(本地化)资源添加,但源资源不在PRI文件中。最近发现了三种可能导致这种情况的条件。

  1. resjson文件中存在重复的资源 JavaScript示例:
    "取消" :"取消"
    "取消" :"取消" < - 重复资源

  2. 资源ID与具有相同基本路径信息的不同资源冲突 JavaScript示例:
    "关于" :"关于标题"
    "关于/ OKBtn" :"好的"。 < - 资源路径与先前资源的ID

    相同 XAML示例:
    MyButton:"没有属性的按钮"
    MyButton.Content:" Hallo Welt" < - 成为MyButton / Content,与MyButton ID冲突

  3. 资源ID包含与资源文件相同的名称 常见例子:
    文件名:Resources.resjson
    "对话框/资源/名称" :"欢迎"

  4. 请查看这些冲突,因为他们知道会导致此错误消息。您还可以在预览版本上看到此错误。请确保您运行的是工具包的已发布版本 - 它是v1.0.1114.0。

答案 1 :(得分:2)

已发布新版本的Multilingual App Toolkit,有助于确定何时发生此问题,以便您轻松调整资源。本版本解决了所有这三个已知问题。版本为v1.1.1075.0,如VS IDE Extensions and Updates对话框中所示。