summaryrefslogtreecommitdiff
path: root/transex3/source/export2.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'transex3/source/export2.cxx')
-rw-r--r--transex3/source/export2.cxx214
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 += "&lt;";
+ break;
+
+ case '>':
+ sReturn += "&gt;";
+ break;
+
+ case '\"':
+ sReturn += "&quot;";
+ break;
+
+ case '\'':
+ sReturn += "&apos;";
+ break;
+
+ case '&':
+ if ((( i + 4 ) < rString.Len()) &&
+ ( rString.Copy( i, 5 ) == "&amp;" ))
+ sReturn += rString.GetChar( i );
+ else
+ sReturn += "&amp;";
+ break;
+
+ default:
+ sReturn += rString.GetChar( i );
+ break;
+ }
+ }
+ rString = sReturn;
+}
+
+/*****************************************************************************/
+void Export::UnquotHTML( ByteString &rString )
+/*****************************************************************************/
+{
+ ByteString sReturn;
+ while ( rString.Len()) {
+ if ( rString.Copy( 0, 5 ) == "&amp;" ) {
+ sReturn += "&";
+ rString.Erase( 0, 5 );
+ }
+ else if ( rString.Copy( 0, 4 ) == "&lt;" ) {
+ sReturn += "<";
+ rString.Erase( 0, 4 );
+ }
+ else if ( rString.Copy( 0, 4 ) == "&gt;" ) {
+ sReturn += ">";
+ rString.Erase( 0, 4 );
+ }
+ else if ( rString.Copy( 0, 6 ) == "&quot;" ) {
+ sReturn += "\"";
+ rString.Erase( 0, 6 );
+ }
+ else if ( rString.Copy( 0, 6 ) == "&apos;" ) {
+ 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"
+};