From 0d9fb9f2b3efbd5d4ba0c4d9640bdfdb2896c999 Mon Sep 17 00:00:00 2001 From: cui-gaoleng <562344211@qq.com> Date: Fri, 8 Nov 2024 01:14:31 +0800 Subject: [PATCH 2/4] =?UTF-8?q?libcalamares=E6=96=87=E4=BB=B6=E5=A4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libcalamares/CalamaresAbout.cpp | 15 ++++++----- src/libcalamares/locale/TimeZone.cpp | 33 ++++++++++++++++++++++++- src/libcalamares/locale/Translation.cpp | 14 ++++++++--- 3 files changed, 49 insertions(+), 13 deletions(-) diff --git a/src/libcalamares/CalamaresAbout.cpp b/src/libcalamares/CalamaresAbout.cpp index 4ff4435..65a1b9d 100644 --- a/src/libcalamares/CalamaresAbout.cpp +++ b/src/libcalamares/CalamaresAbout.cpp @@ -14,13 +14,11 @@ #include static const char s_header[] - = QT_TRANSLATE_NOOP( "AboutData", "

%1


%2
for %3


" ); + = QT_TRANSLATE_NOOP( "AboutData", "

Release:%1


" ); static const char s_footer[] = QT_TRANSLATE_NOOP( "AboutData", - "Thanks to the Calamares team " - "and the Calamares " - "translators team." ); + "Thanks to the openEuler team."); struct Maintainer { @@ -40,9 +38,9 @@ struct Maintainer }; static constexpr const Maintainer maintainers[] = { - { 2014, 2017, "Teo Mrnjavac", "teo@kde.org" }, - { 2017, 2022, "Adriaan de Groot", "groot@kde.org" }, - { 2022, 2024, "Adriaan de Groot (community)", "groot@kde.org" }, + // { 2014, 2017, "Teo Mrnjavac", "teo@kde.org" }, + // { 2017, 2022, "Adriaan de Groot", "groot@kde.org" }, + // { 2022, 2024, "Adriaan de Groot (community)", "groot@kde.org" }, }; static QString @@ -59,7 +57,7 @@ aboutMaintainers() static QString substituteVersions( const QString& s ) { - return s.arg( CALAMARES_APPLICATION_NAME ).arg( CALAMARES_VERSION ); + return s.arg( "openEuler-24.09" ).arg(""); } const QString @@ -67,6 +65,7 @@ Calamares::aboutString() { return substituteVersions( QCoreApplication::translate( "AboutData", s_header ) ) + aboutMaintainers() + QCoreApplication::translate( "AboutData", s_footer ); + // return aboutMaintainers()+ QCoreApplication::translate( "AboutData", s_footer ); } const QString diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index 0115618..8ad2525 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -20,6 +20,17 @@ static const char TZ_DATA_FILE[] = "/usr/share/zoneinfo/zone.tab"; +static const QVector ASIA_ZONE_FILER = { + "Beijing", + "Shanghai", + "Urumqi", + "Hong_Kong", + "Taipei", + "Singapore", + "Vientiane", + "Tokyo" +}; + namespace Calamares { namespace Locale @@ -96,6 +107,15 @@ RegionData::translated() const return QObject::tr( m_human, "tz_regions" ); } +bool containsQString(const QVector& vec, const QString& str) { + for (const QString& item : vec) { + if (item == str) { + return true; + } + } + return false; +} + static void loadTZData( RegionVector& regions, ZoneVector& zones, QTextStream& in ) { @@ -137,6 +157,12 @@ loadTZData( RegionVector& regions, ZoneVector& zones, QTextStream& in ) { continue; } + // NOTE: Taking into account ease of use, filtering zone in Asia. + if (region == "Asia") { + if (!containsQString(ASIA_ZONE_FILER, zone)) { + continue; + } + } QString position = list.at( 1 ); int cooSplitPos = position.indexOf( QRegularExpression( "[-+]" ), 1 ); @@ -166,7 +192,12 @@ loadTZData( RegionVector& regions, ZoneVector& zones, QTextStream& in ) { regions.append( new RegionData( region ) ); } - zones.append( new TimeZoneData( region, zone, countryCode, latitude, longitude ) ); + QString adjustedZone = zone; + if(zone == "Hong_Kong" || zone == "Taipei" || zone == "Macau") + { + adjustedZone += "(China)"; + } + zones.append( new TimeZoneData( region, adjustedZone, countryCode, latitude, longitude ) ); } } diff --git a/src/libcalamares/locale/Translation.cpp b/src/libcalamares/locale/Translation.cpp index 49e4c05..e5b3402 100644 --- a/src/libcalamares/locale/Translation.cpp +++ b/src/libcalamares/locale/Translation.cpp @@ -167,8 +167,8 @@ Translation::Translation( const Id& localeId, LabelFormat format, QObject* paren [ &localeId ]( const TranslationSpecialCase& s ) { return localeId.name == s.id; } ); const char* name = ( it != std::cend( special_cases ) ) ? it->name : nullptr; - QString longFormat = QObject::tr( "%1 (%2)" ); - + // QString longFormat = QObject::tr( "%1 (%2)" ); + QString longFormat = QObject::tr( "%1" ); QString languageName = name ? QString::fromUtf8( name ) : m_locale.nativeLanguageName(); QString englishName = m_locale.languageToString( m_locale.language() ); @@ -181,9 +181,15 @@ Translation::Translation( const Id& localeId, LabelFormat format, QObject* paren || ( !name && localeId.name.contains( '_' ) && QLocale::countriesForLanguage( m_locale.language() ).count() > 1 ); QString countryName = needsCountryName ? m_locale.nativeCountryName() : QString(); + if (countryName == "台灣") { + countryName = "中國台灣"; + } + + // m_label = needsCountryName ? longFormat.arg( languageName, countryName ) : languageName; m_label = needsCountryName ? longFormat.arg( languageName, countryName ) : languageName; - m_englishLabel = needsCountryName ? longFormat.arg( englishName, QLocale::countryToString( m_locale.country() ) ) - : englishName; + // m_englishLabel = needsCountryName ? longFormat.arg( englishName, QLocale::countryToString( m_locale.country() ) ) + // : englishName; + m_englishLabel = englishName; } QLocale -- 2.43.0