diff options
Diffstat (limited to 'l10ntools')
-rw-r--r-- | l10ntools/source/xmlparse.cxx | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/l10ntools/source/xmlparse.cxx b/l10ntools/source/xmlparse.cxx index 809aa62fd8a8..16f6ced20ec8 100644 --- a/l10ntools/source/xmlparse.cxx +++ b/l10ntools/source/xmlparse.cxx @@ -330,7 +330,7 @@ void XMLFile::Extract() void XMLFile::InsertL10NElement( XMLElement* pElement ) { - OString sId, sLanguage(""); + OString sId, sLanguage("en-US"); LangHashMap* pElem; if( pElement->GetAttributeList() != nullptr ) @@ -445,7 +445,8 @@ void XMLFile::SearchL10NElements( XMLChildNode *pCur ) bool bInsert = true; XMLElement *pElement = static_cast<XMLElement*>(pCur); const OString sName(pElement->GetName().toAsciiLowerCase()); - OString sLanguage, sTmpStrVal; + OString sLanguage("en-US"); + OString sTmpStrVal; if ( pElement->GetAttributeList()) { for ( size_t j = 0 , cnt = pElement->GetAttributeList()->size(); j < cnt && bInsert; ++j ) @@ -603,11 +604,18 @@ void XMLElement::ChangeLanguageTag( const OString &rValue ) SetLanguageId(rValue); if ( m_pAttributes ) { + bool bWasSet = false; for (size_t i = 0; i < m_pAttributes->size(); ++i) { - if ( (*m_pAttributes)[ i ]->GetName() == "xml-lang" ) + if ((*m_pAttributes)[ i ]->GetName() == XML_LANG) + { (*m_pAttributes)[ i ]->setValue(rValue); + bWasSet = true; + } } + + if (!bWasSet) + AddAttribute(XML_LANG, rValue); } XMLChildNodeList* pCList = GetChildList(); @@ -681,7 +689,7 @@ void XMLElement::Print(XMLNode *pCur, OStringBuffer& rBuffer, bool bRootelement for ( size_t j = 0; j < pElement->GetAttributeList()->size(); j++ ) { const OString aAttrName( (*pElement->GetAttributeList())[ j ]->GetName() ); - if( !aAttrName.equalsIgnoreAsciiCase( "xml-lang" ) ) + if (!aAttrName.equalsIgnoreAsciiCase(XML_LANG)) { rBuffer.append( " " + aAttrName + "=\"" + |