From: Georg Baum Date: Sun, 12 Nov 2006 09:36:08 +0000 (+0000) Subject: Fix translation of ambiguous messages X-Git-Tag: 1.6.10~11920 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=2c64f843005306c6294d734cbc15e5c2c81e75bf;p=features.git Fix translation of ambiguous messages * src/frontends/qt4/ui/QPrefConvertersUi.ui: Readd translation hint to label and remove broken tooltip that somebody created instead * src/messages.C (Messages::Pimpl::get): reenable stripping of [[..]] from untranslated messages git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15872 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/Status.15x b/Status.15x index 2f22b77a3a..c83eab0da8 100644 --- a/Status.15x +++ b/Status.15x @@ -156,8 +156,6 @@ EDITING MENUS -* Special handling of [[...]] in text messages is disabled in messages.C - LAYOUT @@ -341,14 +339,17 @@ CREDITS: visible toolbar, the modified settings are not considered for session management REPLACED with a new entry, popup disabled (Peter 2006-11-09) - + * Toolbars always show on the top of the screen, even though they are set to "bottom" in the ui file (Joost 3/11/06). - + FIXED: use the defaul.ui value only when there is no valid position stored (1st start of lyx) (Peter 7/11/2006) * Window positions are not remembered correctly. Each time a window is openend window again it has moved towards the bottom of the screen. (Joost 3/11/06) - + FIXED (Peter 8/11/2006) + +* Special handling of [[...]] in text messages is disabled in messages.C + FIXED (Georg 2006-11-12) diff --git a/src/frontends/qt4/ui/QPrefConvertersUi.ui b/src/frontends/qt4/ui/QPrefConvertersUi.ui index efac5d42fc..de5404f85b 100644 --- a/src/frontends/qt4/ui/QPrefConvertersUi.ui +++ b/src/frontends/qt4/ui/QPrefConvertersUi.ui @@ -146,11 +146,8 @@ - - <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">[[as in 'From format x to format y']]</p></body></html> - - &To: + &To:[[as in 'From format x to format y']] converterToCO diff --git a/src/messages.C b/src/messages.C index 5cdf463022..2ff381bb9c 100644 --- a/src/messages.C +++ b/src/messages.C @@ -170,39 +170,35 @@ public: } textdomain(PACKAGE); -#if 0 - const char* msg = gettext(m.c_str()); - string translated(msg ? msg : m); - // Some english words have different translations, depending - // on context. In these cases the original string is - // augmented by context information (e.g. - // "To:[[as in 'From page x to page y']]" and - // "To:[[as in 'From format x to format y']]". - // This means that we need to filter out everything in - // double square brackets at the end of the string, - // otherwise the user sees bogus messages. - // If we are unable to honour the request we just - // return what we got in. - static boost::regex const reg("^([^\\[]*)\\[\\[[^\\]]*\\]\\]$"); - boost::smatch sub; - if (regex_match(translated, sub, reg)) - translated = sub.str(1); -#else char const * tmp = m.c_str(); char const * msg = gettext(tmp); docstring translated; - if (!msg) { - lyxerr << "Undefined result from gettext" << endl; - translated = from_ascii(tmp); - } else if (msg == tmp) { - //lyxerr << "Same as entered returned" << endl; - translated = from_ascii(tmp); + if (!msg || msg == tmp) { + if (!msg) + lyxerr << "Undefined result from gettext" << endl; + //else + // lyxerr << "Same as entered returned" << endl; + // Some english words have different translations, + // depending on context. In these cases the original + // string is augmented by context information (e.g. + // "To:[[as in 'From page x to page y']]" and + // "To:[[as in 'From format x to format y']]". + // This means that we need to filter out everything + // in double square brackets at the end of the + // string, otherwise the user sees bogus messages. + // If we are unable to honour the request we just + // return what we got in. + static boost::regex const reg("^([^\\[]*)\\[\\[[^\\]]*\\]\\]$"); + boost::smatch sub; + if (regex_match(m, sub, reg)) + translated = from_ascii(sub.str(1)); + else + translated = from_ascii(tmp); } else { lyxerr[Debug::DEBUG] << "We got a translation" << endl; char_type const * ucs4 = reinterpret_cast(msg); translated = ucs4; } -#endif #ifdef HAVE_LC_MESSAGES setlocale(LC_MESSAGES, lang.c_str()); #endif