Difference between revisions of "LRM rc Support"

From Lingoport Wiki
Jump to: navigation, search
(Example .rc file)
(valid rc syntax)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Example .rc file ==
+
== Example .rc file or a file extension that uses the ''rc'' parser type ==
 
<pre>
 
<pre>
 
// Microsoft Visual C++ generated resource script.
 
// Microsoft Visual C++ generated resource script.
Line 88: Line 88:
 
</pre>
 
</pre>
   
== Example Project Definition File ==
+
== ''rc'' parser type ==
  +
=== valid rc syntax ===
  +
Files that use the ''rc'' parser are expected to have valid rc syntax.
  +
Key and corresponding value must be on the same line.
  +
  +
=== .rc uses the ''rc'' parser type===
  +
When defining a project containing LRM Standard '''.rc''' extension resource files, there is no need to define a ''&lt;parser-type&gt;'' as the ''rc'' parser will always be used.
  +
=== unique file extension needs to define ''rc'' parser type ===
  +
If a unique file extension is a valid .rc file, then the ''&lt;parser-type&gt;'' should be ''rc'' in the project definition file.
  +
  +
== Example of Project Definition for Resources ==
  +
The following is an example of rc resource file definitions. See [[Supported_Resource_Bundles#Resource_Extensions| resource extensions]] for more information.
  +
  +
<resources-extensions>
  +
<resource-extension>
  +
'''&lt;!-- parser-type not needed since .rc is a standard LRM extension that maps to the rc parser type --&gt;'''
  +
'''<extension>rc</extension>'''
  +
'''<file-name-pattern/>'''
  +
'''<use-pattern-on-dflt-locale>0</use-pattern-on-dflt-locale>'''
  +
'''<file-location-pattern>*_LCID</file-location-pattern>'''
  +
'''<use-location-pattern-on-dflt-locale>0</use-location-pattern-on-dflt-locale>'''
  +
'''<base-file-encoding>UTF-16LE</base-file-encoding>'''
  +
'''<localized-file-encoding>UTF-16LE</localized-file-encoding>'''
  +
'''<parameter-regex-pattern><![CDATA[%\d+]]></parameter-regex-pattern>'''
  +
</resource-extension>
  +
<resource-extension>
  +
'''&lt;!-- parser-type is required because .myext is not a standard LRM extension --&gt;'''
  +
'''<extension>''myext''</extension>'''
  +
'''''<parser-type>rc</parser-type>'''''
  +
'''<file-name-pattern/>'''
  +
'''<use-pattern-on-dflt-locale>0</use-pattern-on-dflt-locale>'''
  +
'''<file-location-pattern>*_LCID</file-location-pattern>'''
  +
'''<use-location-pattern-on-dflt-locale>0</use-location-pattern-on-dflt-locale>'''
  +
'''<base-file-encoding>UTF-16LE</base-file-encoding>'''
  +
'''<localized-file-encoding>UTF-16LE</localized-file-encoding>'''
  +
'''<parameter-regex-pattern><![CDATA[%\d+]]></parameter-regex-pattern>'''
  +
</resource-extension>
  +
</resources-extensions>

Latest revision as of 16:33, 30 January 2018

Example .rc file or a file extension that uses the rc parser type

// Microsoft Visual C++ generated resource script.
//
#include "Smoke.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS


#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE 9, 1
#pragma code_page(1252)

#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE
BEGIN
    "resource.h\0"
END

2 TEXTINCLUDE
BEGIN
    "#include ""afxres.h""\r\n"
    "\0"
END

3 TEXTINCLUDE
BEGIN
    "\r\n"
    "\0"
END

#endif    // APSTUDIO_INVOKED

#endif    // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//


/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED

/////////////////////////////////////////////////////////////////////////////
// Default Locale Resources



// SHARED_ENTRIES
STRINGTABLE
BEGIN
    FILT_TRUE_5    "true"
END
// END_SHARED_ENTRIES

// SOURCE_FILE C:/Path/to/my/source/file/FilterPatternOrderTests.js
STRINGTABLE
BEGIN
    FILT_TRUE_4    "true"
    FILT_DDMMYYY_6    "dd/MM/yyyy"
END

// SOURCE_FILE C:/Path/to/my/source/file/example-source-javascript/strings.js
STRINGTABLE
BEGIN
    STRI_ANDTHIS_1    "&and this "
    STRI_ISHOULD_2    "I should be detected because not in ignore next line comment"
    STRI_ISHOULD_3    "I should be detected because outside ignore start/end block"
END

rc parser type

valid rc syntax

Files that use the rc parser are expected to have valid rc syntax. Key and corresponding value must be on the same line.

.rc uses the rc parser type

When defining a project containing LRM Standard .rc extension resource files, there is no need to define a <parser-type> as the rc parser will always be used.

unique file extension needs to define rc parser type

If a unique file extension is a valid .rc file, then the <parser-type> should be rc in the project definition file.

Example of Project Definition for Resources

The following is an example of rc resource file definitions. See resource extensions for more information.

  <resources-extensions>
    <resource-extension>
     <!-- parser-type not needed since .rc is a standard LRM extension that maps to the rc parser type -->    
     <extension>rc</extension>
     <file-name-pattern/>
     <use-pattern-on-dflt-locale>0</use-pattern-on-dflt-locale>
     <file-location-pattern>*_LCID</file-location-pattern>
     <use-location-pattern-on-dflt-locale>0</use-location-pattern-on-dflt-locale>
     <base-file-encoding>UTF-16LE</base-file-encoding>
     <localized-file-encoding>UTF-16LE</localized-file-encoding>
     <parameter-regex-pattern><![CDATA[%\d+]]></parameter-regex-pattern>
    </resource-extension>
    <resource-extension>
     <!-- parser-type is required because .myext is not a standard LRM extension -->    
     <extension>myext</extension>
     <parser-type>rc</parser-type>
     <file-name-pattern/>
     <use-pattern-on-dflt-locale>0</use-pattern-on-dflt-locale>
     <file-location-pattern>*_LCID</file-location-pattern>
     <use-location-pattern-on-dflt-locale>0</use-location-pattern-on-dflt-locale>
     <base-file-encoding>UTF-16LE</base-file-encoding>
     <localized-file-encoding>UTF-16LE</localized-file-encoding>
     <parameter-regex-pattern><![CDATA[%\d+]]></parameter-regex-pattern>
    </resource-extension>
  </resources-extensions>