Difference between revisions of "LRM Properties Support"

From Lingoport Wiki
Jump to: navigation, search
(Naming Conventions)
Line 19: Line 19:
 
The bold file is the base file (U.S. English in this instance) translated into German, Spanish, French, Russian, and Chinese.
 
The bold file is the base file (U.S. English in this instance) translated into German, Spanish, French, Russian, and Chinese.
   
== Example strings.xml File For Android==
+
== Example of .properties==
   
  +
byTheFollowingAdministrator= by the following administrator: {0}
<?xml version="1.0" encoding="utf-8"?>
 
  +
artifactChangeNotification.OwnershipFilterName=the request for notification of any change to a {0} you own (or items related to it).
<resources xmlns:tools="http://schemas.android.com/tools">
 
  +
firstLastName={0} {1}
<string name="menu_find">Find</string>
 
  +
user.confirm.delete=Are you sure you want to delete {0}?\\n\\nTHERE IS NO UNDO for deleting Users.
<string name="menu_historical_search">Search Historical Records</string>
 
  +
user.editor.save.error=<strong>The User could not be saved.</strong><br/>\
<!-- Labels for Person Detail Page -->
 
  +
Please correct the errors identified below and click one of the "Save" buttons.<br/>
<string name="person_activity_title">Person</string>
 
  +
#
<string name="label_person_tree_button">View This Tree</string>
 
  +
# bind and validation errors
<string name="label_person_other">Other</string>
 
  +
#
<string name="label_person_name">Name</string>
 
  +
User.invalidValueError.name=User Name must be a valid email address.
<string name="label_person_details">Details</string>
 
  +
<!-- Fact detail: -->
 
  +
Note:
<string name="fact_detail_sub_header_reason">Reason This Information Is Correct</string>
 
  +
* \ at the end of a string means the following line is part of that string, as in
<string name="fact_detail_footer_modified">Modified</string>
 
<string name="fact_detail_send_email_chooser">Choose an Email Client</string>
 
<string name="fact_detail_send_email_error_no_client">Email app not found</string>
 
<string name="fact_name_label">Name</string>
 
</resources>
 
 
 
  +
user.editor.save.error=<strong>The User could not be saved.</strong><br/>'''\'''
  +
Please correct the errors identified below and click one of the "Save" buttons.<br/>
  +
  +
* Parameters are typically numbers in braces, as in
  +
  +
firstLastName='''{0} {1}'''
  +
  +
* Comments are specified with a # sign at the beginning of the line
  +
  +
# bind and validation errors
  +
 
== Example of Project Definition File ==
 
== Example of Project Definition File ==
   

Revision as of 16:20, 22 September 2016

Naming Conventions

Properties files are used by applications written in many programming languages, such as Java. Java for instance has a full fledged standard infrastructure to handle resources (strings mostly) from properties files. Typically, an application will have many .properties base files located under different directories. The base file typically does not have a locale suffix as it serves as the default locale when resources are missing in another locale. See https://docs.oracle.com/javase/tutorial/essential/environment/properties.html .

For a base file named resources.properties, the corresponding French file will be in the same directory and the locale will be added to the file name: resources_fr.properties.

For optimum use of LRM, we strongly recommend that base files be named uniquely. If you have two files for instance, do not name them both resources.properties. Name them something different, like resources.properties and messages.properties

For example, for a few locales, the directory structure and file names would be:

 messages.properties
 messages_de.properties
 messages_es.properties
 messages_fr.properties
 messages_ru.properties
 messages_zh.properties


The bold file is the base file (U.S. English in this instance) translated into German, Spanish, French, Russian, and Chinese.

Example of .properties

 byTheFollowingAdministrator= by the following administrator: {0}
 artifactChangeNotification.OwnershipFilterName=the request for notification of any change to a {0} you own (or items related to it).
 firstLastName={0} {1}
 user.confirm.delete=Are you sure you want to delete {0}?\\n\\nTHERE IS NO UNDO for deleting Users.
 user.editor.save.error=The User could not be saved.
\ Please correct the errors identified below and click one of the "Save" buttons.
# # bind and validation errors # User.invalidValueError.name=User Name must be a valid email address.

Note:

  • \ at the end of a string means the following line is part of that string, as in
 user.editor.save.error=The User could not be saved.
\ Please correct the errors identified below and click one of the "Save" buttons.
  • Parameters are typically numbers in braces, as in
 firstLastName={0} {1}
  • Comments are specified with a # sign at the beginning of the line
 # bind and validation errors

Example of Project Definition File

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<lrmconf>
 <model-version>3.0.18</model-version>
 <project-name>mobile-android</project-name>
 <project-desc>Lingoport mobile-android project</project-desc>
 <group-name>Lingoport</group-name>
 <top-level-dir>/var/lib/jenkins/jobs/Lingoport.mobile-android/workspace</top-level-dir>
 <detect-errors>
   <missed-trans-error>0</missed-trans-error>
   <parameter-mismatch-error>1</parameter-mismatch-error>
 </detect-errors>
 <track-back-locale/>
 <pseudo-locale/>
 <target-locales>
   <locale>de</locale>
   <locale>es</locale>
   <locale>fr</locale>
   <locale>ja</locale>
   <locale>zh</locale>
 </target-locales>
 <default-locale>en</default-locale>
 <resource-extensions>
   <resource-extension>
     <extension>xml</extension>
     <file-name-pattern/>
     <use-pattern-on-dflt-locale>0</use-pattern-on-dflt-locale>
     <file-location-pattern>*-l-c-v</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|%s|%d+$s|%d+$d|%\{w+\}]]></parameter-regex-pattern>
   </resource-extension>
 </resource-extensions>
  <dirset>
   <includes>
     <include-dir>**/**</include-dir>
   </includes>
   <excludes>
     <exclude-dir-file>**/.sonar-ide.properties</exclude-dir-file>
     <exclude-dir-file>**/acceptance-test.properties</exclude-dir-file>
     <exclude-dir-file>**/application.properties</exclude-dir-file>
     <exclude-dir-file>**/catalina.properties</exclude-dir-file>
     <exclude-dir-file>**/config.properties</exclude-dir-file>
     <exclude-dir-file>**/grinder.properties</exclude-dir-file>
     <exclude-dir-file>**/integration.properties</exclude-dir-file>
     <exclude-dir-file>**/logging.properties</exclude-dir-file>
     <exclude-dir-file>**/values-eo/**</exclude-dir-file>
     <exclude-dir-file>**/values-xx/**</exclude-dir-file>
     <exclude-dir-file>**/LRMScans/**</exclude-dir-file>
     <exclude-dir-file>**/GlobalyzerScans/**</exclude-dir-file>
   </excludes>
 </dirset>
</lrmconf>