Difference between revisions of "LRM strings Support"
(→Example Project Definition File) |
(→Example Project Definition File) |
||
Line 11: | Line 11: | ||
"tDx-oc-GBE.text" = "The username or \"password\" was incorrect."; |
"tDx-oc-GBE.text" = "The username or \"password\" was incorrect."; |
||
</pre> |
</pre> |
||
+ | |||
+ | == ''strings'' parser type == |
||
+ | === valid IOS .strings syntax === |
||
+ | Files that use the ''strings'' parser are expected to have valid IOS .strings syntax |
||
+ | |||
+ | === .strings uses the ''strings'' parser type=== |
||
+ | When defining a project containing LRM Standard .strings resource files, there is no need to define a ''<parser-type>'' as the ''strings'' parser will always be used. |
||
+ | |||
+ | === unique file extension needs to define ''strings'' parser type === |
||
+ | If a unique file extension is a valid .strings file, then the ''<parser-type>'' should be ''strings'' in the project definition file. |
||
== Example Project Definition File == |
== Example Project Definition File == |
Revision as of 16:19, 1 September 2017
Contents
Example .strings file
/* Class = "IBUILabel"; text = "or"; ObjectID = "DTz-P6-Y3D"; */ "DTz-P6-Y3D.text" = "or"; /* Class = "IBUITextField"; placeholder = "Username"; ObjectID = "FiC-Ph-wbo"; */ "FiC-Ph-wbo.placeholder" = "Username"; /* Class = "IBUILabel"; text = "The username or password was incorrect."; ObjectID = "tDx-oc-GBE"; */ "tDx-oc-GBE.text" = "The username or \"password\" was incorrect.";
strings parser type
valid IOS .strings syntax
Files that use the strings parser are expected to have valid IOS .strings syntax
.strings uses the strings parser type
When defining a project containing LRM Standard .strings resource files, there is no need to define a <parser-type> as the strings parser will always be used.
unique file extension needs to define strings parser type
If a unique file extension is a valid .strings file, then the <parser-type> should be strings in the project definition file.
Example Project Definition File
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <lrmconf> <model-version>2.0.11</model-version> <project-name>DemoIOS</project-name> <project-desc>This is a sample LRM Project definition file, configured for IOS resource files</project-desc> <group-name>acme</group-name> <top-level-dir>C:\acme\source</top-level-dir> <detect-errors> <missed-trans-error>0</missed-trans-error> <parameter-mismatch-error>1</parameter-mismatch-error> </detect-errors> <track-back-locale>br</track-back-locale> <pseudo-locale>eo</pseudo-locale> <target-locales> <locale>es_MX</locale> <locale>fr_CA</locale> <locale>fr_FR</locale> </target-locales> <default-locale>en_US</default-locale> <resource-extensions> <resource-extension> <!-- parser-type not needed since .strings is a standard LRM extension that maps to the strings parser type --> <extension>strings</extension> <file-name-pattern/> <use-pattern-on-dflt-locale>1</use-pattern-on-dflt-locale> <file-location-pattern>l_c_v</file-location-pattern> <use-location-pattern-on-dflt-locale>1</use-location-pattern-on-dflt-locale> <base-file-encoding>UTF-8</base-file-encoding> <localized-file-encoding>UTF-8</localized-file-encoding> <parameter-regex-pattern><![CDATA[(%([dsf]|(\d+\$[dsf@])|(\.\d+f)|@))|%\{\w+\}]]></parameter-regex-pattern> </resource-extension> <resource-extension> <!-- parser-type is required because .myext is not a standard LRM extension --> <extension>myext</extension> <parser-type>strings</parser-type> <file-name-pattern/> <use-pattern-on-dflt-locale>1</use-pattern-on-dflt-locale> <file-location-pattern>l_c_v</file-location-pattern> <use-location-pattern-on-dflt-locale>1</use-location-pattern-on-dflt-locale> <base-file-encoding>UTF-8</base-file-encoding> <localized-file-encoding>UTF-8</localized-file-encoding> <parameter-regex-pattern><![CDATA[(%([dsf]|(\d+\$[dsf@])|(\.\d+f)|@))|%\{\w+\}]]></parameter-regex-pattern> </resource-extension> </resource-extensions> <dirset> <includes> <include-dir-file>**/src/**</include-dir-file> </includes> <excludes> <exclude-dir-file>**/src/test/**</exclude-dir-file> </excludes> </dirset>
</lrmconf>
Why don't Bad iOS Comments Trigger Errors?
If an IOS file has a comment that is not ended properly, no error is thrown. For example, if a comment doesn't have an ending */, such as /*Bad comment no errors are found.
This is due to the formatting of iOS. This type of bad comments would typically be created on the base files.
Note key/value pairs are not effected. Noticed when LRM_RESEND tag was added, the info in the Changed Key values included LRM_RESEND.