EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics
  3. KB484772: International Components for Unicode (ICU) upgrade in MicroStrategy 2021 release

KB484772: International Components for Unicode (ICU) upgrade in MicroStrategy 2021 release


Colleen Song

Content Engineer • Strategy


This article addresses the upgrade of International Components for Unicode (ICU) to v64.2 in the MicroStrategy 2021 release. Learn how this upgrade impacts MicroStrategy.
Starting with the release of MicroStrategy ONE (March 2024), dossiers are also known as dashboards.MicroStrategy continues to provide our customers with the most trusted and secure enterprise analytics platform by using the latest and most secure technologies with our suite of products for enhanced security, stability, and performance.
In pursuit of this effort, MicroStrategy has upgraded the 3rd party library International Components for Unicode (ICU) to v64.2 in the MicroStrategy 2021 release. ICU is used in MicroStrategy products to support fundamental formatting functions, including number, date/time, and locale-based formatting. With the upgrade to the newer version, we have standardized some of the formats across our products particularly related to date and time.


Impact on MicroStrategy 2021 Release

After an upgrade to MicroStrategy 2021, you may see result format changes as shown in the example below.Appendix 1 has a more detailed list of all the format changes for out-of-the-box (OOTB) languages and supported non-OOTB languages in MicroStrategy 2021. 
For example, the AM/PM strings for Danish have changed from “f.m./e.m.” to “AM/PM”.
A user has the Number and Date Format locale set to Danish (Denmark).
ka0PW0000001JekYAE_0EM4W000001K9xw.jpeg

This user opens a dossier with an attribute in datetime data type (Day attribute in this example). By default, the Danish datetime format does not include AM/PM, so you must manually customize it to show the “AM/PM” strings.

ka0PW0000001JekYAE_0EM4W000001KAUv.jpeg
With the custom formatting, the result displays “12:00 f.m.” in MicroStrategy 2020. Now, it displays “12:00 AM” in MicroStrategy 2021. The new format in MicroStrategy 2021 follows the latest formatting standard for Danish. Users may notice similar improvements for all the changes as listed in Appendix 1.


Result comparison from Integrity Manager

ka0PW0000001JekYAE_0EM4W000001KB0r.jpeg

Result comparison from Web Authoring

ka0PW0000001JekYAE_0EM4W000001KB0w.jpeg
Besides the format changes in ICU v64.2, ICU v64.2 adopts a new rule in dealing with group separators. Group separator refers to the delimiter used to group digits in large numbers, such as comma (","), dot ("."), space (" ") (SP, U+0020), no-break space (" ") (NBSP, U+00a0), underbar ("_"), and apostrophe (" ' "). An important reason for grouping is that it allows rapid judgement of the number of digits. The groups created by the delimiters tend to follow the use of the local language, which varies. Traditionally, English-speaking countries employ commas as the delimiter – 10,000 – and other European countries employ dots or spaces – 10.000 or 10 000.
Our integration with earlier versions of ICU supported a variety of group separators in different parts of the application - space, no-break space, dot, and the locale specific separator. This can cause confusion to the end users in terms of which format to use for a given input field. For example, in French, the locale specific group separator is no-break space. However, French users could also use space or dot as the group separator. In MicroStrategy 2021, we have streamlined the input fields to only allow the locale specific group separator, which means that French users have to use no-break space as the group separator.
In MicroStrategy 2021, you should always use the locale specific group separator when you input data to MicroStrategy, if a group separator is necessary. See Appendix 2 for the list of locale specific group separators. Of course, the easiest way to get around this is to NOT use a group separator at all.


Appendix 1. Format changes that would affect MicroStrategy data parsing/formatting

Below is a list of some locale-specific formatting refinements derived from the ICU upgrade with newer CLDR specifications.

OOTB languages

