secureswitools/swisistools/source/sisxlibrary/sislanguage.cpp
changeset 0 ba25891c3a9e
child 26 04d4a7bbc3e0
equal deleted inserted replaced
-1:000000000000 0:ba25891c3a9e
       
     1 /*
       
     2 * Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 /**
       
    20  @file 
       
    21  @internalComponent
       
    22  @released
       
    23 */
       
    24 
       
    25 #include "sislanguage.h"
       
    26 #include "utility.h"
       
    27 
       
    28 // Language options
       
    29 static const SKeyword KLanguages [] = 
       
    30 	{
       
    31 		{ L"EN", CSISLanguage::ELangEnglish },
       
    32 		{ L"FR", CSISLanguage::ELangFrench},
       
    33 		{ L"GE", CSISLanguage::ELangGerman},
       
    34 		{ L"SP", CSISLanguage::ELangSpanish},
       
    35 		{ L"IT", CSISLanguage::ELangItalian},
       
    36 		{ L"SW", CSISLanguage::ELangSwedish},
       
    37 		{ L"DA", CSISLanguage::ELangDanish},
       
    38 		{ L"NO", CSISLanguage::ELangNorwegian},
       
    39 		{ L"FI", CSISLanguage::ELangFinnish},
       
    40 		{ L"AM", CSISLanguage::ELangAmerican},
       
    41 		{ L"SF", CSISLanguage::ELangSwissFrench},
       
    42 		{ L"SG", CSISLanguage::ELangSwissGerman},
       
    43 		{ L"PO", CSISLanguage::ELangPortuguese},
       
    44 		{ L"TU", CSISLanguage::ELangTurkish},
       
    45 		{ L"IC", CSISLanguage::ELangIcelandic},
       
    46 		{ L"RU", CSISLanguage::ELangRussian},
       
    47 		{ L"HU", CSISLanguage::ELangHungarian},
       
    48 		{ L"DU", CSISLanguage::ELangDutch},
       
    49 		{ L"BL", CSISLanguage::ELangBelgianFlemish},
       
    50 		{ L"AU", CSISLanguage::ELangAustralian},
       
    51 		{ L"BF", CSISLanguage::ELangBelgianFrench},
       
    52 		{ L"AS", CSISLanguage::ELangAustrian},
       
    53 		{ L"NZ", CSISLanguage::ELangNewZealand},
       
    54 		{ L"IF", CSISLanguage::ELangInternationalFrench},
       
    55 		{ L"CS", CSISLanguage::ELangCzech},
       
    56 		{ L"SK", CSISLanguage::ELangSlovak},
       
    57 		{ L"PL", CSISLanguage::ELangPolish},
       
    58 		{ L"SL", CSISLanguage::ELangSlovenian},
       
    59 		{ L"TC", CSISLanguage::ELangTaiwanChinese},
       
    60 		{ L"HK", CSISLanguage::ELangHongKongChinese},
       
    61 		{ L"ZH", CSISLanguage::ELangPrcChinese},
       
    62 		{ L"JA", CSISLanguage::ELangJapanese},
       
    63 		{ L"TH", CSISLanguage::ELangThai},
       
    64 		  
       
    65 		{ L"AF", CSISLanguage::ELangAfrikaans },
       
    66 		{ L"SQ", CSISLanguage::ELangAlbanian },
       
    67 		{ L"AH", CSISLanguage::ELangAmharic },
       
    68 		{ L"AR", CSISLanguage::ELangArabic },
       
    69 		{ L"HY", CSISLanguage::ELangArmenian },
       
    70 		{ L"TL", CSISLanguage::ELangTagalog },
       
    71 		{ L"BE", CSISLanguage::ELangBelarussian },
       
    72 		{ L"BN", CSISLanguage::ELangBengali },
       
    73 		{ L"BG", CSISLanguage::ELangBulgarian },
       
    74 		{ L"MY", CSISLanguage::ELangBurmese },
       
    75 		{ L"CA", CSISLanguage::ELangCatalan },
       
    76 		{ L"HR", CSISLanguage::ELangCroatian },
       
    77 		{ L"CE", CSISLanguage::ELangCanadianEnglish },
       
    78 		{ L"IE", CSISLanguage::ELangInternationalEnglish },
       
    79 		{ L"SA", CSISLanguage::ELangSouthAfricanEnglish },
       
    80 		{ L"ET", CSISLanguage::ELangEstonian },
       
    81 		{ L"FA", CSISLanguage::ELangFarsi },
       
    82 		{ L"CF", CSISLanguage::ELangCanadianFrench },
       
    83 		{ L"GD", CSISLanguage::ELangScotsGaelic },
       
    84 		{ L"KA", CSISLanguage::ELangGeorgian },
       
    85 		{ L"EL", CSISLanguage::ELangGreek },
       
    86 		{ L"CG", CSISLanguage::ELangCyprusGreek },
       
    87 		{ L"GU", CSISLanguage::ELangGujarati },
       
    88 		{ L"HE", CSISLanguage::ELangHebrew },
       
    89 		{ L"HI", CSISLanguage::ELangHindi },
       
    90 		{ L"IN", CSISLanguage::ELangIndonesian },
       
    91 		{ L"GA", CSISLanguage::ELangIrish },
       
    92 		{ L"SZ", CSISLanguage::ELangSwissItalian },
       
    93 		{ L"KN", CSISLanguage::ELangKannada },
       
    94 		{ L"KK", CSISLanguage::ELangKazakh },
       
    95 		{ L"KM", CSISLanguage::ELangKhmer },
       
    96 		{ L"KO", CSISLanguage::ELangKorean },
       
    97 		{ L"LO", CSISLanguage::ELangLao },
       
    98 		{ L"LV", CSISLanguage::ELangLatvian },
       
    99 		{ L"LT", CSISLanguage::ELangLithuanian },
       
   100 		{ L"MK", CSISLanguage::ELangMacedonian },
       
   101 		{ L"MS", CSISLanguage::ELangMalay },
       
   102 		{ L"ML", CSISLanguage::ELangMalayalam },
       
   103 		{ L"MR", CSISLanguage::ELangMarathi },
       
   104 		{ L"MO", CSISLanguage::ELangMoldavian },
       
   105 		{ L"MN", CSISLanguage::ELangMongolian },
       
   106 		{ L"NN", CSISLanguage::ELangNorwegianNynorsk },
       
   107 		{ L"BP", CSISLanguage::ELangBrazilianPortuguese },
       
   108 		{ L"PA", CSISLanguage::ELangPunjabi },
       
   109 		{ L"RO", CSISLanguage::ELangRomanian },
       
   110 		{ L"SR", CSISLanguage::ELangSerbian },
       
   111 		{ L"SI", CSISLanguage::ELangSinhalese },
       
   112 		{ L"SO", CSISLanguage::ELangSomali },
       
   113 		{ L"OS", CSISLanguage::ELangInternationalSpanish },
       
   114 		{ L"LS", CSISLanguage::ELangLatinAmericanSpanish },
       
   115 		{ L"SH", CSISLanguage::ELangSwahili },
       
   116 		{ L"FS", CSISLanguage::ELangFinlandSwedish },
       
   117 		//{L"??", CSISLanguage::ELangReserved1 },
       
   118 		{ L"TA", CSISLanguage::ELangTamil },
       
   119 		{ L"TE", CSISLanguage::ELangTelugu },
       
   120 		{ L"BO", CSISLanguage::ELangTibetan },
       
   121 		{ L"TI", CSISLanguage::ELangTigrinya },
       
   122 		{ L"CT", CSISLanguage::ELangCyprusTurkish },
       
   123 		{ L"TK", CSISLanguage::ELangTurkmen },
       
   124 		{ L"UK", CSISLanguage::ELangUkrainian },
       
   125 		{ L"UR", CSISLanguage::ELangUrdu },
       
   126 		//{L"??", CSISLanguage::ELangReserved2 },
       
   127 		{ L"VI", CSISLanguage::ELangVietnamese },
       
   128 		{ L"CY", CSISLanguage::ELangWelsh },
       
   129 		{ L"ZU", CSISLanguage::ELangZulu },
       
   130 		{ L"BA", CSISLanguage::ELangBasque },
       
   131 		{ L"GL", CSISLanguage::ELangGalician },
       
   132 		//{L"??", CSISLanguage::ELangOther },
       
   133 		//{L"??", CSISLanguage::ELangNone  }
       
   134 
       
   135 		{ NULL, CSISLanguage::ELangNone }
       
   136 
       
   137 	};
       
   138 
       
   139 
       
   140 
       
   141 CSISLanguage::TDialect CSISLanguage::IdentifyLanguage (const std::wstring& aIdentifier)
       
   142 	{
       
   143 	return IdentifyUCKeyword (KLanguages, aIdentifier, L"Unknown language: ");
       
   144 	}
       
   145 
       
   146 
       
   147 
       
   148 std::string CSISLanguage::Name () const
       
   149 	{
       
   150 	return "Language";
       
   151 	}
       
   152 
       
   153 const wchar_t* CSISLanguage::GetLanguageCode(TDialect& aDialect) const
       
   154 	{
       
   155 	aDialect = iLanguage & ~0x3FF;
       
   156 	TLanguage language = (TLanguage) (iLanguage & 0x3FF);
       
   157 
       
   158 	for (int i=0; KLanguages[i].iName != NULL; ++i)
       
   159 		{
       
   160 		if (KLanguages[i].iId == (TUint32)language)
       
   161 			{
       
   162 			return KLanguages[i].iName;
       
   163 			}
       
   164 		}
       
   165 	return L"Unknown";
       
   166 	}
       
   167 
       
   168 void CSISLanguage::AddPackageEntry(std::wostream& aStream, bool aVerbose) const
       
   169 	{
       
   170 	TDialect dialect = 0;
       
   171 	aStream << GetLanguageCode(dialect);
       
   172 	if (dialect != 0)
       
   173 		{
       
   174 		aStream << L"(" << dialect.Value() << L")";
       
   175 		}	
       
   176 	}
       
   177