2015-02-17 42 views
0

我有一個問題改編職系的WinRT-應用的本地化。 據我知道系統的工作原理類似:的Windows Phone 8.1(WinRT的)本地化的問題(MakePRI)

字符串||資源

  • DE-DE
    • Resources.resw
  • 的en-US
    • Resources.resw
    • Resources.resw

到目前爲止,這個文件夾結構在我的項目中實現。 在我Package.appxmanifest「默認語言」設置爲「EN-US」,所以一切都應該從我的角度來看還行,如果語言不支持它應該退回到「 en-US「,因爲它在那裏。 但如果我編譯東西,在輸出盒從VS我從MakePRI

得到一個警告
2>MakePRI : warning 0xdef01051: No default or neutral resource given for 'Resources/String'. The application may throw an exception for certain user configurations when retrieving the resources. 

我搜索到目前爲止,發現只有那些涉及到廣告SDK從MS的東西,這我不噸我的項目中使用,所以這個問題不應該在那裏。

爲什麼MakePRI給我這個消息,我錯了?

回答

1

此錯誤意味着您有一個名爲「String」的本地化字符串,該字符串未在默認的「en-US \ Resources.resw」文件中定義。 如果您在「去-DE \ Resources.resw」文件看看,你應該找到入口。您必須將其報告給默認文件,或者在不需要時將其刪除。

存在於非默認本地化文件中的所有字符串在默認語言文件中必須具有默認值。

+0

謝謝。在「ja-JP \ Resources.resw」中找到「String」-Key。我只是從舊的Silverlight應用程序中複製了全部資源,我現在將其移植到WinRT。長時間沒有查看這些文件。 ^^ – klose91 2015-02-18 14:11:32

2

僅用於記錄:構建Windows 8.1 Store通用應用程序(Windows + Windows Phone)時,我的警告相同。我的項目包含一個圖像文件夾,用作地圖上的精確標記。該文件夾的名字是

  • 資產/標記/是/ foo.png
  • 資產/標記/是/ bar.png
  • 資產/標記/是/ baz.png
  • ...
  • 資產/標記/沒有/ foo.png
  • 資產/標記/沒有/ bar.png
  • 資產/標記/沒有/ baz.png
  • ...

yes/no子文件夾中的分隔是特定於應用程序的。我的程序使用標記來指示地圖上是否存在某物。

對於Assets/marker下的每個元素,我得到了兩次警告 - 一個用於Windows項目,另一個用於Windows Phone項目。

MakePRI:警告0xdef01051:沒有缺省值或中性的資源給予...

根據資源索引系統試圖識別文件夾和文件名的語言標識符MakerPRI documentation。我發現警告的原因是文件夾名稱「no」。 MakerPRI將其解釋爲「挪威語」,並且正確地抱怨說我的項目包含可用一種語言提供但不適用於所有語言的資源。

我將文件夾名稱改爲「其他」,警告消失了。所以底線是要注意文件名和文件夾名稱,這些名稱可能會被誤解爲語言標記。這是一個list of all available language tags

+0

我認爲這是不可能的文件名和文件夾名稱小心...我有類似的情況,但我的文件名是compIt.png它認爲「它」是一種語言,真的很難避免它。除了更改文件名外,您還有其他解決方案嗎? – 2015-09-21 16:08:48