Nemzetközi összetevők az Unicode számára - International Components for Unicode

Unicode nemzetközi összetevői
Fejlesztő (k) Unicode konzorcium
Első kiadás 1999
Stabil kiadás
69.1 / 2020. március 18 . ; 17 hónapja ( 2020-03-18 )
Adattár Szerkessze ezt a Wikidatában
Beírva C / C ++ (C ++ 11) és Java
Operációs rendszer Többplatformos
típus könyvtárak az Unicode és a nemzetköziesítés érdekében
Engedély Unicode licenc
Weboldal www .icu-project .org

Az International Components for Unicode ( ICU ) egy nyílt forráskódú projekt az érett C / C ++ és Java könyvtárakból az Unicode támogatása, a szoftverek nemzetközivé tétele és a szoftver globalizációja érdekében. Az ICU széles körben hordozható számos operációs rendszerhez és környezethez. Ugyanazokat az eredményeket biztosítja az alkalmazások számára minden platformon, valamint a C, C ++ és Java szoftverek között. Az ICU projekt az Unicode Consortium technikai bizottsága , amelyet az IBM és sok más vállalat szponzorál, támogat és használ .

Az ICU a következő szolgáltatásokat nyújtja: Unicode szövegkezelés, teljes karaktertulajdonságok és karakterkészlet -konverziók; Unicode reguláris kifejezések ; teljes Unicode készletek; karakter-, szó- és sorhatárok; nyelv érzékeny leválogatás és a keresés; normalizálás , kis- és nagybetűs átalakítás, valamint szkript -átírások ; átfogó területi adatok és erőforráscsomag -architektúra a közös területi adattáron (CLDR) keresztül; multi- naptár és időzónák ; valamint a dátumok, időpontok, számok, valuták és üzenetek szabályalapú formázása és elemzése. Az ICU komplex szövegelrendezési szolgáltatást nyújtott az arab, héber, indiai és thai nyelv számára történelmileg, de ez az 54 -es verzióban elavult volt, és az 58 -as verzióban teljesen eltávolították a HarfBuzz javára .

Az ICU kiterjedtebb nemzetköziesítési lehetőségeket biztosít, mint a C és C ++ szabványos könyvtárai. Az ICU 67 támogatja az Unicode 13.0 -at, és kezeli Nagy -Britannia eltávolítását az EU régióiból . Az ICU 64 támogatja az Unicode 12.0 -t , míg az ICU 64.2 támogatja az Unicode 12.1 -et , azaz a japán Reiwa korszak egyetlen új szimbólumát (de annak támogatását is visszaállították a régebbi ICU -verziókra, egészen az ICU 4.8.2 -ig). Az ICU 58 (Unicode 9.0 támogatással) az utolsó verzió, amely támogatja a régebbi platformokat, mint például a Windows XP , a Windows Vista . Az AIX , a Solaris és a z/OS támogatása a későbbi verziókban is korlátozott lehet (azaz az építés a fordító támogatásától függ). Az ICU a Windows 10 szabvány 1703 -as verziója óta a Microsoft Windows szabványos része .

Az ICU történelmileg UTF-16-ot használt , és még mindig csak Java-ra; míg a C/C ++ esetében az UTF-8 támogatott, beleértve az "illegális UTF-8" helyes kezelését.

Az ICU 68 nem építhető fel C ++ 20 fordítóval, de a 69.1 segítségével lehetséges.

Eredet és fejlődés

Miután Taligent 1996 elején az IBM részévé vált , a Sun Microsystems úgy döntött, hogy az új Java nyelvnek jobban kell támogatnia a nemzetközivé válást . Mivel a Taligent rendelkezett tapasztalatokkal az ilyen technológiák terén, és földrajzilag közel állt hozzájuk, a Text and International csoportjukat felkérték, hogy a JDK 1.1 internacionalizációs API -k részeként járuljanak hozzá a nemzetközi osztályokhoz a Java fejlesztői készlethez . Ennek a kódnak a nagy része még mindig megtalálható a és a csomagokban. A Java minden későbbi kiadásával további nemzetközivé válási funkciók érkeztek. java.textjava.util

A Java nemzetközivé váló osztályokat ezután az ICU4C ("ICU for C") néven ismert könyvtár részeként a C ++ és a C csoportba helyezték át. Az ICU projekt az ICU4J -t ("ICU for Java") is biztosítja, amely olyan funkciókat ad hozzá, amelyek nem találhatók meg a szabványos Java könyvtárakban. Az ICU4C és az ICU4J nagyon hasonlóak, bár nem azonosak; például az ICU4C tartalmaz Regular Expression API -t, míg az ICU4J nem. Mindkét keretrendszert idővel továbbfejlesztették, hogy támogassák a Unicode és a közös területi adattár (CLDR) új lehetőségeit és új funkcióit .

Az ICU nyílt forráskódú projektként jelent meg 1999-ben IBM Classes for Unicode néven. Később átnevezték International Components For Unicode -ra. 2016 májusában az ICU projekt csatlakozott az Unicode konzorciumhoz, mint technikai bizottság ICU-TC , és a könyvtári forrásokat most Unicode licenc alatt terjesztik.

MessageFormat

Az ICU része a MessageFormat osztály, egy olyan formázási rendszer, amely tetszőleges számú argumentumot használ a többes számú ( plural, selectordinal) vagy az általánosabb kapcsoló- és stílusválasztás ( select) vezérlésére, például a nyelvtani nemhez . Ezek az állítások egymásba ágyazhatók. Az ICU MessageFormat a többes szám és a kiválasztó rendszer hozzáadásával jött létre a Java SE azonos nevű rendszeréhez .

Lásd még

Hivatkozások

Külső linkek