diff --git a/build.bat b/build.bat deleted file mode 100644 index 23be6d1d0..000000000 --- a/build.bat +++ /dev/null @@ -1,16 +0,0 @@ -@ECHO ON - -SET CLEAN=%1 - -if "%TOOLS_PREFIX%"=="" ( - SET TOOLS_PREFIX=C: -) - -SET JOM=%TOOLS_PREFIX%\jom\jom.exe -SET QMAKE=%TOOLS_PREFIX%\Qt_static\v5.12.7\bin\qmake.exe -SET WIN_SDK=10.0.17763.0 - -if "%CLEAN%"=="" call clean.bat 1 -call "C:\%BUILDTOOLS_PREFIX%\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x86 %WIN_SDK% -call create_framework.bat -if "%CLEAN%"=="" call clean.bat 0 \ No newline at end of file diff --git a/build.ps1 b/build.ps1 new file mode 100644 index 000000000..96fbafcd3 --- /dev/null +++ b/build.ps1 @@ -0,0 +1,91 @@ +param +( + [switch]$DeepClean, + [String]$ToolsPrefix = "C:", + [String]$WinSdk = "10.0.17763.0", + [String]$BuildToolsPrefix = "", + [switch]$Verbose, + [switch]$SkipCleaning, + [switch]$SkipPreClean, + [switch]$SkipPostClean +) + +if ($Verbose) { + $DebugPreference = 'Continue' +} + +$DeepCleanSwitch = "" +if ($DeepClean) { $DeepCleanSwitch = "-DeepClean" } +$VerboseSwitch = "" +if ($Verbose) { $VerboseSwitch = "-Verbose" } + +$jom = "$ToolsPrefix\jom\jom.exe" +$qmake = "$ToolsPrefix\Qt_static\v5.12.7\bin\qmake.exe" +$varsall = "C:\$BuildToolsPrefix\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" + +Write-Output "Start building installer framework" +Write-Output "---" + +if (!(Test-Path $jom)) { + Write-Output "Jom was not found at '$jom'! Exiting..." + Return +} else { + Write-Debug "Jom was found at '$jom'." +} +if (!(Test-Path $qmake)) { + Write-Output "Qmake was not found at '$qmake'! Exiting..." +} else { + Write-Debug "Qmake was found at '$qmake'." +} +if (!(Test-Path $varsall)) { + Write-Output "vcvarsall not found at '$varsall'! Exiting..." +} else { + Write-Debug "vcvarsall was found at '$varsall'." +} + +$buildDir = "$PSScriptRoot\build" + +if ($SkipCleaning -Or $SkipPreClean) { + Write-Debug "Skipping pre cleaning" + if (Test-Path $buildDir) { + Remove-Item $buildDir -Force -Recurse + Write-Debug "Build dir removed" + } +} else { + Invoke-Expression -Command "$PSScriptRoot\clean.ps1 $DeepCleanSwitch $VerboseSwitch" +} + +# Create the build folder +if ($Verbose) { + New-Item -Path $buildDir -ItemType "directory" +} else { + $null = New-Item -Path $buildDir -ItemType "directory" +} +Write-Debug "Build dir created" + +# Build the framework (this is done via bat because of vcvarsall) +$buildHelper = """$PSScriptRoot\build_helper.bat"" ""$varsall"" $WinSdk ""$qmake"" ""$jom""" +Write-Debug "Start creating the framework: $buildHelper" +if ($Verbose) { + cmd.exe /c $buildHelper +} else { + $null = cmd.exe /c $buildHelper +} +Write-Debug "Framework created" + +# Copy the output to the build folder +Copy-Item "$PSScriptRoot\bin\binarycreator.exe" $buildDir +Copy-Item "$PSScriptRoot\bin\installerbase.exe" $buildDir + +Write-Debug "Framework output to build" + +if ($SkipCleaning -Or $SkipPostClean) { + Write-Debug "Skipping post cleaning" +} else { + Invoke-Expression -Command "$PSScriptRoot\clean.ps1 $DeepCleanSwitch $VerboseSwitch -SkipBuildDir" +} + +Write-Output "---" +Write-Output "Framework built successfully. You'll find it under \build" + +$DebugPreference = 'SilentlyContinue' diff --git a/build_helper.bat b/build_helper.bat new file mode 100644 index 000000000..1f28a0cc0 --- /dev/null +++ b/build_helper.bat @@ -0,0 +1,19 @@ +SETLOCAL + +CD /d %~dp0 + +SET VARSALL=%1 +SET WINSDK=%2 +SET QMAKE=%3 +SET JOM=%4 + +rem Set up the required cmd environment +call %VARSALL% x86 %WINSDK% + +rem Create the makefiles +%QMAKE% -r + +rem Build the makefiles +%JOM% release + +ENDLOCAL diff --git a/clean.bat b/clean.bat deleted file mode 100644 index 9f48acc22..000000000 --- a/clean.bat +++ /dev/null @@ -1,20 +0,0 @@ -@ECHO ON - -SET REMOVE_BUILD_DIR=%1 - -IF %REMOVE_BUILD_DIR% NEQ 0 ( - IF EXIST build RMDIR /Q /S build -) - -IF EXIST bin RMDIR /Q /S bin -IF EXIST .qmake.stash DEL .qmake.stash -IF EXIST src\libs\7zip\mocinclude.opt DEL src\libs\7zip\mocinclude.opt -IF EXIST src\libs\installer\mocinclude.opt DEL src\libs\installer\mocinclude.opt -IF EXIST src\sdk\installerbase.qrc DEL src\sdk\installerbase.qrc -IF EXIST src\sdk\mocinclude.opt DEL src\sdk\mocinclude.opt -IF EXIST src\sdk\translations\ifw_en.ts DEL src\sdk\translations\ifw_en.ts -IF EXIST tools\archivegen\mocinclude.opt DEL tools\archivegen\mocinclude.opt -IF EXIST tools\binarycreator\mocinclude.opt DEL tools\binarycreator\mocinclude.opt -IF EXIST tools\devtool\mocinclude.opt DEL tools\devtool\mocinclude.opt -IF EXIST tools\repocompare\mocinclude.opt DEL tools\repocompare\mocinclude.opt -IF EXIST tools\repogen\mocinclude.opt DEL tools\repogen\mocinclude.opt diff --git a/clean.ps1 b/clean.ps1 new file mode 100644 index 000000000..13c8c2ae0 --- /dev/null +++ b/clean.ps1 @@ -0,0 +1,97 @@ +param +( + [switch]$SkipBuildDir, + [switch]$DeepClean, + [switch]$Verbose +) + +if ($Verbose) { + $DebugPreference = 'Continue' +} + +function RemoveDir ($dir) { + if (Test-Path "$PSScriptRoot\$dir") { + Remove-Item "$PSScriptRoot\$dir" -Force -Recurse + Write-Debug " -> d: $dir" + } +} + +function RemoveFile ($file) { + if (Test-Path "$PSScriptRoot\$file") { + Remove-Item "$PSScriptRoot\$file" -Force + Write-Debug " -> f: $file" + } +} + +Write-Debug "Cleanup starting" +Write-Debug "Removing the following (f)iles and (d)irectories:" + +if (!$SkipBuildDir) { RemoveDir "build" } + +RemoveDir "bin" + +$baseFiles = ".qmake.stash", + "src\libs\7zip\mocinclude.opt", + "src\libs\installer\mocinclude.opt", + "src\sdk\installerbase.qrc", + "src\sdk\mocinclude.opt", + "src\sdk\translations\ifw_en.ts", + "tools\archivegen\mocinclude.opt", + "tools\binarycreator\mocinclude.opt", + "tools\devtool\mocinclude.opt", + "tools\repocompare\mocinclude.opt", + "tools\repogen\mocinclude.opt" + +foreach ($file in $baseFiles) { + RemoveFile $file +} + +# Remove the built translation files +Get-ChildItem -Path "$PSScriptRoot\src\sdk\translations" *.qm | ForEach-Object { Remove-Item -Path $_.FullName -Force } + +if ($DeepClean) { + Write-Debug "---" + Write-Debug "Removing additional (f)iles and (d)irectories since -DeepClean was provided:" + + $sources = "libs\7zip", "libs\installer", "sdk", "sdk\translations" + $tools = "archivegen", "binarycreator", "devtool", "repocompare", "repogen" + $alldirs = @{ "src" = $sources; "tools" = $tools } + + foreach ($pair in $alldirs.GetEnumerator()) { + RemoveFile "$($pair.Name)\Makefile" + foreach ($subDir in ($pair.Value)) { + # Dirs + RemoveDir "$($pair.Name)\$subDir\debug" + RemoveDir "$($pair.Name)\$subDir\release" + + # Files + RemoveFile "$($pair.Name)\$subDir\Makefile" + RemoveFile "$($pair.Name)\$subDir\Makefile.Debug" + RemoveFile "$($pair.Name)\$subDir\Makefile.Release" + + if (($pair.Name) -eq "tools") { + RemoveFile "$($pair.Name)\$tool\${tool}_plugin_import.cpp" + } + } + } + + RemoveDir "lib" + + $additionalFiles = "src\libs\Makefile", + "Makefile", + "src\libs\installer\ui_authenticationdialog.h", + "src\libs\installer\ui_proxycredentialsdialog.h", + "src\libs\installer\ui_serverauthenticationdialog.h", + "src\sdk\installerbase_plugin_import.cpp", + "src\sdk\ui_settingsdialog.h", + "tools\repocompare\ui_mainwindow.h" + + foreach ($file in $additionalFiles) { + RemoveFile $file + } +} + +Write-Debug "---" +Write-Debug "Cleanup completed" + +$DebugPreference = 'SilentlyContinue' diff --git a/create_framework.bat b/create_framework.bat deleted file mode 100644 index f7b3ea95e..000000000 --- a/create_framework.bat +++ /dev/null @@ -1,13 +0,0 @@ -@ECHO ON - -MKDIR build - -REM Create the makefiles -CALL %QMAKE% -r - -REM Build the makefiles -CALL %JOM% release - -REM Copy the output to the build folder -COPY bin\binarycreator.exe build\binarycreator.exe -COPY bin\installerbase.exe build\installerbase.exe diff --git a/src/libs/installer/component.cpp b/src/libs/installer/component.cpp index 5fc321df3..2dffd8dae 100644 --- a/src/libs/installer/component.cpp +++ b/src/libs/installer/component.cpp @@ -587,10 +587,15 @@ void Component::loadTranslations(const QDir &directory, const QStringList &qms) QDirIterator it(directory.path(), qms, QDir::Files); const QStringList translations = d->m_core->settings().translations(); const QString uiLanguage = QLocale().uiLanguages().value(0, QLatin1String("en")); + const bool isChinaInstaller = d->m_core->settings().isChinaInstaller(); + const QString chineese = QLatin1String("zh"); while (it.hasNext()) { const QString filename = it.next(); const QString basename = QFileInfo(filename).baseName(); - if (!uiLanguage.startsWith(QFileInfo(filename).baseName(), Qt::CaseInsensitive)) + if (isChinaInstaller && !chineese.startsWith(basename, Qt::CaseInsensitive)) + continue; // do not load the file if it does not match Chineese + + if (!isChinaInstaller && !uiLanguage.startsWith(basename, Qt::CaseInsensitive)) continue; // do not load the file if it does not match the UI language if (!translations.isEmpty()) { diff --git a/src/libs/installer/constants.h b/src/libs/installer/constants.h index 26c2a7dfe..be21c82e4 100644 --- a/src/libs/installer/constants.h +++ b/src/libs/installer/constants.h @@ -89,6 +89,7 @@ static const QLatin1String scUrlQueryString("UrlQueryString"); static const QLatin1String scProductUUID("ProductUUID"); static const QLatin1String scAllUsers("AllUsers"); static const QLatin1String scSupportsModify("SupportsModify"); +static const QLatin1String scChinaInstaller("ChinaInstaller"); static const QLatin1String scAllowUnstableComponents("AllowUnstableComponents"); static const QLatin1String scSaveDefaultRepositories("SaveDefaultRepositories"); static const QLatin1String scRepositoryCategoryDisplayName("RepositoryCategoryDisplayName"); diff --git a/src/libs/installer/settings.cpp b/src/libs/installer/settings.cpp index 3aa0baf18..50f984f4b 100644 --- a/src/libs/installer/settings.cpp +++ b/src/libs/installer/settings.cpp @@ -290,7 +290,7 @@ Settings Settings::fromFileAndPrefix(const QString &path, const QString &prefix, << scWizardStyle << scStyleSheet << scTitleColor << scWizardDefaultWidth << scWizardDefaultHeight << scRepositorySettingsPageVisible << scTargetConfigurationFile - << scRemoteRepositories << scTranslations << scUrlQueryString << QLatin1String(scControlScript) + << scRemoteRepositories << scTranslations << scChinaInstaller << scUrlQueryString << QLatin1String(scControlScript) << scCreateLocalRepository << scInstallActionColumnVisible << scSupportsModify << scAllowUnstableComponents << scSaveDefaultRepositories << scRepositoryCategories; @@ -838,6 +838,11 @@ QString Settings::controlScript() const return d->m_data.value(QLatin1String(scControlScript)).toString(); } +bool Settings::isChinaInstaller() const +{ + return d->m_data.value(scChinaInstaller, false).toBool(); +} + bool Settings::supportsModify() const { return d->m_data.value(scSupportsModify, true).toBool(); diff --git a/src/libs/installer/settings.h b/src/libs/installer/settings.h index fff2324f1..79b9bb0dc 100644 --- a/src/libs/installer/settings.h +++ b/src/libs/installer/settings.h @@ -160,6 +160,7 @@ class INSTALLER_EXPORT Settings QString controlScript() const; bool supportsModify() const; + bool isChinaInstaller() const; bool allowUnstableComponents() const; void setAllowUnstableComponents(bool allow); diff --git a/src/sdk/installerbase.cpp b/src/sdk/installerbase.cpp index 75fdaa92b..40a811432 100644 --- a/src/sdk/installerbase.cpp +++ b/src/sdk/installerbase.cpp @@ -276,37 +276,59 @@ int InstallerBase::run() // to easily provide corrected translations to Qt/IFW for their installers const QString newDirectory = QLatin1String(":/translations_new"); const QStringList translations = m_core->settings().translations(); - - if (translations.isEmpty()) { - foreach (const QLocale locale, QLocale().uiLanguages()) { - QScopedPointer qtTranslator(new QTranslator(QCoreApplication::instance())); - bool qtLoaded = qtTranslator->load(locale, QLatin1String("qt"), - QLatin1String("_"), newDirectory); - if (!qtLoaded) - qtLoaded = qtTranslator->load(locale, QLatin1String("qt"), - QLatin1String("_"), directory); - - if (qtLoaded || locale.language() == QLocale::English) { - if (qtLoaded) - QCoreApplication::instance()->installTranslator(qtTranslator.take()); - - QScopedPointer ifwTranslator(new QTranslator(QCoreApplication::instance())); - bool ifwLoaded = ifwTranslator->load(locale, QLatin1String("ifw"), QLatin1String("_"), newDirectory); - if (!ifwLoaded) - ifwLoaded = ifwTranslator->load(locale, QLatin1String("ifw"), QLatin1String("_"), directory); - if (ifwLoaded) - QCoreApplication::instance()->installTranslator(ifwTranslator.take()); - - // To stop loading other translations it's sufficient that - // qt was loaded successfully or we hit English as system language - break; - } + const bool isChinaInstaller = m_core->settings().isChinaInstaller(); + + if (isChinaInstaller) { + QLocale locale = QLocale::Chinese; + QScopedPointer qtTranslator(new QTranslator(QCoreApplication::instance())); + bool qtLoaded = qtTranslator->load(locale, QLatin1String("qt"), + QLatin1String("_"), newDirectory); + if (!qtLoaded) + qtLoaded = qtTranslator->load(locale, QLatin1String("qt"), + QLatin1String("_"), directory); + + if (qtLoaded) { + QCoreApplication::instance()->installTranslator(qtTranslator.take()); } + + QScopedPointer ifwTranslator(new QTranslator(QCoreApplication::instance())); + bool ifwLoaded = ifwTranslator->load(locale, QLatin1String("ifw"), QLatin1String("_"), newDirectory); + if (!ifwLoaded) + ifwLoaded = ifwTranslator->load(locale, QLatin1String("ifw"), QLatin1String("_"), directory); + if (ifwLoaded) + QCoreApplication::instance()->installTranslator(ifwTranslator.take()); } else { - foreach (const QString &translation, translations) { - QScopedPointer translator(new QTranslator(QCoreApplication::instance())); - if (translator->load(translation, QLatin1String(":/translations"))) - QCoreApplication::instance()->installTranslator(translator.take()); + if (translations.isEmpty()) { + foreach (const QLocale locale, QLocale().uiLanguages()) { + QScopedPointer qtTranslator(new QTranslator(QCoreApplication::instance())); + bool qtLoaded = qtTranslator->load(locale, QLatin1String("qt"), + QLatin1String("_"), newDirectory); + if (!qtLoaded) + qtLoaded = qtTranslator->load(locale, QLatin1String("qt"), + QLatin1String("_"), directory); + + if (qtLoaded || locale.language() == QLocale::English) { + if (qtLoaded) + QCoreApplication::instance()->installTranslator(qtTranslator.take()); + + QScopedPointer ifwTranslator(new QTranslator(QCoreApplication::instance())); + bool ifwLoaded = ifwTranslator->load(locale, QLatin1String("ifw"), QLatin1String("_"), newDirectory); + if (!ifwLoaded) + ifwLoaded = ifwTranslator->load(locale, QLatin1String("ifw"), QLatin1String("_"), directory); + if (ifwLoaded) + QCoreApplication::instance()->installTranslator(ifwTranslator.take()); + + // To stop loading other translations it's sufficient that + // qt was loaded successfully or we hit English as system language + break; + } + } + } else { + foreach (const QString &translation, translations) { + QScopedPointer translator(new QTranslator(QCoreApplication::instance())); + if (translator->load(translation, QLatin1String(":/translations"))) + QCoreApplication::instance()->installTranslator(translator.take()); + } } } diff --git a/src/sdk/translations/ifw_ca.ts b/src/sdk/translations/ifw_ca.ts index 2b7ac4739..e33feed08 100644 --- a/src/sdk/translations/ifw_ca.ts +++ b/src/sdk/translations/ifw_ca.ts @@ -2507,4 +2507,64 @@ amb un usuari amb els permisos apropiats i després feu clic a D'acord. Ha fallat en canviar el nom del fitxer «%1» a «%2»: %3 + + + + + + + + + + + + + + + QInstaller::PackageManagerCorePrivate + + +Installing component %1... + +S'instal·la el component %1... + + + + + diff --git a/src/sdk/translations/ifw_da.ts b/src/sdk/translations/ifw_da.ts index 17e5e4ac3..b33d3e792 100644 --- a/src/sdk/translations/ifw_da.ts +++ b/src/sdk/translations/ifw_da.ts @@ -2463,4 +2463,80 @@ som en bruger med de fornødne rettigheder og klik så på OK. Omdøbning af filen "%1" til "%2" mislykkedes: %3 + + + + + QInstaller::PackageManagerCore + + Installation will use %1 of disk space. + Installationen vil bruge %1 diskplads. + + + + + + + + QInstaller::ExtractArchiveOperation + + Extracting "%1" + + + + + + + + + QInstaller::PackageManagerCorePrivate + + +Installing component %1... + +Installerer komponenten %1... + + + Done + Færdig + + + + + diff --git a/src/sdk/translations/ifw_de.ts b/src/sdk/translations/ifw_de.ts index 18bf64159..8c0740283 100644 --- a/src/sdk/translations/ifw_de.ts +++ b/src/sdk/translations/ifw_de.ts @@ -2473,4 +2473,84 @@ Brechen Sie entweder die Installation ab, oder verwenden Sie die Fallback-Lösun Verbleibende Datei "%1" wegen "%2": %3 + + + + + QInstaller::PackageManagerCore + + Installation will use %1 of disk space. + Die Installation wird %1 Festplattenplatz verwenden. + + + + + + + + QInstaller::ExtractArchiveOperation + + Extracting "%1" + + + + + + + + + QInstaller::PackageManagerCorePrivate + + +Installing component %1... + +Komponente %1 wird installiert... + + + Done + Fertig + + + Creating Maintenance Tool + + + + + + diff --git a/src/sdk/translations/ifw_es.ts b/src/sdk/translations/ifw_es.ts index 760adaf98..b2de694f0 100644 --- a/src/sdk/translations/ifw_es.ts +++ b/src/sdk/translations/ifw_es.ts @@ -2444,4 +2444,80 @@ como usuario con los derechos adecuados y, luego, haga clic en Aceptar.Error al cambiar el nombre de archivo de "%1" a "%2": %3 + + + + + QInstaller::PackageManagerCore + + Installation will use %1 of disk space. + La instalación usará %1 de espacio de disco. + + + + + + + + QInstaller::ExtractArchiveOperation + + Extracting "%1" + + + + + + + + + QInstaller::PackageManagerCorePrivate + + +Installing component %1... + +Instalando componente %1... + + + Done + Hecho + + + + + diff --git a/src/sdk/translations/ifw_fr.ts b/src/sdk/translations/ifw_fr.ts index 504d0f37e..cf37dc582 100644 --- a/src/sdk/translations/ifw_fr.ts +++ b/src/sdk/translations/ifw_fr.ts @@ -2444,4 +2444,80 @@ en tant qu’utilisateur doté des droits appropriés, puis cliquez sur OK.Le changement de nom du fichier "%1" en "%2" a échoué : %3 + + + + + QInstaller::PackageManagerCore + + Installation will use %1 of disk space. + L’installation va utiliser %1 de l’espace disque. + + + + + + + + QInstaller::ExtractArchiveOperation + + Extracting "%1" + + + + + + + + + QInstaller::PackageManagerCorePrivate + + +Installing component %1... + +Installation du composant %1... + + + Done + Terminer + + + + + diff --git a/src/sdk/translations/ifw_hr.ts b/src/sdk/translations/ifw_hr.ts index fcef08d0e..53ffb3762 100644 --- a/src/sdk/translations/ifw_hr.ts +++ b/src/sdk/translations/ifw_hr.ts @@ -2465,4 +2465,70 @@ u modusu korisnika s odgovarajućim pravima. Zatim klikni "U redu".Već je pokrenuta jedna instanca za %1. Pričekaj da završi, zatvori je ili ponovo pokreni sustav. + + + + + QInstaller::PackageManagerCore + + Installation will use %1 of disk space. + Instalacija će zauzeti otprilike %1 na tvom tvrdom disku. + + + + + + + + + + + + + QInstaller::PackageManagerCorePrivate + + +Installing component %1... + +Instaliranje komponente %1... + + + + + diff --git a/src/sdk/translations/ifw_it.ts b/src/sdk/translations/ifw_it.ts index 5be3c8218..183069b29 100644 --- a/src/sdk/translations/ifw_it.ts +++ b/src/sdk/translations/ifw_it.ts @@ -2444,4 +2444,80 @@ come utente con i diritti appropriati, quindi fare clic su OK. Impossibile rinominare il file "%1" "%2": %3 + + + + + QInstaller::PackageManagerCore + + Installation will use %1 of disk space. + L'installazione utilizzerà %1 di spazio su disco. + + + + + + + + QInstaller::ExtractArchiveOperation + + Extracting "%1" + + + + + + + + + QInstaller::PackageManagerCorePrivate + + +Installing component %1... + +Installazione componente %1... + + + Done + Fatto + + + + + diff --git a/src/sdk/translations/ifw_ja.ts b/src/sdk/translations/ifw_ja.ts index 47d865520..b853ee132 100644 --- a/src/sdk/translations/ifw_ja.ts +++ b/src/sdk/translations/ifw_ja.ts @@ -2444,4 +2444,80 @@ as a user with the appropriate rights and then clicking OK. ファイル名を "%1" から "%2" に変更できませんでした: %3 + + + + + QInstaller::PackageManagerCore + + Installation will use %1 of disk space. + ディスク空き容量の %1 がインストールに使用されます。 + + + + + + + + QInstaller::ExtractArchiveOperation + + Extracting "%1" + + + + + + + + + QInstaller::PackageManagerCorePrivate + + +Installing component %1... + +コンポーネント %1 をインストールしています... + + + Done + 終了 + + + + + diff --git a/src/sdk/translations/ifw_pl.ts b/src/sdk/translations/ifw_pl.ts index b557bfdce..eea530c88 100644 --- a/src/sdk/translations/ifw_pl.ts +++ b/src/sdk/translations/ifw_pl.ts @@ -2444,4 +2444,80 @@ jako użytkownik z odpowiednimi prawami, a następnie kliknij przycisk OK.Zmiana nazwy pliku "%1" na "%2" nie powiodła się: %3 + + + + + QInstaller::PackageManagerCore + + Installation will use %1 of disk space. + Instalacja zajmie %1 miejsca na dysku. + + + + + + + + QInstaller::ExtractArchiveOperation + + Extracting "%1" + + + + + + + + + QInstaller::PackageManagerCorePrivate + + +Installing component %1... + +Trwa instalowanie elementu %1... + + + Done + Zrobione + + + + + diff --git a/src/sdk/translations/ifw_ru.ts b/src/sdk/translations/ifw_ru.ts index 1227dbb8b..9446d8e28 100644 --- a/src/sdk/translations/ifw_ru.ts +++ b/src/sdk/translations/ifw_ru.ts @@ -2496,4 +2496,70 @@ as a user with the appropriate rights and then clicking OK. Не удалось переименовать «%1» в «%2»: %3 + + + + + QInstaller::PackageManagerCore + + Installation will use %1 of disk space. + Для установки потребуется %1 дискового пространства. + + + + + + + + + + + + + QInstaller::PackageManagerCorePrivate + + +Installing component %1... + +Установка компонента %1... + + + + + diff --git a/src/sdk/translations/ifw_zh_CN.ts b/src/sdk/translations/ifw_zh_CN.ts index 363a46fd2..d7cbc27e5 100644 --- a/src/sdk/translations/ifw_zh_CN.ts +++ b/src/sdk/translations/ifw_zh_CN.ts @@ -2444,4 +2444,116 @@ as a user with the appropriate rights and then clicking OK. 将文件“%1”重命名为“%2”失败:%3 + + + + + QInstaller::PackageManagerCore + + Installation will use %1 of disk space. + 安装程序将使用 %1 的磁盘空间。 + + + + + + + + QInstaller::ExtractArchiveOperation + + Extracting "%1" + 正在解压缩 “%1” + + + + + + + + QInstaller::PackageManagerCorePrivate + + +Installing component %1... + +正在安装组件 %1... + + + Done + 完成 + + + + + + + + QPlatformTheme + + &Yes + &是 + + + &No + &否 + + + OK + 确定 + + + Cancel + 取消 + + + + +