diff -r 000000000000 -r ba25891c3a9e secureswitools/swisistools/source/sisxlibrary/sislanguage.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/secureswitools/swisistools/source/sisxlibrary/sislanguage.cpp Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,177 @@ +/* +* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +/** + @file + @internalComponent + @released +*/ + +#include "sislanguage.h" +#include "utility.h" + +// Language options +static const SKeyword KLanguages [] = + { + { L"EN", CSISLanguage::ELangEnglish }, + { L"FR", CSISLanguage::ELangFrench}, + { L"GE", CSISLanguage::ELangGerman}, + { L"SP", CSISLanguage::ELangSpanish}, + { L"IT", CSISLanguage::ELangItalian}, + { L"SW", CSISLanguage::ELangSwedish}, + { L"DA", CSISLanguage::ELangDanish}, + { L"NO", CSISLanguage::ELangNorwegian}, + { L"FI", CSISLanguage::ELangFinnish}, + { L"AM", CSISLanguage::ELangAmerican}, + { L"SF", CSISLanguage::ELangSwissFrench}, + { L"SG", CSISLanguage::ELangSwissGerman}, + { L"PO", CSISLanguage::ELangPortuguese}, + { L"TU", CSISLanguage::ELangTurkish}, + { L"IC", CSISLanguage::ELangIcelandic}, + { L"RU", CSISLanguage::ELangRussian}, + { L"HU", CSISLanguage::ELangHungarian}, + { L"DU", CSISLanguage::ELangDutch}, + { L"BL", CSISLanguage::ELangBelgianFlemish}, + { L"AU", CSISLanguage::ELangAustralian}, + { L"BF", CSISLanguage::ELangBelgianFrench}, + { L"AS", CSISLanguage::ELangAustrian}, + { L"NZ", CSISLanguage::ELangNewZealand}, + { L"IF", CSISLanguage::ELangInternationalFrench}, + { L"CS", CSISLanguage::ELangCzech}, + { L"SK", CSISLanguage::ELangSlovak}, + { L"PL", CSISLanguage::ELangPolish}, + { L"SL", CSISLanguage::ELangSlovenian}, + { L"TC", CSISLanguage::ELangTaiwanChinese}, + { L"HK", CSISLanguage::ELangHongKongChinese}, + { L"ZH", CSISLanguage::ELangPrcChinese}, + { L"JA", CSISLanguage::ELangJapanese}, + { L"TH", CSISLanguage::ELangThai}, + + { L"AF", CSISLanguage::ELangAfrikaans }, + { L"SQ", CSISLanguage::ELangAlbanian }, + { L"AH", CSISLanguage::ELangAmharic }, + { L"AR", CSISLanguage::ELangArabic }, + { L"HY", CSISLanguage::ELangArmenian }, + { L"TL", CSISLanguage::ELangTagalog }, + { L"BE", CSISLanguage::ELangBelarussian }, + { L"BN", CSISLanguage::ELangBengali }, + { L"BG", CSISLanguage::ELangBulgarian }, + { L"MY", CSISLanguage::ELangBurmese }, + { L"CA", CSISLanguage::ELangCatalan }, + { L"HR", CSISLanguage::ELangCroatian }, + { L"CE", CSISLanguage::ELangCanadianEnglish }, + { L"IE", CSISLanguage::ELangInternationalEnglish }, + { L"SA", CSISLanguage::ELangSouthAfricanEnglish }, + { L"ET", CSISLanguage::ELangEstonian }, + { L"FA", CSISLanguage::ELangFarsi }, + { L"CF", CSISLanguage::ELangCanadianFrench }, + { L"GD", CSISLanguage::ELangScotsGaelic }, + { L"KA", CSISLanguage::ELangGeorgian }, + { L"EL", CSISLanguage::ELangGreek }, + { L"CG", CSISLanguage::ELangCyprusGreek }, + { L"GU", CSISLanguage::ELangGujarati }, + { L"HE", CSISLanguage::ELangHebrew }, + { L"HI", CSISLanguage::ELangHindi }, + { L"IN", CSISLanguage::ELangIndonesian }, + { L"GA", CSISLanguage::ELangIrish }, + { L"SZ", CSISLanguage::ELangSwissItalian }, + { L"KN", CSISLanguage::ELangKannada }, + { L"KK", CSISLanguage::ELangKazakh }, + { L"KM", CSISLanguage::ELangKhmer }, + { L"KO", CSISLanguage::ELangKorean }, + { L"LO", CSISLanguage::ELangLao }, + { L"LV", CSISLanguage::ELangLatvian }, + { L"LT", CSISLanguage::ELangLithuanian }, + { L"MK", CSISLanguage::ELangMacedonian }, + { L"MS", CSISLanguage::ELangMalay }, + { L"ML", CSISLanguage::ELangMalayalam }, + { L"MR", CSISLanguage::ELangMarathi }, + { L"MO", CSISLanguage::ELangMoldavian }, + { L"MN", CSISLanguage::ELangMongolian }, + { L"NN", CSISLanguage::ELangNorwegianNynorsk }, + { L"BP", CSISLanguage::ELangBrazilianPortuguese }, + { L"PA", CSISLanguage::ELangPunjabi }, + { L"RO", CSISLanguage::ELangRomanian }, + { L"SR", CSISLanguage::ELangSerbian }, + { L"SI", CSISLanguage::ELangSinhalese }, + { L"SO", CSISLanguage::ELangSomali }, + { L"OS", CSISLanguage::ELangInternationalSpanish }, + { L"LS", CSISLanguage::ELangLatinAmericanSpanish }, + { L"SH", CSISLanguage::ELangSwahili }, + { L"FS", CSISLanguage::ELangFinlandSwedish }, + //{L"??", CSISLanguage::ELangReserved1 }, + { L"TA", CSISLanguage::ELangTamil }, + { L"TE", CSISLanguage::ELangTelugu }, + { L"BO", CSISLanguage::ELangTibetan }, + { L"TI", CSISLanguage::ELangTigrinya }, + { L"CT", CSISLanguage::ELangCyprusTurkish }, + { L"TK", CSISLanguage::ELangTurkmen }, + { L"UK", CSISLanguage::ELangUkrainian }, + { L"UR", CSISLanguage::ELangUrdu }, + //{L"??", CSISLanguage::ELangReserved2 }, + { L"VI", CSISLanguage::ELangVietnamese }, + { L"CY", CSISLanguage::ELangWelsh }, + { L"ZU", CSISLanguage::ELangZulu }, + { L"BA", CSISLanguage::ELangBasque }, + { L"GL", CSISLanguage::ELangGalician }, + //{L"??", CSISLanguage::ELangOther }, + //{L"??", CSISLanguage::ELangNone } + + { NULL, CSISLanguage::ELangNone } + + }; + + + +CSISLanguage::TDialect CSISLanguage::IdentifyLanguage (const std::wstring& aIdentifier) + { + return IdentifyUCKeyword (KLanguages, aIdentifier, L"Unknown language: "); + } + + + +std::string CSISLanguage::Name () const + { + return "Language"; + } + +const wchar_t* CSISLanguage::GetLanguageCode(TDialect& aDialect) const + { + aDialect = iLanguage & ~0x3FF; + TLanguage language = (TLanguage) (iLanguage & 0x3FF); + + for (int i=0; KLanguages[i].iName != NULL; ++i) + { + if (KLanguages[i].iId == (TUint32)language) + { + return KLanguages[i].iName; + } + } + return L"Unknown"; + } + +void CSISLanguage::AddPackageEntry(std::wostream& aStream, bool aVerbose) const + { + TDialect dialect = 0; + aStream << GetLanguageCode(dialect); + if (dialect != 0) + { + aStream << L"(" << dialect.Value() << L")"; + } + } +