To access a string resource from within a resource file, the docs use this example:
<string id="menu_item_1_label">Item 1</string> <menu id="MainMenu"> <menu-item id="item_1" label="@Strings.menu_item_1_label" /> </menu>
And this other example also from the docs (indicating it works whether quoted or unquoted):
<settings> <setting propertyKey="@Properties.appVersion" title="@Strings.AppVersionTitle"> <settingConfig type="alphaNumeric" readonly="true" /> </setting> <setting propertyKey="@Properties.myString" title="@Strings.MyStringTitle" prompt="@Strings.MyStringPrompt"> <settingConfig type="list"> <listEntry value="0">@Strings.HelloWorld</listEntry> <listEntry value="1">@Strings.Ackbar</listEntry> <listEntry value="2">@Strings.Garmin</listEntry> </settingConfig> </setting> <setting propertyKey="@Properties.myNumber" title="@Strings.MyNumberTitle" prompt="@Strings.MyNumberPrompt"> <settingConfig type="numeric" errorMessage="@Strings.MyNumberError" /> </setting> <setting propertyKey="@Properties.screenSleep" title="@Strings.ScreenSleepTitle"> <settingConfig type="boolean" /> </setting> <setting propertyKey="@Properties.username" title="@Strings.UsernameTitle"> <settingConfig type="alphaNumeric" required="true" /> </setting> </settings>
In some places it doesn't work though, eg:
<resources> <properties> <property id="pushupTitle_prop" type="string">@Strings.pushupTitle</property> </properties> </resources>
In this case, "@Strings.pushupTitle" gets passed through as a string literal without resolving to the value of "pushupTitle" from the resource file (ie I get "@Strings.pushupTitle" displayed on the screen).
I saw the same behaviour in a <jsonData> block.
So it seems that string resources are not parsed/converted everywhere they occur in a resource file (at least not in <properties>, <jsonData>, but anywhere else?)..
What are the rules regarding where they will/won't be parsed, is it documented somwhere?
Thanks for any help