Edgar J. De Cleene uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-edc.470.mcz ==================== Summary ==================== Name: System-edc.470 Author: edc Time: 14 March 2012, 6:49:44.769 am UUID: 151358a0-9d5c-4610-8a52-62799f4f239c Ancestors: System-eem.469 Changes for have EToys GetText =============== Diff against System-eem.469 =============== Item was removed: - Object subclass: #ISOLanguageDefinition - instanceVariableNames: 'iso3 iso2 iso3Alternate language' - classVariableNames: 'ISO2Countries ISO2Table ISO3Countries ISO3Table' - poolDictionaries: '' - category: 'System-Localization'! Item was removed: - ----- Method: ISOLanguageDefinition class>>buildIso3166CodesTables (in category 'private') ----- - buildIso3166CodesTables - "ISOLanguageDefinition buildIso3166CodesTables" - | rawdata stream country isoa2 isoa3 unNumeric macName macCode windowsName windowsCode empty table | - rawdata := self iso3166Codes. - table := OrderedCollection new: 200. - stream := rawdata readStream. - empty := 160 asCharacter asString. - [stream atEnd] whileFalse: - [country := stream nextLine. - isoa2 := stream nextLine. - isoa3 := stream nextLine. - unNumeric := stream nextLine. - windowsName := stream nextLine. - windowsName = empty ifTrue: [windowsName := nil]. - windowsCode := stream nextLine. - windowsCode = empty ifTrue: [windowsCode := nil]. - macName := stream nextLine. - macName = empty ifTrue: [macName := nil]. - macCode := stream nextLine. - macCode = empty ifTrue: [macCode := nil]. - table add: { country. isoa2. isoa3. unNumeric. windowsName. windowsCode. macName. macCode. }]. - ^table! Item was removed: - ----- Method: ISOLanguageDefinition class>>extraCountryDefinitions (in category 'private') ----- - extraCountryDefinitions - ^{ - {'Kids'. 'KIDS'. 'KIDS'.}. - }! Item was removed: - ----- Method: ISOLanguageDefinition class>>extraISO3Definitions (in category 'private') ----- - extraISO3Definitions - - ^self readISOLanguagesFrom: 'jpk Japanese (Kids) - ' readStream! Item was removed: - ----- Method: ISOLanguageDefinition class>>initISO3LanguageTable (in category 'private') ----- - initISO3LanguageTable - "ISOLanguageDefinition initIso3LanguageTable" - - | table | - table := ISOLanguageDefinition readISOLanguagesFrom: ISOLanguageDefinition isoLanguages readStream. - table addAll: self extraISO3Definitions. - ^table! Item was removed: - ----- Method: ISOLanguageDefinition class>>initISOCountries (in category 'private') ----- - initISOCountries - "ISOLanguageDefinition initISOCountries" - | iso3166Table | - iso3166Table := ISOLanguageDefinition buildIso3166CodesTables. - ISO2Countries := Dictionary new. - ISO3Countries := Dictionary new. - iso3166Table do: [:entry | - ISO2Countries at: (entry at: 2) put: (entry at: 1). - ISO3Countries at: (entry at: 3) put: (entry at: 1)]. - self extraCountryDefinitions do: [:entry | - ISO2Countries at: (entry at: 2) put: (entry at: 1). - ISO3Countries at: (entry at: 3) put: (entry at: 1)]! Item was removed: - ----- Method: ISOLanguageDefinition class>>initialize (in category 'class initialization') ----- - initialize - "ISOLanguageDefinition initialize" - - ISO3Table := nil. - ISO2Table := nil! Item was removed: - ----- Method: ISOLanguageDefinition class>>iso2Countries (in category 'private') ----- - iso2Countries - "ISOLanguageDefinition iso2Countries" - "ISO2Countries := nil. ISO3Countries := nil" - - ISO2Countries ifNil: [self initISOCountries]. - ^ISO2Countries! Item was removed: - ----- Method: ISOLanguageDefinition class>>iso2LanguageDefinition: (in category 'accessing') ----- - iso2LanguageDefinition: aString - ^self iso2LanguageTable at: aString! Item was removed: - ----- Method: ISOLanguageDefinition class>>iso2LanguageTable (in category 'private') ----- - iso2LanguageTable - "ISOLanguageDefinition iso2LanguageTable" - - ISO2Table ifNotNil: [^ISO2Table]. - ISO2Table := Dictionary new: self iso3LanguageTable basicSize. - self iso3LanguageTable do: [:entry | - ISO2Table at: entry iso2 put: entry]. - ^ISO2Table! Item was removed: - ----- Method: ISOLanguageDefinition class>>iso3166Codes (in category 'private') ----- - iso3166Codes - "http://www.unicode.org/onlinedat/countries.html" - - ^'ÅLAND ISLANDS - AX - - - - - - - AFGHANISTAN - AF - AFG - 004 - - - - - ALBANIA - AL - ALB - 008 - CTRY_ALBANIA - 355 - - - ALGERIA - DZ - DZA - 012 - CTRY_ALGERIA - 213 - verArabic - 16 - AMERICAN SAMOA - AS - ASM - 016 - - - - - ANDORRA - AD - AND - 020 - - - - - ANGOLA - AO - AGO - 024 - - - - - ANGUILLA - AI - AIA - 660 - - - - - ANTARCTICA - AQ - ATA - 010 - - - - - ANTIGUA AND BARBUDA - AG - ATG - 028 - - - - - ARGENTINA - AR - ARG - 032 - CTRY_ARGENTINA - 54 - - - ARMENIA - AM - ARM - 051 - CTRY_ARMENIA - 374 - verArmenian - 84 - ARUBA - AW - ABW - 533 - - - - - AUSTRALIA - AU - AUS - 036 - CTRY_AUSTRALIA - 61 - verAustralia - 15 - AUSTRIA - AT - AUT - 040 - CTRY_AUSTRIA - 43 - verAustria - 92 - AZERBAIJAN - AZ - AZE - 031 - CTRY_AZERBAIJAN - 994 - - - BAHAMAS - BS - BHS - 044 - - - - - BAHRAIN - BH - BHR - 048 - CTRY_BAHRAIN - 973 - - - BANGLADESH - BD - BGD - 050 - - - verBengali - 60 - BARBADOS - BB - BRB - 052 - - - - - BELARUS - BY - BLR - 112 - CTRY_BELARUS - 375 - - - BELGIUM - BE - BEL - 056 - CTRY_BELGIUM - 32 - verFrBelgium, verFlemish - 98 - BELIZE - BZ - BLZ - 084 - CTRY_BELIZE - 501 - - - BENIN - BJ - BEN - 204 - - - - - BERMUDA - BM - BMU - 060 - - - - - BHUTAN - BT - BTN - 064 - - - verBhutan - 83 - BOLIVIA - BO - BOL - 068 - CTRY_BOLIVIA - 591 - - - BOSNIA AND HERZEGOVINA - BA - BIH - 070 - - - - - BOTSWANA - BW - BWA - 072 - - - - - BOUVET ISLAND - BV - BVT - 074 - - - - - BRAZIL - BR - BRA - 076 - CTRY_BRAZIL - 55 - verBrazil - 71 - BRITISH INDIAN OCEAN TERRITORY - IO - IOT - 086 - - - - - BRUNEI DARUSSALAM - BN - BRN - 096 - CTRY_BRUNEI_DARUSSALAM - 673 - - - BULGARIA - BG - BGR - 100 - CTRY_BULGARIA - 359 - verBulgaria - 72 - BURKINA FASO - BF - BFA - 854 - - - - - BURUNDI - BI - BDI - 108 - - - - - CAMBODIA - KH - KHM - 116 - - - - - CAMEROON - CM - CMR - 120 - - - - - CANADA - CA - CAN - 124 - CTRY_CANADA - 2 - verFrCanada, verEndCanada - 82 - CAPE VERDE - CV - CPV - 132 - - - - - CAYMAN ISLANDS - KY - CYM - 136 - - - - - CENTRAL AFRICAN REPUBLIC - CF - CAF - 140 - - - - - CHAD - TD - TCD - 148 - - - - - CHILE - CL - CHL - 152 - CTRY_CHILE - 56 - - - CHINA - CN - CHN - 156 - CTRY_PRCHINA - 86 - verChina - 52 - CHRISTMAS ISLAND - CX - CXR - 162 - - - - - COCOS (KEELING) ISLANDS - CC - CCK - 166 - - - - - COLOMBIA - CO - COL - 170 - CTRY_COLOMBIA - 57 - - - COMOROS - KM - COM - 174 - - - - - CONGO - CG - COG - 178 - - - - - CONGO, THE DEMOCRATIC REPUBLIC OF THE - CD - - - - - - - COOK ISLANDS - CK - COK - 184 - - - - - COSTA RICA - CR - CRI - 188 - CTRY_COSTA_RICA - 506 - - - COTE D''IVOIRE - CI - CIV - 384 - - - - - CROATIA (local name: Hrvatska) - HR - HRV - 191 - CTRY_CROATIA - 385 - verCroatia, verYugoCroatian - 68 (c), 25 (y) - CUBA - CU - CUB - 192 - - - - - CYPRUS - CY - CYP - 196 - - - verCyprus - 23 - CZECH REPUBLIC - CZ - CZE - 203 - CTRY_CZECH - 420 - verCzech - 56 - DENMARK - DK - DNK - 208 - CTRY_DENMARK - 45 - verDenmark(da), verFaeroeIsl(fo) - 9(da), 47(fo) - DJIBOUTI - DJ - DJI - 262 - - - - - DOMINICA - DM - DMA - 212 - - - - - DOMINICAN REPUBLIC - DO - DOM - 214 - CTRY_DOMINICAN_REPUBLIC - 1 - - - EAST TIMOR - TL - TLS - 626 - - - - - ECUADOR - EC - ECU - 218 - CTRY_ECUADOR - 593 - - - EGYPT - EG - EGY - 818 - CTRY_EGYPT - 20 - verArabic - 16 - EL SALVADOR - SV - SLV - 222 - CTRY_EL_SALVADOR - 503 - - - EQUATORIAL GUINEA - GQ - GNQ - 226 - - - - - ERITREA - ER - ERI - 232 - - - - - ESTONIA - EE - EST - 233 - CTRY_ESTONIA - 372 - verEstonia - 44 - ETHIOPIA - ET - ETH - 210 - - - - - FALKLAND ISLANDS (MALVINAS) - FK - FLK - 238 - - - - - FAROE ISLANDS - FO - FRO - 234 - CTRY_FAEROE_ISLANDS - 298 - - - FIJI - FJ - FJI - 242 - - - - - FINLAND - FI - FIN - 246 - CTRY_FINLAND - 358 - verFinland - 17 - FRANCE - FR - FRA - 250 - CTRY_FRANCE - 33 - verFrance - 1 - FRANCE, METROPOLITAN - FX - FXX - 249 - - - - - FRENCH GUIANA - GF - GUF - 254 - - - - - FRENCH POLYNESIA - PF - PYF - 258 - - - - - FRENCH SOUTHERN TERRITORIES - TF - ATF - 260 - - - - - GABON - GA - GAB - 266 - - - - - GAMBIA - GM - GMB - 270 - - - - - GEORGIA - GE - GEO - 268 - CTRY_GEORGIA - 995 - verGeorgian - 85 - GERMANY - DE - DEU - 276 - CTRY_GERMANY - 49 - verGermany - 3 - GHANA - GH - GHA - 288 - - - - - GIBRALTAR - GI - GIB - 292 - - - - - GREECE - GR - GRC - 300 - CTRY_GREECE - 30 - verGreece, verGreecePoly - 20, 40 - GREENLAND - GL - GRL - 304 - - - verGreenland - 107 - GRENADA - GD - GRD - 308 - - - - - GUADELOUPE - GP - GLP - 312 - - - - - GUAM - GU - GUM - 316 - - - - - GUATEMALA - GT - GTM - 320 - CTRY_GUATEMALA - 502 - - - GUINEA - GN - GIN - 324 - - - - - GUINEA-BISSAU - GW - GNB - 624 - - - - - GUYANA - GY - GUY - 328 - - - - - HAITI - HT - HTI - 332 - - - - - HEARD ISLAND & MCDONALD ISLANDS - HM - HMD - 334 - - - - - HONDURAS - HN - HND - 340 - CTRY_HONDURAS - 504 - - - HONG KONG - HK - HKG - 344 - CTRY_HONG_KONG - 852 - - - HUNGARY - HU - HUN - 348 - CTRY_HUNGARY - 36 - verHungary - 43 - ICELAND - IS - ISL - 352 - CTRY_ICELAND - 354 - verIceland - 21 - INDIA - IN - IND - 356 - CTRY_INDIA - 91 - verIndiaHindi(hi) - 33 - INDONESIA - ID - IDN - 360 - CTRY_INDONESIA - 62 - - - IRAN, ISLAMIC REPUBLIC OF - IR - IRN - 364 - CTRY_IRAN - 981 - verIran - 48 - IRAQ - IQ - IRQ - 368 - CTRY_IRAQ - 964 - verArabic - 16 - IRELAND - IE - IRL - 372 - CTRY_IRELAND - 353 - verIreland - 50 - ISRAEL - IL - ISR - 376 - CTRY_ISRAEL - 972 - verIsrael - 13 - ITALY - IT - ITA - 380 - CTRY_ITALY - 39 - verItaly - 4 - JAMAICA - JM - JAM - 388 - CTRY_JAMAICA - 1 - - - JAPAN - JP - JPN - 392 - CTRY_JAPAN - 81 - verJapan - 14 - JORDAN - JO - JOR - 400 - CTRY_JORDAN - 962 - - - KAZAKHSTAN - KZ - KAZ - 398 - CTRY_KAZAKSTAN - 7 - - - KENYA - KE - KEN - 404 - CTRY_KENYA - 254 - - - KIRIBATI - KI - KIR - 296 - - - - - KOREA, DEMOCRATIC PEOPLE''S REPUBLIC OF - KP - PRK - 408 - - - verKorea - 51 - KOREA, REPUBLIC OF - KR - KOR - 410 - CTRY_SOUTH_KOREA - 82 - verKorea - - KUWAIT - KW - KWT - 414 - CTRY_KUWAIT - 965 - - - KYRGYZSTAN - KG - KGZ - 417 - CTRY_KYRGYZSTAN - 996 - - - LAO PEOPLE''S DEMOCRATIC REPUBLIC - LA - LAO - 418 - - - - - LATVIA - LV - LVA - 428 - CTRY_LATVIA - 371 - verLatvia - 45 - LEBANON - LB - LBN - 422 - CTRY_LEBANON - 961 - - - LESOTHO - LS - LSO - 426 - - - - - LIBERIA - LR - LBR - 430 - - - - - LIBYAN ARAB JAMAHIRIYA - LY - LBY - 434 - CTRY_LIBYA - 218 - verArabic - 16 - LIECHTENSTEIN - LI - LIE - 438 - CTRY_LIECHTENSTEIN - 41 - - - LITHUANIA - LT - LTU - 440 - CTRY_LITHUANIA - 370 - verLithuania - 41 - LUXEMBOURG - LU - LUX - 442 - CTRY_LUXEMBOURG - 352 - verFrBelgiumLux - 6 - MACAU - MO - MAC - 446 - CTRY_MACAU - 853 - - - MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF - MK - MKD - 807 - CTRY_MACEDONIA - 389 - verMacedonian - - MADAGASCAR - MG - MDG - 450 - - - - - MALAWI - MW - MWI - 454 - - - - - MALAYSIA - MY - MYS - 458 - CTRY_MALAYSIA - 60 - - - MALDIVES - MV - MDV - 462 - CTRY_MALDIVES - 960 - - - MALI - ML - MLI - 466 - - - - - MALTA - MT - MLT - 470 - - - verMalta - 22 - MARSHALL ISLANDS - MH - MHL - 584 - - - - - MARTINIQUE - MQ - MTQ - 474 - - - - - MAURITANIA - MR - MRT - 478 - - - - - MAURITIUS - MU - MUS - 480 - - - - - MAYOTTE - YT - MYT - 175 - - - - - MEXICO - MX - MEX - 484 - CTRY_MEXICO - 52 - - - MICRONESIA, FEDERATED STATES OF - FM - FSM - 583 - - - - - MOLDOVA, REPUBLIC OF - MD - MDA - 498 - - - - - MONACO - MC - MCO - 492 - CTRY_MONACO - 33 - - - MONGOLIA - MN - MNG - 496 - CTRY_MONGOLIA - 976 - - - MONTSERRAT - MS - MSR - 500 - - - - - MOROCCO - MA - MAR - 504 - CTRY_MOROCCO - 212 - verArabic - 16 - MOZAMBIQUE - MZ - MOZ - 508 - - - - - MYANMAR - MM - MMR - 104 - - - - - NAMIBIA - NA - NAM - 516 - - - - - NAURU - NR - NRU - 520 - - - - - NEPAL - NP - NPL - 524 - - - verNepal - 106 - NETHERLANDS - NL - NLD - 528 - CTRY_NETHERLANDS - 31 - verNetherlands - 5 - NETHERLANDS ANTILLES - AN - ANT - 530 - - - - - NEW CALEDONIA - NC - NCL - 540 - - - - - NEW ZEALAND - NZ - NZL - 554 - CTRY_NEW_ZEALAND - 64 - - - NICARAGUA - NI - NIC - 558 - CTRY_NICARAGUA - 505 - - - NIGER - NE - NER - 562 - - - - - NIGERIA - NG - NGA - 566 - - - - - NIUE - NU - NIU - 570 - - - - - NORFOLK ISLAND - NF - NFK - 574 - - - - - NORTHERN MARIANA ISLANDS - MP - MNP - 580 - - - - - NORWAY - NO - NOR - 578 - CTRY_NORWAY - 47 - verNorway - 12 - OMAN - OM - OMN - 512 - CTRY_OMAN - 968 - - - PAKISTAN - PK - PAK - 586 - CTRY_PAKISTAN - 92 - verPakistanUrdu, verPunjabi - 34 (U), 95 (P) - PALAU - PW - PLW - 585 - - - - - PANAMA - PA - PAN - 591 - CTRY_PANAMA - 507 - - - PALESTINIAN TERRITORY, OCCUPIED - PS - - - - - - - PAPUA NEW GUINEA - PG - PNG - 598 - - - - - PARAGUAY - PY - PRY - 600 - CTRY_PARAGUAY - 595 - - - PERU - PE - PER - 604 - CTRY_PERU - 51 - - - PHILIPPINES - PH - PHL - 608 - CTRY_PHILIPPINES - 63 - - - PITCAIRN - PN - PCN - 612 - - - - - POLAND - PL - POL - 616 - CTRY_POLAND - 48 - verPoland - 42 - PORTUGAL - PT - PRT - 620 - CTRY_PORTUGAL - 351 - verPortugal - 10 - PUERTO RICO - PR - PRI - 630 - CTRY_PUERTO_RICO - 1 - - - QATAR - QA - QAT - 634 - CTRY_QATAR - 974 - - - REUNION - RE - REU - 638 - - - - - ROMANIA - RO - ROU* - 642 - CTRY_ROMANIA - 40 - verRomania - 39 - RUSSIAN FEDERATION - RU - RUS - 643 - CTRY_RUSSIA - 7 - verRussia - 49 - RWANDA - RW - RWA - 646 - - - - - SAINT KITTS AND NEVIS - KN - KNA - 659 - - - - - SAINT LUCIA - LC - LCA - 662 - - - - - SAINT VINCENT AND THE GRENADINES - VC - VCT - 670 - - - - - SAMOA - WS - WSM - 882 - - - - - SAN MARINO - SM - SMR - 674 - - - - - SAO TOME AND PRINCIPE - ST - STP - 678 - - - - - SAUDI ARABIA - SA - SAU - 682 - CTRY_SAUDI_ARABIA - 966 - verArabic - 16 - SENEGAL - SN - SEN - 686 - - - - - SERBIA AND MONTENEGRO - CS - - - CTRY_SERBIA - 381 - - - SEYCHELLES - SC - SYC - 690 - - - - - SIERRA LEONE - SL - SLE - 694 - - - - - SINGAPORE - SG - SGP - 702 - CTRY_SINGAPORE - 65 - verSingapore - 100 - SLOVAKIA (Slovak Republic) - SK - SVK - 703 - CTRY_SLOVAK - 421 - verSlovak - 57 - SLOVENIA - SI - SVN - 705 - CTRY_SLOVENIA - 386 - verSlovenian - 66 - SOLOMON ISLANDS - SB - SLB - 90 - - - - - SOMALIA - SO - SOM - 706 - - - - - SOUTH AFRICA - ZA - ZAF - 710 - CTRY_SOUTH_AFRICA - 27 - - - SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS - GS - - - - - - - SPAIN - ES - ESP - 724 - CTRY_SPAIN - 34 - verSpain - 8 - SRI LANKA - LK - LKA - 144 - - - - - SAINT HELENA - SH - SHN - 654 - - - - - SAINT PIERRE AND MIQUELON - PM - SPM - 666 - - - - - SUDAN - SD - SDN - 736 - - - - - SURINAME - SR - SUR - 740 - - - - - SVALBARD AND JAN MAYEN ISLANDS - SJ - SJM - 744 - - - - - SWAZILAND - SZ - SWZ - 748 - - - - - SWEDEN - SE - SWE - 752 - CTRY_SWEDEN - 46 - verSweden - 7 - SWITZERLAND - CH - CHE - 756 - CTRY_SWITZERLAND - 41 - verFrSwiss(fr), verGrSwiss(de) - 18(fr), 19(de) - SYRIAN ARAB REPUBLIC - SY - SYR - 760 - CTRY_SYRIA - 963 - - - TAIWAN, PROVINCE OF CHINA - TW - TWN - 158 - CTRY_TAIWAN - 886 - verTaiwan - 53 - TAJIKISTAN - TJ - TJK - 762 - - - - - TANZANIA, UNITED REPUBLIC OF - TZ - TZA - 834 - - - - - TATARSTAN - - - - CTRY_TATARSTAN - 7 - - - THAILAND - TH - THA - 764 - CTRY_THAILAND - 66 - verThailand - 54 - TIMOR-LESTE - TL - - - - - - - TOGO - TG - TGO - 768 - - - - - TOKELAU - TK - TKL - 772 - - - - - TONGA - TO - TON - 776 - - - verTonga - 88 - TRINIDAD AND TOBAGO - TT - TTO - 780 - CTRY_TRINIDAD_Y_TOBAGO - 1 - - - TUNISIA - TN - TUN - 788 - CTRY_TUNISIA - 216 - verArabic - 16 - TURKEY - TR - TUR - 792 - CTRY_TURKEY - 90 - verTurkey - 24 - TURKMENISTAN - TM - TKM - 795 - - - - - TURKS AND CAICOS ISLANDS - TC - TCA - 796 - - - - - TUVALU - TV - TUV - 798 - - - - - UGANDA - UG - UGA - 800 - - - - - UKRAINE - UA - UKR - 804 - CTRY_UKRAINE - 380 - verUkraine - 62 - UNITED ARAB EMIRATES - AE - ARE - 784 - CTRY_UAE - 971 - - - UNITED KINGDOM - GB - GBR - 826 - CTRY_UNITED_KINGDOM - 44 - verBritain - 2 - UNITED STATES - US - USA - 840 - CTRY_UNITED_STATES - 1 - verUS - 0 - UNITED STATES MINOR OUTLYING ISLANDS - UM - UMI - 581 - - - - - URUGUAY - UY - URY - 858 - CTRY_URUGUAY - 598 - - - UZBEKISTAN - UZ - UZB - 860 - CTRY_UZBEKISTAN - 7 - - - VANUATU - VU - VUT - 548 - - - - - VATICAN CITY STATE (HOLY SEE) - VA - VAT - 336 - - - - - VENEZUELA - VE - VEN - 862 - CTRY_VENEZUELA - 58 - - - VIET NAM - VN - VNM - 704 - CTRY_VIET_NAM - 84 - verVietnam - - VIRGIN ISLANDS (BRITISH) - VG - VGB - 92 - - - - - VIRGIN ISLANDS (U.S.) - VI - VIR - 850 - - - - - WALLIS AND FUTUNA ISLANDS - WF - WLF - 876 - - - - - WESTERN SAHARA - EH - ESH - 732 - - - - - YEMEN - YE - YEM - 887 - CTRY_YEMEN - 967 - - - YUGOSLAVIA - YU - YUG - 891 - - - - - ZAIRE - ZR - ZAR - 180 - - - - - ZAMBIA - ZM - ZMB - 894 - - - - - ZIMBABWE - ZW - ZWE - 716 - CTRY_ZIMBABWE - 263 - - - '! Item was removed: - ----- Method: ISOLanguageDefinition class>>iso3Countries (in category 'private') ----- - iso3Countries - "ISOLanguageDefinition iso3Countries" - "ISO2Countries := nil. ISO3Countries := nil" - - ISO3Countries ifNil: [self initISOCountries]. - ^ISO3Countries! Item was removed: - ----- Method: ISOLanguageDefinition class>>iso3LanguageDefinition: (in category 'accessing') ----- - iso3LanguageDefinition: aString - ^self iso3LanguageTable at: aString! Item was removed: - ----- Method: ISOLanguageDefinition class>>iso3LanguageTable (in category 'private') ----- - iso3LanguageTable - "ISOLanguageDefinition iso3LanguageTable" - - ^ISO3Table ifNil: [ISO3Table := self initISO3LanguageTable]! Item was removed: - ----- Method: ISOLanguageDefinition class>>isoLanguages (in category 'private') ----- - isoLanguages - "ISO 639: 3-letter codes" - ^'abk ab Abkhazian - ace Achinese - ach Acoli - ada Adangme - aar aa Afar - afh Afrihili - afr af Afrikaans - afa Afro-Asiatic (Other) - aka Akan - akk Akkadian - alb/sqi sq Albanian - ale Aleut - alg Algonquian languages - tut Altaic (Other) - amh am Amharic - apa Apache languages - ara ar Arabic - arc Aramaic - arp Arapaho - arn Araucanian - arw Arawak - arm/hye hy Armenian - art Artificial (Other) - asm as Assamese - ath Athapascan languages - map Austronesian (Other) - ava Avaric - ave Avestan - awa Awadhi - aym ay Aymara - aze az Azerbaijani - nah Aztec - ban Balinese - bat Baltic (Other) - bal Baluchi - bam Bambara - bai Bamileke languages - bad Banda - bnt Bantu (Other) - bas Basa - bak ba Bashkir - baq/eus eu Basque - bej Beja - bem Bemba - ben bn Bengali - ber Berber (Other) - bho Bhojpuri - bih bh Bihari - bik Bikol - bin Bini - bis bi Bislama - bra Braj - bre be Breton - bug Buginese - bul bg Bulgarian - bua Buriat - bur/mya my Burmese - bel be Byelorussian - cad Caddo - car Carib - cat ca Catalan - cau Caucasian (Other) - ceb Cebuano - cel Celtic (Other) - cai Central American Indian (Other) - chg Chagatai - cha Chamorro - che Chechen - chr Cherokee - chy Cheyenne - chb Chibcha - chi/zho zh Chinese - chn Chinook jargon - cho Choctaw - chu Church Slavic - chv Chuvash - cop Coptic - cor Cornish - cos co Corsican - cre Cree - mus Creek - crp Creoles and Pidgins (Other) - cpe Creoles and Pidgins, English-based (Other) - cpf Creoles and Pidgins, French-based (Other) - cpp Creoles and Pidgins, Portuguese-based (Other) - cus Cushitic (Other) - hr Croatian - ces/cze cs Czech - dak Dakota - dan da Danish - del Delaware - din Dinka - div Divehi - doi Dogri - dra Dravidian (Other) - dua Duala - dut/nla nl Dutch - dum Dutch, Middle (ca. 1050-1350) - dyu Dyula - dzo dz Dzongkha - efi Efik - egy Egyptian (Ancient) - eka Ekajuk - elx Elamite - eng en English - enm English, Middle (ca. 1100-1500) - ang English, Old (ca. 450-1100) - esk Eskimo (Other) - epo eo Esperanto - est et Estonian - ewe Ewe - ewo Ewondo - fan Fang - fat Fanti - fao fo Faroese - fij fj Fijian - fin fi Finnish - fiu Finno-Ugrian (Other) - fon Fon - fra/fre fr French - frm French, Middle (ca. 1400-1600) - fro French, Old (842- ca. 1400) - fry fy Frisian - ful Fulah - gaa Ga - gae/gdh Gaelic (Scots) - glg gl Gallegan - lug Ganda - gay Gayo - gez Geez - geo/kat ka Georgian - deu/ger de German - gmh German, Middle High (ca. 1050-1500) - goh German, Old High (ca. 750-1050) - gem Germanic (Other) - gil Gilbertese - gon Gondi - got Gothic - grb Grebo - grc Greek, Ancient (to 1453) - ell/gre el Greek, Modern (1453-) - kal kl Greenlandic - grn gn Guarani - guj gu Gujarati - hai Haida - hau ha Hausa - haw Hawaiian - heb he Hebrew - her Herero - hil Hiligaynon - him Himachali - hin hi Hindi - hmo Hiri Motu - hun hu Hungarian - hup Hupa - iba Iban - ice/isl is Icelandic - ibo Igbo - ijo Ijo - ilo Iloko - inc Indic (Other) - ine Indo-European (Other) - ind id Indonesian - ina ia Interlingua (International Auxiliary language Association) - ine Interlingue - iku iu Inuktitut - ipk ik Inupiak - ira Iranian (Other) - gai/iri ga Irish - sga Irish, Old (to 900) - mga Irish, Middle (900 - 1200) - iro Iroquoian languages - ita it Italian - jpn ja Japanese - jav/jaw jv/jw Javanese - jrb Judeo-Arabic - jpr Judeo-Persian - kab Kabyle - kac Kachin - kam Kamba - kan kn Kannada - kau Kanuri - kaa Kara-Kalpak - kar Karen - kas ks Kashmiri - kaw Kawi - kaz kk Kazakh - kha Khasi - khm km Khmer - khi Khoisan (Other) - kho Khotanese - kik Kikuyu - kin rw Kinyarwanda - kir ky Kirghiz - kom Komi - kon Kongo - kok Konkani - kor ko Korean - kpe Kpelle - kro Kru - kua Kuanyama - kum Kumyk - kur ku Kurdish - kru Kurukh - kus Kusaie - kut Kutenai - lad Ladino - lah Lahnda - lam Lamba - oci oc Langue d''Oc (post 1500) - lao lo Lao - lat la Latin - lav lv Latvian - ltz Letzeburgesch - lez Lezghian - lin ln Lingala - lit lt Lithuanian - loz Lozi - lub Luba-Katanga - lui Luiseno - lun Lunda - luo Luo (Kenya and Tanzania) - mac/mak mk Macedonian - mad Madurese - mag Magahi - mai Maithili - mak Makasar - mlg mg Malagasy - may/msa ms Malay - mal Malayalam - mlt ml Maltese - man Mandingo - mni Manipuri - mno Manobo languages - max Manx - mao/mri mi Maori - mar mr Marathi - chm Mari - mah Marshall - mwr Marwari - mas Masai - myn Mayan languages - men Mende - mic Micmac - min Minangkabau - mis Miscellaneous (Other) - moh Mohawk - mol mo Moldavian - mkh Mon-Kmer (Other) - lol Mongo - mon mn Mongolian - mos Mossi - mul Multiple languages - mun Munda languages - nau na Nauru - nav Navajo - nde Ndebele, North - nbl Ndebele, South - ndo Ndongo - nep ne Nepali - new Newari - nic Niger-Kordofanian (Other) - ssa Nilo-Saharan (Other) - niu Niuean - non Norse, Old - nai North American Indian (Other) - nor no Norwegian - nno Norwegian (Nynorsk) - nub Nubian languages - nym Nyamwezi - nya Nyanja - nyn Nyankole - nyo Nyoro - nzi Nzima - oji Ojibwa - ori or Oriya - orm om Oromo - osa Osage - oss Ossetic - oto Otomian languages - pal Pahlavi - pau Palauan - pli Pali - pam Pampanga - pag Pangasinan - pan pa Panjabi - pap Papiamento - paa Papuan-Australian (Other) - fas/per fa Persian - peo Persian, Old (ca 600 - 400 B.C.) - phn Phoenician - pol pl Polish - pon Ponape - por pt Portuguese - pra Prakrit languages - pro Provencal, Old (to 1500) - pus ps Pushto - que qu Quechua - roh rm Rhaeto-Romance - raj Rajasthani - rar Rarotongan - roa Romance (Other) - ron/rum ro Romanian - rom Romany - run rn Rundi - rus ru Russian - sal Salishan languages - sam Samaritan Aramaic - smi Sami languages - smo sm Samoan - sad Sandawe - sag sg Sango - san sa Sanskrit - srd Sardinian - sco Scots - sel Selkup - sem Semitic (Other) - sr Serbian - scr sh Serbo-Croatian - srr Serer - shn Shan - sna sn Shona - sid Sidamo - bla Siksika - snd sd Sindhi - sin si Singhalese - sit Sino-Tibetan (Other) - sio Siouan languages - sla Slavic (Other) - ssw ss Siswant - slk/slo sk Slovak - slv sl Slovenian - sog Sogdian - som so Somali - son Songhai - wen Sorbian languages - nso Sotho, Northern - sot st Sotho, Southern - sai South American Indian (Other) - esl/spa es Spanish - suk Sukuma - sux Sumerian - sun su Sudanese - sus Susu - swa sw Swahili - ssw Swazi - sve/swe sv Swedish - syr Syriac - tgl tl Tagalog - tah Tahitian - tgk tg Tajik - tmh Tamashek - tam ta Tamil - tat tt Tatar - tel te Telugu - ter Tereno - tha th Thai - bod/tib bo Tibetan - tig Tigre - tir ti Tigrinya - tem Timne - tiv Tivi - tli Tlingit - tog to Tonga (Nyasa) - ton Tonga (Tonga Islands) - tru Truk - tsi Tsimshian - tso ts Tsonga - tsn tn Tswana - tum Tumbuka - tur tr Turkish - ota Turkish, Ottoman (1500 - 1928) - tuk tk Turkmen - tyv Tuvinian - twi tw Twi - uga Ugaritic - uig ug Uighur - ukr uk Ukrainian - umb Umbundu - und Undetermined - urd ur Urdu - uzb uz Uzbek - vai Vai - ven Venda - vie vi Vietnamese - vol vo Volapük - vot Votic - wak Wakashan languages - wal Walamo - war Waray - was Washo - cym/wel cy Welsh - wol wo Wolof - xho xh Xhosa - sah Yakut - yao Yao - yap Yap - yid yi Yiddish - yor yo Yoruba - zap Zapotec - zen Zenaga - zha za Zhuang - zul zu Zulu - zun Zuni'! Item was removed: - ----- Method: ISOLanguageDefinition class>>readISOLanguagesFrom: (in category 'private') ----- - readISOLanguagesFrom: stream - "ISOLanguageDefinition readISOLanguagesFrom: ISOLanguageDefinition isoLanguages readStream " - | languages language code3 index line | - languages := Dictionary new. - [stream atEnd - or: [(line := stream nextLine readStream) atEnd]] - whileFalse: [ - language := ISOLanguageDefinition new. - code3 := line upTo: Character tab. - (index := code3 indexOf: $/) > 0 - ifTrue: [ - language iso3: (code3 copyFrom: 1 to: index-1). - language iso3Alternate: (code3 copyFrom: index+1 to: code3 size)] - ifFalse: [language iso3: code3]. - language - iso2: (line upTo: Character tab); - language: line upToEnd. - languages at: language iso3 put: language]. - ^languages! Item was removed: - ----- Method: ISOLanguageDefinition>>iso2 (in category 'accessing') ----- - iso2 - ^iso2 ifNil: [self iso3]! Item was removed: - ----- Method: ISOLanguageDefinition>>iso2: (in category 'initialize') ----- - iso2: aString - iso2 := aString ifEmpty: [nil] ifNotEmpty: [aString]! Item was removed: - ----- Method: ISOLanguageDefinition>>iso3 (in category 'accessing') ----- - iso3 - ^iso3 ifNil: ['']! Item was removed: - ----- Method: ISOLanguageDefinition>>iso3: (in category 'initialize') ----- - iso3: aString - iso3 := aString ifEmpty: [nil] ifNotEmpty: [aString]! Item was removed: - ----- Method: ISOLanguageDefinition>>iso3Alternate (in category 'accessing') ----- - iso3Alternate - ^iso3Alternate ifNil: ['']! Item was removed: - ----- Method: ISOLanguageDefinition>>iso3Alternate: (in category 'initialize') ----- - iso3Alternate: aString - iso3Alternate := aString ifEmpty: [nil] ifNotEmpty: [aString]! Item was removed: - ----- Method: ISOLanguageDefinition>>language (in category 'accessing') ----- - language - ^language! Item was removed: - ----- Method: ISOLanguageDefinition>>language: (in category 'initialize') ----- - language: aString - language := aString! Item was removed: - Object subclass: #Locale - instanceVariableNames: 'id shortDate longDate time decimalSymbol digitGrouping currencySymbol currencyNotation measurement offsetLocalToUTC offsetVMToUTC dstActive' - classVariableNames: 'Current CurrentPlatform KnownLocales LanguageSymbols LocaleChangeListeners PlatformEncodings' - poolDictionaries: '' - category: 'System-Localization'! - - !Locale commentStamp: '<historical>' prior: 0! - Main comment stating the purpose of this class and relevant relationship to other classes. - - - - http://www.w3.org/WAI/ER/IG/ert/iso639.htm - http://www.oasis-open.org/cover/iso639a.html - See also - http://oss.software.ibm.com/cvs/icu/~checkout~/icuhtml/design/language_code_issues.html - http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.10 - - ISO 3166 - http://mitglied.lycos.de/buran/knowhow/codes/locales/ - ! Item was removed: - ----- Method: Locale class>>addLocalChangedListener: (in category 'notification') ----- - addLocalChangedListener: anObjectOrClass - self localeChangedListeners add: anObjectOrClass! Item was removed: - ----- Method: Locale class>>clipboadInterpreter (in category 'accessing') ----- - clipboadInterpreter - ^NoConversionClipboardInterpreter new! Item was removed: - ----- Method: Locale class>>current (in category 'accessing') ----- - current - "Current := nil" - Current ifNil: [ - Current := self determineCurrentLocale. - "Transcript show: 'Current locale: ' , Current localeID asString; cr"]. - ^Current! Item was removed: - ----- Method: Locale class>>currentPlatform (in category 'accessing') ----- - currentPlatform - "CurrentPlatform := nil" - CurrentPlatform ifNil: [CurrentPlatform := self determineCurrentLocale]. - ^CurrentPlatform! Item was removed: - ----- Method: Locale class>>currentPlatform: (in category 'accessing') ----- - currentPlatform: locale - CurrentPlatform := locale. - LanguageEnvironment startUp. - ! Item was removed: - ----- Method: Locale class>>currentPlatform:during: (in category 'accessing') ----- - currentPlatform: locale during: aBlock - "Alter current language platform during a block" - | backupPlatform | - backupPlatform := self currentPlatform. - [self currentPlatform: locale. - aBlock value] - ensure: [self currentPlatform: backupPlatform]! Item was removed: - ----- Method: Locale class>>defaultEncodingName: (in category 'platform specific') ----- - defaultEncodingName: languageSymbol - | encodings platformName osVersion | - platformName := SmalltalkImage current platformName. - osVersion := SmalltalkImage current osVersion. - encodings := self platformEncodings at: languageSymbol - ifAbsent: [self platformEncodings at: #default]. - encodings at: platformName ifPresent: [:encoding | ^encoding]. - encodings at: platformName , ' ' , osVersion - ifPresent: [:encoding | ^encoding]. - ^encodings at: #default! Item was removed: - ----- Method: Locale class>>defaultInputInterpreter (in category 'platform specific') ----- - defaultInputInterpreter - | platformName osVersion | - platformName := SmalltalkImage current platformName. - osVersion := SmalltalkImage current osVersion. - (platformName = 'Win32' and: [osVersion = 'CE']) - ifTrue: [^NoInputInterpreter new]. - platformName = 'Win32' ifTrue: [^MacRomanInputInterpreter new]. - ^NoInputInterpreter new! Item was removed: - ----- Method: Locale class>>determineCurrentLocale (in category 'private') ----- - determineCurrentLocale - "For now just return the default locale. - A smarter way would be to determine the current platforms default locale." - "Locale determineCurrentLocale" - - ^self new determineLocale! Item was removed: - ----- Method: Locale class>>initKnownLocales (in category 'private') ----- - initKnownLocales - | locales | - locales := Dictionary new. - - "Init the locales for which we have translations" - NaturalLanguageTranslator availableLanguageLocaleIDs do: [:id | - locales at: id put: (Locale new localeID: id)]. - ^locales! Item was removed: - ----- Method: Locale class>>initialize (in category 'class initialization') ----- - initialize - "Locale initialize" - - Smalltalk addToStartUpList: Locale. - Preferences addPreference: #useLocale - categories: #('general') default: false - balloonHelp: 'Use the system locale to set the system language etc at startup'.! Item was removed: - ----- Method: Locale class>>initializePlatformEncodings (in category 'class initialization') ----- - initializePlatformEncodings - "Locale initializePlatformEncodings" - - | platform | - PlatformEncodings ifNil: [ PlatformEncodings := Dictionary new ]. - - platform := PlatformEncodings at: 'default' ifAbsentPut: Dictionary new. - platform - at: 'default' put: 'iso8859-1'; - at: 'Win32 CE' put: 'utf-8'. - - platform := PlatformEncodings at: 'ja' ifAbsentPut: Dictionary new. - platform - at: 'default' put: 'shift-jis'; - at: 'unix' put: 'euc-jp'; - at: 'Win32 CE' put: 'utf-8'. - - platform := PlatformEncodings at: 'ko' ifAbsentPut: Dictionary new. - platform - at: 'default' put: 'euc-kr'; - at: 'Win32 CE' put: 'utf-8'. - - platform := PlatformEncodings at: 'zh' ifAbsentPut: Dictionary new. - platform - at: 'default' put: 'gb2312'; - at: 'unix' put: 'euc-cn'; - at: 'Win32 CE' put: 'utf-8'! Item was removed: - ----- Method: Locale class>>isoLanguage: (in category 'accessing') ----- - isoLanguage: isoLanguage - ^self isoLanguage: isoLanguage isoCountry: nil! Item was removed: - ----- Method: Locale class>>isoLanguage:isoCountry: (in category 'accessing') ----- - isoLanguage: isoLanguage isoCountry: isoCountry - ^self localeID: (LocaleID isoLanguage: isoLanguage isoCountry: isoCountry)! Item was removed: - ----- Method: Locale class>>isoLocale: (in category 'accessing') ----- - isoLocale: aString - ! Item was removed: - ----- Method: Locale class>>knownLocales (in category 'private') ----- - knownLocales - "KnownLocales := nil" - ^KnownLocales ifNil: [KnownLocales := self initKnownLocales]! Item was removed: - ----- Method: Locale class>>languageSymbol: (in category 'accessing') ----- - languageSymbol: languageSymbol - "Locale languageSymbol: #Deutsch" - - ^self isoLanguage: (LanguageSymbols at: languageSymbol)! Item was removed: - ----- Method: Locale class>>localeChanged (in category 'notification') ----- - localeChanged - #(#ParagraphEditor #BitEditor #FormEditor #StandardSystemController ) - do: [:key | Smalltalk - at: key - ifPresent: [:class | class initialize]]. - StrikeFont localeChanged. - PartsBin localeChanged. - Project localeChanged. - PaintBoxMorph localeChanged. - ColorPickerMorph localeChanged. - Preferences localeChanged! Item was removed: - ----- Method: Locale class>>localeChangedListeners (in category 'notification') ----- - localeChangedListeners - ^LocaleChangeListeners ifNil: [LocaleChangeListeners := OrderedCollection new]! Item was removed: - ----- Method: Locale class>>localeID: (in category 'accessing') ----- - localeID: id - ^self knownLocales at: id ifAbsentPut: [Locale new localeID: id]! Item was removed: - ----- Method: Locale class>>platformEncodings (in category 'class initialization') ----- - platformEncodings - PlatformEncodings isEmptyOrNil ifTrue: [ self initializePlatformEncodings ]. - ^PlatformEncodings - ! Item was removed: - ----- Method: Locale class>>resetKnownLocales (in category 'private') ----- - resetKnownLocales - - KnownLocales := nil - ! Item was removed: - ----- Method: Locale class>>startUp: (in category 'system startUp') ----- - startUp: resuming - | newID | - resuming ifFalse: [^self]. - DateAndTime localTimeZone: (TimeZone - offset: (Duration minutes: self current offsetLocalToUTC) - name: 'Local Time' - abbreviation: 'LT'). - (Preferences valueOfFlag: #useLocale) - ifTrue: [ - newID := self current determineLocaleID. - newID ~= LocaleID current - ifTrue: [self switchToID: newID]]! Item was removed: - ----- Method: Locale class>>stringForLanguageNameIs: (in category 'accessing') ----- - stringForLanguageNameIs: localeID - "Answer a string for a menu determining whether the given - symbol is the project's natural language" - ^ (self current localeID = localeID - ifTrue: ['<yes>'] - ifFalse: ['<no>']) - , localeID displayName! Item was removed: - ----- Method: Locale class>>switchAndInstallFontToID: (in category 'accessing') ----- - switchAndInstallFontToID: localeID - "Locale switchAndInstallFontToID: (LocaleID isoLanguage: 'de')" - | locale | - locale := Locale localeID: localeID. - locale languageEnvironment isFontAvailable - ifFalse: [(self confirm: 'This language needs additional fonts. - Do you want to install the fonts?' translated) - ifTrue: [locale languageEnvironment installFont] - ifFalse: [^ self]]. - self - switchTo: locale! Item was removed: - ----- Method: Locale class>>switchTo: (in category 'accessing') ----- - switchTo: locale - "Locale switchTo: Locale isoLanguage: 'de'" - Current localeID = locale localeID - ifFalse: [Current := locale. - CurrentPlatform := locale. - self localeChanged]! Item was removed: - ----- Method: Locale class>>switchToID: (in category 'accessing') ----- - switchToID: localeID - "Locale switchToID: (LocaleID isoLanguage: 'de') " - - self switchTo: (Locale localeID: localeID)! Item was removed: - ----- Method: Locale>>determineLocale (in category 'accessing') ----- - determineLocale - self localeID: self determineLocaleID! Item was removed: - ----- Method: Locale>>determineLocaleID (in category 'accessing') ----- - determineLocaleID - "Locale current determineLocaleID" - | langCode isoLang countryCode isoCountry | - langCode := self fetchISO2Language. - isoLang := langCode - ifNil: [^self localeID] - ifNotNil: [langCode]. - countryCode := self primCountry. - isoCountry := countryCode - ifNil: [^LocaleID isoLanguage: isoLang] - ifNotNil: [countryCode]. - ^LocaleID isoLanguage: isoLang isoCountry: isoCountry! Item was removed: - ----- Method: Locale>>fetchISO2Language (in category 'private') ----- - fetchISO2Language - "Locale current fetchISO2Language" - | lang isoLang | - lang := self primLanguage. - lang ifNil: [^nil]. - lang := lang copyUpTo: 0 asCharacter. - lang size = 2 - ifTrue: [^lang]. - isoLang := ISOLanguageDefinition iso3LanguageDefinition: lang. - ^isoLang - ifNil: [nil] - ifNotNil: [isoLang iso2]! Item was removed: - ----- Method: Locale>>isoCountry (in category 'accessing') ----- - isoCountry - ^self localeID isoCountry! Item was removed: - ----- Method: Locale>>isoLanguage (in category 'accessing') ----- - isoLanguage - ^self localeID isoLanguage! Item was removed: - ----- Method: Locale>>isoLocale (in category 'accessing') ----- - isoLocale - "<language>-<country>" - ^self isoCountry - ifNil: [self isoLanguage] - ifNotNil: [self isoLanguage , '-' , self isoCountry]! Item was removed: - ----- Method: Locale>>languageEnvironment (in category 'accessing') ----- - languageEnvironment - ^LanguageEnvironment localeID: self localeID! Item was removed: - ----- Method: Locale>>localeID (in category 'accessing') ----- - localeID - ^id! Item was removed: - ----- Method: Locale>>localeID: (in category 'accessing') ----- - localeID: anID - id := anID! Item was removed: - ----- Method: Locale>>offsetLocalToUTC (in category 'accessing') ----- - offsetLocalToUTC - ^self primTimezone! Item was removed: - ----- Method: Locale>>primCountry (in category 'system primitives') ----- - primCountry - "Returns string with country tag according to ISO 639" - <primitive: 'primitiveCountry' module: 'LocalePlugin'> - ^'US'! Item was removed: - ----- Method: Locale>>primCurrencyNotation (in category 'system primitives') ----- - primCurrencyNotation - "Returns boolean if symbol is pre- (true) or post-fix (false)" - <primitive: 'primitiveCurrencyNotation' module: 'LocalePlugin'> - ^true! Item was removed: - ----- Method: Locale>>primCurrencySymbol (in category 'system primitives') ----- - primCurrencySymbol - "Returns string with currency symbol" - <primitive: 'primitiveCurrencySymbol' module:'LocalePlugin'> - ^'$'! Item was removed: - ----- Method: Locale>>primDST (in category 'system primitives') ----- - primDST - "Returns boolean if DST (daylight saving time) is active or not" - <primitive:'primitiveDaylightSavings' module: 'LocalePlugin'> - ^false! Item was removed: - ----- Method: Locale>>primDecimalSymbol (in category 'system primitives') ----- - primDecimalSymbol - "Returns string with e.g. '.' or ','" - <primitive:'primitiveDecimalSymbol' module: 'LocalePlugin'> - ^'.'! Item was removed: - ----- Method: Locale>>primDigitGrouping (in category 'system primitives') ----- - primDigitGrouping - "Returns string with e.g. '.' or ',' (thousands etc)" - <primitive:'primitiveDigitGroupingSymbol' module: 'LocalePlugin'> - ^','! Item was removed: - ----- Method: Locale>>primLanguage (in category 'system primitives') ----- - primLanguage - "returns string with language tag according to ISO 639" - <primitive:'primitiveLanguage' module: 'LocalePlugin'> - ^'en' - - ! Item was removed: - ----- Method: Locale>>primLongDateFormat (in category 'system primitives') ----- - primLongDateFormat - "Returns the long date format - d day, m month, y year, - double symbol is null padded, single not padded (m=6, mm=06) - dddd weekday - mmmm month name" - <primitive:'primitiveLongDateFormat' module: 'LocalePlugin'> - ^'dddd, mmmm d, yyyy'! Item was removed: - ----- Method: Locale>>primMeasurement (in category 'system primitives') ----- - primMeasurement - "Returns boolean denoting metric(true) or imperial(false)." - <primitive:'primitiveMeasurementMetric' module: 'LocalePlugin'> - ^true - ! Item was removed: - ----- Method: Locale>>primShortDateFormat (in category 'system primitives') ----- - primShortDateFormat - "Returns the short date format - d day, m month, y year, - double symbol is null padded, single not padded (m=6, mm=06) - dddd weekday - mmmm month name" - <primitive:'primitiveShortDateFormat' module: 'LocalePlugin'> - ^'m/d/yy'! Item was removed: - ----- Method: Locale>>primTimeFormat (in category 'system primitives') ----- - primTimeFormat - "Returns string time format - Format is made up of - h hour (h 12, H 24), m minute, s seconds, x (am/pm String) - double symbol is null padded, single not padded (h=6, hh=06)" - <primitive:'primitiveTimeFormat' module: 'LocalePlugin'> - ^'h:mmx'! Item was removed: - ----- Method: Locale>>primTimezone (in category 'system primitives') ----- - primTimezone - "The offset from UTC in minutes, with positive offsets being towards the east. - (San Francisco is in UTC -07*60 and Paris is in UTC +02*60 when daylight savings is in effect)." - <primitive:'primitiveTimezoneOffset' module: 'LocalePlugin'> - ^0! Item was removed: - ----- Method: Locale>>primVMOffsetToUTC (in category 'system primitives') ----- - primVMOffsetToUTC - "Returns the offset in minutes between the VM and UTC. - If the VM does not support UTC times, this is 0. - Also gives us backward compatibility with old VMs as the primitive will fail and we then can return 0." - <primitive:'primitiveVMOffsetToUTC' module: 'LocalePlugin'> - ^0! Item was removed: - ----- Method: Locale>>printOn: (in category 'accessing') ----- - printOn: aStream - super printOn: aStream. - aStream nextPutAll: '(' , id printString , ')'! Item was removed: - Object subclass: #LocaleID - instanceVariableNames: 'isoLanguage isoCountry' - classVariableNames: '' - poolDictionaries: '' - category: 'System-Localization'! Item was removed: - ----- Method: LocaleID class>>current (in category 'accessing') ----- - current - ^Locale current localeID! Item was removed: - ----- Method: LocaleID class>>isoLanguage: (in category 'instance creation') ----- - isoLanguage: langString - ^self isoLanguage: langString isoCountry: nil! Item was removed: - ----- Method: LocaleID class>>isoLanguage:isoCountry: (in category 'instance creation') ----- - isoLanguage: langString isoCountry: countryStringOrNil - ^self new isoLanguage: langString isoCountry: countryStringOrNil! Item was removed: - ----- Method: LocaleID class>>isoString: (in category 'instance creation') ----- - isoString: isoString - "Parse the isoString (<language>-<country>) into its components and return the matching LocaleID" - "LocaleID isoString: 'en' " - "LocaleID isoString: 'en-us' " - - | parts language country | - parts := isoString findTokens: #($- ). - language := parts first. - parts size > 1 - ifTrue: [country := parts second]. - ^self isoLanguage: language isoCountry: country! Item was removed: - ----- Method: LocaleID>>= (in category 'comparing') ----- - = anotherObject - self class == anotherObject class - ifFalse: [^false]. - ^self isoLanguage = anotherObject isoLanguage - and: [self isoCountry = anotherObject isoCountry]! Item was removed: - ----- Method: LocaleID>>displayCountry (in category 'accessing') ----- - displayCountry - ^(ISOLanguageDefinition iso2Countries at: self isoCountry asUppercase ifAbsent: [ self isoCountry ]) ! Item was removed: - ----- Method: LocaleID>>displayLanguage (in category 'accessing') ----- - displayLanguage - | language | - language := (ISOLanguageDefinition iso2LanguageDefinition: self isoLanguage) language. - ^self isoCountry - ifNil: [language] - ifNotNil: [language , ' (' , self displayCountry , ')']! Item was removed: - ----- Method: LocaleID>>displayName (in category 'accessing') ----- - displayName - "Answer a proper name to represent the receiver in GUI. - - The wording is provided by translations of the magic value - '<language display name>'. - - 'English' -> 'English' - 'German' -> 'Deutsch' - " - | magicPhrase translatedMagicPhrase | - magicPhrase := '<language display name>'. - translatedMagicPhrase := magicPhrase translatedTo: self. - ^ translatedMagicPhrase = magicPhrase - ifTrue: [self displayLanguage] - ifFalse: [translatedMagicPhrase]! Item was removed: - ----- Method: LocaleID>>hasParent (in category 'testing') ----- - hasParent - ^self isoCountry notNil! Item was removed: - ----- Method: LocaleID>>hash (in category 'comparing') ----- - hash - ^self isoLanguage hash bitXor: self isoCountry hash! Item was removed: - ----- Method: LocaleID>>isoCountry (in category 'accessing') ----- - isoCountry - ^isoCountry! Item was removed: - ----- Method: LocaleID>>isoLanguage (in category 'accessing') ----- - isoLanguage - ^isoLanguage! Item was removed: - ----- Method: LocaleID>>isoLanguage:isoCountry: (in category 'initialize') ----- - isoLanguage: langString isoCountry: countryStringOrNil - isoLanguage := langString. - isoCountry := countryStringOrNil! Item was removed: - ----- Method: LocaleID>>isoString (in category 'accessing') ----- - isoString - ^self asString! Item was removed: - ----- Method: LocaleID>>parent (in category 'accessing') ----- - parent - ^self class isoLanguage: self isoLanguage! Item was removed: - ----- Method: LocaleID>>printOn: (in category 'printing') ----- - printOn: stream - "<language>-<country>" - stream nextPutAll: self isoLanguage. - self isoCountry - ifNotNil: [stream nextPut: $-; nextPutAll: self isoCountry]! Item was removed: - ----- Method: LocaleID>>storeOn: (in category 'printing') ----- - storeOn: aStream - aStream nextPut: $(. - aStream nextPutAll: self class name. - aStream nextPutAll: ' isoString: '. - aStream nextPutAll: '''' , self printString , ''''. - aStream nextPut: $). - ! Item was removed: - ----- Method: LocaleID>>translator (in category 'accessing') ----- - translator - ^ NaturalLanguageTranslator localeID: self ! Item was removed: - Object subclass: #NaturalLanguageFormTranslator - instanceVariableNames: 'id generics' - classVariableNames: 'CachedTranslations' - poolDictionaries: '' - category: 'System-Localization'! Item was removed: - ----- Method: NaturalLanguageFormTranslator class>>cachedTranslations (in category 'accessing') ----- - cachedTranslations - "CachedTranslations := nil" - ^CachedTranslations ifNil: [CachedTranslations := Dictionary new]! Item was removed: - ----- Method: NaturalLanguageFormTranslator class>>cleanUp (in category 'class initialization') ----- - cleanUp - "Flush caches" - - CachedTranslations := nil! Item was removed: - ----- Method: NaturalLanguageFormTranslator class>>isoLanguage: (in category 'accessing') ----- - isoLanguage: isoLanguage - "Return the generic language translator as there is no information about the country code" - - ^self isoLanguage: isoLanguage isoCountry: nil! Item was removed: - ----- Method: NaturalLanguageFormTranslator class>>isoLanguage:isoCountry: (in category 'accessing') ----- - isoLanguage: isoLanguage isoCountry: isoCountry - ^self localeID: (LocaleID isoLanguage: isoLanguage isoCountry: isoCountry)! Item was removed: - ----- Method: NaturalLanguageFormTranslator class>>loadFormsFrom: (in category 'i/o') ----- - loadFormsFrom: aStream - - | rr pair inst | - rr := ReferenceStream on: aStream. - pair := rr next. - inst := self localeID: (LocaleID isoString: pair first). - pair second associationsDo: [:assoc | - inst name: assoc key form: assoc value. - ]. - ^ inst. - ! Item was removed: - ----- Method: NaturalLanguageFormTranslator class>>localeID: (in category 'accessing') ----- - localeID: localeID - ^ self cachedTranslations - at: localeID - ifAbsentPut: [self new localeID: localeID]! Item was removed: - ----- Method: NaturalLanguageFormTranslator>>generics (in category 'accessing') ----- - generics - ^generics ifNil: [generics := Dictionary new]! Item was removed: - ----- Method: NaturalLanguageFormTranslator>>localeID (in category 'accessing') ----- - localeID - ^id! Item was removed: - ----- Method: NaturalLanguageFormTranslator>>localeID: (in category 'accessing') ----- - localeID: anID - id := anID! Item was removed: - ----- Method: NaturalLanguageFormTranslator>>name:form: (in category 'accessing') ----- - name: formName form: translatedForm - self generics at: formName put: translatedForm. - ! Item was removed: - ----- Method: NaturalLanguageFormTranslator>>saveFormsOn: (in category 'i/o') ----- - saveFormsOn: aStream - - | rr | - rr := ReferenceStream on: aStream. - rr nextPut: {id isoString. generics}. - rr close. - ! Item was removed: - ----- Method: NaturalLanguageFormTranslator>>translate: (in category 'utilities') ----- - translate: aString - - ^ (self generics - at: aString ifAbsent: [nil]) deepCopy. - - "Do you like to write 'form ifNotNil: [form deepCopy]'?" - ! Item was removed: - Object subclass: #NaturalLanguageTranslator - instanceVariableNames: 'id generics contexts' - classVariableNames: 'AllKnownPhrases CachedTranslations' - poolDictionaries: '' - category: 'System-Localization'! Item was removed: - ----- Method: NaturalLanguageTranslator class>>allKnownPhrases (in category 'private') ----- - allKnownPhrases - ^AllKnownPhrases ifNil: [AllKnownPhrases := Dictionary new: 2051]! Item was removed: - ----- Method: NaturalLanguageTranslator class>>availableLanguageLocaleIDs (in category 'accessing') ----- - availableLanguageLocaleIDs - "Return the locale ids for the currently available languages. - Meaning those which either internally or externally have - translations available." - "NaturalLanguageTranslator availableLanguageLocaleIDs" - ^ CachedTranslations values collect:[:each | each localeID]! Item was removed: - ----- Method: NaturalLanguageTranslator class>>cachedTranslations (in category 'private') ----- - cachedTranslations - "CachedTranslations := nil" - ^CachedTranslations ifNil: [CachedTranslations := Dictionary new]! Item was removed: - ----- Method: NaturalLanguageTranslator class>>cleanUp (in category 'class initialization') ----- - cleanUp - "Flush caches" - - CachedTranslations := nil. - AllKnownPhrases := nil.! Item was removed: - ----- Method: NaturalLanguageTranslator class>>cleanUpCache (in category 'private') ----- - cleanUpCache - "NaturalLanguageTranslator cleanUpCache" - - self cachedTranslations keys do: [:key | - key isoLanguage size > 2 ifTrue: [self cachedTranslations removeKey: key]]! Item was removed: - ----- Method: NaturalLanguageTranslator class>>current (in category 'accessing') ----- - current - ^ LocaleID current translator - - ! Item was removed: - ----- Method: NaturalLanguageTranslator class>>default (in category 'accessing') ----- - default - ^self localeID: (LocaleID default) - ! Item was removed: - ----- Method: NaturalLanguageTranslator class>>directoryForLanguage:country:create: (in category 'private loading') ----- - directoryForLanguage: isoLanguage country: isoCountry create: createDir - "Try to locate the <prefs>/locale/<language>{/<country>} folder. - If createDir is set, create the path down to country or language, depending on wether it's specified.. - Return the directory for country or language depending on specification. - If neither exists, nil" - - "NaturalLanguageTranslator directoryForLanguage: 'es' country: nil create: true" - "NaturalLanguageTranslator directoryForLanguage: 'de' country: 'DE' create: true" - "NaturalLanguageTranslator directoryForLanguage: 'en' country: 'US' create: false" - "NaturalLanguageTranslator directoryForLanguage: 'en' country: nil create: true" - - "If this fails, there is nothing we can do about it here" - | localeDir countryDir languageDir | - localeDir := self localeDirCreate: createDir. - localeDir ifNil: [^nil]. - - isoCountry ifNil: [ - languageDir := localeDir directoryNamed: isoLanguage. - createDir - ifTrue: [languageDir assureExistence]. - ^languageDir exists - ifTrue: [languageDir] - ifFalse: [nil]]. - - countryDir := languageDir directoryNamed: isoCountry. - createDir - ifTrue: [countryDir assureExistence]. - - ^countryDir exists - ifTrue: [countryDir] - ifFalse: [nil]! Item was removed: - ----- Method: NaturalLanguageTranslator class>>directoryForLocaleID:create: (in category 'private loading') ----- - directoryForLocaleID: localeID create: createDir - "Try to locate the <prefs>/locale/<language>{/<country>} folder. - If createDir is set, create the path down to country or language, depending on locale. - Return the directory for country or language depending on locale. - If neither exists, nil" - - "NaturalLanguageTranslator directoryForLanguage: 'de' country: nil readOnly: true" - "NaturalLanguageTranslator directoryForLanguage: 'de' country: 'DE' readOnly: true" - "NaturalLanguageTranslator directoryForLanguage: 'en' country: 'US' readOnly: false" - "NaturalLanguageTranslator directoryForLanguage: 'en' country: nil readOnly: true" - - ^self directoryForLanguage: localeID isoLanguage country: localeID isoCountry create: createDir! Item was removed: - ----- Method: NaturalLanguageTranslator class>>fileReaderServicesForFile:suffix: (in category 'file-services') ----- - fileReaderServicesForFile: fullName suffix: suffix - "Answer the file services associated with given file" - ^ (suffix = self translationSuffix) | (suffix = '*') - ifTrue: [{self serviceMergeLanguageTranslations}] - ifFalse: [#()]! Item was removed: - ----- Method: NaturalLanguageTranslator class>>initialize (in category 'class initialization') ----- - initialize - "NaturalLanguageTranslator initialize" - - FileList registerFileReader: self. - Smalltalk addToStartUpList: NaturalLanguageTranslator after: FileDirectory. - ! Item was removed: - ----- Method: NaturalLanguageTranslator class>>isoLanguage: (in category 'accessing') ----- - isoLanguage: isoLanguage - "Return the generic language translator as there is no information about the country code" - - ^self isoLanguage: isoLanguage isoCountry: nil! Item was removed: - ----- Method: NaturalLanguageTranslator class>>isoLanguage:isoCountry: (in category 'accessing') ----- - isoLanguage: isoLanguage isoCountry: isoCountry - ^self localeID: (LocaleID isoLanguage: isoLanguage isoCountry: isoCountry)! Item was removed: - ----- Method: NaturalLanguageTranslator class>>loadAvailableExternalLocales (in category 'private loading') ----- - loadAvailableExternalLocales - "private - register locales IDs based on the content of the <prefs>/locale/ directory" - | localeDir | - localeDir := self localeDirCreate: false. - localeDir ifNil: [^ #()]. - localeDir directoryNames - do: [:langDirName | - | langDir | - langDir := localeDir directoryNamed: langDirName. - (langDir fileNamesMatching: '*.' , self translationSuffix) - ifNotEmpty: [self loadTranslatorForIsoLanguage: langDirName isoCountry: nil]. - langDir directoryNames - do: [:countryDirName | - | countryDir | - countryDir := langDir directoryNamed: countryDirName. - (countryDir fileNamesMatching: '*.' , self translationSuffix) - ifNotEmpty: [self loadTranslatorForIsoLanguage: langDirName isoCountry: countryDirName] - ] - ]. - ! Item was removed: - ----- Method: NaturalLanguageTranslator class>>loadAvailableLocales (in category 'private loading') ----- - loadAvailableLocales - "This loads the default locale and all external locales" - - | defaultID | - defaultID := LocaleID current. - self cachedTranslations at: defaultID ifAbsent: [self localeID: defaultID]. - self loadAvailableExternalLocales.! Item was removed: - ----- Method: NaturalLanguageTranslator class>>loadExternalTranslationsFor: (in category 'private loading') ----- - loadExternalTranslationsFor: translator - "Try to load translations from external external files. - The files are located in the <prefs>/locale/<language>{/<country>} folder. - There can be more than one file for each location, so applications can install their own partial translation tables. All files in the specific folder are loaded." - - | translationDir | - translationDir := self directoryForLocaleID: translator localeID create: false. - translationDir ifNil: [ ^nil ]. - (translationDir fileNamesMatching: '*.' , self translationSuffix) - do: [:fileName | translator loadFromFileNamed: (translationDir fullNameFor: fileName)]! Item was removed: - ----- Method: NaturalLanguageTranslator class>>loadForLocaleIsoString:fromGzippedMimeLiteral: (in category 'file-services') ----- - loadForLocaleIsoString: localeString fromGzippedMimeLiteral: mimeString - "merge the translation from the mime literal." - | stream localeID translator gs rbStream s currentPlatform | - s := Base64MimeConverter mimeDecodeToBytes: mimeString readStream. - s reset. - gs := GZipReadStream on: s. - rbStream := MultiByteBinaryOrTextStream with: gs contents asString. - rbStream converter: UTF8TextConverter new. - rbStream reset. - localeID := LocaleID isoString: localeString. - currentPlatform := Locale currentPlatform. - [Locale - currentPlatform: (Locale localeID: localeID). - stream := ReadStream on: rbStream contents] - ensure: [Locale currentPlatform: currentPlatform]. - translator := self localeID: localeID. - translator loadFromStream: stream. - LanguageEnvironment resetKnownEnvironments! Item was removed: - ----- Method: NaturalLanguageTranslator class>>loadTranslatorForIsoLanguage:isoCountry: (in category 'private loading') ----- - loadTranslatorForIsoLanguage: isoLanguage isoCountry: isoCountry - "private - load the translations from <prefs>/locale/ directory - the procedure is to assure the existence of a translator for the - given language/country and then load the external translations for this translator" - - | translator | - translator := self localeID: (LocaleID isoLanguage: isoLanguage isoCountry: isoCountry). - - self loadExternalTranslationsFor: translator! Item was removed: - ----- Method: NaturalLanguageTranslator class>>localeDirCreate: (in category 'private loading') ----- - localeDirCreate: createDir - "Try to locate the <prefs>/locale/ folder. - If createDir is set, try to create the path. - If it doesn't exist, return nil" - - "If this fails, there is nothing we can do about it here" - | prefDir localeDir | - (createDir not - and: [ExternalSettings preferenceDirectory isNil]) - ifTrue: [^ nil]. - - prefDir := ExternalSettings assuredPreferenceDirectory. - prefDir exists - ifFalse: [^nil]. - - - localeDir := prefDir directoryNamed: 'locale'. - createDir - ifTrue: [localeDir assureExistence]. - ^localeDir exists - ifTrue: [localeDir] - ifFalse: [nil]! Item was removed: - ----- Method: NaturalLanguageTranslator class>>localeID: (in category 'accessing') ----- - localeID: localeID - ^ self cachedTranslations - at: localeID - ifAbsentPut: [self new localeID: localeID]! Item was removed: - ----- Method: NaturalLanguageTranslator class>>mergeTranslationFileNamed: (in category 'file-services') ----- - mergeTranslationFileNamed: fileFullNameString - "merge the translation in the file named fileFullNameString" - - FileStream readOnlyFileNamed: fileFullNameString do: [:stream | - | localeID translator | - localeID := LocaleID isoString: stream localName sansPeriodSuffix. - translator := self localeID: localeID. - translator loadFromStream: stream]. - LanguageEnvironment resetKnownEnvironments. - - ! Item was removed: - ----- Method: NaturalLanguageTranslator class>>registerPhrase: (in category 'private') ----- - registerPhrase: phrase - "Using a Dictionary so we can lookup existing string instead of creating needless copies when loading a translation." - self allKnownPhrases at: phrase put: phrase! Item was removed: - ----- Method: NaturalLanguageTranslator class>>registeredPhraseFor: (in category 'private') ----- - registeredPhraseFor: phrase - "Using a Dictionary so we can lookup existing string instead of creating needless copies when loading a translation." - ^self allKnownPhrases at: phrase ifAbsentPut: [phrase]! Item was removed: - ----- Method: NaturalLanguageTranslator class>>resetCaches (in category 'class initialization') ----- - resetCaches - "NaturalLanguageTranslator resetCaches" - - CachedTranslations := nil. - ! Item was removed: - ----- Method: NaturalLanguageTranslator class>>serviceMergeLanguageTranslations (in category 'file-services') ----- - serviceMergeLanguageTranslations - "Answer a service for merging of translation files" - ^ SimpleServiceEntry - provider: self - label: 'merge the translation file' - selector: #mergeTranslationFileNamed: - description: 'merge the translation file into the language named like the file' - buttonLabel: 'merge'! Item was removed: - ----- Method: NaturalLanguageTranslator class>>services (in category 'file-services') ----- - services - "Answer potential file services associated with this class" - ^ {self serviceMergeLanguageTranslations}! Item was removed: - ----- Method: NaturalLanguageTranslator class>>startUp: (in category 'class initialization') ----- - startUp: resuming - - resuming ifTrue: [ self loadAvailableLocales ]! Item was removed: - ----- Method: NaturalLanguageTranslator class>>translationSuffix (in category 'private') ----- - translationSuffix - ^'translation'! Item was removed: - ----- Method: NaturalLanguageTranslator>>checkPhrase:translation: (in category 'translation') ----- - checkPhrase: phrase translation: translation! Item was removed: - ----- Method: NaturalLanguageTranslator>>defaultBackgroundColor (in category 'user interface') ----- - defaultBackgroundColor - "answer the receiver's defaultBackgroundColor for views" - ^ Color cyan! Item was removed: - ----- Method: NaturalLanguageTranslator>>displayLanguage (in category 'accessing') ----- - displayLanguage - ^ id displayLanguage! Item was removed: - ----- Method: NaturalLanguageTranslator>>displayName (in category 'accessing') ----- - displayName - ^ id displayName! Item was removed: - ----- Method: NaturalLanguageTranslator>>fileOutHeader (in category 'fileIn/fileOut') ----- - fileOutHeader - ^ '''Translation dictionary'''! Item was removed: - ----- Method: NaturalLanguageTranslator>>fileOutHeaderOn: (in category 'fileIn/fileOut') ----- - fileOutHeaderOn: aStream - aStream nextChunkPut: self fileOutHeader; - cr. - aStream timeStamp; cr. - aStream nextPut: $!!. - aStream nextChunkPut: '(' , self class name , ' localeID: ' , id storeString , ')'. - aStream cr! Item was removed: - ----- Method: NaturalLanguageTranslator>>fileOutOn: (in category 'fileIn/fileOut') ----- - fileOutOn: aStream - "self current fileOutOn: Transcript. Transcript endEntry" - self fileOutHeaderOn: aStream. - self fileOutOn: aStream keys: nil! Item was removed: - ----- Method: NaturalLanguageTranslator>>fileOutOn:keys: (in category 'fileIn/fileOut') ----- - fileOutOn: aStream keys: keys - "self current fileOutOn: Transcript. Transcript endEntry" - (keys - ifNil: [generics keys asArray sort]) - do: [:key | self - nextChunkPut: (generics associationAt: key) - on: aStream]. - keys - ifNil: [self untranslated - do: [:each | self nextChunkPut: each -> '' on: aStream]]. - aStream nextPut: $!!; - cr! Item was removed: - ----- Method: NaturalLanguageTranslator>>generics (in category 'private') ----- - generics - ^generics ifNil: [generics := Dictionary new]! Item was removed: - ----- Method: NaturalLanguageTranslator>>isoCountry (in category 'accessing') ----- - isoCountry - ^self localeID isoCountry! Item was removed: - ----- Method: NaturalLanguageTranslator>>isoLanguage (in category 'accessing') ----- - isoLanguage - ^self localeID isoLanguage! Item was removed: - ----- Method: NaturalLanguageTranslator>>loadFromFileNamed: (in category 'private store-retrieve') ----- - loadFromFileNamed: fileNameString - "Load translations from an external file" - - FileStream readOnlyFileNamed: fileNameString do: [ :file | - self loadFromStream: file ]. - self changed: #translations. - self changed: #untranslated. - ! Item was removed: - ----- Method: NaturalLanguageTranslator>>loadFromRefStream: (in category 'private store-retrieve') ----- - loadFromRefStream: stream - "Load translations from an external file" - | loadedArray refStream | - refStream := ReferenceStream on: stream. - [loadedArray := refStream next] - ensure: [refStream close]. - self processExternalObject: loadedArray ! Item was removed: - ----- Method: NaturalLanguageTranslator>>loadFromStream: (in category 'private store-retrieve') ----- - loadFromStream: stream - "Load translations from an external file" - | header isFileIn | - header := '''Translation dictionary'''. - isFileIn := (stream next: header size) - = header. - stream reset. - isFileIn - ifTrue: [stream fileInAnnouncing: 'Loading ' translated, stream localName] - ifFalse: [self loadFromRefStream: stream]! Item was removed: - ----- Method: NaturalLanguageTranslator>>localeID (in category 'accessing') ----- - localeID - ^id! Item was removed: - ----- Method: NaturalLanguageTranslator>>localeID: (in category 'initialize-release') ----- - localeID: anID - id := anID! Item was removed: - ----- Method: NaturalLanguageTranslator>>mergeTranslations: (in category 'private store-retrieve') ----- - mergeTranslations: newTranslations - "Merge a new set of translations into the exiting table. - Overwrites existing entries." - - newTranslations keysAndValuesDo: [:key :value | - self rawPhrase: (self class registeredPhraseFor: key) translation: value]. - self changed: #translations. - self changed: #untranslated.! Item was removed: - ----- Method: NaturalLanguageTranslator>>nextChunkPut:on: (in category 'fileIn/fileOut') ----- - nextChunkPut: anObject on: aStream - | i remainder terminator | - terminator := $!!. - remainder := anObject storeString. - [(i := remainder indexOf: terminator) = 0] - whileFalse: [aStream - nextPutAll: (remainder copyFrom: 1 to: i). - aStream nextPut: terminator. - "double imbedded terminators" - remainder := remainder copyFrom: i + 1 to: remainder size]. - aStream nextPutAll: remainder. - aStream nextPut: terminator; cr.! Item was removed: - ----- Method: NaturalLanguageTranslator>>phrase:translation: (in category 'translation') ----- - phrase: phraseString translation: translationString - self generics at: phraseString put: translationString asString. - self changed: #translations. - self changed: #untranslated.! Item was removed: - ----- Method: NaturalLanguageTranslator>>printOn: (in category 'printing') ----- - printOn: aStream - aStream nextPutAll: self class name; nextPut: $(; print: self localeID; nextPut: $)! Item was removed: - ----- Method: NaturalLanguageTranslator>>processExternalObject: (in category 'private store-retrieve') ----- - processExternalObject: anArray - "pivate - process the external object" - - "new format -> {translations. untranslated}" - - anArray second do: [:each | self class registerPhrase: each]. - - self mergeTranslations: anArray first! Item was removed: - ----- Method: NaturalLanguageTranslator>>rawPhrase:translation: (in category 'translation') ----- - rawPhrase: phraseString translation: translationString - self generics at: phraseString put: translationString asString. - ! Item was removed: - ----- Method: NaturalLanguageTranslator>>rawRemoveUntranslated: (in category 'translation') ----- - rawRemoveUntranslated: untranslated - - self class allKnownPhrases removeKey: untranslated ifAbsent: []. - self changed: #untranslated.! Item was removed: - ----- Method: NaturalLanguageTranslator>>removeTranslationFor: (in category 'translation') ----- - removeTranslationFor: phraseString - self generics removeKey: phraseString ifAbsent: []. - self changed: #translations. - self changed: #untranslated.! Item was removed: - ----- Method: NaturalLanguageTranslator>>removeUntranslated: (in category 'translation') ----- - removeUntranslated: untranslated - - self class allKnownPhrases removeKey: untranslated ifAbsent: []. - ! Item was removed: - ----- Method: NaturalLanguageTranslator>>saveToFileNamed: (in category 'private store-retrieve') ----- - saveToFileNamed: fileNameString - "save the receiver's translations to a file named fileNameString" - | stream | - "Set true if you need to save as binary" - false - ifTrue: [stream := ReferenceStream fileNamed: fileNameString. - stream nextPut: {self translations. self untranslated}. - stream close. - ^ self]. - stream := FileStream fileNamed: fileNameString. - [self fileOutOn: stream] - ensure: [stream close]! Item was removed: - ----- Method: NaturalLanguageTranslator>>scanFrom: (in category 'fileIn/fileOut') ----- - scanFrom: aStream - "Read a definition of dictionary. - Make sure current locale corresponds my locale id" - | newTranslations currentPlatform | - newTranslations := Dictionary new. - currentPlatform := Locale currentPlatform. - [ | aString assoc | - Locale - currentPlatform: (Locale localeID: id). - [aString := aStream nextChunk withSqueakLineEndings. - aString size > 0] - whileTrue: [assoc := Compiler evaluate: aString. - assoc value = '' - ifTrue: [self class registerPhrase: assoc key] - ifFalse: [newTranslations add: assoc]]] - ensure: [Locale currentPlatform: currentPlatform]. - self mergeTranslations: newTranslations! Item was removed: - ----- Method: NaturalLanguageTranslator>>translate: (in category 'translation') ----- - translate: aString - ^self generics - at: aString - ifAbsent: [self class registeredPhraseFor: aString. - self changed: #untranslated. - self localeID hasParent - ifTrue: [(self class localeID: self localeID parent) translate: aString] - ifFalse: [aString]]! Item was removed: - ----- Method: NaturalLanguageTranslator>>translate:in: (in category 'translation') ----- - translate: aString in: aContext! Item was removed: - ----- Method: NaturalLanguageTranslator>>translationFor: (in category 'translation') ----- - translationFor: aString - ^self translate: aString! Item was removed: - ----- Method: NaturalLanguageTranslator>>translations (in category 'accessing') ----- - translations - ^self generics! Item was removed: - ----- Method: NaturalLanguageTranslator>>untranslated (in category 'accessing') ----- - untranslated - | translations | - translations := self translations. - ^self class allKnownPhrases reject: [:each | translations includesKey: each]! Item was removed: - ----- Method: NaturalLanguageTranslator>>writeAsMimeString (in category 'fileIn/fileOut') ----- - writeAsMimeString - - | fileName fileStream tmpStream s2 gzs | - tmpStream := MultiByteBinaryOrTextStream on: ''. - tmpStream converter: UTF8TextConverter new. - self fileOutOn: tmpStream. - s2 := RWBinaryOrTextStream on: ''. - gzs := GZipWriteStream on: s2. - tmpStream reset. - gzs nextPutAll: (tmpStream binary contentsOfEntireFile asString) contents. - gzs close. - s2 reset. - - fileName := id isoString, '.translation.gz.mime'. - fileStream := FileStream newFileNamed: fileName. - fileStream nextPutAll: (Base64MimeConverter mimeEncode: s2) contents. - fileStream close. - ! Item was removed: - ----- Method: Preferences class>>useLocale (in category 'standard queries') ----- - useLocale - ^ self - valueOfFlag: #useLocale - ifAbsent: [false]! |
Free forum by Nabble | Edit this page |