I wrote:

You mean the French languages. Basically yes. But I just googled around and they are still in use in the LaTeX-world -> I'll leave them.

This is not possible without a bit more code. I propose the attached patch.

I deleted the following languages:
"babel", "hyphen", "rlbabel", "lgrcmr", "lgrcmro", "lgrcmss",
"lgrcmtt", "lgrenc", "lgrlcmss", "lgrlcmtt", "lheclas", "lhecmr",
"lhecmss", "lhecmtt", "lhecrml", "lheenc", "lhefr", "lheredis", "lheshold",
"lheshscr", "lheshstk", "latin", "samin"

I don't know what they were for. There is no supported language they can be replaced with and leaving thenm as is leads to errors because "babel" is no language in the lib/languages file.

latin and samin were removed for an unknown reason before LyX 1.3. I reenabled them a week ago for LyX 1.6svn but for lyxformat 246 they are invalid.

Comments, ideas?

regards Uwe
Index: preamble.cpp
===================================================================
--- preamble.cpp	(revision 21959)
+++ preamble.cpp	(working copy)
@@ -50,22 +50,26 @@
 
 namespace {
 
-const char * const known_languages[] = { "afrikaans", "american", "austrian",
-"babel", "bahasa", "basque", "belarusian", "brazil", "breton", "british",
-"bulgarian", "catalan", "croatian", "czech", "danish", "dutch", "english",
-"esperanto", "estonian", "finnish", "francais", "french", "frenchb",
-"frenchle", "frenchpro", "galician", "german", "germanb", "greek", "hebcal",
-"hebfont", "hebrew", "hebrew_newcode", "hebrew_oldcode", "hebrew_p", "hyphen",
-"icelandic", "irish", "italian", "latin", "lgrcmr", "lgrcmro", "lgrcmss",
-"lgrcmtt", "lgrenc", "lgrlcmss", "lgrlcmtt", "lheclas", "lhecmr", "lhecmss",
-"lhecmtt", "lhecrml", "lheenc", "lhefr", "lheredis", "lheshold", "lheshscr",
-"lheshstk", "lsorbian", "magyar", "naustrian", "ngermanb", "ngerman", "norsk",
-"nynorsk", "polish", "portuges", "rlbabel", "romanian",	"russian", "russianb",
-"samin", "scottish", "serbian", "slovak", "slovene", "spanish", "swedish",
+const char * const known_languages[] = { "afrikaans", "american", "arabic",
+"austrian", "bahasa", "basque", "belarusian", "brazil", "breton", "british",
+"bulgarian", "canadian", "canadien", "catalan", "croatian", "czech", "danish",
+"dutch", "english", "esperanto", "estonian", "finnish", "francais", "french",
+"frenchb", "frenchle", "frenchpro",	"galician", "german", "germanb", "greek",
+"hebcal", "hebfont", "hebrew", "hebrew_newcode", "hebrew_oldcode", "hebrew_p",
+"icelandic", "irish", "italian", "lsorbian", "magyar", "naustrian", "ngerman",
+"ngermanb",	"norsk", "nynorsk", "polish", "portuges", "romanian", "russian",
+"russianb", "scottish", "serbian", "slovak", "slovene", "spanish", "swedish",
 "thai", "turkish", "ukraineb", "ukrainian", "usorbian", "welsh", 0};
 
 const char * const known_french_languages[] = {"french", "frenchb", "francais",
-					       "frenchle", "frenchpro", 0};
+						"frenchle", "frenchpro", 0};
+const char * const known_german_languages[] = {"german", "germanb", 0};
+const char * const known_ngerman_languages[] = {"ngerman", "ngermanb", 0};
+const char * const known_hebrew_languages[] = {"hebrew", "hebrew_newcode",
+						"hebrew_oldcode", "hebrew_p", "hebcal", "hebfont", 0};
+const char * const known_russian_languages[] = {"russian", "russianb", 0};
+const char * const known_ukrainian_languages[] = {"ukrainian", "ukraineb", 0};
+
 char const * const known_fontsizes[] = { "10pt", "11pt", "12pt", 0 };
 
 // some ugly stuff
@@ -207,13 +211,21 @@
 	else if (name == "graphicx")
 		; // ignore this
 	else if (is_known(name, known_languages)) {
-		if (is_known(name, known_french_languages)) {
+		if (is_known(name, known_french_languages))
 			h_language = "french";
-			h_quotes_language = "french";
-		} else {
+		else if (is_known(name, known_german_languages))
+			h_language = "german";
+		else if (is_known(name, known_ngerman_languages))
+			h_language = "ngerman";
+		else if (is_known(name, known_hebrew_languages))
+			h_language = "hebrew";
+		else if (is_known(name, known_russian_languages))
+			h_language = "russian";
+		else if (is_known(name, known_ukrainian_languages))
+			h_language = "ukrainian";
+		else
 			h_language = name;
-			h_quotes_language = name;
-		}
+		h_quotes_language = h_language;
 
 	} else if (name == "natbib") {
 		h_cite_engine = "natbib_authoryear";
@@ -388,6 +400,16 @@
 			handle_opt(opts, known_languages, h_language);
 			if (is_known(h_language, known_french_languages))
 				h_language = "french";
+			else if (is_known(h_language, known_german_languages))
+				h_language = "german";
+			else if (is_known(h_language, known_ngerman_languages))
+				h_language = "ngerman";
+			else if (is_known(h_language, known_hebrew_languages))
+				h_language = "hebrew";
+			else if (is_known(h_language, known_russian_languages))
+				h_language = "russian";
+			else if (is_known(h_language, known_ukrainian_languages))
+				h_language = "ukrainia";
 			handle_opt(opts, known_fontsizes, h_paperfontsize);
 			// delete "pt" at the end
 			string::size_type i = h_paperfontsize.find("pt");

Reply via email to