LRM Android Support

From Lingoport Wiki
Revision as of 20:19, 18 September 2017 by Llawson (talk | contribs) (Example of Project Definition File)
Jump to: navigation, search

Naming Conventions

Android resources files are named strings.xml. Typically, an Android application will have one strings.xml base file located under a directory named values. The corresponding translated resource bundle will be also named strings.xml and located under a directory named values-fr (for French) at the same level as values.

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

 res/values/strings.xml
 res/values-de/strings.xml
 res/values-es/strings.xml
 res/values-fr/strings.xml
 res/values-it/strings.xml
 res/values-ja/strings.xml
 res/values-ko/strings.xml
 res/values-pt/strings.xml
 res/values-ru/strings.xml
 res/values-zh/strings.xml

The bold file is the base file (U.S. English in this instance since <default-locale>en</default-locale>) to be translated into German, Spanish, French, Italian, Japanese, Korean, Portugese, Russian, and Chinese.

Example strings.xml File For Android

 <?xml version="1.0" encoding="utf-8"?>
 <resources xmlns:tools="http://schemas.android.com/tools">
  <string name="menu_find">Find</string>
  <string name="menu_historical_search">Search Historical Records</string>
  <string name="person_activity_title">Person</string>
  <string name="label_person_tree_button">View This Tree</string>
  <string name="label_person_other">Other</string>
  <string name="label_person_name">Name</string>
  <string name="label_person_details">Details</string>
  <string name="fact_detail_sub_header_reason">Reason This Information Is Correct</string>
  <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>

xml parser type using AndroidParser.xml format definition

valid Android xml syntax

Files that use the xml parser and the AndroidParser.xml format definition are expected to have valid Android xml file syntax

Android .xml uses the xml parser type

When defining a project containing LRM Standard Android.xml resource files, there is no need to define a <parser-type> as the xml parser will always be used along with the AndroidParser.xml format definition.

unique file extension needs to define xml parser type. Xml format definition defaults to Android

If a unique file extension is a valid Android xml file, then:

  • In the Project definition xml file, <parser-type> should be xml
  • There is no need to copy over a format definition because the default definition is for Android syntax.

Example of Project Definition for Resources

  <resource-extensions>
   <resource-extension>
    <!-- parser-type not needed since .xml is a standard LRM extension that maps to the xml parser type -->
     <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-extension>     
     <!-- parser-type is required because .myext is not a standard LRM extension -->
     <extension>myext</extension>
     <!-- There is no need to copy over a parser.xml because the default xml parser is for Android files -->
     <parser-type>xml</parser-type>
     <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>