ICU Support
Background
ICU stands for international components for Unicode. ICU is a set of libraries that support the globalization of software applications. LILT automatically supports ICU plurals, select, select-ordinals, date, time, and number functions.
Plurals
In addition LILT’s support of multiple plural forms, we support ICU. We automatically process plurals and place them into the CAT so that linguists can easily perform translation using our plurals modal.
Select and Select-Ordinals
Select is most commonly used for genders. It can be used to select the correct gender words or pronouns. When translating english pronouns she, he, they need to be defined. In other languages other words could be gendered as well.
Select-Ordinals are used to properly describe the subfix of a number. For example in English depending on whether the number is 1, 2, 3, 4, or greater than 5, the suffix attached will be different: 1st, 2nd, 3rd, 4th, 5th,.. 10th.
{
"ADOPTION_INSTRUCTIONS_UPDATE_AVAILABLE": "{type, select, protectOnly {Update <a>UniFi Protect</a>.} uosOnly {Update <a>UniFi OS</a>.} other {Update <a>UniFi OS</a> and <a>UniFi Protect</a>.}}",
"COMMON_SMART_DETECTION_AGREEMENT_CONTACT_OWNER": "Please contact {ownerName, select, unknown {the console owner} other {{ownerName}}} to Enable Smart Detection to differentiate between a wider variety of objects, and enjoy more targeted event recording.",
"DASHBOARD_HARD_DISK_NOT_ENOUGH_SIZE_MESSAGE": "You need at least {minCapacity} to record {replaceableHDD, select, true {continuously} other {video}}. Please increase your storage. For the best experience, we recommend using a model from our Protect-ready <a>HDD selection</a>.",
"DEVICE_SIDE_PANEL_BARRIER_CLOSED": "{barrier, select, window {Window} garage {Garage} other {Door}} Closed",
"DEVICE_SIDE_PANEL_BARRIER_CLOSED_WITH_TIME": "{barrier, select, window {Window} garage {Garage} other {Door}} Closed (Open for {duration})",
"DEVICE_SIDE_PANEL_BARRIER_OPENED": "{barrier, select, window {Window} garage {Garage} other {Door}} Opened",
"DEVICE_SIDE_PANEL_BARRIER_STATUS": "{barrier, select, window {Window} garage {Garage} other {Door}} {isOpened, select, true {open} other {closed}} since {formattedTime} ({timeSince})",
"NO_TIMELAPS_CAMERAS_FOOTAGE": "You have no {isAnalytics, select, true {cameras} other {timelaps footage}}"
}
Date/Time
The way a date is reported depends on the language and region. As an example the US uses MM:DD:YYYY for dates whereas the EU uses DD:MM:YYY. ICU has four classes which are related to time and date: Calendar, GregorianCalendar, Time Zone, and Simple Time Zone. LILT supports all date classes within the ICU code library.
We do handle date and time formats embedded in the ICU message format, such as {1,time,::jmm}
or {1,date,::dMMMM}
Number
ICU supports both number and currency formatting.