Difference between revisions of "LRM msg Support"
(Created page with "== Example of .msg files== == Example of Project Definition File == <?xml version="1.0" encoding="UTF-8" standalone="no"?> <lrmconf> <model-version>2.0.11</model-versio...") |
(→Example Project Definition File) |
||
| (15 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
| − | == Example of .msg files== |
+ | == Example of .msg files as well as file extensions using the ''msg'' parser type == |
| + | <pre> |
||
| + | $ A Globalyzer generated message file |
||
| + | $set MainSet |
||
| + | $ SOURCE_FILE C:/Path/to/my/source/StringBug.hpp |
||
| − | == Example of Project Definition File == |
||
| + | STRI_BADLINE_6 "Bad line" |
||
| + | STRI_INVALID_7 "Invalid Rectangle" |
||
| + | STRI_INVALID_8 "Invalid Color" |
||
| + | STRI_INVALID_9 "Invalid Point" |
||
| + | STRI_INVALID_10 "Invalid DWORD" |
||
| + | STRI_UNRECOG_11 "Unrecognized type" |
||
| + | STRI_SLINEDS_12 "%s (line #%d) : %s" |
||
| + | STRI_RUNTIME_13 "Runtime Variable Error" |
||
| + | STRI_KEYNOTF_14 "Key not found" |
||
| + | |||
| + | $ SOURCE_FILE C:/Path/to/my/source/keypressEvents.cxx |
||
| + | KEYP_PRESSED_1 "Pressed " |
||
| + | KEYP_UP_2 "Up" |
||
| + | KEYP_THEUPAR_3 "The up arrow was pressed." |
||
| + | KEYP_SHOULDD_4 "Should detect because ignore second issue" |
||
| + | KEYP_THEAKEY_5 "The a key was pressed." |
||
| + | </pre> |
||
| + | |||
| + | == ''msg'' parser type == |
||
| + | === valid msg syntax === |
||
| + | Files that use the ''msg'' parser are expected to have valid msg syntax |
||
| + | |||
| + | === .msg uses the ''msg'' parser type=== |
||
| + | When defining a project containing LRM Standard .msg resource files, there is no need to define a ''<parser-type>'' as the ''msg'' parser will always be used. |
||
| + | |||
| + | === unique file extension needs to define ''msg'' parser type === |
||
| + | If a unique file extension is a valid .msg file, then the ''<parser-type>'' should be ''msg'' in the project definition file. |
||
| + | |||
| + | == Example of Project Definition for Resources == |
||
| + | The following is an example of msg resource file definitions. See [[Supported_Resource_Bundles#Resource_Extensions| resource extensions]] for more information. |
||
| − | <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
||
| − | <lrmconf> |
||
| − | <model-version>2.0.11</model-version> |
||
| − | <project-name>DemoMsg</project-name> |
||
| − | <project-desc>This is a sample LRM Project definition file, configured for Msg resource files</project-desc> |
||
| − | <!--group-name contains either the company name or the group name. --> |
||
| − | <group-name>acme</group-name> |
||
| − | <!-- Example, linux --> |
||
| − | <!--<top-level-dir>/var/lib/job/workspace/acme/source</top-level-dir>--> |
||
| − | <top-level-dir>C:\acme\source</top-level-dir> |
||
| − | <detect-errors> |
||
| − | <!--If set to '0' (false), then the 'missed translation' error will not be triggered--> |
||
| − | <!--if the non-base file has the same text as the base file.--> |
||
| − | <!--Missed Translation error will still occur if the base file has a different key or if--> |
||
| − | <!--the base file has changed since it was last prepped.--> |
||
| − | <missed-trans-error>1</missed-trans-error> |
||
| − | <parameter-mismatch-error>1</parameter-mismatch-error> |
||
| − | </detect-errors> |
||
| − | <!--If you wish to create Track Back resource files, enter the Track Back locale such as `br`--> |
||
| − | <!--The track back locale is mutually exclusive of the base (default) locale, target locales and pseudo-locale--> |
||
| − | <track-back-locale>br</track-back-locale> |
||
| − | <!--If you wish to pseudo-localized your files enter a pseudo-locale--> |
||
| − | <!--The pseudo-locale is mutually exclusive of the base (default) locale and target locales--> |
||
| − | <pseudo-locale>eo</pseudo-locale> |
||
| − | <!--Target locales are the locales where the corresponding resource files will be translated. --> |
||
| − | <!--These target locales are mutually exclusive of the base (default) locale--> |
||
| − | <target-locales> |
||
| − | <locale>es_MX</locale> |
||
| − | <locale>fr_CA</locale> |
||
| − | <locale>fr_FR</locale> |
||
| − | </target-locales> |
||
| − | <!--Default locale is the base locale. This is the locale where corresponding resource files will not be translated.--> |
||
| − | <!--The base (default) locale is mutually exclusive of the target locales--> |
||
| − | <default-locale>en_US</default-locale> |
||
<resource-extensions> |
<resource-extensions> |
||
| − | <!--The file-name-pattern and/or file-location-pattern indicate the pattern of the--> |
||
| − | <!--localized file names (file-name-pattern) and the localized folder names (file-location-pattern).--> |
||
| − | <!--If the names contain the locale then a pattern of 1,c and v will be used.--> |
||
| − | <!--If the names contain the Locale ID then LCID will be used.--> |
||
| − | <!--Example pattern using locale--> |
||
| − | <!-- If your localized resource files use their locale in their names then the locale pattern will--> |
||
| − | <!-- be used where l stands for language; c for country; v for variant; and the characters between--> |
||
| − | <!-- are used as the separator characters.--> |
||
| − | <!-- <file-name-pattern>*_l_c_v</file-name-pattern>--> |
||
| − | <!--Example pattern using LCID (locale ID)--> |
||
| − | <!-- If your resource files are under a folder named 'resources' with an LCID suffix separated by an--> |
||
| − | <!-- underscore, then the pattern would be:--> |
||
| − | <!-- <file-location-pattern>resources_LCID</file-location-pattern>--> |
||
<resource-extension> |
<resource-extension> |
||
| + | '''<!-- parser-type not needed since .msg is a standard LRM extension that maps to the msg parser type -->''' |
||
| − | <extension>msg</extension> |
||
| + | '''<extension>msg</extension>''' |
||
| − | <file-name-pattern>*_l_c_v</file-name-pattern> |
||
| − | < |
+ | '''<file-name-pattern>*_l_c_v</file-name-pattern>''' |
| − | < |
+ | '''<use-pattern-on-dflt-locale>0</use-pattern-on-dflt-locale>''' |
| − | < |
+ | '''<file-location-pattern></file-location-pattern>''' |
| − | < |
+ | '''<use-location-pattern-on-dflt-locale>0</use-location-pattern-on-dflt-locale>''' |
| + | '''<base-file-encoding>UTF-8</base-file-encoding>''' |
||
| − | <!--If the base resource files use the file-location-pattern in their name --> |
||
| + | '''<localized-file-encoding>UTF-8</localized-file-encoding>''' |
||
| − | <!--then set use-location-pattern-on-dflt-locale to 1, if not then set to 0--> |
||
| − | < |
+ | '''<parameter-regex-pattern><![CDATA[%\\d+%|%[ds]]]></parameter-regex-pattern>''' |
| + | </resource-extension> |
||
| − | <base-file-encoding>UTF-8</base-file-encoding> |
||
| + | <resource-extension> |
||
| − | <localized-file-encoding>UTF-8</localized-file-encoding> |
||
| + | '''''<!-- parser-type is required because .myext is not a standard LRM extension -->''''' |
||
| − | <!--Default pattern for xml is '![CDATA[%\\d+%|%[ds]]]'--> |
||
| + | '''<extension>''myext''</extension>''' |
||
| − | <parameter-regex-pattern><![CDATA[%\\d+%|%[ds]]]></parameter-regex-pattern> |
||
| + | '''''<parser-type>msg</parser-type>''''' |
||
| + | '''<file-name-pattern>*_l_c_v</file-name-pattern>''' |
||
| + | '''<use-pattern-on-dflt-locale>0</use-pattern-on-dflt-locale>''' |
||
| + | '''<file-location-pattern></file-location-pattern>''' |
||
| + | '''<use-location-pattern-on-dflt-locale>0</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[%\\d+%|%[ds]]]></parameter-regex-pattern>''' |
||
</resource-extension> |
</resource-extension> |
||
</resource-extensions> |
</resource-extensions> |
||
| − | <dirset> |
||
| − | <!--Define the search patterns to include and/or exclude. (Uses Apache Ant pattern search).--> |
||
| − | <!--Examples: --> |
||
| − | <!-- A. '**/*.properties' matches all .properties files/dirs in a directory tree.--> |
||
| − | <!-- B. 'test/a??.resx' matches all files/dirs which start with an 'a', --> |
||
| − | <!-- then two more characters and then '.resx', in a directory called test.--> |
||
| − | <!-- C. '**' matches everything in a directory tree. --> |
||
| − | <!-- D. '**/source/**/XYZ*' matches all files/dirs which start with 'XYZ'--> |
||
| − | <!-- and where there is a parent directory called source (e.g. 'abc/source/def/ghi/XYZ123'). --> |
||
| − | <includes> |
||
| − | <!--Directories to include in the search for base resource files --> |
||
| − | <!--Examples: --> |
||
| − | <!-- <include-dir>**/source/**</include-dir>--> |
||
| − | <include-dir>**/**</include-dir> |
||
| − | </includes> |
||
| − | <excludes> |
||
| − | <!--Directories or files to exclude in the search --> |
||
| − | <!--Examples: --> |
||
| − | <!-- <exclude-dir-file>**/source/bin/**</exclude-dir-file> --> |
||
| − | <!-- <exclude-dir-file>**/fileToIgnore.*</exclude-dir-file> --> |
||
| − | </excludes> |
||
| − | </dirset> |
||
| − | </lrmconf> |
||
Latest revision as of 20:25, 18 September 2017
Contents
Example of .msg files as well as file extensions using the msg parser type
$ A Globalyzer generated message file $set MainSet $ SOURCE_FILE C:/Path/to/my/source/StringBug.hpp STRI_BADLINE_6 "Bad line" STRI_INVALID_7 "Invalid Rectangle" STRI_INVALID_8 "Invalid Color" STRI_INVALID_9 "Invalid Point" STRI_INVALID_10 "Invalid DWORD" STRI_UNRECOG_11 "Unrecognized type" STRI_SLINEDS_12 "%s (line #%d) : %s" STRI_RUNTIME_13 "Runtime Variable Error" STRI_KEYNOTF_14 "Key not found" $ SOURCE_FILE C:/Path/to/my/source/keypressEvents.cxx KEYP_PRESSED_1 "Pressed " KEYP_UP_2 "Up" KEYP_THEUPAR_3 "The up arrow was pressed." KEYP_SHOULDD_4 "Should detect because ignore second issue" KEYP_THEAKEY_5 "The a key was pressed."
msg parser type
valid msg syntax
Files that use the msg parser are expected to have valid msg syntax
.msg uses the msg parser type
When defining a project containing LRM Standard .msg resource files, there is no need to define a <parser-type> as the msg parser will always be used.
unique file extension needs to define msg parser type
If a unique file extension is a valid .msg file, then the <parser-type> should be msg in the project definition file.
Example of Project Definition for Resources
The following is an example of msg resource file definitions. See resource extensions for more information.
<resource-extensions>
<resource-extension>
<!-- parser-type not needed since .msg is a standard LRM extension that maps to the msg parser type -->
<extension>msg</extension>
<file-name-pattern>*_l_c_v</file-name-pattern>
<use-pattern-on-dflt-locale>0</use-pattern-on-dflt-locale>
<file-location-pattern></file-location-pattern>
<use-location-pattern-on-dflt-locale>0</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[%\\d+%|%[ds]]]></parameter-regex-pattern>
</resource-extension>
<resource-extension>
<!-- parser-type is required because .myext is not a standard LRM extension -->
<extension>myext</extension>
<parser-type>msg</parser-type>
<file-name-pattern>*_l_c_v</file-name-pattern>
<use-pattern-on-dflt-locale>0</use-pattern-on-dflt-locale>
<file-location-pattern></file-location-pattern>
<use-location-pattern-on-dflt-locale>0</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[%\\d+%|%[ds]]]></parameter-regex-pattern>
</resource-extension>
</resource-extensions>