secureswitools/swisistools/source/sisxlibrary/sislanguage.cpp
changeset 0 ba25891c3a9e
child 26 04d4a7bbc3e0
--- /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")";
+		}	
+	}
+