Chinese (Simplified) 
  • Full month names (MMMM)
    • Old: "1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"
    • New: "一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"
  • Short quarter names (QQQ)
    • Old: "1季","2季","3季","4季"
    • New: "1季度","2季度","3季度","4季度"
Chinese (Traditional)
  • Short quarter names (QQQ)
    • Old: "1季","2季","3季","4季"
    • New: "第1季","第2季","第3季","第4季"
  • Currency symbol
    • Old: "NT$"
    • New: "$"
Danish (Denmark)
  • AM/PM (AM/PM)
    • Old: "f.m." "e.m."
    • New: "AM" "PM"
  • Short day names (DDD):
    • Old: "søn","man","tir","ons","tor","fre","lør"
    • New: "søn.","man.","tir.","ons.","tor.","fre.","lør."
  • Short Quarter Names (QQQ)
    • Old: "K1","K2","K3","K4"
    • New: "1. kvt.","2. kvt.","3. kvt.","4. kvt."
  • Currency symbol
    • Old: "kr"
    • New: "kr."
  • Time separator
    • ICU v4.8: ":"
    • ICU v64.2: "."
Dutch (Netherland)
  • AM/PM (AM/PM)
    • Old: "AM","PM"
    • New: "a.m.","p.m."
English (United Kingdom)
  • AM/PM (AM/PM)
    • Old: "AM","PM"
    • New: "am","pm"
German (Germany) & German (Switzerland)
  • AM/PM (AM/PM)
    • Old: "vorm.","nachm."
    • New: "AM","PM"
Italian (Italy) & Italian (Switzerland)
  • AM/PM (AM/PM)
    • Old: "m.","p."
    • New: "AM","PM"
  • Full quarter names (QQQQ)
    • Old: "1o trimestre","2o trimestre", "3o trimestre","4o trimestre"
    • New: "1º trimestre","2º trimestre","3º trimestre","4º trimestre"
Japanese
  • Nan (not a number)
    • Old: " NaN(非数)"
    • New: " NaN "
Polish
  • Short quarter names (QQQ)
    • Old: "K1","K2","K3","K4"
    • New: "I kw.","II kw.","III kw.","IV kw."
Russian
  • AM/PM (AM/PM)
    • Old: "до полудня", "после полудня"
    • New: "AM","PM"
  • Short month names (MMM)
    • Old: "янв","фев","мар","апр","мая","июн","июл","авг","сен","окт","ноя","дек"
    • New: "янв.","февр.","мар.","апр.","мая","июн.","июл.","авг.","сент.","окт.","нояб.","дек."
  • Nan (not a number) (blank space is different)
    • Old: "не число"
    • New: "не число"
Spanish (Spain)
  • AM/PM (AM/PM)
    • Old: "a.m.","p.m."
    • New: "a. m.","p. m."
  • Full quarter names (QQQQ)
    • Old: "1er trimestre","2º trimestre","3er trimestre","4º trimestre"
    • New: "1.er trimestre","2.º trimestre","3.er trimestre","4.º trimestre"
Swedish (Sweden)
  • Nan (not a number) 
    • Old: "¤¤¤"
    • New: "NaN"

Intelligence Server supported non-OOTB languages

Portuguese (Portugal)
  • AM/PM (AM/PM)
    • Old: "a.m.","p.m."
    • New: "da manhã","da tarde"
  • Short day names (DDD)
    • Old: "dom","seg","ter","qua","qui","sex","sáb"
    • New: "domingo","segunda","terça","quarta","quinta","sexta","sábado"
  • Full day names (DDDD)
    • Old: "Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"
    • New: "domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"
  • Short month names (MMM)
    • Old: "Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"
    • New: "jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"
  • Full month names (MMMM)
    • Old: "Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"
    • New: "janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"
