[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-bugs-dist
Subject: [Bug 85106] Can not translate Download Data (Get Hot New Stuff)
From: Josef Spillner <spillner () kde ! org>
Date: 2004-07-29 20:58:29
Message-ID: 20040729205829.17384.qmail () ktown ! kde ! org
[Download RAW message or body]
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
http://bugs.kde.org/show_bug.cgi?id=85106
------- Additional Comments From spillner kde org 2004-07-29 22:58 -------
CVS commit by josef:
Fix i18n handling for data.
The order of preference is now:
- user's configured main language
- user's configured language list (the main language might not be the 1st
entry)
- any data without language attribute set ('default')
- any data whatever
Example (brazilian portuguese):
pt_BR, pt, pt_BR, "", de
CCMAIL: schumacher kde org
CCMAIL: 85106 bugs kde org
M +9 -6 downloaddialog.cpp 1.13
M +24 -7 entry.cpp 1.8
M +1 -1 uploaddialog.cpp 1.10
--- kdelibs/knewstuff/downloaddialog.cpp #1.12:1.13
@ -330,4 +330,6 @ void DownloadDialog::slotDetails()
if(!e) return;
+ QString lang = KGlobal::locale()->language();
+
QString info = i18n
(
@ -349,5 +351,5 @ void DownloadDialog::slotDetails()
).arg(e->downloads()
).arg(e->releaseDate().toString()
- ).arg(e->summary()
+ ).arg(e->summary(lang)
);
@ -446,17 +448,18 @ void DownloadDialog::slotSelected()
bool enabled;
Entry *e = getEntry();
+ QString lang = KGlobal::locale()->language();
if(e)
{
- if(!e->preview().isValid())
+ if(!e->preview(lang).isValid())
{
m_rt->setText(QString("<b>%1</b><br>%2<br>%3<br><br><i>%4</i><br>(%5)").arg(
- e->name()).arg(e->author()).arg(e->releaseDate().toString()).arg(e->summary()).arg(e->license()));
+ e->name()).arg(e->author()).arg(e->releaseDate().toString()).arg(e->summary(lang)).arg(e->license()));
}
else
{
- KIO::NetAccess::download(e->preview(), tmp, this);
+ KIO::NetAccess::download(e->preview(lang), tmp, this);
m_rt->setText(QString("<b>%1</b><br>%2<br>%3<br><br><img \
src='%4'><br><i>%5</i><br>(%6)").arg(
- e->name()).arg(e->author()).arg(e->releaseDate().toString()).arg(tmp).arg(e->summary()).arg(e->license()));
+ e->name()).arg(e->author()).arg(e->releaseDate().toString()).arg(tmp).arg(e->summary(lang)).arg(e->license()));
}
--- kdelibs/knewstuff/entry.cpp #1.7:1.8
@ -21,4 +21,7 @
#include "entry.h"
+#include <kglobal.h>
+#include <klocale.h>
+
using namespace KNS;
@ -94,10 +97,12 @ QString Entry::summary( const QString &l
if ( mSummaryMap.isEmpty() ) return QString::null;
- if ( lang.isEmpty() ) {
if ( !mSummaryMap[ lang ].isEmpty() ) return mSummaryMap[ lang ];
- else return *(mSummaryMap.begin());
- } else {
- return mSummaryMap[ lang ];
+ else {
+ QStringList langs = KGlobal::locale()->languageList();
+ for(QStringList::Iterator it = langs.begin(); it != langs.end(); it++)
+ if( !mSummaryMap[ *it ].isEmpty() ) return mSummaryMap[ *it ];
}
+ if ( !mSummaryMap[ QString::null ].isEmpty() ) return mSummaryMap[ QString::null \
]; + else return *(mSummaryMap.begin());
}
@ -146,4 +151,10 @ KURL Entry::payload( const QString &lang
{
KURL payload = mPayloadMap[ lang ];
+ if ( payload.isEmpty() ) {
+ QStringList langs = KGlobal::locale()->languageList();
+ for(QStringList::Iterator it = langs.begin(); it != langs.end(); it++)
+ if( !mPayloadMap[ *it ].isEmpty() ) return mPayloadMap[ *it ];
+ }
+ if ( payload.isEmpty() ) payload = mPayloadMap [ QString::null ];
if ( payload.isEmpty() && !mPayloadMap.isEmpty() ) {
payload = *(mPayloadMap.begin());
@ -163,4 +174,10 @ KURL Entry::preview( const QString &lang
{
KURL preview = mPreviewMap[ lang ];
+ if ( preview.isEmpty() ) {
+ QStringList langs = KGlobal::locale()->languageList();
+ for(QStringList::Iterator it = langs.begin(); it != langs.end(); it++)
+ if( !mPreviewMap[ *it ].isEmpty() ) return mPreviewMap[ *it ];
+ }
+ if ( preview.isEmpty() ) preview = mPreviewMap [ QString::null ];
if ( preview.isEmpty() && !mPreviewMap.isEmpty() ) {
preview = *(mPreviewMap.begin());
@ -213,5 +230,5 @ void Entry::parseDomElement( const QDomE
if ( e.tagName() == "licence" ) setLicence( e.text().stripWhiteSpace() );
if ( e.tagName() == "summary" ) {
- QString lang = e.attribute( "lang " );
+ QString lang = e.attribute( "lang" );
setSummary( e.text().stripWhiteSpace(), lang );
}
--- kdelibs/knewstuff/uploaddialog.cpp #1.9:1.10
@ -89,5 +89,5 @ UploadDialog::UploadDialog( Engine *engi
mLanguageCombo = new QComboBox( topPage );
topLayout->addWidget( mLanguageCombo, 5, 1 );
- mLanguageCombo->insertStringList( KGlobal::locale()->languagesTwoAlpha() );
+ mLanguageCombo->insertStringList( KGlobal::locale()->languageList() );
QLabel *previewLabel = new QLabel( i18n("Preview URL:"), topPage );
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic