diff options
Diffstat (limited to 'transex3/source/export2.cxx')
-rw-r--r-- | transex3/source/export2.cxx | 214 |
1 files changed, 211 insertions, 3 deletions
diff --git a/transex3/source/export2.cxx b/transex3/source/export2.cxx index bfa3132499a0..c53a30a6b6a7 100644 --- a/transex3/source/export2.cxx +++ b/transex3/source/export2.cxx @@ -2,9 +2,9 @@ * * $RCSfile: export2.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: nf $ $Date: 2000-11-03 16:07:40 $ + * last change: $Author: nf $ $Date: 2000-11-22 12:57:00 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -142,7 +142,7 @@ USHORT Export::LangId[ LANGUAGES ] = USHORT Export::GetLangIndex( USHORT nLangId ) /*****************************************************************************/ { - for ( ULONG i = 0; i < LANGUAGES; i++ ) + for ( USHORT i = 0; i < LANGUAGES; i++ ) if ( nLangId == LangId[ i ] ) return i; return 0xFFFF; @@ -184,3 +184,211 @@ CharSet Export::GetCharSet( USHORT nLangId ) return 0xFFFF; } +/*****************************************************************************/ +USHORT Export::GetLangByIsoLang( const ByteString &rIsoLang ) +/*****************************************************************************/ +{ + ByteString sLang( rIsoLang ); + + sLang.ToUpperAscii(); + + if ( sLang == ByteString( COMMENT_ISO ).ToUpperAscii()) + return COMMENT; + else if ( sLang == ByteString( ENGLISH_US_ISO ).ToUpperAscii()) + return ENGLISH_US; + else if ( sLang == ByteString( PORTUGUESE_ISO ).ToUpperAscii()) + return PORTUGUESE; + else if ( sLang == ByteString( RUSSIAN_ISO ).ToUpperAscii()) + return RUSSIAN; + else if ( sLang == ByteString( GREEK_ISO ).ToUpperAscii()) + return GREEK; + else if ( sLang == ByteString( DUTCH_ISO ).ToUpperAscii()) + return DUTCH; + else if ( sLang == ByteString( FRENCH_ISO ).ToUpperAscii()) + return FRENCH; + else if ( sLang == ByteString( SPANISH_ISO ).ToUpperAscii()) + return SPANISH; + else if ( sLang == ByteString( FINNISH_ISO ).ToUpperAscii()) + return FINNISH; + else if ( sLang == ByteString( HUNGARIAN_ISO ).ToUpperAscii()) + return HUNGARIAN; + else if ( sLang == ByteString( ITALIAN_ISO ).ToUpperAscii()) + return ITALIAN; + else if ( sLang == ByteString( CZECH_ISO ).ToUpperAscii()) + return CZECH; + else if ( sLang == ByteString( SLOVAK_ISO ).ToUpperAscii()) + return SLOVAK; + else if ( sLang == ByteString( ENGLISH_ISO ).ToUpperAscii()) + return ENGLISH; + else if ( sLang == ByteString( DANISH_ISO ).ToUpperAscii()) + return DANISH; + else if ( sLang == ByteString( SWEDISH_ISO ).ToUpperAscii()) + return SWEDISH; + else if ( sLang == ByteString( NORWEGIAN_ISO ).ToUpperAscii()) + return NORWEGIAN; + else if ( sLang == ByteString( POLISH_ISO ).ToUpperAscii()) + return POLISH; + else if ( sLang == ByteString( GERMAN_ISO ).ToUpperAscii()) + return GERMAN; + else if ( sLang == ByteString( PORTUGUESE_BRAZILIAN_ISO ).ToUpperAscii()) + return PORTUGUESE_BRAZILIAN; + else if ( sLang == ByteString( JAPANESE_ISO ).ToUpperAscii()) + return JAPANESE; + else if ( sLang == ByteString( KOREAN_ISO ).ToUpperAscii()) + return KOREAN; + else if ( sLang == ByteString( CHINESE_SIMPLIFIED_ISO ).ToUpperAscii()) + return CHINESE_SIMPLIFIED; + else if ( sLang == ByteString( CHINESE_TRADITIONAL_ISO ).ToUpperAscii()) + return CHINESE_TRADITIONAL; + else if ( sLang == ByteString( TURKISH_ISO ).ToUpperAscii()) + return TURKISH; + else if ( sLang == ByteString( ARABIC_ISO ).ToUpperAscii()) + return ARABIC; + else if ( sLang == ByteString( HEBREW_ISO ).ToUpperAscii()) + return HEBREW; + + return 0; +} + +/*****************************************************************************/ +ByteString Export::GetIsoLangByIndex( USHORT nIndex ) +/*****************************************************************************/ +{ + switch ( nIndex ) { + case COMMENT_INDEX: return COMMENT_ISO; + case ENGLISH_US_INDEX: return ENGLISH_US_ISO; + case PORTUGUESE_INDEX: return PORTUGUESE_ISO; + case RUSSIAN_INDEX: return RUSSIAN_ISO; + case GREEK_INDEX: return GREEK_ISO; + case DUTCH_INDEX: return DUTCH_ISO; + case FRENCH_INDEX: return FRENCH_ISO; + case SPANISH_INDEX: return SPANISH_ISO; + case FINNISH_INDEX: return FINNISH_ISO; + case HUNGARIAN_INDEX: return HUNGARIAN_ISO; + case ITALIAN_INDEX: return ITALIAN_ISO; + case CZECH_INDEX: return CZECH_ISO; + case SLOVAK_INDEX: return SLOVAK_ISO; + case ENGLISH_INDEX: return ENGLISH_ISO; + case DANISH_INDEX: return DANISH_ISO; + case SWEDISH_INDEX: return SWEDISH_ISO; + case NORWEGIAN_INDEX: return NORWEGIAN_ISO; + case POLISH_INDEX: return POLISH_ISO; + case GERMAN_INDEX: return GERMAN_ISO; + case PORTUGUESE_BRAZILIAN_INDEX: return PORTUGUESE_BRAZILIAN_ISO; + case JAPANESE_INDEX: return JAPANESE_ISO; + case KOREAN_INDEX: return KOREAN_ISO; + case CHINESE_SIMPLIFIED_INDEX: return CHINESE_SIMPLIFIED_ISO; + case CHINESE_TRADITIONAL_INDEX: return CHINESE_TRADITIONAL_ISO; + case TURKISH_INDEX: return TURKISH_ISO; + case ARABIC_INDEX: return ARABIC_ISO; + case HEBREW_INDEX: return HEBREW_ISO; + } + return ""; +} + +/*****************************************************************************/ +void Export::QuotHTML( ByteString &rString ) +/*****************************************************************************/ +{ + ByteString sReturn; + for ( ULONG i = 0; i < rString.Len(); i++ ) { + switch ( rString.GetChar( i )) { + case '<': + sReturn += "<"; + break; + + case '>': + sReturn += ">"; + break; + + case '\"': + sReturn += """; + break; + + case '\'': + sReturn += "'"; + break; + + case '&': + if ((( i + 4 ) < rString.Len()) && + ( rString.Copy( i, 5 ) == "&" )) + sReturn += rString.GetChar( i ); + else + sReturn += "&"; + break; + + default: + sReturn += rString.GetChar( i ); + break; + } + } + rString = sReturn; +} + +/*****************************************************************************/ +void Export::UnquotHTML( ByteString &rString ) +/*****************************************************************************/ +{ + ByteString sReturn; + while ( rString.Len()) { + if ( rString.Copy( 0, 5 ) == "&" ) { + sReturn += "&"; + rString.Erase( 0, 5 ); + } + else if ( rString.Copy( 0, 4 ) == "<" ) { + sReturn += "<"; + rString.Erase( 0, 4 ); + } + else if ( rString.Copy( 0, 4 ) == ">" ) { + sReturn += ">"; + rString.Erase( 0, 4 ); + } + else if ( rString.Copy( 0, 6 ) == """ ) { + sReturn += "\""; + rString.Erase( 0, 6 ); + } + else if ( rString.Copy( 0, 6 ) == "'" ) { + sReturn += "\'"; + rString.Erase( 0, 6 ); + } + else { + sReturn += rString.GetChar( 0 ); + rString.Erase( 0, 1 ); + } + } + rString = sReturn; +} + +/*****************************************************************************/ +const ByteString Export::LangName[ LANGUAGES ] = +/*****************************************************************************/ +{ + "language_user1", + "english_us", + "portuguese", + "german_de", + "russian", + "greek", + "dutch", + "french", + "spanish", + "finnish", + "hungarian", + "italian", + "czech", + "slovak", + "english", + "danish", + "swedish", + "norwegian", + "polish", + "german", + "portuguese_brazilian", + "japanese", + "korean", + "chinese_simplified", + "chinese_traditional", + "turkish", + "arabic", + "hebrew" +}; |