Author: spitz
Date: Sun Mar 20 12:39:02 2011
New Revision: 37975
URL: http://www.lyx.org/trac/changeset/37975
Log:
* LaTeXFeatures.cpp (getI18nPreamble):
addition to r37974: if English is used as a secondary language, we have
to propose an English translation,
since the original string is in the document's main language!
Modified:
lyx-devel/trunk/src/LaTeXFeatures.cpp
Modified: lyx-devel/trunk/src/LaTeXFeatures.cpp
==============================================================================
--- lyx-devel/trunk/src/LaTeXFeatures.cpp Sun Mar 20 11:50:43 2011
(r37974)
+++ lyx-devel/trunk/src/LaTeXFeatures.cpp Sun Mar 20 12:39:02 2011
(r37975)
@@ -1215,13 +1215,20 @@
type, name,
from_ascii(buffer().language()->babel())));
for (lang_it lit = lbeg; lit != lend; ++lit) {
- name = translateIfPossible(flname,
- (*lit)->code());
- if (use_polyglossia && flname != name)
+ string const code = (*lit)->code();
+ name = translateIfPossible(flname, code);
+ // we assume we have a suitable translation if
+ // either the language is English (we need to
+ // translate into English if English is a
secondary
+ // language) or if translateIfPossible returns
+ // something different to the English source.
+ bool const have_translation =
+ (flname != name || contains(code,
"en"));
+ if (use_polyglossia && have_translation)
snippets.insert(getFloatI18nPreamble(
type, name,
from_ascii((*lit)->polyglossia())));
- else if (flname != name)
+ else if (have_translation)
snippets.insert(getFloatI18nPreamble(
type, name,
from_ascii((*lit)->babel())));