Spanish (Mexico)
  • AM/PM (AM/PM)
    • Old: "a.m.","p.m."
    • New: "a. m.","p. m."
  • Short month names (MMM)
    • Old: "ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"
    • New: "ene.","feb.","mar.","abr.","may.","jun.","jul.","ago.","sept.","oct.","nov.","dic."
    • Short quarter names (QQQ)
      • Old: "T1","T2","T3","T4"
      • New: "1er. trim.","2º. trim.","3er. trim.","4º trim."
French (Canada)
  • AM/PM (AM/PM)
    • Old: "AM", "PM"
    • New: "a.m.","p.m."
  • Short month names (MMM) (Only July has changed)
    • Old: "juil."
    • New: "juill."
Hungarian
  • Short quarter names (QQQ)
    • Old: "N1","N2","N3","N4"
    • New: "I. n.év","II. n.év","III. n.év","IV. n.év"
Croatian
  • AM/PM (AM/PM)
    • Old: "prije podne","PM"
    • New: "AM","PM"
  • Currency symbol
    • Old: "kn"
    • New: "HRK"
Czech
  • Short month names (MMM)
    • Old: "Led","Úno","Bře","Dub","Kvě","Čer","Čvc","Srp","Zář","Říj","Lis","Pro"
    • New: "led","úno","bře","dub","kvě","čvn","čvc","srp","zář","říj","lis","pro"
Slovak
  • AM/PM (AM/PM)
    • Old: "dopoludnia","popoludní"
    • New: "AM","PM"
  • Exponential symbol
    • Old: "E"
    • New: "×10^"
Slovenian
  • Short quarter names (QQQ)
    • Old: "Q1","Q2","Q3","Q4"
    • New: "1. čet.","2. čet.","3. čet.","4. čet."
Bosnian
  • AM/PM (AM/PM)
    • Old: "AM", "PM"
    • New: "prijepodne","popodne"
  • Short month names (MMM) (Only August has changed)
    • Old: "avg"
    • New: "aug"
  • Full month names (MMMM) (Only August has changed)
    • Old: "avgust"
    • New: "august"
  • Short quarter names (QQQ)
    • Old: "K1","K2","K3","K4"
    • New: "KV1","KV2","KV3","KV4"
Serbian - Cyrillic (sr_Cyrl_RS)
  • Full quarter name (QQQQ)
    • Old: "Прво тромесечје","Друго тромесечје","Треће тромесечје","Четврто тромесечје"
    • New: "први квартал","други квартал","трећи квартал","четврти квартал"
Serbian - Latin (sr_Latn_RS)
  • AM/PM (AM/PM) (Only PM has changed)
    • Old: "popodne"
    • New: "po podne"
  • Short quarter names (QQQ)
    • Old: "Q1","Q2","Q3","Q4"
    • New: "K1","K2","K3","K4"
  • Full quarter names (QQQQ)
    • Old: "1. kvartal","2. kvartal","3. kvartal","4. kvartal"
    • New: "prvi kvartal","drugi kvartal","treći kvartal","četvrti kvartal"
FYRM – Macedonian
  • Short month names (MMM)
    • Old: "јан.","фев.","мар.","апр.","мај","јун.","јул.","авг.","септ.","окт.","ноем.","декем."
    • New: "јан.","фев.","мар.","апр.","мај","јун.","јул.","авг.","септ.","окт.","ноем.","дек."
  • Short quarter names (QQQ)
    • Old: "Q1","Q2","Q3","Q4"
    • New: "јан-мар","апр-јун","јул-сеп","окт-дек"
Albanian
  • AM/PM (AM/PM)
    • Old: "PD","MD"
    • New: "e paradites","e pasdites"
  • Short month names (MMM)
    • Old: "Jan","Shk","Mar","Pri","Maj","Qer","Kor","Gsh","Sht","Tet","Nën","Dhj"
    • New: "jan","shk","mar","pri","maj","qer","korr","gush","sht","tet","nën","dhj"
  • Short quarter names (QQQ)
    • Old: "Q1","Q2","Q3","Q4"
    • New: "tremujori I","tremujori II","tremujori III","tremujori IV"
  • Full quarter names (QQQQ)
    • Old: "Q1","Q2","Q3","Q4"
    • New: "tremujori i parë","tremujori i dytë","tremujori i tretë","tremujori i katërt"
  • Group separator
    • "." -> " "
  • Currency symbol
    • "Lek" -> "Lekë"
