Hi Andras, On Tuesday, 2012-01-03 20:09:42 +0100, Andras Timar wrote:
diff --git a/l10ntools/source/export.cxx b/l10ntools/source/export.cxx @@ -1475,7 +1475,7 @@ void Export::InsertListEntry( const ByteString &rText, const ByteString &rLine ) (*pCurEntry)[ SOURCE_LANGUAGE ] = rLine; } else - (*pCurEntry)[ SOURCE_LANGUAGE ] = rLine; + (*pCurEntry)[ SOURCE_LANGUAGE ] = rText; pList->NewSourceLanguageListEntry(); } Your opinion ?Makes sense, especially when seen with context of the block immediately above: // For paired list use the line to set proper lid if( nList == LIST_PAIRED ){ (*pCurEntry)[ m_sListLang ] = rLine; }else (*pCurEntry)[ m_sListLang ] = rText;On the other hand, if it changes the behaviour that we got used to, it may break localizations. I'd prefer to have a full code analysis.
Fair enough. Let's see.. we are in void Export::InsertListEntry( const ByteString &rText, const ByteString &rLine ) that's called from Export::Execute() where rLine contains the entire resource line and rText the translatable text extracted. For paired lists the entire line is added as an entry to (*pCurEntry)[m_sListLang] that contains brackets, pair.first (the translatable text), pair.second (usually a defined named numeric constant) and separators, e.g. < "Text" ; NAME ; > ; For Export::isSourceLanguage(m_sListLang) (read: m_sListLang equals "en-US") then (*pCurEntry)[SOURCE_LANGUAGE] is set to the entire line where SOURCE_LANGUAGE=="en-US", effectively overwriting the previous (*pCurEntry)[m_sListLang], no matter if it's a paired list or something else. If it's not a paired list's entry the line may look like "Text" ; Maybe you can squeeze some sense out of that ;-) If the current behavior is to remain, then if ( Export::isSourceLanguage( m_sListLang ) ) { - if( nList == LIST_PAIRED ){ - (*pCurEntry)[ SOURCE_LANGUAGE ] = rLine; - } - else - (*pCurEntry)[ SOURCE_LANGUAGE ] = rLine; + (*pCurEntry)[ SOURCE_LANGUAGE ] = rLine; pList->NewSourceLanguageListEntry(); } would do. Eike -- LibreOffice Calc developer. Number formatter stricken i18n transpositionizer. GnuPG key 0x293C05FD : 997A 4C60 CE41 0149 0DB3 9E96 2F1A D073 293C 05FD
Attachment:
pgpZJ6aww75jO.pgp
Description: PGP signature