Localization Module
The Localization Module should be used to receive localized strings. This module will make sure that a certain Key gets translated and enriched with more informations and markdown info.
This Module can:
- translate a Key in the from the backend provided languages
- replace os-independant placeholders with os placeholders
- replace global variables with specific values
- give access to a wide variaty of formatters
- Date & Time formatter
- Currency formatter
- Distance formatter
- replace HTML tags
- formats phone numbers and emails and handles tap action
- replace array of string into bullet points.
1. Localization of Content String from CMS
{
"base": {
"key_without_any_placeholders": "Das ist ein Text",
"key_with_placeholders": "Das ist ein Text mit ##[ARG]##",
"key_with_multiple_placeholders": "Das ist ein Text mit ##[ARG]##, ##[ARG]## und ##[ARG]##",
"key_with_standard_variable": "Mein Name ist ##[INSUREE_NAME]## mit der KVNR: ##[INSUREE_KVNR]##",
"key_with_standard_variable_and_placeholder": "Mein Name ist <b>##[INSUREE_NAME]##</b> und dies ist eine ##[ARG]##",
"key_with_phone_number": "Das ist eine Telefonnummer <a href=tel:9999777722>9999777722</a>",
"key_with_email_address": "Dies ist eine E-Mail-Adresse <a href=mailto:support@aok.com>support@aok.com</a>",
"key_with_bullet_points": "<ul><li>Das ist eine Telefonnummer <a href=tel:9999777722>9999777722</a></li> <li>Dies ist eine E-Mail-Adresse <a href=mailto:support@aok.com>support@aok.com</a></li></ul>",
"key_with_highlight_text": "Das ist ein <highlight>Text</highlight>"
}
}
Placeholder
Placeholder are entered via the CMS in the translated Strings using these this pattern: ##[PLACEHOLDER]##
, where PLACEHOLDER
can be replaced with certain Keys.
Dependant of the Keys different standard Texts will be injected or replaced with context text.
IMPORTANT:
Usage of the ARG
Placeholder must always be aligned with the development Team!
Placeholder | Description | CMS String | In-App-Result |
---|---|---|---|
ARG | This Parameter will be replaced with contextual values from the code at runtime. This could be a date or something similar | "Das ist ein Text mit ##[ARG]## " | "Das ist ein Text mit Platzhalter " |
INSURANCE_NAME | Replaces the Placeholder with the current Insurance Name | "Das ist meine AOK: ##[INSURANCE_NAME]## " | "Das ist meine AOK: AOK Plus " |
INSUREE_NAME | Replaces the Placeholder with the current Insurance Name | "Das ist mein Name: ##[INSUREE_NAME]## " | "Das ist mein Name: Qjbbaaab Hbwaaaac " |
INSUREE_FIRST_NAME | Replaces the Placeholder with the current Insurance First Name | "Das ist mein Name: ##[INSUREE_FIRST_NAME]## " | "Das ist mein Name: Qjbbaaab " |
INSUREE_LAST_NAME | Replaces the Placeholder with the current Insurance Last Name | "Das ist mein Name: ##[INSUREE_LAST_NAME]## " | "Das ist mein Name: Hbwaaaac " |
INSUREE_KVNR | Replaces the Placeholder with the current Insurance Name | "Das ist meine KVNR: ##[INSUREE_KVNR]## " | "Das ist meine KVNR: Q123456789 " |
HTML Support
The App supports certain HTML Tags in text:
- underline
<u>...</u>
- bold
<b>...</b>
- italic
<i>...</i>
- links
<a href="https://google.com">...</a>
These Tags can also be combined with the Placeholders from above: "Das ist meine KVNR: ##[INSUREE_KVNR]##"
Phone Number and Email Support
The App supports phone number and email tags in text:
- phone number
<a href=tel:XXXXXXXXXX>XXXXXXXXXX</a>
- email address
<a href=mailto:support@aok.com>support@aok.com</a>
Bullet point Support
The App converts string array into bullet point seperated items
-
Array to HTML format Example
Input : [“Item1”,”Item2”,”Item3”] Output : <ul><li>item1</li><li>item2</li><li>item3</li></ul>
-
HTML format to Bullet point lists
<ul><li>Das ist eine Telefonnummer <a href=tel:9999777722>9999777722</a></li> <li>Dies ist eine E-Mail-Adresse <a href=mailto:support@aok.com>support@aok.com</a></li></ul>
Highlight tag Support
The App supports highlighting part of text
- highlight
<highlight>....</highlight>
Code Implementation
There are two functions based on strings that can be used to receive a localized string for a key
function | description |
---|---|
localized | Gives the localized strings for the given key. This method also applies Placeholders, except the ARG Placeholder |
localized(args) | Gives the localized strings for the given key. This method also applies Placeholders, where args are applied to the ##[ARG]## Placeholder pattern |
Example:
OCText("key_without_any_placeholders".localized)
OCText("key_with_placeholders".localized("Platzhalter"))
OCText("key_with_standard_variable_and_placeholder".localized("Dokumentation"))
results in
Das ist ein Text
Das ist ein Text mit Platzhalter
Mein Name ist Qjbbaaab Hbwaaaac und dies ist eine Dokumentation