Bulgarian
  • Short month names (MMM): (some months are changed)
    • Old: "ян.","февр.","март","апр.","май","юни","юли","авг.","септ.","окт.","ноем.","дек."
    • New: "яну","фев","март","апр", "май","юни","юли", "авг","сеп","окт","ное","дек"
  • Short quarter names (QQQ)
    • Old: "I трим.","II трим.","III трим.","IV трим."
    • New: "1.трим.","2.трим.","3.трим.","4.трим."
  • Full quarter names (QQQQ)
    • Old: "1-во тримесечие","2-ро тримесечие","3-то тримесечие","4-то тримесечие"
    • New: "1. тримесечие","2. тримесечие","3. тримесечие","4. тримесечие"
Finnish
  • Short month names (MMM)
    • Old: "tammikuuta","helmikuuta","maaliskuuta","huhtikuuta","toukokuuta","kesäkuuta","heinäkuuta","elokuuta","syyskuuta","lokakuuta","marraskuuta","joulukuuta"
    • New: "tammik.","helmik.","maalisk.","huhtik.","toukok.","kesäk.","heinäk.","elok.","syysk.","lokak.","marrask.","jouluk."
  • Time separator
    • Old: ":"
    • New: "."
Greek
  • Short day names (DDD) (some days have changed)
    • Old: "Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"
    • New: "Κυρ","Δευ","Τρί","Τετ","Πέμ","Παρ","Σάβ"
  • Short month names (MMM) (only May has changed)
    • Old: "Μαϊ"
    • New: "Μαΐ"
Romanian
  • AM/PM (AM/PM)
    • Old: "AM","PM"
    • New: "am","pm"
  • Short day names (DDD)
    • Old: "Du","Lu","Ma","Mi","Jo","Vi","Sâ"
    • New: "dum.","lun.","mar.","mie.","joi","vin.","sâm."
English (Australia)
  • AM/PM (AM/PM)
    • Old: "AM","PM"
    • New: "am","pm"
  • Exponential symbol
    • Old: "E"
    • New: "e"

Appendix 2. Locale specific group separators

Language

Group Separator 

Chinese (Simplified)

,

Chinese (Traditional)

,

Danish (Denmark)

.

Dutch (Netherlands)

.

English (United Kingdom)

,

English (United States)

,

French (Belgium)

.

French (French)

NBSP

French (Switzerland)

'

German (Germany)

.

German (Switzerland)

'

Italian (Italy)

.

Italian (Switzerland)

'

Japanese

,

Korean

,

Polish

NBSP

Portuguese (Brazil)

.

Russian

NBSP

Spanish (Spain)

.

Swedish (Sweden)

NBSP

Portuguese (Portugal)

.

Spanish (Mexico)

.

French (Canada)

NBSP

Hungarian

NBSP

Croatian

.

Czech

NBSP

Slovak

NBSP

Slovenian

.

Bosnian

.

Serbian - Cyrillic
(sr_Syrl_RS)

.

Serbian - Latin
(sr_Latn_RS)

.

FYRM - Macedonian 

.

Balgarian

NBSP

Spanish (Spain) (Modern)

.

Finnish

NBSP

Greek

.

Romanian

.

English (Australia)

,

English (New Zealand)

,

English (South Africa)

NBSP

Norwegian - Bokmal

NBSP

Norwegian - Nynorsk

NBSP

Turkish 

.


Note: NBSP stands for no-break space 0x00a0. 

Comment

0 comments

Details

Knowledge Article

Published:

March 21, 2024

Last Updated:

March 21, 2024