[merge] with upstream
This commit is contained in:
commit
fc76d1560f
26
CHANGES
26
CHANGES
@ -3,7 +3,7 @@ contributors are listed. Note that Calamares does not have a historical
|
||||
changelog -- this log starts with version 3.2.0. The release notes on the
|
||||
website will have to do for older versions.
|
||||
|
||||
# 3.2.3 (unreleased) #
|
||||
# 3.2.4 (unreleased) #
|
||||
|
||||
This release contains contributions from (alphabetically by first name):
|
||||
- Alf Gaida
|
||||
@ -45,6 +45,30 @@ This release contains contributions from (alphabetically by first name):
|
||||
for all operations, not just during install (keep in mind that
|
||||
these run as three separate shells, though).
|
||||
|
||||
|
||||
# 3.2.3 (2019-01-09) #
|
||||
|
||||
This release contains contributions from (alphabetically by first name):
|
||||
- aliveafter1000
|
||||
|
||||
## Core ##
|
||||
|
||||
There are no core changes in this release.
|
||||
|
||||
## Modules ##
|
||||
|
||||
* *partition* Fixed bug where, during detection of existing systems, the
|
||||
existing system partitions may be mounted and then files deleted.
|
||||
This is a **limited** version of the patch from aliveafter1000
|
||||
that will be in 3.2.4, which tries harder to mount filesystems
|
||||
read-only and unmodifiable.
|
||||
* *locale* It was possible to set the installer and system language
|
||||
(e.g. to German) while the global storage value for *locale*
|
||||
remained set to English. Then no localization packages are installed
|
||||
(see feature `${LOCALE}` in `packages.conf`). Reported downstream
|
||||
in Netrunner.
|
||||
|
||||
|
||||
# 3.2.2 (2018-09-04) #
|
||||
|
||||
This release contains contributions from (alphabetically by first name):
|
||||
|
@ -46,6 +46,7 @@ option( WITH_PYTHON "Enable Python modules API (requires Boost.Python)." ON )
|
||||
option( WITH_PYTHONQT "Enable next generation Python modules API (experimental, requires PythonQt)." ON )
|
||||
option( WITH_KF5Crash "Enable crash reporting with KCrash." ON )
|
||||
|
||||
|
||||
### USE_*
|
||||
#
|
||||
# By convention, when there are multiple modules that implement similar
|
||||
@ -74,9 +75,10 @@ set( CALAMARES_DESCRIPTION_SUMMARY
|
||||
|
||||
set( CALAMARES_VERSION_MAJOR 3 )
|
||||
set( CALAMARES_VERSION_MINOR 2 )
|
||||
set( CALAMARES_VERSION_PATCH 2.6 )
|
||||
set( CALAMARES_VERSION_PATCH 3 )
|
||||
set( CALAMARES_VERSION_RC 0 )
|
||||
|
||||
|
||||
### Transifex (languages) info
|
||||
#
|
||||
# complete = 100% translated,
|
||||
@ -101,17 +103,17 @@ set( CALAMARES_VERSION_RC 0 )
|
||||
# checks for new languages and misspelled ones are done (that is,
|
||||
# copy these four lines to four backup lines, add "p", and then update
|
||||
# the original four lines with the current translations).
|
||||
set( _tx_complete ca zh_TW hr cs_CZ da et fr id it_IT lt pl pt_PT es_MX tr_TR )
|
||||
set( _tx_good sq de pt_BR zh_CN ja ro es sk )
|
||||
set( _tx_ok hu ru he nl bg uk ast is ko ar sv el gl en_GB
|
||||
th fi_FI hi eu nb sr sl sr@latin mr es_PR kn kk be )
|
||||
set( _tx_bad fr_CH gu lo fa ur uz eo )
|
||||
|
||||
set( _tx_complete zh_TW tr_TR sk pt_PT pt_BR pl lt ja id hr gl fr
|
||||
et de da cs_CZ ca )
|
||||
set( _tx_good es sq es_MX zh_CN it_IT he en_GB ru ro hi bg hu )
|
||||
set( _tx_ok uk nl ast ko is ar sv el th fi_FI eu sr nb sl
|
||||
sr@latin mr es_PR )
|
||||
set( _tx_bad eo kk kn uz ur mk lo gu fr_CH fa be )
|
||||
|
||||
### Required versions
|
||||
#
|
||||
# See DEPENDENCIES section below.
|
||||
set( QT_VERSION 5.7.0 )
|
||||
set( QT_VERSION 5.10.0 )
|
||||
set( YAMLCPP_VERSION 0.5.1 )
|
||||
set( ECM_VERSION 5.18 )
|
||||
set( PYTHONLIBS_VERSION 3.3 )
|
||||
@ -142,6 +144,26 @@ set( CMAKE_CXX_STANDARD_REQUIRED ON )
|
||||
set( CMAKE_C_STANDARD 99 )
|
||||
set( CMAKE_C_STANDARD_REQUIRED ON )
|
||||
|
||||
# Debugging flags
|
||||
#
|
||||
# Possible debugging flags are:
|
||||
# - DEBUG_TIMEZONES draws latitude and longitude lines on the timezone
|
||||
# widget and enables chatty debug logging, for dealing with the timezone
|
||||
# location database.
|
||||
# - DEBUG_FILESYSTEMS does extra logging and checking when looking at
|
||||
# partition configuration. Lists known KPMCore FS types.
|
||||
#
|
||||
# The flags listed here are enabled in Debug builds. By default, none
|
||||
# are **actually** listed, because they're for such specific scenarios.
|
||||
set( _enable_debug_flags
|
||||
# DEBUG_TIMEZONES
|
||||
# DEBUG_FILESYSTEMS
|
||||
)
|
||||
# Add those flags to the CXX flags in a suitable format.
|
||||
foreach( _edf ${_enable_debug_flags} )
|
||||
string( APPEND CMAKE_CXX_FLAGS_DEBUG " -D${_edf}" )
|
||||
endforeach()
|
||||
|
||||
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall" )
|
||||
if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
|
||||
message( STATUS "Found Clang ${CMAKE_CXX_COMPILER_VERSION}, setting up Clang-specific compiler flags." )
|
||||
@ -175,7 +197,7 @@ if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
|
||||
set( SUPPRESS_3RDPARTY_WARNINGS "-Wno-everything" )
|
||||
set( SUPPRESS_BOOST_WARNINGS " -Wno-zero-as-null-pointer-constant -Wno-disabled-macro-expansion" )
|
||||
|
||||
set( CMAKE_CXX_FLAGS_DEBUG "-g" )
|
||||
set( CMAKE_CXX_FLAGS_DEBUG "-g ${CMAKE_CXX_FLAGS_DEBUG}" )
|
||||
set( CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG" )
|
||||
set( CMAKE_CXX_FLAGS_RELEASE "-O4 -DNDEBUG" )
|
||||
set( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g" )
|
||||
@ -294,12 +316,14 @@ endif()
|
||||
#
|
||||
set( prev_tx ${p_tx_complete} ${p_tx_good} ${p_tx_ok} ${p_tx_bad} )
|
||||
set( curr_tx ${_tx_complete} ${_tx_good} ${_tx_ok} ${_tx_bad} )
|
||||
set( tx_errors OFF )
|
||||
if ( prev_tx )
|
||||
# Gone in new list
|
||||
foreach( l ${prev_tx} )
|
||||
list( FIND curr_tx ${l} p_l )
|
||||
if( p_l EQUAL -1 )
|
||||
message(WARNING "Language ${l} was present in previous translations and is now absent.")
|
||||
set( tx_errors ON )
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
@ -308,10 +332,12 @@ if ( prev_tx )
|
||||
list( FIND prev_tx ${l} p_l )
|
||||
if( p_l EQUAL -1 )
|
||||
message(WARNING "Language ${l} is new.")
|
||||
set( tx_errors ON )
|
||||
endif()
|
||||
set( p_l "lang/calamares_${l}.ts" )
|
||||
if( NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${p_l} )
|
||||
message(WARNING "Language ${l} has no .ts file yet.")
|
||||
set( tx_errors ON )
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
@ -320,6 +346,9 @@ if ( prev_tx )
|
||||
endif()
|
||||
unset( prev_tx )
|
||||
unset( curr_tx )
|
||||
if( tx_errors )
|
||||
message( FATAL_ERROR "Translation warnings, see above." )
|
||||
endif()
|
||||
|
||||
set( CALAMARES_TRANSLATION_LANGUAGES en ${_tx_complete} ${_tx_good} ${_tx_ok} )
|
||||
list( SORT CALAMARES_TRANSLATION_LANGUAGES )
|
||||
|
@ -13,169 +13,179 @@ StartupNotify=true
|
||||
Categories=Qt;System;
|
||||
X-AppStream-Ignore=true
|
||||
|
||||
Name[ar]=نظام التثبيت
|
||||
Comment[be]=Calamares — усталёўшчык сістэмы
|
||||
Icon[be]=calamares
|
||||
Name[ar]=تثبيت النظام
|
||||
Icon[ar]=كالامارس
|
||||
GenericName[ar]=مثبت النظام
|
||||
Comment[ar]=كالامارس - مثبت النظام
|
||||
Name[be]=Усталяваць сістэму
|
||||
Icon[be]=calamares
|
||||
GenericName[be]=Усталёўшчык сістэмы
|
||||
Comment[bg]=Calamares — Системен Инсталатор
|
||||
Icon[bg]=calamares
|
||||
Comment[be]=Calamares — усталёўшчык сістэмы
|
||||
Name[bg]=Инсталирай системата
|
||||
Icon[bg]=calamares
|
||||
GenericName[bg]=Системен Инсталатор
|
||||
Comment[ca]=Calamares — Instal·lador de sistema
|
||||
Icon[ca]=calamares
|
||||
Comment[bg]=Calamares — Системен Инсталатор
|
||||
Name[ca]=Instal·la el sistema
|
||||
Icon[ca]=calamares
|
||||
GenericName[ca]=Instal·lador de sistema
|
||||
Comment[da]=Calamares — Systeminstallationsprogram
|
||||
Icon[da]=calamares
|
||||
Comment[ca]=Calamares — Instal·lador de sistema
|
||||
Name[da]=Installér system
|
||||
Icon[da]=calamares
|
||||
GenericName[da]=Systeminstallationsprogram
|
||||
Comment[de]=Calamares - Installation des Betriebssystems
|
||||
Icon[de]=calamares
|
||||
Comment[da]=Calamares — Systeminstallationsprogram
|
||||
Name[de]=System installieren
|
||||
Icon[de]=calamares
|
||||
GenericName[de]=Installation des Betriebssystems
|
||||
Comment[el]=Calamares — Εγκατάσταση συστήματος
|
||||
Icon[el]=calamares
|
||||
Comment[de]=Calamares - Installation des Betriebssystems
|
||||
Name[el]=Εγκατάσταση συστήματος
|
||||
Icon[el]=calamares
|
||||
GenericName[el]=Εγκατάσταση συστήματος
|
||||
Comment[en_GB]=Calamares — System Installer
|
||||
Icon[en_GB]=calamares
|
||||
Comment[el]=Calamares — Εγκατάσταση συστήματος
|
||||
Name[en_GB]=Install System
|
||||
Icon[en_GB]=calamares
|
||||
GenericName[en_GB]=System Installer
|
||||
Comment[es]=Calamares — Instalador del Sistema
|
||||
Icon[es]=calamares
|
||||
Comment[en_GB]=Calamares — System Installer
|
||||
Name[es]=Instalar Sistema
|
||||
Icon[es]=calamares
|
||||
GenericName[es]=Instalador del Sistema
|
||||
Comment[et]=Calamares — süsteemipaigaldaja
|
||||
Icon[et]=calamares
|
||||
Comment[es]=Calamares — Instalador del Sistema
|
||||
Name[et]=Paigalda süsteem
|
||||
Icon[et]=calamares
|
||||
GenericName[et]=Süsteemipaigaldaja
|
||||
Comment[et]=Calamares — süsteemipaigaldaja
|
||||
Name[eu]=Sistema instalatu
|
||||
Icon[eu]=calamares
|
||||
GenericName[eu]=Sistema instalatzailea
|
||||
Comment[eu]=Calamares - sistema instalatzailea
|
||||
Name[es_PR]=Instalar el sistema
|
||||
Comment[fr]=Calamares - Installateur système
|
||||
Icon[fr]=calamares
|
||||
Name[fr]=Installer le système
|
||||
Icon[fr]=calamares
|
||||
GenericName[fr]=Installateur système
|
||||
Comment[gl]=Calamares — Instalador de sistemas
|
||||
Icon[gl]=calamares
|
||||
Comment[fr]=Calamares - Installateur système
|
||||
Name[gl]=Instalación do Sistema
|
||||
Icon[gl]=calamares
|
||||
GenericName[gl]=Instalador de sistemas
|
||||
Comment[he]=Calamares - אשף התקנה
|
||||
Icon[he]=calamares
|
||||
Comment[gl]=Calamares — Instalador de sistemas
|
||||
Name[he]=התקנת מערכת
|
||||
Icon[he]=calamares
|
||||
GenericName[he]=אשף התקנה
|
||||
Comment[hi]=Calamares — सिस्टम इंस्टॉलर
|
||||
Icon[hi]=calamares
|
||||
Comment[he]=Calamares - אשף התקנה
|
||||
Name[hi]=सिस्टम इंस्टॉल करें
|
||||
Icon[hi]=calamares
|
||||
GenericName[hi]=सिस्टम इंस्टॉलर
|
||||
Comment[hr]=Calamares — Instalacija sustava
|
||||
Icon[hr]=calamares
|
||||
Comment[hi]=Calamares — सिस्टम इंस्टॉलर
|
||||
Name[hr]=Instaliraj sustav
|
||||
Icon[hr]=calamares
|
||||
GenericName[hr]=Instalacija sustava
|
||||
Comment[hu]=Calamares – Rendszertelepítő
|
||||
Icon[hu]=calamares
|
||||
Comment[hr]=Calamares — Instalacija sustava
|
||||
Name[hu]=Rendszer telepítése
|
||||
Icon[hu]=calamares
|
||||
GenericName[hu]=Rendszertelepítő
|
||||
Comment[id]=Calamares — Pemasang Sistem
|
||||
Icon[id]=calamares
|
||||
Comment[hu]=Calamares – Rendszertelepítő
|
||||
Name[id]=Instal Sistem
|
||||
Icon[id]=calamares
|
||||
GenericName[id]=Pemasang
|
||||
Comment[is]=Calamares — Kerfis uppsetning
|
||||
Icon[is]=calamares
|
||||
Comment[id]=Calamares — Pemasang Sistem
|
||||
Name[is]=Setja upp kerfið
|
||||
Icon[is]=calamares
|
||||
GenericName[is]=Kerfis uppsetning
|
||||
Comment[cs_CZ]=Calamares – instalátor operačních systémů
|
||||
Icon[cs_CZ]=calamares
|
||||
Comment[is]=Calamares — Kerfis uppsetning
|
||||
Name[cs_CZ]=Nainstalovat
|
||||
Icon[cs_CZ]=calamares
|
||||
GenericName[cs_CZ]=Instalátor systému
|
||||
Comment[ja]=Calamares — システムインストーラー
|
||||
Icon[ja]=calamares
|
||||
Comment[cs_CZ]=Calamares – instalátor operačních systémů
|
||||
Name[ja]=システムをインストール
|
||||
Icon[ja]=calamares
|
||||
GenericName[ja]=システムインストーラー
|
||||
Comment[ko]=깔라마레스 — 시스템 설치 관리자
|
||||
Icon[ko]=깔라마레스
|
||||
Comment[ja]=Calamares — システムインストーラー
|
||||
Name[ko]=시스템 설치
|
||||
Icon[ko]=깔라마레스
|
||||
GenericName[ko]=시스템 설치 관리자
|
||||
Comment[lt]=Calamares — Sistemos diegimo programa
|
||||
Icon[lt]=calamares
|
||||
Comment[ko]=깔라마레스 — 시스템 설치 관리자
|
||||
Name[lt]=Įdiegti Sistemą
|
||||
Icon[lt]=calamares
|
||||
GenericName[lt]=Sistemos diegimas į kompiuterį
|
||||
Comment[it_IT]=Calamares — Programma d'installazione del sistema
|
||||
Icon[it_IT]=calamares
|
||||
Comment[lt]=Calamares — Sistemos diegimo programa
|
||||
Name[it_IT]=Installa il sistema
|
||||
Icon[it_IT]=calamares
|
||||
GenericName[it_IT]=Programma d'installazione del sistema
|
||||
Comment[nb]=Calamares-systeminstallatør
|
||||
Icon[nb]=calamares
|
||||
Comment[it_IT]=Calamares — Programma d'installazione del sistema
|
||||
Name[mk]=Инсталирај го системот
|
||||
Icon[mk]=calamares
|
||||
GenericName[mk]=Системен Инсталер
|
||||
Comment[mk]=Calamares - Системен Инсталер
|
||||
Name[nb]=Installer System
|
||||
Icon[nb]=calamares
|
||||
GenericName[nb]=Systeminstallatør
|
||||
Comment[nl]=Calamares — Installatieprogramma
|
||||
Icon[nl]=calamares
|
||||
Comment[nb]=Calamares-systeminstallatør
|
||||
Name[nl]=Installeer systeem
|
||||
Icon[nl]=calamares
|
||||
GenericName[nl]=Installatieprogramma
|
||||
Comment[pl]=Calamares — Instalator systemu
|
||||
Icon[pl]=calamares
|
||||
Comment[nl]=Calamares — Installatieprogramma
|
||||
Name[pl]=Zainstaluj system
|
||||
Icon[pl]=calamares
|
||||
GenericName[pl]=Instalator systemu
|
||||
Comment[pt_BR]=Calamares — Instalador de Sistema
|
||||
Icon[pt_BR]=calamares
|
||||
Comment[pl]=Calamares — Instalator systemu
|
||||
Name[pt_BR]=Sistema de Instalação
|
||||
Icon[pt_BR]=calamares
|
||||
GenericName[pt_BR]=Instalador de Sistema
|
||||
Comment[ro]=Calamares — Instalator de sistem
|
||||
Icon[ro]=calamares
|
||||
Comment[pt_BR]=Calamares — Instalador de Sistema
|
||||
Name[ro]=Instalează sistemul
|
||||
Icon[ro]=calamares
|
||||
GenericName[ro]=Instalator de sistem
|
||||
Comment[ru]=Calamares - Установщик системы
|
||||
Icon[ru]=calamares
|
||||
Comment[ro]=Calamares — Instalator de sistem
|
||||
Name[ru]=Установить систему
|
||||
Icon[ru]=calamares
|
||||
GenericName[ru]=Установщик системы
|
||||
Comment[sk]=Calamares — Inštalátor systému
|
||||
Icon[sk]=calamares
|
||||
Comment[ru]=Calamares - Установщик системы
|
||||
Name[sk]=Inštalovať systém
|
||||
Icon[sk]=calamares
|
||||
GenericName[sk]=Inštalátor systému
|
||||
Comment[sk]=Calamares — Inštalátor systému
|
||||
Name[sl]=Namesti sistem
|
||||
Comment[sq]=Calamares — Instalues Sistemi
|
||||
Icon[sq]=calamares
|
||||
Name[sq]=Instalo Sistemin
|
||||
Icon[sq]=calamares
|
||||
GenericName[sq]=Instalues Sistemi
|
||||
Comment[fi_FI]=Calamares — Järjestelmän Asentaja
|
||||
Icon[fi_FI]=calamares
|
||||
Comment[sq]=Calamares — Instalues Sistemi
|
||||
Name[fi_FI]=Asenna Järjestelmä
|
||||
Icon[fi_FI]=calamares
|
||||
GenericName[fi_FI]=Järjestelmän Asennusohjelma
|
||||
Comment[fi_FI]=Calamares — Järjestelmän Asentaja
|
||||
Name[sr@latin]=Instaliraj sistem
|
||||
Name[sr]=Инсталирај систем
|
||||
Comment[sv]=Calamares — Systeminstallerare
|
||||
Icon[sv]=calamares
|
||||
Name[sv]=Installera system
|
||||
Icon[sv]=calamares
|
||||
GenericName[sv]=Systeminstallerare
|
||||
Comment[sv]=Calamares — Systeminstallerare
|
||||
Name[th]=ติดตั้งระบบ
|
||||
Comment[uk]=Calamares - Встановлювач системи
|
||||
Name[uk]=Встановити Систему
|
||||
GenericName[uk]=Встановлювач системи
|
||||
Comment[zh_CN]=Calamares — 系统安装程序
|
||||
Icon[zh_CN]=calamares
|
||||
Comment[uk]=Calamares - Встановлювач системи
|
||||
Name[zh_CN]=安装系统
|
||||
Icon[zh_CN]=calamares
|
||||
GenericName[zh_CN]=系统安装程序
|
||||
Comment[zh_TW]=Calamares ── 系統安裝程式
|
||||
Icon[zh_TW]=calamares
|
||||
Comment[zh_CN]=Calamares — 系统安装程序
|
||||
Name[zh_TW]=安裝系統
|
||||
Icon[zh_TW]=calamares
|
||||
GenericName[zh_TW]=系統安裝程式
|
||||
Comment[ast]=Calamares — Instalador del sistema
|
||||
Icon[ast]=calamares
|
||||
Comment[zh_TW]=Calamares ── 系統安裝程式
|
||||
Name[ast]=Instalar sistema
|
||||
Icon[ast]=calamares
|
||||
GenericName[ast]=Instalador del sistema
|
||||
Comment[eo]=Calamares — Sistema Instalilo
|
||||
Icon[eo]=calamares
|
||||
Comment[ast]=Calamares — Instalador del sistema
|
||||
Name[eo]=Instali Sistemo
|
||||
Icon[eo]=calamares
|
||||
GenericName[eo]=Sistema Instalilo
|
||||
Comment[es_MX]=Calamares - Instalador del sistema
|
||||
Icon[es_MX]=calamares
|
||||
Comment[eo]=Calamares — Sistema Instalilo
|
||||
Name[es_MX]=Instalar el Sistema
|
||||
Icon[es_MX]=calamares
|
||||
GenericName[es_MX]=Instalador del sistema
|
||||
Comment[pt_PT]=Calamares - Instalador de Sistema
|
||||
Icon[pt_PT]=calamares
|
||||
Comment[es_MX]=Calamares - Instalador del sistema
|
||||
Name[pt_PT]=Instalar Sistema
|
||||
Icon[pt_PT]=calamares
|
||||
GenericName[pt_PT]=Instalador de Sistema
|
||||
Comment[tr_TR]=Calamares — Sistem Yükleyici
|
||||
Icon[tr_TR]=calamares
|
||||
Comment[pt_PT]=Calamares - Instalador de Sistema
|
||||
Name[tr_TR]=Sistemi Yükle
|
||||
Icon[tr_TR]=calamares
|
||||
GenericName[tr_TR]=Sistem Yükleyici
|
||||
Comment[tr_TR]=Calamares — Sistem Yükleyici
|
||||
|
@ -5,6 +5,7 @@
|
||||
# This file is sourced by travis.sh, and exports the variables
|
||||
# to the environment.
|
||||
CMAKE_ARGS="\
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DWEBVIEW_FORCE_WEBKIT=1 \
|
||||
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
|
||||
-DWITH_PYTHONQT=OFF"
|
||||
|
@ -12,23 +12,26 @@ test -f $SRCDIR/CMakeLists.txt || { echo "! Missing $SRCDIR/CMakeLists.txt" ; ex
|
||||
|
||||
cd $BUILDDIR || exit 1
|
||||
|
||||
section() {
|
||||
echo "###"
|
||||
echo "### cmake $CMAKE_ARGS $SRCDIR"
|
||||
echo "### $1"
|
||||
echo "###"
|
||||
pwd -P
|
||||
df -h
|
||||
}
|
||||
|
||||
section "cmake $CMAKE_ARGS $SRCDIR"
|
||||
cmake $CMAKE_ARGS $SRCDIR || { echo "! CMake failed" ; exit 1 ; }
|
||||
|
||||
echo -e "###\n### make\n###"
|
||||
make -j2 || { make -j1 VERBOSE=1 ; echo "! Make failed" ; exit 1 ; }
|
||||
section "make"
|
||||
make -j2 || { echo "! Make recheck" ; pwd -P ; df -h ; make -j1 VERBOSE=1 ; echo "! Make failed" ; exit 1 ; }
|
||||
|
||||
echo -e "###\n### make install\n###"
|
||||
section "make install"
|
||||
|
||||
install_debugging() {
|
||||
ls -la $( find "$1" -type f -name '*.so' )
|
||||
}
|
||||
|
||||
echo "# System status"
|
||||
df -h
|
||||
|
||||
echo "# Build results"
|
||||
install_debugging "$BUILDDIR"
|
||||
|
||||
@ -45,10 +48,8 @@ else
|
||||
result=false
|
||||
fi
|
||||
|
||||
echo "# System status"
|
||||
df -h
|
||||
|
||||
echo "# Install results"
|
||||
section "Install results"
|
||||
install_debugging "$DESTDIR"
|
||||
|
||||
$result || { echo "! Install failed" ; exit 1 ; } # Result of make install, above
|
||||
|
87
ci/txstats.py
Normal file
87
ci/txstats.py
Normal file
@ -0,0 +1,87 @@
|
||||
#! /usr/bin/env python
|
||||
#
|
||||
# Uses the Transifex API to get a list of enabled languages,
|
||||
# and outputs CMake settings for inclusion into CMakeLists.txt.
|
||||
import sys
|
||||
|
||||
def get_tx_credentials():
|
||||
"""
|
||||
Gets the API token out of the user's .transifexrc (this is supposed
|
||||
to be secure).
|
||||
"""
|
||||
import configparser
|
||||
import os
|
||||
txconfig_name = os.path.expanduser("~/.transifexrc")
|
||||
try:
|
||||
with open(txconfig_name, "r") as f:
|
||||
parser = configparser.SafeConfigParser()
|
||||
parser.readfp(f)
|
||||
|
||||
return parser.get("https://www.transifex.com", "password")
|
||||
except IOError as e:
|
||||
return None
|
||||
|
||||
def output_langs(all_langs, label, filterfunc):
|
||||
"""
|
||||
Output (via print) all of the languages in @p all_langs
|
||||
that satisfy the translation-percentage filter @p filterfunc.
|
||||
Prints a CMake set() command with the @p label as part
|
||||
of the variable name.
|
||||
|
||||
Performs line-wrapping.
|
||||
"""
|
||||
these_langs = [l for s, l in all_langs if filterfunc(s)]
|
||||
out = " ".join(["set( _tx_%s" % label, " ".join(these_langs), ")"])
|
||||
width = 68
|
||||
prefix = ""
|
||||
|
||||
while len(out) > width - len(prefix):
|
||||
chunk = out[:out[:width].rfind(" ")]
|
||||
print("%s%s" % (prefix, chunk))
|
||||
out = out[len(chunk)+1:]
|
||||
prefix = " "
|
||||
print("%s%s" % (prefix, out))
|
||||
|
||||
def get_tx_stats(token):
|
||||
"""
|
||||
Does an API request to Transifex with the given API @p token, getting
|
||||
the translation statistics for the main body of texts. Then prints
|
||||
out CMake settings to replace the _tx_* variables in CMakeLists.txt
|
||||
according to standard criteria.
|
||||
"""
|
||||
import requests
|
||||
|
||||
r = requests.get("https://api.transifex.com/organizations/calamares/projects/calamares/resources/calamares-master/", auth=("api", token))
|
||||
if r.status_code != 200:
|
||||
return 1
|
||||
|
||||
all_langs = []
|
||||
|
||||
j = r.json()
|
||||
languages = j["stats"]
|
||||
print("# Total %d languages" % len(languages))
|
||||
for lang_name in languages:
|
||||
stats = languages[lang_name]["translated"]["percentage"]
|
||||
all_langs.append((stats, lang_name))
|
||||
|
||||
all_langs.sort(reverse=True)
|
||||
|
||||
output_langs(all_langs, "complete", lambda s : s == 1.0)
|
||||
output_langs(all_langs, "good", lambda s : 1.0 > s >= 0.75)
|
||||
output_langs(all_langs, "ok", lambda s : 0.75 > s >= 0.05)
|
||||
output_langs(all_langs, "bad", lambda s : 0.05 > s)
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
def main():
|
||||
cred = get_tx_credentials()
|
||||
if cred:
|
||||
return get_tx_stats(cred)
|
||||
else:
|
||||
print("! Could not find API token in ~/.transifexrc")
|
||||
return 1
|
||||
return 0
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
@ -18,7 +18,8 @@
|
||||
#
|
||||
###
|
||||
|
||||
find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED Xml )
|
||||
|
||||
add_executable(txload txload.cpp)
|
||||
target_link_libraries(txload Qt5::Xml)
|
||||
find_package(Qt5 COMPONENTS Xml)
|
||||
if( Qt5Xml_FOUND )
|
||||
add_executable(txload txload.cpp)
|
||||
target_link_libraries(txload Qt5::Xml)
|
||||
endif()
|
||||
|
@ -73,7 +73,7 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/utils/DebugWindow.ui" line="44"/>
|
||||
<source>Modules</source>
|
||||
<translation>الوحدا</translation>
|
||||
<translation>الوحدات</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/utils/DebugWindow.ui" line="57"/>
|
||||
@ -2834,7 +2834,7 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="290"/>
|
||||
<source>%1 support</source>
|
||||
<translation>1% الدعم</translation>
|
||||
<translation>%1 الدعم</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2774,7 +2774,7 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="122"/>
|
||||
<source>Total Sectors:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Общо сектори:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="142"/>
|
||||
|
@ -2746,7 +2746,7 @@ Ausgabe:
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="56"/>
|
||||
<source>Physical Extent Size:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Größe der Körpergröße:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="66"/>
|
||||
|
@ -720,22 +720,22 @@ Saldrá del instalador y se perderán todos los cambios.</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="38"/>
|
||||
<source>Create new volume group named %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Crear un nuevo grupo de volúmenes llamado %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="45"/>
|
||||
<source>Create new volume group named <strong>%1</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Crear un nuevo grupo de volúmenes llamado <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="52"/>
|
||||
<source>Creating new volume group named %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Creando un nuevo grupo de volúmenes llamado %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="65"/>
|
||||
<source>The installer failed to create a volume group named '%1'.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>El instalador falló en crear un grupo de volúmenes llamado '%1'.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -744,17 +744,17 @@ Saldrá del instalador y se perderán todos los cambios.</translation>
|
||||
<location filename="../src/modules/partition/jobs/DeactivateVolumeGroupJob.cpp" line="34"/>
|
||||
<location filename="../src/modules/partition/jobs/DeactivateVolumeGroupJob.cpp" line="48"/>
|
||||
<source>Deactivate volume group named %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Desactivar grupo de volúmenes llamado %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/DeactivateVolumeGroupJob.cpp" line="41"/>
|
||||
<source>Deactivate volume group named <strong>%1</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Desactivar grupo de volúmenes llamado <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/DeactivateVolumeGroupJob.cpp" line="61"/>
|
||||
<source>The installer failed to deactivate a volume group named %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>El instalador falló en desactivar el grupo de volúmenes llamado %1.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -823,7 +823,7 @@ Saldrá del instalador y se perderán todos los cambios.</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/DeviceModel.cpp" line="89"/>
|
||||
<source>%1 - (%2)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>%1-(%2)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1726,27 +1726,27 @@ Saldrá del instalador y se perderán todos los cambios.</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="132"/>
|
||||
<source>New Volume Group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nuevo grupo de volúmenes </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="139"/>
|
||||
<source>Resize Volume Group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Cambiar el tamaño del grupo de volúmenes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="146"/>
|
||||
<source>Deactivate Volume Group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Desactivar grupo de volúmenes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="153"/>
|
||||
<source>Remove Volume Group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Remover grupo de volúmenes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="180"/>
|
||||
<source>I&nstall boot loader on:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Instalar gestor de arranque en:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="217"/>
|
||||
@ -2034,12 +2034,12 @@ Salida:
|
||||
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="34"/>
|
||||
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="48"/>
|
||||
<source>Remove Volume Group named %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Remover grupo de volúmenes llamado %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="41"/>
|
||||
<source>Remove Volume Group named <strong>%1</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Remover grupo de volúmenes llamado <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="61"/>
|
||||
@ -2280,12 +2280,12 @@ Salida:
|
||||
<location filename="../src/modules/partition/jobs/ResizeVolumeGroupJob.cpp" line="37"/>
|
||||
<location filename="../src/modules/partition/jobs/ResizeVolumeGroupJob.cpp" line="55"/>
|
||||
<source>Resize volume group named %1 from %2 to %3.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Cambiar el tamaño del grupo de volúmenes llamado %1 de %2 a %3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/ResizeVolumeGroupJob.cpp" line="46"/>
|
||||
<source>Resize volume group named <strong>%1</strong> from <strong>%2</strong> to <strong>%3</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Cambiar el tamaño del grupo de volúmenes llamado <strong>%1</strong> de <strong>%2</strong> a <strong>%3</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/ResizeVolumeGroupJob.cpp" line="70"/>
|
||||
@ -2747,7 +2747,7 @@ Salida:
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="56"/>
|
||||
<source>Physical Extent Size:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Tamaño de sector físico:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="66"/>
|
||||
@ -2780,7 +2780,7 @@ Salida:
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="142"/>
|
||||
<source>Quantity of LVs:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Cantidad de LVs:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -192,17 +192,17 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="179"/>
|
||||
<source>Calamares Initialization Failed</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A Calamares előkészítése meghiúsult</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="180"/>
|
||||
<source>%1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A(z) %1 nem telepíthető. A Calamares nem tudta betölteni a konfigurált modulokat. Ez a probléma abból fakad, ahogy a disztribúció a Calamarest használja.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="185"/>
|
||||
<source><br/>The following modules could not be loaded:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><br/>A következő modulok nem tölthetőek be:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="277"/>
|
||||
@ -509,12 +509,12 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l
|
||||
<message>
|
||||
<location filename="../src/libcalamares/utils/CommandList.cpp" line="128"/>
|
||||
<source>The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A parancs a gazdakörnyezetben fut, és ismernie kell a gyökér útvonalát, de nincs rootMountPoint megadva.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/utils/CommandList.cpp" line="139"/>
|
||||
<source>The command needs to know the user's name, but no username is defined.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A parancsnak tudnia kell a felhasználónevet, de az nincs megadva.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -522,7 +522,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l
|
||||
<message>
|
||||
<location filename="../src/modules/contextualprocess/ContextualProcessJob.cpp" line="117"/>
|
||||
<source>Contextual Processes Job</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Környezetfüggő folyamatok feladat</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -560,7 +560,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="151"/>
|
||||
<source>LVM LV name</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>LVM LV név</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="188"/>
|
||||
@ -720,22 +720,22 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="38"/>
|
||||
<source>Create new volume group named %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Új kötetcsoport létrehozása: %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="45"/>
|
||||
<source>Create new volume group named <strong>%1</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Új kötetcsoport létrehozása: <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="52"/>
|
||||
<source>Creating new volume group named %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Új kötetcsoport létrehozása: %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="65"/>
|
||||
<source>The installer failed to create a volume group named '%1'.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A telepítő nem tudta létrehozni a kötetcsoportot: „%1”.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -744,17 +744,17 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l
|
||||
<location filename="../src/modules/partition/jobs/DeactivateVolumeGroupJob.cpp" line="34"/>
|
||||
<location filename="../src/modules/partition/jobs/DeactivateVolumeGroupJob.cpp" line="48"/>
|
||||
<source>Deactivate volume group named %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A kötetcsoport deaktiválása: %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/DeactivateVolumeGroupJob.cpp" line="41"/>
|
||||
<source>Deactivate volume group named <strong>%1</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Kötetcsoport deaktiválása: <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/DeactivateVolumeGroupJob.cpp" line="61"/>
|
||||
<source>The installer failed to deactivate a volume group named %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A telepítőnek nem sikerült deaktiválnia a kötetcsoportot: %1.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -823,7 +823,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/DeviceModel.cpp" line="89"/>
|
||||
<source>%1 - (%2)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>%1 – (%2)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -986,7 +986,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.ui" line="95"/>
|
||||
<source><html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><html><head/><body><p>Ha ez be van jelölve, akkor a rendszer azonnal újraindul, ha a <span style=" font-style:italic;">Kész</span>-re kattint, vagy bezárja a telepítőt.</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.ui" line="98"/>
|
||||
@ -1292,232 +1292,232 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="151"/>
|
||||
<source>Password is too weak</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó túl gyenge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="158"/>
|
||||
<source>Memory allocation error when setting '%1'</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Memóriafoglalási hiba a(z) „%1” beállításakor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="162"/>
|
||||
<source>Memory allocation error</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Memóriafoglalási hiba</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="164"/>
|
||||
<source>The password is the same as the old one</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó ugyanaz, mint a régi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="166"/>
|
||||
<source>The password is a palindrome</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó egy palindrom</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="168"/>
|
||||
<source>The password differs with case changes only</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó csak kis- és nagybetűben tér el</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="170"/>
|
||||
<source>The password is too similar to the old one</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó túlságosan hasonlít a régire</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="172"/>
|
||||
<source>The password contains the user name in some form</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó tartalmazza felhasználónevet valamilyen formában</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="174"/>
|
||||
<source>The password contains words from the real name of the user in some form</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó tartalmazza a felhasználó valódi nevét valamilyen formában</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="176"/>
|
||||
<source>The password contains forbidden words in some form</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó tiltott szavakat tartalmaz valamilyen formában</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="179"/>
|
||||
<source>The password contains less than %1 digits</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó kevesebb mint %1 számjegyet tartalmaz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="180"/>
|
||||
<source>The password contains too few digits</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó túl kevés számjegyet tartalmaz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="183"/>
|
||||
<source>The password contains less than %1 uppercase letters</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó kevesebb mint %1 nagybetűt tartalmaz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="184"/>
|
||||
<source>The password contains too few uppercase letters</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó túl kevés nagybetűt tartalmaz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="187"/>
|
||||
<source>The password contains less than %1 lowercase letters</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó kevesebb mint %1 kisbetűt tartalmaz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="188"/>
|
||||
<source>The password contains too few lowercase letters</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó túl kevés kisbetűt tartalmaz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="191"/>
|
||||
<source>The password contains less than %1 non-alphanumeric characters</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó kevesebb mint %1 nem alfanumerikus karaktert tartalmaz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="192"/>
|
||||
<source>The password contains too few non-alphanumeric characters</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó túl kevés nem alfanumerikus karaktert tartalmaz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="195"/>
|
||||
<source>The password is shorter than %1 characters</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó rövidebb mint %1 karakter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="196"/>
|
||||
<source>The password is too short</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó túl rövid</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="198"/>
|
||||
<source>The password is just rotated old one</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó egy újra felhasznált régi jelszó</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="201"/>
|
||||
<source>The password contains less than %1 character classes</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó kevesebb mint %1 karaktert tartalmaz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="202"/>
|
||||
<source>The password does not contain enough character classes</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó nem tartalmaz elég karakterosztályt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="205"/>
|
||||
<source>The password contains more than %1 same characters consecutively</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó több mint %1 egyező karaktert tartalmaz egymás után</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="206"/>
|
||||
<source>The password contains too many same characters consecutively</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó túl sok egyező karaktert tartalmaz egymás után</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="209"/>
|
||||
<source>The password contains more than %1 characters of the same class consecutively</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó több mint %1 karaktert tartalmaz ugyanabból a karakterosztályból egymás után</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="210"/>
|
||||
<source>The password contains too many characters of the same class consecutively</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó túl sok karaktert tartalmaz ugyanabból a karakterosztályból egymás után</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="213"/>
|
||||
<source>The password contains monotonic sequence longer than %1 characters</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó %1 karakternél hosszabb monoton sorozatot tartalmaz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="214"/>
|
||||
<source>The password contains too long of a monotonic character sequence</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó túl hosszú monoton karaktersorozatot tartalmaz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="216"/>
|
||||
<source>No password supplied</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nincs jelszó megadva</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="218"/>
|
||||
<source>Cannot obtain random numbers from the RNG device</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nem nyerhetőek ki véletlenszámok az RNG eszközből</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="220"/>
|
||||
<source>Password generation failed - required entropy too low for settings</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó előállítás meghiúsult – a szükséges entrópia túl alacsony a beállításokhoz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="225"/>
|
||||
<source>The password fails the dictionary check - %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó megbukott a szótárellenőrzésen – %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="227"/>
|
||||
<source>The password fails the dictionary check</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A jelszó megbukott a szótárellenőrzésen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="231"/>
|
||||
<source>Unknown setting - %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ismeretlen beállítás – %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="235"/>
|
||||
<source>Unknown setting</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ismeretlen beállítás</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="239"/>
|
||||
<source>Bad integer value of setting - %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Hibás egész érték a beállításnál – %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="243"/>
|
||||
<source>Bad integer value</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Hibás egész érték</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="247"/>
|
||||
<source>Setting %1 is not of integer type</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A(z) %1 beállítás nem egész típusú</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="251"/>
|
||||
<source>Setting is not of integer type</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A beállítás nem egész típusú</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="255"/>
|
||||
<source>Setting %1 is not of string type</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A(z) %1 beállítás nem karakterlánc típusú</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="259"/>
|
||||
<source>Setting is not of string type</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A beállítás nem karakterlánc típusú</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="261"/>
|
||||
<source>Opening the configuration file failed</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A konfigurációs fájl megnyitása meghiúsult</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="263"/>
|
||||
<source>The configuration file is malformed</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A konfigurációs fájl rosszul formázott</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="265"/>
|
||||
<source>Fatal failure</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Végzetes hiba</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="267"/>
|
||||
<source>Unknown error</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ismeretlen hiba</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1711,7 +1711,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="107"/>
|
||||
<source>Cre&ate</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>&Létrehozás</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="114"/>
|
||||
@ -1726,27 +1726,27 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="132"/>
|
||||
<source>New Volume Group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Új kötetcsoport</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="139"/>
|
||||
<source>Resize Volume Group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Kötetcsoport átméretezése</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="146"/>
|
||||
<source>Deactivate Volume Group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Kötetcsoport deaktiválása</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="153"/>
|
||||
<source>Remove Volume Group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Kötetcsoport eltávolítása</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="180"/>
|
||||
<source>I&nstall boot loader on:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Rendszerbetöltő &telepítése ide:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="217"/>
|
||||
@ -1756,12 +1756,12 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="241"/>
|
||||
<source>Can not create new partition</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nem hozható létre új partíció</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="242"/>
|
||||
<source>The partition table on %1 already has %2 primary partitions, and no more can be added. Please remove one primary partition and add an extended partition, instead.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A(z) %1 lemezen lévő partíciós táblában már %2 elsődleges partíció van, és több nem adható hozzá. Helyette távolítson el egy elsődleges partíciót, és adjon hozzá egy kiterjesztett partíciót.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1867,13 +1867,13 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l
|
||||
<message>
|
||||
<location filename="../src/modules/plasmalnf/PlasmaLnfJob.cpp" line="41"/>
|
||||
<source>Plasma Look-and-Feel Job</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Plasma kinézet feladat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/plasmalnf/PlasmaLnfJob.cpp" line="73"/>
|
||||
<location filename="../src/modules/plasmalnf/PlasmaLnfJob.cpp" line="74"/>
|
||||
<source>Could not select KDE Plasma Look-and-Feel package</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A KDE Plasma kinézeti csomag nem válaszható ki</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1891,7 +1891,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l
|
||||
<message>
|
||||
<location filename="../src/modules/plasmalnf/PlasmaLnfPage.cpp" line="67"/>
|
||||
<source>Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. Clicking on a look-and-feel selection will give you a live preview of that look-and-feel.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Válasszon egy kinézetet a KDE Plasma asztali környezethez. Ki is hagyhatja ezt a lépést, és beállíthatja a kinézetet, ha a telepítés elkészült. A kinézetválasztóra kattintva élő előnézetet kaphat a kinézetről.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1899,7 +1899,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l
|
||||
<message>
|
||||
<location filename="../src/modules/plasmalnf/PlasmaLnfViewStep.cpp" line="68"/>
|
||||
<source>Look-and-Feel</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Kinézet</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1907,17 +1907,17 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l
|
||||
<message>
|
||||
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="85"/>
|
||||
<source>Saving files for later ...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Fájlok mentése későbbre …</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="123"/>
|
||||
<source>No files configured to save for later.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nincsenek fájlok beállítva elmentésre későbbre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="177"/>
|
||||
<source>Not all of the configured files could be preserved.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nem az összes beállított fájl örízhető meg.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1926,14 +1926,17 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l
|
||||
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="271"/>
|
||||
<source>
|
||||
There was no output from the command.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>
|
||||
A parancsnak nem volt kimenete.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="272"/>
|
||||
<source>
|
||||
Output:
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>
|
||||
Kimenet:
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="275"/>
|
||||
@ -1948,17 +1951,17 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="281"/>
|
||||
<source>External command failed to start.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A külső parancsot nem sikerült elindítani.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="282"/>
|
||||
<source>Command <i>%1</i> failed to start.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A(z) <i>%1</i> parancsot nem sikerült elindítani.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="286"/>
|
||||
<source>Internal error when starting command.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Belső hiba a parancs végrehajtásakor.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="287"/>
|
||||
@ -1973,17 +1976,17 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="291"/>
|
||||
<source>Command <i>%1</i> failed to finish in %2 seconds.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A(z) <i>%1</i> parancsot nem sikerült befejezni %2 másodperc alatt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="297"/>
|
||||
<source>External command finished with errors.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A külső parancs hibával fejeződött be.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="298"/>
|
||||
<source>Command <i>%1</i> finished with exit code %2.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A(z) <i>%1</i> parancs hibakóddal lépett ki: %2.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2031,17 +2034,17 @@ Output:
|
||||
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="34"/>
|
||||
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="48"/>
|
||||
<source>Remove Volume Group named %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A kötetcsoport eltávolítása: %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="41"/>
|
||||
<source>Remove Volume Group named <strong>%1</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Kötetcsoport eltávolítása: <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="61"/>
|
||||
<source>The installer failed to remove a volume group named '%1'.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A telepítő nem tudta eltávolítani a kötetcsoportot: „%1”.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2182,29 +2185,29 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="130"/>
|
||||
<source>Resize Filesystem Job</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Fájlrendszer átméretezési feladat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="238"/>
|
||||
<source>Invalid configuration</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Érvénytelen konfiguráció</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="239"/>
|
||||
<source>The file-system resize job has an invalid configuration and will not run.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A fájlrendszer átméretezési feladat konfigurációja érvénytelen, és nem fog futni.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="253"/>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="263"/>
|
||||
<source>KPMCore not Available</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A KPMCore nem érhető el</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="254"/>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="264"/>
|
||||
<source>Calamares cannot start KPMCore for the file-system resize job.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A Calamares nem tudja elindítani a KPMCore-t a fájlrendszer átméretezési feladathoz.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="272"/>
|
||||
@ -2213,39 +2216,39 @@ Output:
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="303"/>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="320"/>
|
||||
<source>Resize Failed</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Az átméretezés meghiúsult</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="273"/>
|
||||
<source>The filesystem %1 could not be found in this system, and cannot be resized.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A(z) %1 fájlrendszer nem található a rendszeren, és nem méretezhető át.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="274"/>
|
||||
<source>The device %1 could not be found in this system, and cannot be resized.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A(z) %1 eszköz nem található a rendszeren, és nem méretezhető át.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="282"/>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="295"/>
|
||||
<source>The filesystem %1 cannot be resized.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A(z) %1 fájlrendszer nem méretezhető át.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="283"/>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="296"/>
|
||||
<source>The device %1 cannot be resized.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A(z) %1 eszköz nem méretezhető át.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="304"/>
|
||||
<source>The filesystem %1 must be resized, but cannot.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A(z) %1 fájlrendszert át kell méretezni, de nem lehet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="305"/>
|
||||
<source>The device %1 must be resized, but cannot</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A(z) %1 eszközt át kell méretezni, de nem lehet</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2277,17 +2280,17 @@ Output:
|
||||
<location filename="../src/modules/partition/jobs/ResizeVolumeGroupJob.cpp" line="37"/>
|
||||
<location filename="../src/modules/partition/jobs/ResizeVolumeGroupJob.cpp" line="55"/>
|
||||
<source>Resize volume group named %1 from %2 to %3.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A(z) %1 kötet átméretezése ekkoráról: %2, ekkorára: %3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/ResizeVolumeGroupJob.cpp" line="46"/>
|
||||
<source>Resize volume group named <strong>%1</strong> from <strong>%2</strong> to <strong>%3</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A(z) <strong>%1</strong> kötet átméretezése ekkoráról: <strong>%2</strong>, ekkorára: <strong>%3</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/ResizeVolumeGroupJob.cpp" line="70"/>
|
||||
<source>The installer failed to resize a volume group named '%1'.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A telepítő nem tudta átméretezni a kötetcsoportot: „%1”.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2532,7 +2535,7 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/shellprocess/ShellProcessJob.cpp" line="51"/>
|
||||
<source>Shell Processes Job</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Parancssori folyamatok feladat</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2541,7 +2544,7 @@ Output:
|
||||
<location filename="../src/qml/calamares/slideshow/SlideCounter.qml" line="36"/>
|
||||
<source>%L1 / %L2</source>
|
||||
<extracomment>slide counter, %1 of %2 (numeric)</extracomment>
|
||||
<translation type="unfinished"/>
|
||||
<translation>%L1 / %L2</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2725,27 +2728,27 @@ Calamares hiba %1.</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="14"/>
|
||||
<source>VolumeGroupDialog</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Kötetcsoport párbeszédablak</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="20"/>
|
||||
<source>List of Physical Volumes</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Fizikai kötetek listája</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="30"/>
|
||||
<source>Volume Group Name:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Kötetcsoport neve:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="43"/>
|
||||
<source>Volume Group Type:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Kötetcsoport típusa:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="56"/>
|
||||
<source>Physical Extent Size:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Fizikai kiterjedés mérete:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="66"/>
|
||||
@ -2755,7 +2758,7 @@ Calamares hiba %1.</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="82"/>
|
||||
<source>Total Size:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Teljes méret:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="92"/>
|
||||
@ -2763,22 +2766,22 @@ Calamares hiba %1.</translation>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="132"/>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="152"/>
|
||||
<source>---</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>---</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="102"/>
|
||||
<source>Used Size:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Használt méret:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="122"/>
|
||||
<source>Total Sectors:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Szektorok összesen:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="142"/>
|
||||
<source>Quantity of LVs:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Logkai kötetek száma:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2831,7 +2834,7 @@ Calamares hiba %1.</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="75"/>
|
||||
<source><h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Köszönet: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg és a <a href="https://www.transifex.com/calamares/calamares/">Calamares fordítócsapat</a>.<br/><br/>A <a href="https://calamares.io/">Calamares</a> fejlesztését a <br/><a href="http://www.blue-systems.com/">Blue Systems</a> támogatja.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="290"/>
|
||||
|
@ -9,12 +9,12 @@
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/BootInfoWidget.cpp" line="79"/>
|
||||
<source>This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own.</source>
|
||||
<translation>Sistem ini telah dimulai dengan lingkungan boot <strong>EFI</strong>.<br><br>Untuk mengkonfigurasi startup dari lingkungan EFI, pemasang ini seharusnya memaparkan sebuah aplikasi boot loader, seperti <strong>GRUB</strong> atau <strong>systemd-boot</strong> pada sebuah <strong>EFI System Partition</strong>. Ini adalah otomatis, kecuali kalau kamu memilih pemartisian manual, dalam beberapa kasus kamu harus memilihnya atau menciptakannya pada milikmu.</translation>
|
||||
<translation>Sistem ini telah dimulai dengan lingkungan boot <strong>EFI</strong>.<br><br>Untuk mengkonfigurasi startup dari lingkungan EFI, installer ini seharusnya memaparkan sebuah aplikasi boot loader, seperti <strong>GRUB</strong> atau <strong>systemd-boot</strong> pada sebuah <strong>EFI System Partition</strong>. Ini adalah otomatis, kecuali kalau kamu memilih pemartisian manual, dalam beberapa kasus kamu harus memilihnya atau menciptakannya pada milikmu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/BootInfoWidget.cpp" line="91"/>
|
||||
<source>This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own.</source>
|
||||
<translation>Sistem ini dimulai dengan sebuah lingkungan boot <strong>BIOS</strong>.<br><br>Untuk mengkonfigurasi startup dari sebuah lingkungan BIOS, pemasang ini seharusnya memasang sebuah boot loader, seperti <strong>GRUB</strong>, baik di awal partisi atau pada <strong>Master Boot Record</strong> di dekat awalan tabel partisi (yang disukai). Ini adalah otomatis, kecuali kalau kamu memilih pemartisian manual, dalam beberapa kasus kamu harus menyetelnya pada milikmu.</translation>
|
||||
<translation>Sistem ini dimulai dengan sebuah lingkungan boot <strong>BIOS</strong>.<br><br>Untuk mengkonfigurasi startup dari sebuah lingkungan BIOS, installer ini seharusnya memasang sebuah boot loader, seperti <strong>GRUB</strong>, baik di awal partisi atau pada <strong>Master Boot Record</strong> di dekat awalan tabel partisi (yang disukai). Ini adalah otomatis, kecuali kalau kamu memilih pemartisian manual, dalam beberapa kasus kamu harus menyetelnya pada milikmu.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -37,7 +37,7 @@
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="111"/>
|
||||
<source>Do not install a boot loader</source>
|
||||
<translation>Jangan pasang boot loader</translation>
|
||||
<translation>Jangan instal boot loader</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="125"/>
|
||||
@ -107,7 +107,7 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ExecutionViewStep.cpp" line="79"/>
|
||||
<source>Install</source>
|
||||
<translation>Pasang</translation>
|
||||
<translation>Instal</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -187,7 +187,7 @@
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="77"/>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="289"/>
|
||||
<source>Cancel installation without changing the system.</source>
|
||||
<translation>Batal pemasangan tanpa mengubah sistem yang ada.</translation>
|
||||
<translation>Batalkan instalasi tanpa mengubah sistem yang ada.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="179"/>
|
||||
@ -197,7 +197,7 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="180"/>
|
||||
<source>%1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution.</source>
|
||||
<translation>%1 tidak dapat terpasang. Calamares tidak dapat memuat seluruh modul konfigurasi. Terdapat masalah dengan Calamares karena sedang digunakan oleh distribusi.</translation>
|
||||
<translation>%1 tidak dapat terinstal. Calamares tidak dapat memuat seluruh modul konfigurasi. Terdapat masalah dengan Calamares karena sedang digunakan oleh distribusi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="185"/>
|
||||
@ -207,19 +207,19 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="277"/>
|
||||
<source>&Install</source>
|
||||
<translation>&Pasang</translation>
|
||||
<translation>&Instal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="325"/>
|
||||
<source>Cancel installation?</source>
|
||||
<translation>Batalkan pemasangan?</translation>
|
||||
<translation>Batalkan instalasi?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="326"/>
|
||||
<source>Do you really want to cancel the current install process?
|
||||
The installer will quit and all changes will be lost.</source>
|
||||
<translation>Apakah Anda benar-benar ingin membatalkan proses pemasangan ini?
|
||||
Pemasangan akan ditutup dan semua perubahan akan hilang.</translation>
|
||||
<translation>Apakah Anda benar-benar ingin membatalkan proses instalasi ini?
|
||||
Instalasi akan ditutup dan semua perubahan akan hilang.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="331"/>
|
||||
@ -244,12 +244,12 @@ Pemasangan akan ditutup dan semua perubahan akan hilang.</translation>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="238"/>
|
||||
<source>The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong></source>
|
||||
<translation>Pemasang %1 akan membuat perubahan ke disk Anda untuk memasang %2.<br/><strong>Anda tidak dapat membatalkan perubahan tersebut.</strong></translation>
|
||||
<translation>Installer %1 akan membuat perubahan ke disk Anda untuk memasang %2.<br/><strong>Anda tidak dapat membatalkan perubahan tersebut.</strong></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="243"/>
|
||||
<source>&Install now</source>
|
||||
<translation>&Pasang sekarang</translation>
|
||||
<translation>&Instal sekarang</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="244"/>
|
||||
@ -264,7 +264,7 @@ Pemasangan akan ditutup dan semua perubahan akan hilang.</translation>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="284"/>
|
||||
<source>The installation is complete. Close the installer.</source>
|
||||
<translation>Pemasangan sudah lengkap. Tutup pemasang.</translation>
|
||||
<translation>Instalasi sudah lengkap. Tutup installer.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="160"/>
|
||||
@ -274,7 +274,7 @@ Pemasangan akan ditutup dan semua perubahan akan hilang.</translation>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="161"/>
|
||||
<source>Installation Failed</source>
|
||||
<translation>Pemasangan Gagal</translation>
|
||||
<translation>Instalasi Gagal</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -305,7 +305,7 @@ Pemasangan akan ditutup dan semua perubahan akan hilang.</translation>
|
||||
<message>
|
||||
<location filename="../src/calamares/CalamaresWindow.cpp" line="44"/>
|
||||
<source>%1 Installer</source>
|
||||
<translation>Pemasang %1</translation>
|
||||
<translation>Installer %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/calamares/CalamaresWindow.cpp" line="111"/>
|
||||
@ -319,13 +319,13 @@ Pemasangan akan ditutup dan semua perubahan akan hilang.</translation>
|
||||
<location filename="../src/modules/welcome/checker/CheckerWidget.cpp" line="96"/>
|
||||
<source>This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a></source>
|
||||
<translation>Komputer ini tidak memenuhi syarat minimum untuk memasang %1.
|
||||
Pemasang tidak dapat dilanjutkan. <a href="</translation>
|
||||
Installer tidak dapat dilanjutkan. <a href="</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/CheckerWidget.cpp" line="113"/>
|
||||
<source>This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled.</source>
|
||||
<translation>Komputer ini tidak memenuhi beberapa syarat yang dianjurkan untuk memasang %1.
|
||||
Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</translation>
|
||||
Instalasi dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/CheckerWidget.cpp" line="151"/>
|
||||
@ -437,7 +437,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1292"/>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1316"/>
|
||||
<source><strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1.</source>
|
||||
<translation><strong>Pasang berdampingan dengan</strong><br/>Pemasang akan mengiris sebuah partisi untuk memberi ruang bagi %1.</translation>
|
||||
<translation><strong>Instal berdampingan dengan</strong><br/>Installer akan mengiris sebuah partisi untuk memberi ruang bagi %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1245"/>
|
||||
@ -624,7 +624,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="79"/>
|
||||
<source>The installer failed to create partition on disk '%1'.</source>
|
||||
<translation>Pemasang gagal untuk membuat partisi di disk '%1'.</translation>
|
||||
<translation>Installer gagal untuk membuat partisi di disk '%1'.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -675,7 +675,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreatePartitionTableJob.cpp" line="82"/>
|
||||
<source>The installer failed to create a partition table on %1.</source>
|
||||
<translation>Pemasang gagal membuat tabel partisi pada %1.</translation>
|
||||
<translation>Installer gagal membuat tabel partisi pada %1.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -721,22 +721,22 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="38"/>
|
||||
<source>Create new volume group named %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ciptakan grup volume baru bernama %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="45"/>
|
||||
<source>Create new volume group named <strong>%1</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ciptakan grup volume baru bernama <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="52"/>
|
||||
<source>Creating new volume group named %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Menciptakan grup volume baru bernama %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="65"/>
|
||||
<source>The installer failed to create a volume group named '%1'.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Installer gagal menciptakan sebuah grup volume bernama '%1'.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -745,17 +745,17 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<location filename="../src/modules/partition/jobs/DeactivateVolumeGroupJob.cpp" line="34"/>
|
||||
<location filename="../src/modules/partition/jobs/DeactivateVolumeGroupJob.cpp" line="48"/>
|
||||
<source>Deactivate volume group named %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nonaktifkan grup volume bernama %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/DeactivateVolumeGroupJob.cpp" line="41"/>
|
||||
<source>Deactivate volume group named <strong>%1</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nonaktifkan grup volume bernama <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/DeactivateVolumeGroupJob.cpp" line="61"/>
|
||||
<source>The installer failed to deactivate a volume group named %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Installer gagal menonaktifkan sebuah grup volume bernama %1.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -778,7 +778,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/DeletePartitionJob.cpp" line="68"/>
|
||||
<source>The installer failed to delete partition %1.</source>
|
||||
<translation>Pemasang gagal untuk menghapus partisi %1.</translation>
|
||||
<translation>Installer gagal untuk menghapus partisi %1.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -786,7 +786,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="150"/>
|
||||
<source>The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred.</source>
|
||||
<translation>Tipe dari <strong>tabel partisi</strong> pada perangkat penyimpanan terpilih.<br><br>Satu-satunya cara untuk mengubah tabel partisi adalah dengan menyetip dan menciptakan ulang tabel partisi dari awal, yang melenyapkan semua data pada perangkat penyimpanan.<br>Pemasang ini akan menjaga tabel partisi saat ini kecuali kamu secara gamblang memilih sebaliknya.<br>Jika tidak yakin, pada sistem GPT modern lebih disukai.</translation>
|
||||
<translation>Tipe dari <strong>tabel partisi</strong> pada perangkat penyimpanan terpilih.<br><br>Satu-satunya cara untuk mengubah tabel partisi adalah dengan menyetip dan menciptakan ulang tabel partisi dari awal, yang melenyapkan semua data pada perangkat penyimpanan.<br>Installer ini akan menjaga tabel partisi saat ini kecuali kamu secara gamblang memilih sebaliknya.<br>Jika tidak yakin, pada sistem GPT modern lebih disukai.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="107"/>
|
||||
@ -801,7 +801,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="121"/>
|
||||
<source>This installer <strong>cannot detect a partition table</strong> on the selected storage device.<br><br>The device either has no partition table, or the partition table is corrupted or of an unknown type.<br>This installer can create a new partition table for you, either automatically, or through the manual partitioning page.</source>
|
||||
<translation>Pemasang <strong>tidak bisa mendeteksi tabel partisi apapun</strong> pada media penyimpanan terpilih.<br><br>Mungkin media ini tidak memiliki tabel partisi, atau tabel partisi yang ada telah korup atau tipenya tidak dikenal.<br>Pemasang dapat membuatkan partisi baru untuk Anda, baik secara otomatis atau melalui laman pemartisian manual.</translation>
|
||||
<translation>Installer <strong>tidak bisa mendeteksi tabel partisi apapun</strong> pada media penyimpanan terpilih.<br><br>Mungkin media ini tidak memiliki tabel partisi, atau tabel partisi yang ada telah korup atau tipenya tidak dikenal.<br>Installer dapat membuatkan partisi baru untuk Anda, baik secara otomatis atau melalui laman pemartisian manual.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="131"/>
|
||||
@ -824,7 +824,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/DeviceModel.cpp" line="89"/>
|
||||
<source>%1 - (%2)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>%1 - (%2)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -949,7 +949,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="156"/>
|
||||
<source>Install %1 on <strong>new</strong> %2 system partition.</source>
|
||||
<translation>Pasang %1 pada partisi sistem %2 <strong>baru</strong></translation>
|
||||
<translation>Instal %1 pada partisi sistem %2 <strong>baru</strong></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="160"/>
|
||||
@ -959,7 +959,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="168"/>
|
||||
<source>Install %2 on %3 system partition <strong>%1</strong>.</source>
|
||||
<translation>Pasang %2 pada sistem partisi %3 <strong>%1</strong>.</translation>
|
||||
<translation>Instal %2 pada sistem partisi %3 <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="173"/>
|
||||
@ -969,7 +969,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="185"/>
|
||||
<source>Install boot loader on <strong>%1</strong>.</source>
|
||||
<translation>Pasang boot loader di <strong>%1</strong>.</translation>
|
||||
<translation>Instal boot loader di <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="195"/>
|
||||
@ -987,7 +987,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.ui" line="95"/>
|
||||
<source><html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html></source>
|
||||
<translation>Ketika kotak ini dicentang, sistem kamu akan segera dimulai kembali saat mengklik Selesai atau menutup pemasang.</translation>
|
||||
<translation>Ketika kotak ini dicentang, sistem kamu akan segera dimulai kembali saat mengklik Selesai atau menutup installer.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.ui" line="98"/>
|
||||
@ -997,12 +997,12 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.cpp" line="51"/>
|
||||
<source><h1>All done.</h1><br/>%1 has been installed on your computer.<br/>You may now restart into your new system, or continue using the %2 Live environment.</source>
|
||||
<translation><h1>Selesai.</h1><br>%1 sudah terpasang di komputer Anda.<br/>Anda dapat memulai ulang ke sistem baru atau lanjut menggunakan lingkungan Live %2.</translation>
|
||||
<translation><h1>Selesai.</h1><br>%1 sudah terinstal di komputer Anda.<br/>Anda dapat memulai ulang ke sistem baru atau lanjut menggunakan lingkungan Live %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.cpp" line="109"/>
|
||||
<source><h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2.</source>
|
||||
<translation><h1>Pemasangan Gagal</h1><br/>%1 tidak bisa dipasang pada komputermu.<br/>Pesan galatnya adalah: %2.</translation>
|
||||
<translation><h1>Instalasi Gagal</h1><br/>%1 tidak bisa diinstal pada komputermu.<br/>Pesan galatnya adalah: %2.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1015,12 +1015,12 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedViewStep.cpp" line="124"/>
|
||||
<source>Installation Complete</source>
|
||||
<translation>Pemasangan Lengkap</translation>
|
||||
<translation>Instalasi Lengkap</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedViewStep.cpp" line="125"/>
|
||||
<source>The installation of %1 is complete.</source>
|
||||
<translation>Pemasangan %1 telah lengkap.</translation>
|
||||
<translation>Instalasi %1 telah lengkap.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1043,7 +1043,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/FormatPartitionJob.cpp" line="77"/>
|
||||
<source>The installer failed to format partition %1 on disk '%2'.</source>
|
||||
<translation>Pemasang gagal memformat partisi %1 pada disk '%2'.'%2'.</translation>
|
||||
<translation>Installer gagal memformat partisi %1 pada disk '%2'.'%2'.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1051,12 +1051,12 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/interactiveterminal/InteractiveTerminalPage.cpp" line="53"/>
|
||||
<source>Konsole not installed</source>
|
||||
<translation>Konsole tidak terpasang</translation>
|
||||
<translation>Konsole tidak terinstal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/interactiveterminal/InteractiveTerminalPage.cpp" line="54"/>
|
||||
<source>Please install KDE Konsole and try again!</source>
|
||||
<translation>Silahkan pasang KDE Konsole dan ulangi lagi!</translation>
|
||||
<translation>Silahkan instal KDE Konsole dan ulangi lagi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/interactiveterminal/InteractiveTerminalPage.cpp" line="116"/>
|
||||
@ -1146,7 +1146,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/license/LicensePage.cpp" line="130"/>
|
||||
<source>Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead.</source>
|
||||
<translation>Mohon periksa End User License Agreements(EULA) di atas.<br/>Bila Anda tidak setuju, perangkat lunak proprietary tidak akan dipasang, dan alternatif open source akan dipasang sebagai gantinya </translation>
|
||||
<translation>Mohon periksa End User License Agreements(EULA) di atas.<br/>Bila Anda tidak setuju, perangkat lunak proprietary tidak akan diinstal, dan alternatif open source akan diinstal sebagai gantinya </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/license/LicensePage.cpp" line="160"/>
|
||||
@ -1262,12 +1262,12 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/netinstall/NetInstallPage.cpp" line="86"/>
|
||||
<source>Network Installation. (Disabled: Unable to fetch package lists, check your network connection)</source>
|
||||
<translation>Pemasangan Jaringan. (Dinonfungsikan: Tak mampu menarik daftar paket, periksa sambungan jaringanmu)</translation>
|
||||
<translation>Instalasi Jaringan. (Dinonfungsikan: Tak mampu menarik daftar paket, periksa sambungan jaringanmu)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/netinstall/NetInstallPage.cpp" line="96"/>
|
||||
<source>Network Installation. (Disabled: Received invalid groups data)</source>
|
||||
<translation>Pemasangan jaringan. (Menonaktifkan: Penerimaan kelompok data yang tidak sah)</translation>
|
||||
<translation>Instalasi jaringan. (Menonaktifkan: Penerimaan kelompok data yang tidak sah)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1566,7 +1566,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="200"/>
|
||||
<source><small>If more than one person will use this computer, you can set up multiple accounts after installation.</small></source>
|
||||
<translation><small>Jika lebih dari satu orang akan menggunakan komputer ini, Anda dapat mengatur beberapa akun setelah pemasangan.</small></translation>
|
||||
<translation><small>Jika lebih dari satu orang akan menggunakan komputer ini, Anda dapat mengatur beberapa akun setelah instalasi.</small></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="335"/>
|
||||
@ -1727,27 +1727,27 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="132"/>
|
||||
<source>New Volume Group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Grup Volume Baru</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="139"/>
|
||||
<source>Resize Volume Group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ubah-ukuran Grup Volume</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="146"/>
|
||||
<source>Deactivate Volume Group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nonaktifkan Grup Volume</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="153"/>
|
||||
<source>Remove Volume Group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Hapus Grup Volume</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="180"/>
|
||||
<source>I&nstall boot loader on:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>I&nstal boot loader di:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="217"/>
|
||||
@ -1780,12 +1780,12 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="159"/>
|
||||
<source>Install %1 <strong>alongside</strong> another operating system.</source>
|
||||
<translation>Pasang %1 <strong>berdampingan</strong> dengan sistem operasi lain.</translation>
|
||||
<translation>Instal %1 <strong>berdampingan</strong> dengan sistem operasi lain.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="163"/>
|
||||
<source><strong>Erase</strong> disk and install %1.</source>
|
||||
<translation><strong>Hapus</strong> diska dan pasang %1.</translation>
|
||||
<translation><strong>Hapus</strong> diska dan instal %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="167"/>
|
||||
@ -1800,12 +1800,12 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="185"/>
|
||||
<source>Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3).</source>
|
||||
<translation>Pasang %1 <strong>berdampingan</strong> dengan sistem operasi lain di disk <strong>%2</strong> (%3).</translation>
|
||||
<translation>Instal %1 <strong>berdampingan</strong> dengan sistem operasi lain di disk <strong>%2</strong> (%3).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="191"/>
|
||||
<source><strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1.</source>
|
||||
<translation><strong>Hapus</strong> diska <strong>%2</strong> (%3) dan pasang %1.</translation>
|
||||
<translation><strong>Hapus</strong> diska <strong>%2</strong> (%3) dan instal %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="197"/>
|
||||
@ -1892,7 +1892,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.</transla
|
||||
<message>
|
||||
<location filename="../src/modules/plasmalnf/PlasmaLnfPage.cpp" line="67"/>
|
||||
<source>Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. Clicking on a look-and-feel selection will give you a live preview of that look-and-feel.</source>
|
||||
<translation>Silakan pilih sebuah look-and-feel untuk KDE Plasma Desktop. Anda juga dapat melewati langkah ini dan konfigurasi look-and-feel sekali ketika sistem terpasang. Mengeklik pilihan look-and-feel akan memberi Anda pratinjau langsung dari look-and-feel.</translation>
|
||||
<translation>Silakan pilih sebuah look-and-feel untuk KDE Plasma Desktop. Anda juga dapat melewati langkah ini dan konfigurasi look-and-feel setelah sistem terinstal. Mengeklik pilihan look-and-feel akan memberi Anda pratinjau langsung pada look-and-feel tersebut.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2035,17 +2035,17 @@ Keluaran:
|
||||
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="34"/>
|
||||
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="48"/>
|
||||
<source>Remove Volume Group named %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Hapus Grup Volume bernama %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="41"/>
|
||||
<source>Remove Volume Group named <strong>%1</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Hapus Grup Volume bernama <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="61"/>
|
||||
<source>The installer failed to remove a volume group named '%1'.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Installer gagal menghapus sebuah grup volume bernama '%1'.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2058,7 +2058,7 @@ Keluaran:
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="134"/>
|
||||
<source>Select where to install %1.<br/><font color="red">Warning: </font>this will delete all files on the selected partition.</source>
|
||||
<translation>Pilih tempat pemasangan %1.<br/><font color="red">Peringatan: </font>hal ini akan menghapus semua berkas di partisi terpilih.</translation>
|
||||
<translation>Pilih tempat instalasi %1.<br/><font color="red">Peringatan: </font>hal ini akan menghapus semua berkas di partisi terpilih.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="160"/>
|
||||
@ -2068,17 +2068,17 @@ Keluaran:
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="168"/>
|
||||
<source>%1 cannot be installed on empty space. Please select an existing partition.</source>
|
||||
<translation>%1 tidak dapat dipasang di ruang kosong. Mohon pilih partisi yang tersedia.</translation>
|
||||
<translation>%1 tidak dapat diinstal di ruang kosong. Mohon pilih partisi yang tersedia.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="178"/>
|
||||
<source>%1 cannot be installed on an extended partition. Please select an existing primary or logical partition.</source>
|
||||
<translation>%1 tidak bisa dipasang pada Partisi Extended. Mohon pilih Partisi Primary atau Logical yang tersedia.</translation>
|
||||
<translation>%1 tidak bisa diinstal pada Partisi Extended. Mohon pilih Partisi Primary atau Logical yang tersedia.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="188"/>
|
||||
<source>%1 cannot be installed on this partition.</source>
|
||||
<translation>%1 tidak dapat dipasang di partisi ini.</translation>
|
||||
<translation>%1 tidak dapat diinstal di partisi ini.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="194"/>
|
||||
@ -2110,7 +2110,7 @@ Keluaran:
|
||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="278"/>
|
||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="302"/>
|
||||
<source><strong>%3</strong><br/><br/>%1 will be installed on %2.<br/><font color="red">Warning: </font>all data on partition %2 will be lost.</source>
|
||||
<translation><strong>%3</strong><br/><br/>%1 akan dipasang pada %2.<br/><font color="red">Peringatan: </font>seluruh data %2 akan hilang.</translation>
|
||||
<translation><strong>%3</strong><br/><br/>%1 akan diinstal pada %2.<br/><font color="red">Peringatan: </font>seluruh data %2 akan hilang.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="270"/>
|
||||
@ -2173,12 +2173,12 @@ Keluaran:
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/RequirementsChecker.cpp" line="155"/>
|
||||
<source>The installer is not running with administrator rights.</source>
|
||||
<translation>Pemasang tidak dijalankan dengan kewenangan administrator.</translation>
|
||||
<translation>Installer tidak dijalankan dengan kewenangan administrator.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/RequirementsChecker.cpp" line="163"/>
|
||||
<source>The screen is too small to display the installer.</source>
|
||||
<translation>Layar terlalu kecil untuk menampilkan pemasang.</translation>
|
||||
<translation>Layar terlalu kecil untuk menampilkan installer.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2186,29 +2186,29 @@ Keluaran:
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="130"/>
|
||||
<source>Resize Filesystem Job</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Tugas Ubah-ukuran Filesystem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="238"/>
|
||||
<source>Invalid configuration</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Konfigurasi taksah</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="239"/>
|
||||
<source>The file-system resize job has an invalid configuration and will not run.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Tugas pengubahan ukuran filesystem mempunyai sebuah konfigurasi yang taksah dan tidak akan berjalan.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="253"/>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="263"/>
|
||||
<source>KPMCore not Available</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>KPMCore tidak Tersedia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="254"/>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="264"/>
|
||||
<source>Calamares cannot start KPMCore for the file-system resize job.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Calamares gak bisa menjalankan KPMCore untuk tugas pengubahan ukuran filesystem.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="272"/>
|
||||
@ -2217,39 +2217,39 @@ Keluaran:
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="303"/>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="320"/>
|
||||
<source>Resize Failed</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Pengubahan Ukuran, Gagal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="273"/>
|
||||
<source>The filesystem %1 could not be found in this system, and cannot be resized.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Filesystem %1 enggak ditemukan dalam sistem ini, dan gak bisa diubahukurannya.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="274"/>
|
||||
<source>The device %1 could not be found in this system, and cannot be resized.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Perangkat %1 enggak ditemukan dalam sistem ini, dan gak bisa diubahukurannya.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="282"/>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="295"/>
|
||||
<source>The filesystem %1 cannot be resized.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Filesystem %1 gak bisa diubahukurannya.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="283"/>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="296"/>
|
||||
<source>The device %1 cannot be resized.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Perangkat %1 gak bisa diubahukurannya.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="304"/>
|
||||
<source>The filesystem %1 must be resized, but cannot.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Filesystem %1 mestinya bisa diubahukurannya, namun gak bisa.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="305"/>
|
||||
<source>The device %1 must be resized, but cannot</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Perangkat %1 mestinya bisa diubahukurannya, namun gak bisa.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2272,7 +2272,7 @@ Keluaran:
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/ResizePartitionJob.cpp" line="85"/>
|
||||
<source>The installer failed to resize partition %1 on disk '%2'.</source>
|
||||
<translation>Pemasang gagal untuk merubah ukuran partisi %1 pada disk '%2'.</translation>
|
||||
<translation>Installer gagal untuk merubah ukuran partisi %1 pada disk '%2'.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2281,17 +2281,17 @@ Keluaran:
|
||||
<location filename="../src/modules/partition/jobs/ResizeVolumeGroupJob.cpp" line="37"/>
|
||||
<location filename="../src/modules/partition/jobs/ResizeVolumeGroupJob.cpp" line="55"/>
|
||||
<source>Resize volume group named %1 from %2 to %3.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ubah ukuran grup volume bernama %1 dari %2 ke %3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/ResizeVolumeGroupJob.cpp" line="46"/>
|
||||
<source>Resize volume group named <strong>%1</strong> from <strong>%2</strong> to <strong>%3</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ubah ukuran grup volume bernama <strong>%1</strong> dari <strong>%2</strong> ke %3<strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/ResizeVolumeGroupJob.cpp" line="70"/>
|
||||
<source>The installer failed to resize a volume group named '%1'.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Installer gagal mengubah ukuran sebuah grup volume bernama '%1'.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2447,7 +2447,7 @@ Keluaran:
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="144"/>
|
||||
<source>The installer failed to set flags on partition %1.</source>
|
||||
<translation>Pemasang gagal menetapkan bendera pada partisi %1.</translation>
|
||||
<translation>Installer gagal menetapkan bendera pada partisi %1.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2553,7 +2553,7 @@ Keluaran:
|
||||
<message>
|
||||
<location filename="../src/modules/summary/SummaryPage.cpp" line="49"/>
|
||||
<source>This is an overview of what will happen once you start the install procedure.</source>
|
||||
<translation>Berikut adalah tinjauan mengenai yang akan terjadi setelah Anda memulai prosedur pemasangan.</translation>
|
||||
<translation>Berikut adalah tinjauan mengenai yang akan terjadi setelah Anda memulai prosedur instalasi.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2579,7 +2579,7 @@ Keluaran:
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="88"/>
|
||||
<source>Internal error in install-tracking.</source>
|
||||
<translation>Galat intern di pelacakan-pemasangan.</translation>
|
||||
<translation>Galat intern di pelacakan-instalasi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="89"/>
|
||||
@ -2631,7 +2631,7 @@ Keluaran:
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/page_trackingstep.ui" line="72"/>
|
||||
<source><html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html></source>
|
||||
<translation><html><head/><body><p>Dengan memilih ini, Anda akan mengirim <span style=" font-weight:600;">tidak ada informasi di </span> tentang pemasangan Anda. </p></body></html></translation>
|
||||
<translation><html><head/><body><p>Dengan memilih ini, Anda akan mengirim <span style=" font-weight:600;">tidak ada informasi di </span> tentang instalasi Anda. </p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/page_trackingstep.ui" line="123"/>
|
||||
@ -2655,22 +2655,22 @@ Keluaran:
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="44"/>
|
||||
<source>Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area.</source>
|
||||
<translation>Pasang bantuan pelacakan %1 untuk melihat berapa banyak pengguna memiliki, piranti keras apa yang mereka pasang %1 dan (dengan dua pilihan terakhir), dapatkan informasi berkelanjutan tentang aplikasi yang disukai. Untuk melihat apa yang akan dikirim, silakan klik ikon bantuan ke beberapa area selanjtunya.</translation>
|
||||
<translation>Instal bantuan pelacakan %1 untuk melihat berapa banyak pengguna memiliki, piranti keras apa yang mereka instal %1 dan (dengan dua pilihan terakhir), dapatkan informasi berkelanjutan tentang aplikasi yang disukai. Untuk melihat apa yang akan dikirim, silakan klik ikon bantuan ke beberapa area selanjtunya.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="45"/>
|
||||
<source>By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes.</source>
|
||||
<translation>Dengan memilih ini Anda akan mengirim informasi tentang pemasangan dan piranti keras Anda. Informasi ini hanya akan <b>dikirim sekali</b> setelah pemasangan selesai. </translation>
|
||||
<translation>Dengan memilih ini Anda akan mengirim informasi tentang instalasi dan piranti keras Anda. Informasi ini hanya akan <b>dikirim sekali</b> setelah instalasi selesai. </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="46"/>
|
||||
<source>By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1.</source>
|
||||
<translation>Dengan memilih ini anda akan <b> secara berkala</b> mengirim informasi tentang pemasangan, piranti keras dan aplikasi Anda, ke %1.</translation>
|
||||
<translation>Dengan memilih ini anda akan <b> secara berkala</b> mengirim informasi tentang instalasi, piranti keras dan aplikasi Anda, ke %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="47"/>
|
||||
<source>By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1.</source>
|
||||
<translation>Dengan memilih ini anda akan<b>secara teratur</b> mengirim informasi tentang pemasangan, piranti keras, aplikasi dan pola pemakaian Anda, ke %1.</translation>
|
||||
<translation>Dengan memilih ini anda akan<b>secara teratur</b> mengirim informasi tentang instalasi, piranti keras, aplikasi dan pola pemakaian Anda, ke %1.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2728,27 +2728,27 @@ Keluaran:
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="14"/>
|
||||
<source>VolumeGroupDialog</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>DialogGrupVolume</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="20"/>
|
||||
<source>List of Physical Volumes</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Daftar dari Volume Fisik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="30"/>
|
||||
<source>Volume Group Name:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nama Grup Volume:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="43"/>
|
||||
<source>Volume Group Type:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Tipe Grup Volume:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="56"/>
|
||||
<source>Physical Extent Size:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ukuran Luas Fisik:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="66"/>
|
||||
@ -2758,7 +2758,7 @@ Keluaran:
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="82"/>
|
||||
<source>Total Size:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Total Ukuran:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="92"/>
|
||||
@ -2766,22 +2766,22 @@ Keluaran:
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="132"/>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="152"/>
|
||||
<source>---</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>---</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="102"/>
|
||||
<source>Used Size:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ukuran Terpakai:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="122"/>
|
||||
<source>Total Sectors:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Total Sektor:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="142"/>
|
||||
<source>Quantity of LVs:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Kuantitas LV:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2819,17 +2819,17 @@ Keluaran:
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="60"/>
|
||||
<source><h1>Welcome to the %1 installer.</h1></source>
|
||||
<translation><h1>Selamat datang di pemasang %1.</h1></translation>
|
||||
<translation><h1>Selamat datang di installer %1.</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="60"/>
|
||||
<source><h1>Welcome to the Calamares installer for %1.</h1></source>
|
||||
<translation><h1>Selamat datang di Calamares pemasang untuk %1.</h1></translation>
|
||||
<translation><h1>Selamat datang di Calamares installer untuk %1.</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="73"/>
|
||||
<source>About %1 installer</source>
|
||||
<translation>Tentang pemasang %1</translation>
|
||||
<translation>Tentang installer %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="75"/>
|
||||
|
@ -192,7 +192,7 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="179"/>
|
||||
<source>Calamares Initialization Failed</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Calamares uppsetning mistókst</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="180"/>
|
||||
@ -207,7 +207,7 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="277"/>
|
||||
<source>&Install</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>&Setja upp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="325"/>
|
||||
@ -503,7 +503,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast.</translation>
|
||||
<location filename="../src/libcalamares/utils/CommandList.cpp" line="127"/>
|
||||
<location filename="../src/libcalamares/utils/CommandList.cpp" line="138"/>
|
||||
<source>Could not run command.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Gat ekki keyrt skipun.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/utils/CommandList.cpp" line="128"/>
|
||||
@ -559,7 +559,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast.</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="151"/>
|
||||
<source>LVM LV name</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>LVM LV nafn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="188"/>
|
||||
@ -822,7 +822,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast.</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/DeviceModel.cpp" line="89"/>
|
||||
<source>%1 - (%2)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>%1 - (%2)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1281,17 +1281,17 @@ Uppsetningarforritið mun hætta og allar breytingar tapast.</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="63"/>
|
||||
<source>Password is too short</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Lykilorðið þitt er of stutt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="85"/>
|
||||
<source>Password is too long</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Lykilorðið þitt er of langt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="151"/>
|
||||
<source>Password is too weak</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Lykilorðið þitt er of veikt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="158"/>
|
||||
@ -1386,7 +1386,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast.</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="196"/>
|
||||
<source>The password is too short</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Lykilorðið er of stutt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="198"/>
|
||||
@ -1906,7 +1906,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast.</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="85"/>
|
||||
<source>Saving files for later ...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Vista skrár fyrir seinna ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="123"/>
|
||||
@ -2540,7 +2540,7 @@ Output:
|
||||
<location filename="../src/qml/calamares/slideshow/SlideCounter.qml" line="36"/>
|
||||
<source>%L1 / %L2</source>
|
||||
<extracomment>slide counter, %1 of %2 (numeric)</extracomment>
|
||||
<translation type="unfinished"/>
|
||||
<translation>%L1 / %L2</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2640,7 +2640,7 @@ Output:
|
||||
<location filename="../src/modules/tracking/page_trackingstep.ui" line="195"/>
|
||||
<location filename="../src/modules/tracking/page_trackingstep.ui" line="257"/>
|
||||
<source>...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/page_trackingstep.ui" line="271"/>
|
||||
@ -2753,7 +2753,7 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="82"/>
|
||||
<source>Total Size:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Heildar stærð:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="92"/>
|
||||
@ -2761,12 +2761,12 @@ Output:
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="132"/>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="152"/>
|
||||
<source>---</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>---</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="102"/>
|
||||
<source>Used Size:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Notuð stærð:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="122"/>
|
||||
|
@ -14,7 +14,7 @@
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/BootInfoWidget.cpp" line="91"/>
|
||||
<source>This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own.</source>
|
||||
<translation>このシステムは <strong>BIOS</strong> ブート環境で起動しました。<br><br> BIOS環境からの起動について設定するためには、パーティションの開始位置あるいはパーティションテーブルの開始位置の近く(推奨)にある<strong>マスターブートレコード</strong>に <strong>GRUB</strong> のようなブートローダーをインストールしなければなりません。手動によるパーティショニングを選択する場合はユーザー自身で設定しなければなりません。そうでない場合は、この操作は自動的に行われます。</translation>
|
||||
<translation>このシステムは <strong>BIOS</strong> ブート環境で起動しました。<br><br> BIOS環境からの起動について設定するためには、パーティションの開始位置あるいはパーティションテーブルの開始位置の近く (推奨) にある<strong>マスターブートレコード</strong>に <strong>GRUB</strong> のようなブートローダーをインストールしなければなりません。手動によるパーティショニングを選択する場合はユーザー自身で設定しなければなりません。そうでない場合は、この操作は自動的に行われます。</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -169,19 +169,19 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="74"/>
|
||||
<source>&Back</source>
|
||||
<translation>戻る(&B)</translation>
|
||||
<translation>戻る (&B)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="75"/>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="279"/>
|
||||
<source>&Next</source>
|
||||
<translation>次へ(&N)</translation>
|
||||
<translation>次へ (&N)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="76"/>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="288"/>
|
||||
<source>&Cancel</source>
|
||||
<translation>中止(&C)</translation>
|
||||
<translation>中止 (&C)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="77"/>
|
||||
@ -197,7 +197,7 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="180"/>
|
||||
<source>%1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution.</source>
|
||||
<translation>%1 はインストールできません。Calamares は全てのモジュールをロードすることをできませんでした。これは、Calamares のこのディストリビューションでの使用法による問題です。</translation>
|
||||
<translation>%1 はインストールできません。Calamares はすべてのモジュールをロードすることをできませんでした。これは、Calamares のこのディストリビューションでの使用法による問題です。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="185"/>
|
||||
@ -207,7 +207,7 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="277"/>
|
||||
<source>&Install</source>
|
||||
<translation>インストール(&I)</translation>
|
||||
<translation>インストール (&I)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="325"/>
|
||||
@ -224,17 +224,17 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="331"/>
|
||||
<source>&Yes</source>
|
||||
<translation>はい(&Y)</translation>
|
||||
<translation>はい (&Y)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="332"/>
|
||||
<source>&No</source>
|
||||
<translation>いいえ(&N)</translation>
|
||||
<translation>いいえ (&N)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="163"/>
|
||||
<source>&Close</source>
|
||||
<translation>閉じる(&C)</translation>
|
||||
<translation>閉じる (&C)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="237"/>
|
||||
@ -249,17 +249,17 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="243"/>
|
||||
<source>&Install now</source>
|
||||
<translation>今すぐインストール(&I)</translation>
|
||||
<translation>今すぐインストール (&I)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="244"/>
|
||||
<source>Go &back</source>
|
||||
<translation>戻る(&B)</translation>
|
||||
<translation>戻る (&B)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="283"/>
|
||||
<source>&Done</source>
|
||||
<translation>実行(&D)</translation>
|
||||
<translation>実行 (&D)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="284"/>
|
||||
@ -371,7 +371,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="129"/>
|
||||
<source>Select storage de&vice:</source>
|
||||
<translation>ストレージデバイスを選択(&V):</translation>
|
||||
<translation>ストレージデバイスを選択 (&V):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="130"/>
|
||||
@ -539,22 +539,22 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="55"/>
|
||||
<source>Partition &Type:</source>
|
||||
<translation>パーティションの種類(&T):</translation>
|
||||
<translation>パーティションの種類 (&T):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="67"/>
|
||||
<source>&Primary</source>
|
||||
<translation>プライマリ(&P)</translation>
|
||||
<translation>プライマリ (&P)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="77"/>
|
||||
<source>E&xtended</source>
|
||||
<translation>拡張(&x)</translation>
|
||||
<translation>拡張 (&X)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="119"/>
|
||||
<source>Fi&le System:</source>
|
||||
<translation>ファイルシステム (&L):</translation>
|
||||
<translation>ファイルシステム (&L):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="151"/>
|
||||
@ -569,17 +569,17 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="161"/>
|
||||
<source>&Mount Point:</source>
|
||||
<translation>マウントポイント(&M)</translation>
|
||||
<translation>マウントポイント (&M)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="38"/>
|
||||
<source>Si&ze:</source>
|
||||
<translation>サイズ(&Z)</translation>
|
||||
<translation>サイズ (&Z)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.cpp" line="72"/>
|
||||
<source>En&crypt</source>
|
||||
<translation>暗号化(&C)</translation>
|
||||
<translation>暗号化 (&C)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.cpp" line="151"/>
|
||||
@ -650,7 +650,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionTableDialog.ui" line="82"/>
|
||||
<source>GUID Partition Table (GPT)</source>
|
||||
<translation>GUID パーティションテーブル(GPT)</translation>
|
||||
<translation>GUID パーティションテーブル (GPT)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -784,7 +784,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="150"/>
|
||||
<source>The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred.</source>
|
||||
<translation>選択したストレージデバイスにおける<strong> パーティションテーブル </strong> の種類。 <br><br> パーティションテーブルの種類を変更する唯一の方法は、パーティションテーブルを消去し、最初から再作成を行うことですが、この操作はストレージ上の全てのデータを破壊します。 <br> このインストーラーは、他の種類へ明示的に変更ししない限り、現在のパーティションテーブルが保持されます。よくわからない場合、最近のシステムではGPTが推奨されます。</translation>
|
||||
<translation>選択したストレージデバイスにおける<strong> パーティションテーブル </strong> の種類。 <br><br> パーティションテーブルの種類を変更する唯一の方法は、パーティションテーブルを消去し、最初から再作成を行うことですが、この操作はストレージ上のすべてのデータを破壊します。 <br> このインストーラーは、他の種類へ明示的に変更ししない限り、現在のパーティションテーブルが保持されます。よくわからない場合、最近のシステムではGPTが推奨されます。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="107"/>
|
||||
@ -866,7 +866,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="60"/>
|
||||
<source>&Keep</source>
|
||||
<translation>保持(&K)</translation>
|
||||
<translation>保持 (&K)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="70"/>
|
||||
@ -881,12 +881,12 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="99"/>
|
||||
<source>&Mount Point:</source>
|
||||
<translation>マウントポイント(&M)</translation>
|
||||
<translation>マウントポイント (&M)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="119"/>
|
||||
<source>Si&ze:</source>
|
||||
<translation>サイズ(&Z):</translation>
|
||||
<translation>サイズ (&Z):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="129"/>
|
||||
@ -896,7 +896,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="136"/>
|
||||
<source>Fi&le System:</source>
|
||||
<translation>ファイルシステム(&L)</translation>
|
||||
<translation>ファイルシステム (&L)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="149"/>
|
||||
@ -919,7 +919,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EncryptWidget.ui" line="32"/>
|
||||
<source>En&crypt system</source>
|
||||
<translation>システムを暗号化(&C)</translation>
|
||||
<translation>システムを暗号化 (&C)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EncryptWidget.ui" line="42"/>
|
||||
@ -990,7 +990,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.ui" line="98"/>
|
||||
<source>&Restart now</source>
|
||||
<translation>今すぐ再起動(&R)</translation>
|
||||
<translation>今すぐ再起動 (&R)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/FinishedPage.cpp" line="51"/>
|
||||
@ -1107,12 +1107,12 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/locale/LCLocaleDialog.cpp" line="66"/>
|
||||
<source>&Cancel</source>
|
||||
<translation>中止(&C)</translation>
|
||||
<translation>中止 (&C)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/locale/LCLocaleDialog.cpp" line="67"/>
|
||||
<source>&OK</source>
|
||||
<translation>了解(&O)</translation>
|
||||
<translation>了解 (&O)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1219,7 +1219,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<location filename="../src/modules/locale/LocalePage.cpp" line="220"/>
|
||||
<location filename="../src/modules/locale/LocalePage.cpp" line="221"/>
|
||||
<source>&Change...</source>
|
||||
<translation>変更(&C)...</translation>
|
||||
<translation>変更 (&C)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/locale/LocalePage.cpp" line="398"/>
|
||||
@ -1696,7 +1696,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="22"/>
|
||||
<source>Storage de&vice:</source>
|
||||
<translation>ストレージデバイス (&V):</translation>
|
||||
<translation>ストレージデバイス (&V):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="51"/>
|
||||
@ -1706,22 +1706,22 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="87"/>
|
||||
<source>New Partition &Table</source>
|
||||
<translation>新しいパーティションテーブル(&T)</translation>
|
||||
<translation>新しいパーティションテーブル (&T)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="107"/>
|
||||
<source>Cre&ate</source>
|
||||
<translation>作成(&a)</translation>
|
||||
<translation>作成 (&A)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="114"/>
|
||||
<source>&Edit</source>
|
||||
<translation>編集(&E)</translation>
|
||||
<translation>編集 (&E)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="121"/>
|
||||
<source>&Delete</source>
|
||||
<translation>削除(&D)</translation>
|
||||
<translation>削除 (&D)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="132"/>
|
||||
@ -1751,7 +1751,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="217"/>
|
||||
<source>Are you sure you want to create a new partition table on %1?</source>
|
||||
<translation>%1 上で新しいパーティションテーブルを作成します。よろしいですか?</translation>
|
||||
<translation>%1 上で新しいパーティションテーブルを作成します。よろしいですか?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="241"/>
|
||||
@ -1859,7 +1859,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="451"/>
|
||||
<source>A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window.</source>
|
||||
<translation>ブートパーティションは暗号化されたルートパーティションとともにセットアップされましたが、ブートパーティションは暗号化されていません。<br/><br/>重要なシステムファイルが暗号化されていないパーティションに残されているため、このようなセットアップは安全上の懸念があります。<br/>セットアップを続行することはできますが、後でシステムの起動中にファイルシステムが解除されるおそれがあります。<br/>ブートパーティションを暗号化させるには、前の画面に戻って、再度パーティションを作成し、パーティション作成ウィンドウ内で<strong>Encrypt</strong>(暗号化)を選択してください。</translation>
|
||||
<translation>ブートパーティションは暗号化されたルートパーティションとともにセットアップされましたが、ブートパーティションは暗号化されていません。<br/><br/>重要なシステムファイルが暗号化されていないパーティションに残されているため、このようなセットアップは安全上の懸念があります。<br/>セットアップを続行することはできますが、後でシステムの起動中にファイルシステムが解除されるおそれがあります。<br/>ブートパーティションを暗号化させるには、前の画面に戻って、再度パーティションを作成し、パーティション作成ウィンドウ内で<strong>Encrypt</strong> (暗号化) を選択してください。</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1917,7 +1917,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="177"/>
|
||||
<source>Not all of the configured files could be preserved.</source>
|
||||
<translation>設定ファイルは全て保護されるわけではありません。</translation>
|
||||
<translation>設定ファイルはすべて保護されるわけではありません。</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2654,7 +2654,7 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="44"/>
|
||||
<source>Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area.</source>
|
||||
<translation>インストールトラッキングは %1 にとって、どれだけのユーザーが どのハードに %1 をインストールするのか(下記の2つのオプション)、どのようなアプリケーションが好まれているのかについての情報を把握することの補助を行っています。 どのような情報が送信されているのか確認したい場合は、以下の各エリアのヘルプのアイコンをクリックして下さい。</translation>
|
||||
<translation>インストールトラッキングは %1 にとって、どれだけのユーザーが どのハードに %1 をインストールするのか (下記の2つのオプション)、どのようなアプリケーションが好まれているのかについての情報を把握することの補助を行っています。 どのような情報が送信されているのか確認したい場合は、以下の各エリアのヘルプのアイコンをクリックして下さい。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="45"/>
|
||||
@ -2757,7 +2757,7 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="82"/>
|
||||
<source>Total Size:</source>
|
||||
<translation>全てのサイズ:</translation>
|
||||
<translation>すべてのサイズ:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="92"/>
|
||||
@ -2775,7 +2775,7 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="122"/>
|
||||
<source>Total Sectors:</source>
|
||||
<translation>全てのセクター:</translation>
|
||||
<translation>すべてのセクター:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/VolumeGroupBaseDialog.ui" line="142"/>
|
||||
@ -2793,17 +2793,17 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.ui" line="75"/>
|
||||
<source>&Language:</source>
|
||||
<translation>言語(&L):</translation>
|
||||
<translation>言語 (&L):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.ui" line="176"/>
|
||||
<source>&Release notes</source>
|
||||
<translation>リリースノート(&R)</translation>
|
||||
<translation>リリースノート (&R)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.ui" line="166"/>
|
||||
<source>&Known issues</source>
|
||||
<translation>既知の問題(&K)</translation>
|
||||
<translation>既知の問題 (&K)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.ui" line="156"/>
|
||||
@ -2813,7 +2813,7 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.ui" line="146"/>
|
||||
<source>&About</source>
|
||||
<translation>説明(&A)</translation>
|
||||
<translation>説明 (&A)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="60"/>
|
||||
|
2847
lang/calamares_mk.ts
Normal file
2847
lang/calamares_mk.ts
Normal file
File diff suppressed because it is too large
Load Diff
@ -718,22 +718,22 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="38"/>
|
||||
<source>Create new volume group named %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Создать новую группу томов на диске %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="45"/>
|
||||
<source>Create new volume group named <strong>%1</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Создать новую группу томов на диске %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="52"/>
|
||||
<source>Creating new volume group named %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Cоздание новой группы томов на диске %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreateVolumeGroupJob.cpp" line="65"/>
|
||||
<source>The installer failed to create a volume group named '%1'.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Программа установки не смогла создать группу томов на диске '%1'.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -821,7 +821,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/DeviceModel.cpp" line="89"/>
|
||||
<source>%1 - (%2)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>%1 - (%2)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -829,7 +829,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/dracutlukscfg/DracutLuksCfgJob.cpp" line="131"/>
|
||||
<source>Write LUKS configuration for Dracut to %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Записать LUKS настройки для Dracut в %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/dracutlukscfg/DracutLuksCfgJob.cpp" line="133"/>
|
||||
@ -1470,7 +1470,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="239"/>
|
||||
<source>Bad integer value of setting - %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Недопустимое целое значение свойства - %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="243"/>
|
||||
@ -1724,12 +1724,12 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="132"/>
|
||||
<source>New Volume Group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Новая группа томов</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="139"/>
|
||||
<source>Resize Volume Group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Изменить размер группы томов</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="146"/>
|
||||
@ -1739,12 +1739,12 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="153"/>
|
||||
<source>Remove Volume Group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Удалить группу томов</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="180"/>
|
||||
<source>I&nstall boot loader on:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Уст&ановить загрузчик в:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="217"/>
|
||||
@ -1884,7 +1884,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/plasmalnf/page_plasmalnf.ui" line="20"/>
|
||||
<source>Placeholder</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Заменитель</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/plasmalnf/PlasmaLnfPage.cpp" line="67"/>
|
||||
@ -1905,12 +1905,12 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="85"/>
|
||||
<source>Saving files for later ...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Сохраняю файлы на потом...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="123"/>
|
||||
<source>No files configured to save for later.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Нет файлов, которые требуется сохранить на потом.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="177"/>
|
||||
@ -1924,7 +1924,8 @@ The installer will quit and all changes will be lost.</source>
|
||||
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="271"/>
|
||||
<source>
|
||||
There was no output from the command.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>
|
||||
Вывода из команды не последовало.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="272"/>
|
||||
@ -2031,17 +2032,17 @@ Output:
|
||||
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="34"/>
|
||||
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="48"/>
|
||||
<source>Remove Volume Group named %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Удалить группу томов на диске %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="41"/>
|
||||
<source>Remove Volume Group named <strong>%1</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Удалить группу томов на диске %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/RemoveVolumeGroupJob.cpp" line="61"/>
|
||||
<source>The installer failed to remove a volume group named '%1'.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Установщик не смог удалить группу томов на диске '%1'.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2182,12 +2183,12 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="130"/>
|
||||
<source>Resize Filesystem Job</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Изменить размер файловой системы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="238"/>
|
||||
<source>Invalid configuration</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Недействительная конфигурация</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="239"/>
|
||||
@ -2213,7 +2214,7 @@ Output:
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="303"/>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="320"/>
|
||||
<source>Resize Failed</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Не удалось изменить размер</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/fsresizer/ResizeFSJob.cpp" line="273"/>
|
||||
@ -2622,7 +2623,7 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/page_trackingstep.ui" line="24"/>
|
||||
<source>Placeholder</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Заменитель</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/tracking/page_trackingstep.ui" line="72"/>
|
||||
|
Binary file not shown.
@ -3,6 +3,9 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
# Translators:
|
||||
# Abubakaragoub Y <Abubakaryagob@gmail.com>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
@ -10,6 +13,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Abubakaragoub Y <Abubakaryagob@gmail.com>, 2018\n"
|
||||
"Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@ -19,43 +23,43 @@ msgstr ""
|
||||
|
||||
#: src/modules/displaymanager/main.py:380
|
||||
msgid "Cannot write KDM configuration file"
|
||||
msgstr ""
|
||||
msgstr "فشلت كتابة ملف ضبط KDM."
|
||||
|
||||
#: src/modules/displaymanager/main.py:381
|
||||
msgid "KDM config file {!s} does not exist"
|
||||
msgstr ""
|
||||
msgstr "ملف ضبط KDM {!s} غير موجود"
|
||||
|
||||
#: src/modules/displaymanager/main.py:442
|
||||
msgid "Cannot write LXDM configuration file"
|
||||
msgstr ""
|
||||
msgstr "فشلت كتابة ملف ضبط LXDM."
|
||||
|
||||
#: src/modules/displaymanager/main.py:443
|
||||
msgid "LXDM config file {!s} does not exist"
|
||||
msgstr ""
|
||||
msgstr "ملف ضبط LXDM {!s} غير موجود"
|
||||
|
||||
#: src/modules/displaymanager/main.py:517
|
||||
msgid "Cannot write LightDM configuration file"
|
||||
msgstr ""
|
||||
msgstr "فشلت كتابة ملف ضبط LightDM."
|
||||
|
||||
#: src/modules/displaymanager/main.py:518
|
||||
msgid "LightDM config file {!s} does not exist"
|
||||
msgstr ""
|
||||
msgstr "ملف ضبط LightDM {!s} غير موجود"
|
||||
|
||||
#: src/modules/displaymanager/main.py:592
|
||||
msgid "Cannot configure LightDM"
|
||||
msgstr ""
|
||||
msgstr "فشل ضبط LightDM"
|
||||
|
||||
#: src/modules/displaymanager/main.py:593
|
||||
msgid "No LightDM greeter installed."
|
||||
msgstr ""
|
||||
msgstr "لم يتم تصيب LightDM"
|
||||
|
||||
#: src/modules/displaymanager/main.py:624
|
||||
msgid "Cannot write SLIM configuration file"
|
||||
msgstr ""
|
||||
msgstr "فشلت كتابة ملف ضبط SLIM."
|
||||
|
||||
#: src/modules/displaymanager/main.py:625
|
||||
msgid "SLIM config file {!s} does not exist"
|
||||
msgstr ""
|
||||
msgstr "ملف ضبط SLIM {!s} غير موجود"
|
||||
|
||||
#: src/modules/displaymanager/main.py:740
|
||||
#: src/modules/displaymanager/main.py:772
|
||||
@ -78,28 +82,28 @@ msgstr ""
|
||||
|
||||
#: src/modules/umount/main.py:40
|
||||
msgid "Unmount file systems."
|
||||
msgstr ""
|
||||
msgstr "الغاء تحميل ملف النظام"
|
||||
|
||||
#: src/modules/dummypython/main.py:44
|
||||
msgid "Dummy python job."
|
||||
msgstr ""
|
||||
msgstr "عملية بايثون دميه"
|
||||
|
||||
#: src/modules/dummypython/main.py:97
|
||||
msgid "Dummy python step {}"
|
||||
msgstr ""
|
||||
msgstr "عملية دميه خطوه بايثون {}"
|
||||
|
||||
#: src/modules/machineid/main.py:35
|
||||
msgid "Generate machine-id."
|
||||
msgstr ""
|
||||
msgstr "توليد معرف الجهاز"
|
||||
|
||||
#: src/modules/packages/main.py:62
|
||||
#, python-format
|
||||
msgid "Processing packages (%(count)d / %(total)d)"
|
||||
msgstr ""
|
||||
msgstr "جاري تحميل الحزم (%(count)d/%(total)d)"
|
||||
|
||||
#: src/modules/packages/main.py:64 src/modules/packages/main.py:74
|
||||
msgid "Install packages."
|
||||
msgstr ""
|
||||
msgstr "تثبيت الحزم"
|
||||
|
||||
#: src/modules/packages/main.py:67
|
||||
#, python-format
|
||||
|
Binary file not shown.
@ -6,6 +6,7 @@
|
||||
# Translators:
|
||||
# strel, 2017
|
||||
# Francisco Sánchez López de Lerma <fslopezlerma@gmail.com>, 2018
|
||||
# Guido Grasso <cuquiman97@gmail.com>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
@ -14,7 +15,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Francisco Sánchez López de Lerma <fslopezlerma@gmail.com>, 2018\n"
|
||||
"Last-Translator: Guido Grasso <cuquiman97@gmail.com>, 2018\n"
|
||||
"Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@ -24,31 +25,31 @@ msgstr ""
|
||||
|
||||
#: src/modules/displaymanager/main.py:380
|
||||
msgid "Cannot write KDM configuration file"
|
||||
msgstr ""
|
||||
msgstr "No se puede escribir el archivo de configuración KDM"
|
||||
|
||||
#: src/modules/displaymanager/main.py:381
|
||||
msgid "KDM config file {!s} does not exist"
|
||||
msgstr ""
|
||||
msgstr "El archivo de configuración {!s} de KDM no existe"
|
||||
|
||||
#: src/modules/displaymanager/main.py:442
|
||||
msgid "Cannot write LXDM configuration file"
|
||||
msgstr ""
|
||||
msgstr "No se puede escribir el archivo de configuración LXDM"
|
||||
|
||||
#: src/modules/displaymanager/main.py:443
|
||||
msgid "LXDM config file {!s} does not exist"
|
||||
msgstr ""
|
||||
msgstr "El archivo de configuracion {!s} de LXDM no existe"
|
||||
|
||||
#: src/modules/displaymanager/main.py:517
|
||||
msgid "Cannot write LightDM configuration file"
|
||||
msgstr ""
|
||||
msgstr "No se puede escribir el archivo de configuración de LightDM"
|
||||
|
||||
#: src/modules/displaymanager/main.py:518
|
||||
msgid "LightDM config file {!s} does not exist"
|
||||
msgstr ""
|
||||
msgstr "El archivo de configuración {!s} de LightDM no existe"
|
||||
|
||||
#: src/modules/displaymanager/main.py:592
|
||||
msgid "Cannot configure LightDM"
|
||||
msgstr ""
|
||||
msgstr "No se puede configurar LightDM"
|
||||
|
||||
#: src/modules/displaymanager/main.py:593
|
||||
msgid "No LightDM greeter installed."
|
||||
@ -56,16 +57,18 @@ msgstr ""
|
||||
|
||||
#: src/modules/displaymanager/main.py:624
|
||||
msgid "Cannot write SLIM configuration file"
|
||||
msgstr ""
|
||||
msgstr "No se puede escribir el archivo de configuración de SLIM"
|
||||
|
||||
#: src/modules/displaymanager/main.py:625
|
||||
msgid "SLIM config file {!s} does not exist"
|
||||
msgstr ""
|
||||
msgstr "El archivo de configuración {!s} de SLIM no existe"
|
||||
|
||||
#: src/modules/displaymanager/main.py:740
|
||||
#: src/modules/displaymanager/main.py:772
|
||||
msgid "No display managers selected for the displaymanager module."
|
||||
msgstr ""
|
||||
"No se ha seleccionado ningún gestor de pantalla para el modulo "
|
||||
"displaymanager"
|
||||
|
||||
#: src/modules/displaymanager/main.py:741
|
||||
msgid ""
|
||||
@ -76,10 +79,12 @@ msgstr ""
|
||||
#: src/modules/displaymanager/main.py:773
|
||||
msgid "The list is empty after checking for installed display managers."
|
||||
msgstr ""
|
||||
"La lista está vacía después de haber chequeado los gestores de pantalla "
|
||||
"instalados"
|
||||
|
||||
#: src/modules/displaymanager/main.py:821
|
||||
msgid "Display manager configuration was incomplete"
|
||||
msgstr ""
|
||||
msgstr "La configuración del gestor de pantalla estaba incompleta"
|
||||
|
||||
#: src/modules/umount/main.py:40
|
||||
msgid "Unmount file systems."
|
||||
|
Binary file not shown.
@ -3,6 +3,9 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
# Translators:
|
||||
# Ander Elortondo, 2019
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
@ -10,6 +13,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Ander Elortondo, 2019\n"
|
||||
"Language-Team: Basque (https://www.transifex.com/calamares/teams/20061/eu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@ -19,98 +23,102 @@ msgstr ""
|
||||
|
||||
#: src/modules/displaymanager/main.py:380
|
||||
msgid "Cannot write KDM configuration file"
|
||||
msgstr ""
|
||||
msgstr "Ezin da KDM konfigurazio fitxategia idatzi"
|
||||
|
||||
#: src/modules/displaymanager/main.py:381
|
||||
msgid "KDM config file {!s} does not exist"
|
||||
msgstr ""
|
||||
msgstr "KDM konfigurazio fitxategia {!s} ez da existitzen"
|
||||
|
||||
#: src/modules/displaymanager/main.py:442
|
||||
msgid "Cannot write LXDM configuration file"
|
||||
msgstr ""
|
||||
msgstr "Ezin da LXDM konfigurazio fitxategia idatzi"
|
||||
|
||||
#: src/modules/displaymanager/main.py:443
|
||||
msgid "LXDM config file {!s} does not exist"
|
||||
msgstr ""
|
||||
msgstr "LXDM konfigurazio fitxategia {!s} ez da existitzen"
|
||||
|
||||
#: src/modules/displaymanager/main.py:517
|
||||
msgid "Cannot write LightDM configuration file"
|
||||
msgstr ""
|
||||
msgstr "Ezin da LightDM konfigurazio fitxategia idatzi"
|
||||
|
||||
#: src/modules/displaymanager/main.py:518
|
||||
msgid "LightDM config file {!s} does not exist"
|
||||
msgstr ""
|
||||
msgstr "LightDM konfigurazio fitxategia {!s} ez da existitzen"
|
||||
|
||||
#: src/modules/displaymanager/main.py:592
|
||||
msgid "Cannot configure LightDM"
|
||||
msgstr ""
|
||||
msgstr "Ezin da LightDM konfiguratu"
|
||||
|
||||
#: src/modules/displaymanager/main.py:593
|
||||
msgid "No LightDM greeter installed."
|
||||
msgstr ""
|
||||
msgstr "Ez dago LightDM harrera instalatua."
|
||||
|
||||
#: src/modules/displaymanager/main.py:624
|
||||
msgid "Cannot write SLIM configuration file"
|
||||
msgstr ""
|
||||
msgstr "Ezin da SLIM konfigurazio fitxategia idatzi"
|
||||
|
||||
#: src/modules/displaymanager/main.py:625
|
||||
msgid "SLIM config file {!s} does not exist"
|
||||
msgstr ""
|
||||
msgstr "SLIM konfigurazio fitxategia {!s} ez da existitzen"
|
||||
|
||||
#: src/modules/displaymanager/main.py:740
|
||||
#: src/modules/displaymanager/main.py:772
|
||||
msgid "No display managers selected for the displaymanager module."
|
||||
msgstr ""
|
||||
"Ez da pantaila kudeatzailerik aukeratu pantaila-kudeatzaile modulurako."
|
||||
|
||||
#: src/modules/displaymanager/main.py:741
|
||||
msgid ""
|
||||
"The displaymanagers list is empty or undefined in bothglobalstorage and "
|
||||
"displaymanager.conf."
|
||||
msgstr ""
|
||||
"Pantaila-kudeatzaile-zerrenda hutsik dago edo definitzeke bothglobalstorage "
|
||||
"eta displaymanager.conf"
|
||||
|
||||
#: src/modules/displaymanager/main.py:773
|
||||
msgid "The list is empty after checking for installed display managers."
|
||||
msgstr ""
|
||||
"Zerrenda hutsik dago instalatutako pantaila-kudeatzaileak egiaztatu ondoren."
|
||||
|
||||
#: src/modules/displaymanager/main.py:821
|
||||
msgid "Display manager configuration was incomplete"
|
||||
msgstr ""
|
||||
msgstr "Pantaila kudeatzaile konfigurazioa osotu gabe"
|
||||
|
||||
#: src/modules/umount/main.py:40
|
||||
msgid "Unmount file systems."
|
||||
msgstr ""
|
||||
msgstr "Fitxategi sistemak desmuntatu."
|
||||
|
||||
#: src/modules/dummypython/main.py:44
|
||||
msgid "Dummy python job."
|
||||
msgstr ""
|
||||
msgstr "Dummy python lana."
|
||||
|
||||
#: src/modules/dummypython/main.py:97
|
||||
msgid "Dummy python step {}"
|
||||
msgstr ""
|
||||
msgstr "Dummy python urratsa {}"
|
||||
|
||||
#: src/modules/machineid/main.py:35
|
||||
msgid "Generate machine-id."
|
||||
msgstr ""
|
||||
msgstr "Sortu makina-id."
|
||||
|
||||
#: src/modules/packages/main.py:62
|
||||
#, python-format
|
||||
msgid "Processing packages (%(count)d / %(total)d)"
|
||||
msgstr ""
|
||||
msgstr "Paketeak prozesatzen (%(count)d/ %(total)d) "
|
||||
|
||||
#: src/modules/packages/main.py:64 src/modules/packages/main.py:74
|
||||
msgid "Install packages."
|
||||
msgstr ""
|
||||
msgstr "Instalatu paketeak"
|
||||
|
||||
#: src/modules/packages/main.py:67
|
||||
#, python-format
|
||||
msgid "Installing one package."
|
||||
msgid_plural "Installing %(num)d packages."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "Pakete bat instalatzen."
|
||||
msgstr[1] "%(num)dpakete instalatzen."
|
||||
|
||||
#: src/modules/packages/main.py:70
|
||||
#, python-format
|
||||
msgid "Removing one package."
|
||||
msgid_plural "Removing %(num)d packages."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "Pakete bat kentzen."
|
||||
msgstr[1] "%(num)dpakete kentzen."
|
||||
|
Binary file not shown.
@ -6,8 +6,10 @@
|
||||
# Translators:
|
||||
# Paul Combal <abonnementspaul@gmail.com>, 2017
|
||||
# Abdallah B <bahassinea@gmail.com>, 2017
|
||||
# Aestan <anthony.margerand@gmail.com>, 2018
|
||||
# Aestan <anthony.margerand@protonmail.com>, 2018
|
||||
# Jeremy Gourmel <jgourmel@free.fr>, 2018
|
||||
# Aurnytoraink <wiiu3dsxl13127@gmail.com>, 2018
|
||||
# Florian B <florianb3522@gmail.com>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
@ -16,7 +18,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Jeremy Gourmel <jgourmel@free.fr>, 2018\n"
|
||||
"Last-Translator: Florian B <florianb3522@gmail.com>, 2018\n"
|
||||
"Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@ -26,23 +28,23 @@ msgstr ""
|
||||
|
||||
#: src/modules/displaymanager/main.py:380
|
||||
msgid "Cannot write KDM configuration file"
|
||||
msgstr ""
|
||||
msgstr "Impossible d'écrire le fichier de configuration KDM"
|
||||
|
||||
#: src/modules/displaymanager/main.py:381
|
||||
msgid "KDM config file {!s} does not exist"
|
||||
msgstr ""
|
||||
msgstr "Le fichier de configuration KDM n'existe pas"
|
||||
|
||||
#: src/modules/displaymanager/main.py:442
|
||||
msgid "Cannot write LXDM configuration file"
|
||||
msgstr ""
|
||||
msgstr "Impossible d'écrire le fichier de configuration LXDM"
|
||||
|
||||
#: src/modules/displaymanager/main.py:443
|
||||
msgid "LXDM config file {!s} does not exist"
|
||||
msgstr ""
|
||||
msgstr "Le fichier de configuration LXDM n'existe pas"
|
||||
|
||||
#: src/modules/displaymanager/main.py:517
|
||||
msgid "Cannot write LightDM configuration file"
|
||||
msgstr ""
|
||||
msgstr "Impossible d'écrire le fichier de configuration LightDM"
|
||||
|
||||
#: src/modules/displaymanager/main.py:518
|
||||
msgid "LightDM config file {!s} does not exist"
|
||||
@ -50,15 +52,15 @@ msgstr ""
|
||||
|
||||
#: src/modules/displaymanager/main.py:592
|
||||
msgid "Cannot configure LightDM"
|
||||
msgstr ""
|
||||
msgstr "Impossible de configurer LightDM"
|
||||
|
||||
#: src/modules/displaymanager/main.py:593
|
||||
msgid "No LightDM greeter installed."
|
||||
msgstr ""
|
||||
msgstr "Aucun hôte LightDM est installé"
|
||||
|
||||
#: src/modules/displaymanager/main.py:624
|
||||
msgid "Cannot write SLIM configuration file"
|
||||
msgstr ""
|
||||
msgstr "Impossible d'écrire le fichier de configuration SLIM"
|
||||
|
||||
#: src/modules/displaymanager/main.py:625
|
||||
msgid "SLIM config file {!s} does not exist"
|
||||
@ -68,20 +70,26 @@ msgstr ""
|
||||
#: src/modules/displaymanager/main.py:772
|
||||
msgid "No display managers selected for the displaymanager module."
|
||||
msgstr ""
|
||||
"Aucun gestionnaire d'affichage n'a été sélectionné pour le module de "
|
||||
"gestionnaire d'affichage"
|
||||
|
||||
#: src/modules/displaymanager/main.py:741
|
||||
msgid ""
|
||||
"The displaymanagers list is empty or undefined in bothglobalstorage and "
|
||||
"displaymanager.conf."
|
||||
msgstr ""
|
||||
"La liste des gestionnaires d'affichage est vide ou indéfinie dans "
|
||||
"bothglobalstorage et displaymanager.conf."
|
||||
|
||||
#: src/modules/displaymanager/main.py:773
|
||||
msgid "The list is empty after checking for installed display managers."
|
||||
msgstr ""
|
||||
"La liste est vide après vérification des gestionnaires d'affichage "
|
||||
"installés."
|
||||
|
||||
#: src/modules/displaymanager/main.py:821
|
||||
msgid "Display manager configuration was incomplete"
|
||||
msgstr ""
|
||||
msgstr "La configuration du gestionnaire d'affichage était incomplète"
|
||||
|
||||
#: src/modules/umount/main.py:40
|
||||
msgid "Unmount file systems."
|
||||
|
Binary file not shown.
@ -6,6 +6,7 @@
|
||||
# Translators:
|
||||
# Choiril Abdul, 2018
|
||||
# Harry Suryapambagya <harsxv@gmail.com>, 2018
|
||||
# Wantoyo <wantoyek@gmail.com>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
@ -14,7 +15,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Harry Suryapambagya <harsxv@gmail.com>, 2018\n"
|
||||
"Last-Translator: Wantoyo <wantoyek@gmail.com>, 2018\n"
|
||||
"Language-Team: Indonesian (https://www.transifex.com/calamares/teams/20061/id/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@ -24,62 +25,66 @@ msgstr ""
|
||||
|
||||
#: src/modules/displaymanager/main.py:380
|
||||
msgid "Cannot write KDM configuration file"
|
||||
msgstr ""
|
||||
msgstr "Gak bisa menulis file konfigurasi KDM"
|
||||
|
||||
#: src/modules/displaymanager/main.py:381
|
||||
msgid "KDM config file {!s} does not exist"
|
||||
msgstr ""
|
||||
msgstr "File {!s} config KDM belum ada"
|
||||
|
||||
#: src/modules/displaymanager/main.py:442
|
||||
msgid "Cannot write LXDM configuration file"
|
||||
msgstr ""
|
||||
msgstr "Gak bisa menulis file konfigurasi LXDM"
|
||||
|
||||
#: src/modules/displaymanager/main.py:443
|
||||
msgid "LXDM config file {!s} does not exist"
|
||||
msgstr ""
|
||||
msgstr "File {!s} config LXDM enggak ada"
|
||||
|
||||
#: src/modules/displaymanager/main.py:517
|
||||
msgid "Cannot write LightDM configuration file"
|
||||
msgstr ""
|
||||
msgstr "Gak bisa menulis file konfigurasi LightDM"
|
||||
|
||||
#: src/modules/displaymanager/main.py:518
|
||||
msgid "LightDM config file {!s} does not exist"
|
||||
msgstr ""
|
||||
msgstr "File {!s} config LightDM belum ada"
|
||||
|
||||
#: src/modules/displaymanager/main.py:592
|
||||
msgid "Cannot configure LightDM"
|
||||
msgstr ""
|
||||
msgstr "Gak bisa mengkonfigurasi LightDM"
|
||||
|
||||
#: src/modules/displaymanager/main.py:593
|
||||
msgid "No LightDM greeter installed."
|
||||
msgstr ""
|
||||
msgstr "Tiada LightDM greeter yang terinstal."
|
||||
|
||||
#: src/modules/displaymanager/main.py:624
|
||||
msgid "Cannot write SLIM configuration file"
|
||||
msgstr ""
|
||||
msgstr "Gak bisa menulis file konfigurasi SLIM"
|
||||
|
||||
#: src/modules/displaymanager/main.py:625
|
||||
msgid "SLIM config file {!s} does not exist"
|
||||
msgstr ""
|
||||
msgstr "File {!s} config SLIM belum ada"
|
||||
|
||||
#: src/modules/displaymanager/main.py:740
|
||||
#: src/modules/displaymanager/main.py:772
|
||||
msgid "No display managers selected for the displaymanager module."
|
||||
msgstr ""
|
||||
msgstr "Tiada display manager yang dipilih untuk modul displaymanager."
|
||||
|
||||
#: src/modules/displaymanager/main.py:741
|
||||
msgid ""
|
||||
"The displaymanagers list is empty or undefined in bothglobalstorage and "
|
||||
"displaymanager.conf."
|
||||
msgstr ""
|
||||
"Daftar displaymanager telah kosong atau takdidefinisikan dalam "
|
||||
"bothglobalstorage dan displaymanager.conf."
|
||||
|
||||
#: src/modules/displaymanager/main.py:773
|
||||
msgid "The list is empty after checking for installed display managers."
|
||||
msgstr ""
|
||||
"Daftar telah kosong sesudah pemeriksaan untuk display manager yang "
|
||||
"terinstal."
|
||||
|
||||
#: src/modules/displaymanager/main.py:821
|
||||
msgid "Display manager configuration was incomplete"
|
||||
msgstr ""
|
||||
msgstr "Konfigurasi display manager belum rampung"
|
||||
|
||||
#: src/modules/umount/main.py:40
|
||||
msgid "Unmount file systems."
|
||||
@ -104,13 +109,13 @@ msgstr "Paket pemrosesan (%(count)d/%(total)d)"
|
||||
|
||||
#: src/modules/packages/main.py:64 src/modules/packages/main.py:74
|
||||
msgid "Install packages."
|
||||
msgstr "pasang paket"
|
||||
msgstr "Instal paket-paket."
|
||||
|
||||
#: src/modules/packages/main.py:67
|
||||
#, python-format
|
||||
msgid "Installing one package."
|
||||
msgid_plural "Installing %(num)d packages."
|
||||
msgstr[0] "memasang paket %(num)d"
|
||||
msgstr[0] "Menginstal paket %(num)d"
|
||||
|
||||
#: src/modules/packages/main.py:70
|
||||
#, python-format
|
||||
|
Binary file not shown.
@ -5,6 +5,7 @@
|
||||
#
|
||||
# Translators:
|
||||
# Takefumi Nagata, 2018
|
||||
# 諏訪子 洩矢, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
@ -13,7 +14,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Takefumi Nagata, 2018\n"
|
||||
"Last-Translator: 諏訪子 洩矢, 2018\n"
|
||||
"Language-Team: Japanese (https://www.transifex.com/calamares/teams/20061/ja/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@ -75,7 +76,7 @@ msgstr ""
|
||||
|
||||
#: src/modules/displaymanager/main.py:773
|
||||
msgid "The list is empty after checking for installed display managers."
|
||||
msgstr ""
|
||||
msgstr "インストールされたディスプレイマネージャーに検索しましたと、リストが空です。"
|
||||
|
||||
#: src/modules/displaymanager/main.py:821
|
||||
msgid "Display manager configuration was incomplete"
|
||||
|
BIN
lang/python/mk/LC_MESSAGES/python.mo
Normal file
BIN
lang/python/mk/LC_MESSAGES/python.mo
Normal file
Binary file not shown.
120
lang/python/mk/LC_MESSAGES/python.po
Normal file
120
lang/python/mk/LC_MESSAGES/python.po
Normal file
@ -0,0 +1,120 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
# Translators:
|
||||
# Martin Ristovski <martinristovski@protonmail.com>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Martin Ristovski <martinristovski@protonmail.com>, 2018\n"
|
||||
"Language-Team: Macedonian (https://www.transifex.com/calamares/teams/20061/mk/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: mk\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
|
||||
|
||||
#: src/modules/displaymanager/main.py:380
|
||||
msgid "Cannot write KDM configuration file"
|
||||
msgstr "KDM конфигурациониот фајл не може да се создаде"
|
||||
|
||||
#: src/modules/displaymanager/main.py:381
|
||||
msgid "KDM config file {!s} does not exist"
|
||||
msgstr "KDM конфигурациониот фајл {!s} не постои"
|
||||
|
||||
#: src/modules/displaymanager/main.py:442
|
||||
msgid "Cannot write LXDM configuration file"
|
||||
msgstr "LXDM конфигурациониот фајл не може да се создаде"
|
||||
|
||||
#: src/modules/displaymanager/main.py:443
|
||||
msgid "LXDM config file {!s} does not exist"
|
||||
msgstr "LXDM конфигурациониот фајл {!s} не постои"
|
||||
|
||||
#: src/modules/displaymanager/main.py:517
|
||||
msgid "Cannot write LightDM configuration file"
|
||||
msgstr "LightDM конфигурациониот фајл не може да се создаде"
|
||||
|
||||
#: src/modules/displaymanager/main.py:518
|
||||
msgid "LightDM config file {!s} does not exist"
|
||||
msgstr "LightDM конфигурациониот фајл {!s} не постои"
|
||||
|
||||
#: src/modules/displaymanager/main.py:592
|
||||
msgid "Cannot configure LightDM"
|
||||
msgstr "Не може да се подеси LightDM"
|
||||
|
||||
#: src/modules/displaymanager/main.py:593
|
||||
msgid "No LightDM greeter installed."
|
||||
msgstr "Нема инсталирано LightDM поздравувач"
|
||||
|
||||
#: src/modules/displaymanager/main.py:624
|
||||
msgid "Cannot write SLIM configuration file"
|
||||
msgstr "SLIM конфигурациониот фајл не може да се создаде"
|
||||
|
||||
#: src/modules/displaymanager/main.py:625
|
||||
msgid "SLIM config file {!s} does not exist"
|
||||
msgstr "SLIM конфигурациониот фајл {!s} не постои"
|
||||
|
||||
#: src/modules/displaymanager/main.py:740
|
||||
#: src/modules/displaymanager/main.py:772
|
||||
msgid "No display managers selected for the displaymanager module."
|
||||
msgstr "Немате избрано дисплеј менаџер за displaymanager модулот."
|
||||
|
||||
#: src/modules/displaymanager/main.py:741
|
||||
msgid ""
|
||||
"The displaymanagers list is empty or undefined in bothglobalstorage and "
|
||||
"displaymanager.conf."
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/displaymanager/main.py:773
|
||||
msgid "The list is empty after checking for installed display managers."
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/displaymanager/main.py:821
|
||||
msgid "Display manager configuration was incomplete"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/umount/main.py:40
|
||||
msgid "Unmount file systems."
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/dummypython/main.py:44
|
||||
msgid "Dummy python job."
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/dummypython/main.py:97
|
||||
msgid "Dummy python step {}"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/machineid/main.py:35
|
||||
msgid "Generate machine-id."
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/packages/main.py:62
|
||||
#, python-format
|
||||
msgid "Processing packages (%(count)d / %(total)d)"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/packages/main.py:64 src/modules/packages/main.py:74
|
||||
msgid "Install packages."
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/packages/main.py:67
|
||||
#, python-format
|
||||
msgid "Installing one package."
|
||||
msgid_plural "Installing %(num)d packages."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/modules/packages/main.py:70
|
||||
#, python-format
|
||||
msgid "Removing one package."
|
||||
msgid_plural "Removing %(num)d packages."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
@ -16,6 +16,11 @@
|
||||
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Tool to find differences between translations (can be used to help
|
||||
* merging them into one). See usage string, below, for details.
|
||||
*/
|
||||
|
||||
#include <QCoreApplication>
|
||||
#include <QDebug>
|
||||
#include <QFile>
|
||||
@ -23,6 +28,16 @@
|
||||
|
||||
#include <QDomDocument>
|
||||
|
||||
static const char usage[] = "Usage: txload <master> [<subsidiary> ...]\n"
|
||||
"\n"
|
||||
"Reads a .ts source file <master> and zero or more .ts <subsidiary>\n"
|
||||
"files, and does a comparison between the translations. Source (English)\n"
|
||||
"strings that are untranslated are flagged in each of the translation\n"
|
||||
"files, while differences in the translations are themselves also shown.\n"
|
||||
"\n"
|
||||
"Outputs to stdout a human-readable list of differences between the\n"
|
||||
"translations.\n";
|
||||
|
||||
bool load_file(const char* filename, QDomDocument& doc)
|
||||
{
|
||||
QFile file(filename);
|
||||
@ -158,7 +173,10 @@ int main(int argc, char** argv)
|
||||
QCoreApplication a(argc, argv);
|
||||
|
||||
if (argc < 2)
|
||||
{
|
||||
qWarning() << usage;
|
||||
return 1;
|
||||
}
|
||||
|
||||
QDomDocument doc("master");
|
||||
if ( !load_file(argv[1], doc) )
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||
*
|
||||
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
||||
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||
* Copyright 2017-2019, Adriaan de Groot <groot@kde.org>
|
||||
*
|
||||
* Calamares is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -275,16 +275,21 @@ gettext_path()
|
||||
}
|
||||
_add_localedirs( candidatePaths, QDir().canonicalPath() ); // .
|
||||
|
||||
cDebug() << "Standard paths" << candidatePaths;
|
||||
cDebug() << "Determining gettext path from" << candidatePaths;
|
||||
|
||||
for ( auto lang : _gettext_languages() )
|
||||
QStringList candidateLanguages = _gettext_languages();
|
||||
|
||||
for ( const auto& lang : candidateLanguages )
|
||||
for ( auto localedir : candidatePaths )
|
||||
{
|
||||
QDir ldir( localedir );
|
||||
cDebug() << "Checking" << lang << "in" <<ldir.canonicalPath();
|
||||
if ( ldir.cd( lang ) )
|
||||
{
|
||||
cDebug() << " .. Found" << lang << "in" << ldir.canonicalPath();
|
||||
return bp::object( localedir.toStdString() );
|
||||
}
|
||||
}
|
||||
cDebug() << " .. None found for" << candidateLanguages;
|
||||
return bp::object(); // None
|
||||
}
|
||||
|
||||
|
Binary file not shown.
@ -3,6 +3,9 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
# Translators:
|
||||
# Abubakaragoub Y <Abubakaryagob@gmail.com>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
@ -10,6 +13,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
|
||||
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
|
||||
"Last-Translator: Abubakaragoub Y <Abubakaryagob@gmail.com>, 2018\n"
|
||||
"Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@ -19,24 +23,24 @@ msgstr ""
|
||||
|
||||
#: src/modules/dummypythonqt/main.py:84
|
||||
msgid "Click me!"
|
||||
msgstr ""
|
||||
msgstr "اضغط علي!"
|
||||
|
||||
#: src/modules/dummypythonqt/main.py:94
|
||||
msgid "A new QLabel."
|
||||
msgstr ""
|
||||
msgstr "QLabel جديد"
|
||||
|
||||
#: src/modules/dummypythonqt/main.py:97
|
||||
msgid "Dummy PythonQt ViewStep"
|
||||
msgstr ""
|
||||
msgstr "دميه خطوة PythonQt "
|
||||
|
||||
#: src/modules/dummypythonqt/main.py:183
|
||||
msgid "The Dummy PythonQt Job"
|
||||
msgstr ""
|
||||
msgstr "دميه عملية PythonQt "
|
||||
|
||||
#: src/modules/dummypythonqt/main.py:186
|
||||
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
|
||||
msgstr ""
|
||||
msgstr "هذة دميه عملية خطوة PythonQt. و تقول: {}"
|
||||
|
||||
#: src/modules/dummypythonqt/main.py:190
|
||||
msgid "A status message for Dummy PythonQt Job."
|
||||
msgstr ""
|
||||
msgstr "رسالة حاله دميه عملية خطوة PythonQt"
|
||||
|
Binary file not shown.
@ -3,6 +3,9 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
# Translators:
|
||||
# Ander Elortondo, 2019
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
@ -10,6 +13,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
|
||||
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
|
||||
"Last-Translator: Ander Elortondo, 2019\n"
|
||||
"Language-Team: Basque (https://www.transifex.com/calamares/teams/20061/eu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@ -19,24 +23,24 @@ msgstr ""
|
||||
|
||||
#: src/modules/dummypythonqt/main.py:84
|
||||
msgid "Click me!"
|
||||
msgstr ""
|
||||
msgstr "Egidazu klik!"
|
||||
|
||||
#: src/modules/dummypythonqt/main.py:94
|
||||
msgid "A new QLabel."
|
||||
msgstr ""
|
||||
msgstr "QLabel berria."
|
||||
|
||||
#: src/modules/dummypythonqt/main.py:97
|
||||
msgid "Dummy PythonQt ViewStep"
|
||||
msgstr ""
|
||||
msgstr "Dummy PythonQt pauso-ikuspegia"
|
||||
|
||||
#: src/modules/dummypythonqt/main.py:183
|
||||
msgid "The Dummy PythonQt Job"
|
||||
msgstr ""
|
||||
msgstr " Dummy PythonQt lana"
|
||||
|
||||
#: src/modules/dummypythonqt/main.py:186
|
||||
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
|
||||
msgstr ""
|
||||
msgstr "Hau Dummy PythonQt lana da. Dummy lanak zera dio: {}"
|
||||
|
||||
#: src/modules/dummypythonqt/main.py:190
|
||||
msgid "A status message for Dummy PythonQt Job."
|
||||
msgstr ""
|
||||
msgstr "Dummy PythonQt lanaren egoera mezua."
|
||||
|
Binary file not shown.
@ -5,7 +5,7 @@
|
||||
#
|
||||
# Translators:
|
||||
# Paul Combal <abonnementspaul@gmail.com>, 2017
|
||||
# Aestan <anthony.margerand@gmail.com>, 2018
|
||||
# Aestan <anthony.margerand@protonmail.com>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
@ -14,7 +14,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
|
||||
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
|
||||
"Last-Translator: Aestan <anthony.margerand@gmail.com>, 2018\n"
|
||||
"Last-Translator: Aestan <anthony.margerand@protonmail.com>, 2018\n"
|
||||
"Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
BIN
src/modules/dummypythonqt/lang/mk/LC_MESSAGES/dummypythonqt.mo
Normal file
BIN
src/modules/dummypythonqt/lang/mk/LC_MESSAGES/dummypythonqt.mo
Normal file
Binary file not shown.
@ -0,0 +1,46 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
# Translators:
|
||||
# Martin Ristovski <martinristovski@protonmail.com>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-05 11:34-0400\n"
|
||||
"PO-Revision-Date: 2016-12-16 12:18+0000\n"
|
||||
"Last-Translator: Martin Ristovski <martinristovski@protonmail.com>, 2018\n"
|
||||
"Language-Team: Macedonian (https://www.transifex.com/calamares/teams/20061/mk/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: mk\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
|
||||
|
||||
#: src/modules/dummypythonqt/main.py:84
|
||||
msgid "Click me!"
|
||||
msgstr "Кликни ме!"
|
||||
|
||||
#: src/modules/dummypythonqt/main.py:94
|
||||
msgid "A new QLabel."
|
||||
msgstr "Нов QLabel."
|
||||
|
||||
#: src/modules/dummypythonqt/main.py:97
|
||||
msgid "Dummy PythonQt ViewStep"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/dummypythonqt/main.py:183
|
||||
msgid "The Dummy PythonQt Job"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/dummypythonqt/main.py:186
|
||||
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
|
||||
msgstr ""
|
||||
|
||||
#: src/modules/dummypythonqt/main.py:190
|
||||
msgid "A status message for Dummy PythonQt Job."
|
||||
msgstr ""
|
@ -53,6 +53,17 @@ if( ECM_FOUND AND BUILD_TESTING )
|
||||
${YAMLCPP_LIBRARY}
|
||||
)
|
||||
set_target_properties( geoiptest PROPERTIES AUTOMOC TRUE )
|
||||
|
||||
ecm_add_test(
|
||||
Tests.cpp
|
||||
LocaleConfiguration.cpp
|
||||
TEST_NAME
|
||||
localetest
|
||||
LINK_LIBRARIES
|
||||
calamares
|
||||
Qt5::Test
|
||||
)
|
||||
set_target_properties( localetest PROPERTIES AUTOMOC TRUE )
|
||||
endif()
|
||||
|
||||
if( BUILD_TESTING )
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||
*
|
||||
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
|
||||
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||
* Copyright 2017-2019, Adriaan de Groot <groot@kde.org>
|
||||
*
|
||||
* Calamares is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -27,14 +27,23 @@ LocaleConfiguration::LocaleConfiguration()
|
||||
}
|
||||
|
||||
|
||||
LocaleConfiguration
|
||||
LocaleConfiguration::createDefault()
|
||||
LocaleConfiguration::LocaleConfiguration( const QString& localeName, const QString& formatsName )
|
||||
: LocaleConfiguration()
|
||||
{
|
||||
LocaleConfiguration lc = LocaleConfiguration();
|
||||
lc.lang = lc.lc_numeric = lc.lc_time = lc.lc_monetary = lc.lc_paper = lc.lc_name
|
||||
= lc.lc_address = lc.lc_telephone = lc.lc_measurement
|
||||
= lc.lc_identification = "en_US.UTF-8";
|
||||
return lc;
|
||||
lc_numeric = lc_time = lc_monetary = lc_paper = lc_name
|
||||
= lc_address = lc_telephone = lc_measurement
|
||||
= lc_identification = formatsName;
|
||||
|
||||
(void) setLanguage( localeName );
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
LocaleConfiguration::setLanguage(const QString& localeName )
|
||||
{
|
||||
QString language = localeName.split( '_' ).first();
|
||||
m_languageLocaleBcp47 = QLocale( language ).bcp47Name().toLower();
|
||||
m_lang = localeName;
|
||||
}
|
||||
|
||||
|
||||
@ -43,11 +52,7 @@ LocaleConfiguration::fromLanguageAndLocation( const QString& languageLocale,
|
||||
const QStringList& availableLocales,
|
||||
const QString& countryCode )
|
||||
{
|
||||
LocaleConfiguration lc;
|
||||
|
||||
// Note that the documentation how this works is in packages.conf
|
||||
QString language = languageLocale.split( '_' ).first();
|
||||
lc.myLanguageLocaleBcp47 = QLocale(language).bcp47Name().toLower();
|
||||
|
||||
QStringList linesForLanguage;
|
||||
for ( const QString &line : availableLocales )
|
||||
@ -264,19 +269,14 @@ LocaleConfiguration::fromLanguageAndLocation( const QString& languageLocale,
|
||||
if ( lc_formats.isEmpty() )
|
||||
lc_formats = lang;
|
||||
|
||||
lc.lang = lang;
|
||||
lc.lc_address = lc.lc_identification = lc.lc_measurement = lc.lc_monetary
|
||||
= lc.lc_name = lc.lc_numeric = lc.lc_paper = lc.lc_telephone
|
||||
= lc.lc_time = lc_formats;
|
||||
|
||||
return lc;
|
||||
return LocaleConfiguration( lang, lc_formats );
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
LocaleConfiguration::isEmpty() const
|
||||
{
|
||||
return lang.isEmpty() &&
|
||||
return m_lang.isEmpty() &&
|
||||
lc_numeric.isEmpty() &&
|
||||
lc_time.isEmpty() &&
|
||||
lc_monetary.isEmpty() &&
|
||||
@ -294,8 +294,8 @@ LocaleConfiguration::toMap() const
|
||||
{
|
||||
QMap< QString, QString > map;
|
||||
|
||||
if ( !lang.isEmpty() )
|
||||
map.insert( "LANG", lang );
|
||||
if ( !m_lang.isEmpty() )
|
||||
map.insert( "LANG", m_lang );
|
||||
|
||||
if ( !lc_numeric.isEmpty() )
|
||||
map.insert( "LC_NUMERIC", lc_numeric );
|
||||
@ -327,8 +327,3 @@ LocaleConfiguration::toMap() const
|
||||
return map;
|
||||
}
|
||||
|
||||
QString
|
||||
LocaleConfiguration::toBcp47() const
|
||||
{
|
||||
return myLanguageLocaleBcp47;
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||
*
|
||||
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
|
||||
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||
* Copyright 2017-2019, Adriaan de Groot <groot@kde.org>
|
||||
*
|
||||
* Calamares is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -20,28 +20,42 @@
|
||||
#ifndef LOCALECONFIGURATION_H
|
||||
#define LOCALECONFIGURATION_H
|
||||
|
||||
#include <QDebug>
|
||||
#include <QString>
|
||||
#include <QMap>
|
||||
|
||||
class LocaleConfiguration
|
||||
{
|
||||
public:
|
||||
/// @brief Create an empty locale, with nothing set
|
||||
explicit LocaleConfiguration();
|
||||
/// @brief Create a locale with everything set to the given @p localeName
|
||||
explicit LocaleConfiguration( const QString& localeName /* "en_US.UTF-8" */ )
|
||||
: LocaleConfiguration( localeName, localeName ) { };
|
||||
/// @brief Create a locale with language and formats separate
|
||||
explicit LocaleConfiguration( const QString& localeName, const QString& formatsName );
|
||||
|
||||
static LocaleConfiguration createDefault();
|
||||
static LocaleConfiguration fromLanguageAndLocation( const QString& language,
|
||||
const QStringList& availableLocales,
|
||||
const QString& countryCode );
|
||||
|
||||
bool isEmpty() const;
|
||||
|
||||
QMap< QString, QString > toMap() const;
|
||||
/** @brief sets lang and the BCP47 representation
|
||||
*
|
||||
* Note that the documentation how this works is in packages.conf
|
||||
*/
|
||||
void setLanguage( const QString& localeName );
|
||||
QString language() const { return m_lang; }
|
||||
|
||||
// Note that the documentation how this works is in packages.conf
|
||||
QString toBcp47() const;
|
||||
QString toBcp47() const { return m_languageLocaleBcp47; }
|
||||
|
||||
QMap< QString, QString > toMap() const;
|
||||
|
||||
// These become all uppercase in locale.conf, but we keep them lowercase here to
|
||||
// avoid confusion with locale.h.
|
||||
QString lang, lc_numeric, lc_time, lc_monetary, lc_paper, lc_name, lc_address,
|
||||
QString lc_numeric, lc_time, lc_monetary, lc_paper, lc_name, lc_address,
|
||||
lc_telephone, lc_measurement, lc_identification;
|
||||
|
||||
// If the user has explicitly selected language (from the dialog)
|
||||
@ -49,7 +63,13 @@ public:
|
||||
bool explicit_lang, explicit_lc;
|
||||
|
||||
private:
|
||||
QString myLanguageLocaleBcp47;
|
||||
QString m_lang;
|
||||
QString m_languageLocaleBcp47;
|
||||
};
|
||||
|
||||
inline QDebug& operator <<( QDebug& s, const LocaleConfiguration& l )
|
||||
{
|
||||
return s << l.language() << '(' << l.toBcp47() << ") +" << l.lc_numeric;
|
||||
}
|
||||
|
||||
#endif // LOCALECONFIGURATION_H
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||
*
|
||||
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
||||
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||
* Copyright 2017-2019, Adriaan de Groot <groot@kde.org>
|
||||
*
|
||||
* Calamares is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -164,16 +164,17 @@ LocalePage::LocalePage( QWidget* parent )
|
||||
{
|
||||
LCLocaleDialog* dlg =
|
||||
new LCLocaleDialog( m_selectedLocaleConfiguration.isEmpty() ?
|
||||
guessLocaleConfiguration().lang :
|
||||
m_selectedLocaleConfiguration.lang,
|
||||
guessLocaleConfiguration().language() :
|
||||
m_selectedLocaleConfiguration.language(),
|
||||
m_localeGenLines,
|
||||
this );
|
||||
dlg->exec();
|
||||
if ( dlg->result() == QDialog::Accepted &&
|
||||
!dlg->selectedLCLocale().isEmpty() )
|
||||
{
|
||||
m_selectedLocaleConfiguration.lang = dlg->selectedLCLocale();
|
||||
m_selectedLocaleConfiguration.setLanguage( dlg->selectedLCLocale() );
|
||||
m_selectedLocaleConfiguration.explicit_lang = true;
|
||||
this->updateGlobalLocale();
|
||||
this->updateLocaleLabels();
|
||||
}
|
||||
|
||||
@ -317,7 +318,7 @@ LocalePage::init( const QString& initialRegion,
|
||||
}
|
||||
else
|
||||
{
|
||||
cDebug() << "Cannot open file" << localeGenPath
|
||||
cWarning() << "Cannot open file" << localeGenPath
|
||||
<< ". Assuming the supported languages are already built into "
|
||||
"the locale archive.";
|
||||
QProcess localeA;
|
||||
@ -386,7 +387,11 @@ std::pair< QString, QString > LocalePage::prettyLocaleStatus( const LocaleConfig
|
||||
{
|
||||
using CalamaresUtils::LocaleLabel;
|
||||
|
||||
<<<<<<< HEAD
|
||||
LocaleLabel lang( lc.lang, LocaleLabel::LabelFormat::AlwaysWithCountry );
|
||||
=======
|
||||
LocaleLabel lang( lc.language(), LocaleLabel::LabelFormat::AlwaysWithCountry );
|
||||
>>>>>>> 44211ee19a30eb062508bba565da274c53b16a71
|
||||
LocaleLabel num( lc.lc_numeric, LocaleLabel::LabelFormat::AlwaysWithCountry );
|
||||
|
||||
return std::make_pair< QString, QString >(
|
||||
@ -443,7 +448,8 @@ LocalePage::onActivate()
|
||||
!m_selectedLocaleConfiguration.explicit_lang )
|
||||
{
|
||||
auto newLocale = guessLocaleConfiguration();
|
||||
m_selectedLocaleConfiguration.lang = newLocale.lang;
|
||||
m_selectedLocaleConfiguration.setLanguage( newLocale.language() );
|
||||
updateGlobalLocale();
|
||||
updateLocaleLabels();
|
||||
}
|
||||
}
|
||||
@ -452,41 +458,42 @@ LocalePage::onActivate()
|
||||
LocaleConfiguration
|
||||
LocalePage::guessLocaleConfiguration() const
|
||||
{
|
||||
QLocale myLocale; // User-selected language
|
||||
|
||||
// If we cannot say anything about available locales
|
||||
if ( m_localeGenLines.isEmpty() )
|
||||
{
|
||||
cWarning() << "guessLocaleConfiguration can't guess from an empty list.";
|
||||
return LocaleConfiguration::createDefault();
|
||||
}
|
||||
|
||||
QString myLanguageLocale = myLocale.name();
|
||||
if ( myLanguageLocale.isEmpty() )
|
||||
return LocaleConfiguration::createDefault();
|
||||
|
||||
return LocaleConfiguration::fromLanguageAndLocation( myLanguageLocale,
|
||||
return LocaleConfiguration::fromLanguageAndLocation( QLocale().name(),
|
||||
m_localeGenLines,
|
||||
m_tzWidget->getCurrentLocation().country );
|
||||
}
|
||||
|
||||
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
void
|
||||
LocalePage::updateGlobalLocale()
|
||||
{
|
||||
auto *gs = Calamares::JobQueue::instance()->globalStorage();
|
||||
const QString bcp47 = m_selectedLocaleConfiguration.toBcp47();
|
||||
gs->insert( "locale", bcp47 );
|
||||
}
|
||||
|
||||
|
||||
>>>>>>> 44211ee19a30eb062508bba565da274c53b16a71
|
||||
void
|
||||
LocalePage::updateGlobalStorage()
|
||||
{
|
||||
LocaleGlobal::Location location = m_tzWidget->getCurrentLocation();
|
||||
Calamares::JobQueue::instance()->globalStorage()
|
||||
->insert( "locationRegion", location.region );
|
||||
Calamares::JobQueue::instance()->globalStorage()
|
||||
->insert( "locationZone", location.zone );
|
||||
auto *gs = Calamares::JobQueue::instance()->globalStorage();
|
||||
|
||||
const QString bcp47 = m_selectedLocaleConfiguration.toBcp47();
|
||||
Calamares::JobQueue::instance()->globalStorage()->insert( "locale", bcp47 );
|
||||
LocaleGlobal::Location location = m_tzWidget->getCurrentLocation();
|
||||
bool locationChanged = ( location.region != gs->value( "locationRegion" ) ) ||
|
||||
( location.zone != gs->value( "locationZone" ) );
|
||||
|
||||
gs->insert( "locationRegion", location.region );
|
||||
gs->insert( "locationZone", location.zone );
|
||||
|
||||
updateGlobalLocale();
|
||||
|
||||
// If we're in chroot mode (normal install mode), then we immediately set the
|
||||
// timezone on the live system. When debugging timezones, don't bother.
|
||||
#ifndef DEBUG_TIMEZONES
|
||||
if ( Calamares::Settings::instance()->doChroot() )
|
||||
if ( locationChanged && Calamares::Settings::instance()->doChroot() )
|
||||
{
|
||||
QProcess::execute( "timedatectl", // depends on systemd
|
||||
{ "set-timezone",
|
||||
@ -498,7 +505,7 @@ LocalePage::updateGlobalStorage()
|
||||
auto newLocale = guessLocaleConfiguration();
|
||||
if ( !m_selectedLocaleConfiguration.isEmpty() &&
|
||||
m_selectedLocaleConfiguration.explicit_lang )
|
||||
newLocale.lang = m_selectedLocaleConfiguration.lang;
|
||||
newLocale.setLanguage( m_selectedLocaleConfiguration.language() );
|
||||
if ( !m_selectedLocaleConfiguration.isEmpty() &&
|
||||
m_selectedLocaleConfiguration.explicit_lc )
|
||||
{
|
||||
|
@ -1,6 +1,7 @@
|
||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||
*
|
||||
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
||||
* Copyright 2019, Adriaan de Groot <groot@kde.org>
|
||||
*
|
||||
* Calamares is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -56,6 +57,12 @@ private:
|
||||
// the settings for language and numbers.
|
||||
std::pair< QString, QString > prettyLocaleStatus( const LocaleConfiguration& ) const;
|
||||
|
||||
/** @brief Update the GS *locale* key with the selected system language.
|
||||
*
|
||||
* This uses whatever is set in m_selectedLocaleConfiguration as the language,
|
||||
* and writes it to GS *locale* key (as a string, in BCP47 format).
|
||||
*/
|
||||
void updateGlobalLocale();
|
||||
void updateGlobalStorage();
|
||||
void updateLocaleLabels();
|
||||
|
||||
|
80
src/modules/locale/Tests.cpp
Normal file
80
src/modules/locale/Tests.cpp
Normal file
@ -0,0 +1,80 @@
|
||||
/* === This file is part of Calamares - <http://github.com/calamares> ===
|
||||
*
|
||||
* Copyright 2019, Adriaan de Groot <groot@kde.org>
|
||||
*
|
||||
* Calamares is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Calamares is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#include "Tests.h"
|
||||
#include "LocaleConfiguration.h"
|
||||
|
||||
#include <QtTest/QtTest>
|
||||
|
||||
QTEST_GUILESS_MAIN( LocaleTests )
|
||||
|
||||
|
||||
LocaleTests::LocaleTests()
|
||||
{
|
||||
}
|
||||
|
||||
LocaleTests::~LocaleTests()
|
||||
{
|
||||
}
|
||||
|
||||
void LocaleTests::initTestCase()
|
||||
{
|
||||
}
|
||||
|
||||
void LocaleTests::testEmptyLocaleConfiguration()
|
||||
{
|
||||
LocaleConfiguration lc;
|
||||
|
||||
QVERIFY( lc.isEmpty() );
|
||||
QCOMPARE( lc.toBcp47(), QString() );
|
||||
}
|
||||
|
||||
void LocaleTests::testDefaultLocaleConfiguration()
|
||||
{
|
||||
LocaleConfiguration lc( "en_US.UTF-8" );
|
||||
QVERIFY( !lc.isEmpty() );
|
||||
QCOMPARE( lc.language(), "en_US.UTF-8" );
|
||||
QCOMPARE( lc.toBcp47(), "en" );
|
||||
|
||||
LocaleConfiguration lc2( "de_DE.UTF-8" );
|
||||
QVERIFY( !lc2.isEmpty() );
|
||||
QCOMPARE( lc2.language(), "de_DE.UTF-8" );
|
||||
QCOMPARE( lc2.toBcp47(), "de" );
|
||||
}
|
||||
|
||||
void LocaleTests::testSplitLocaleConfiguration()
|
||||
{
|
||||
LocaleConfiguration lc( "en_US.UTF-8", "de_DE.UTF-8" );
|
||||
QVERIFY( !lc.isEmpty() );
|
||||
QCOMPARE( lc.language(), "en_US.UTF-8" );
|
||||
QCOMPARE( lc.toBcp47(), "en" );
|
||||
QCOMPARE( lc.lc_numeric, QStringLiteral( "de_DE.UTF-8" ) );
|
||||
|
||||
LocaleConfiguration lc2( "de_DE.UTF-8", "da_DK.UTF-8" );
|
||||
QVERIFY( !lc2.isEmpty() );
|
||||
QCOMPARE( lc2.language(), "de_DE.UTF-8" );
|
||||
QCOMPARE( lc2.toBcp47(), "de" );
|
||||
QCOMPARE( lc2.lc_numeric, "da_DK.UTF-8" );
|
||||
|
||||
LocaleConfiguration lc3( "da_DK.UTF-8", "de_DE.UTF-8" );
|
||||
QVERIFY( !lc3.isEmpty() );
|
||||
QCOMPARE( lc3.toBcp47(), "da" );
|
||||
QCOMPARE( lc3.lc_numeric, "de_DE.UTF-8" );
|
||||
|
||||
}
|
40
src/modules/locale/Tests.h
Normal file
40
src/modules/locale/Tests.h
Normal file
@ -0,0 +1,40 @@
|
||||
/* === This file is part of Calamares - <http://github.com/calamares> ===
|
||||
*
|
||||
* Copyright 2019, Adriaan de Groot <groot@kde.org>
|
||||
*
|
||||
* Calamares is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Calamares is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef TESTS_H
|
||||
#define TESTS_H
|
||||
|
||||
#include <QObject>
|
||||
|
||||
class LocaleTests : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
LocaleTests();
|
||||
~LocaleTests() override;
|
||||
|
||||
private Q_SLOTS:
|
||||
void initTestCase();
|
||||
// Check the sample config file is processed correctly
|
||||
void testEmptyLocaleConfiguration();
|
||||
void testDefaultLocaleConfiguration();
|
||||
void testSplitLocaleConfiguration();
|
||||
};
|
||||
|
||||
#endif
|
@ -1,6 +1,7 @@
|
||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||
*
|
||||
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
||||
* Copyright 2019, Adriaan de Groot <groot@kde.org>
|
||||
*
|
||||
* Originally from the Manjaro Installation Framework
|
||||
* by Roland Singer <roland@manjaro.org>
|
||||
@ -38,11 +39,13 @@
|
||||
class LocaleGlobal
|
||||
{
|
||||
public:
|
||||
struct Locale {
|
||||
struct Locale
|
||||
{
|
||||
QString description, locale;
|
||||
};
|
||||
|
||||
struct Location {
|
||||
struct Location
|
||||
{
|
||||
QString region, zone, country;
|
||||
double latitude, longitude;
|
||||
static QString pretty( const QString& s );
|
||||
@ -59,7 +62,12 @@ private:
|
||||
|
||||
static void initLocales();
|
||||
static void initLocations();
|
||||
static double getRightGeoLocation(QString str);
|
||||
static double getRightGeoLocation( QString str );
|
||||
};
|
||||
|
||||
inline QDebug& operator <<( QDebug& s, const LocaleGlobal::Location& l )
|
||||
{
|
||||
return s << l.region << '/' << l.zone << '(' << l.country << ") @N" << l.latitude << 'E' << l.longitude;
|
||||
}
|
||||
|
||||
#endif // LOCALEGLOBAL_H
|
||||
|
@ -150,10 +150,10 @@ class PackageManager(metaclass=abc.ABCMeta):
|
||||
@param packagedata: str|dict
|
||||
"""
|
||||
if isinstance(packagedata, str):
|
||||
self.remove([packagedata], from_local=from_local)
|
||||
self.remove([packagedata])
|
||||
else:
|
||||
self.run(packagedata["pre-script"])
|
||||
self.remove([packagedata["package"]], from_local=from_local)
|
||||
self.remove([packagedata["package"]])
|
||||
self.run(packagedata["post-script"])
|
||||
|
||||
|
||||
|
@ -80,26 +80,47 @@ bool
|
||||
canBeResized( Partition* candidate )
|
||||
{
|
||||
if ( !candidate )
|
||||
{
|
||||
cDebug() << "Partition* is NULL";
|
||||
return false;
|
||||
}
|
||||
|
||||
cDebug() << "Checking if" << candidate->partitionPath() << "can be resized.";
|
||||
if ( !candidate->fileSystem().supportGrow() ||
|
||||
!candidate->fileSystem().supportShrink() )
|
||||
{
|
||||
cDebug() << " .. filesystem" << candidate->fileSystem().name()
|
||||
<< "does not support resize.";
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( KPMHelpers::isPartitionFreeSpace( candidate ) )
|
||||
{
|
||||
cDebug() << " .. partition is free space";
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( candidate->isMounted() )
|
||||
{
|
||||
cDebug() << " .. partition is mounted";
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( candidate->roles().has( PartitionRole::Primary ) )
|
||||
{
|
||||
PartitionTable* table = dynamic_cast< PartitionTable* >( candidate->parent() );
|
||||
if ( !table )
|
||||
{
|
||||
cDebug() << " .. no partition table found";
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( table->numPrimaries() >= table->maxPrimaries() )
|
||||
{
|
||||
cDebug() << " .. partition table already has"
|
||||
<< table->maxPrimaries() << "primary partitions.";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool ok = false;
|
||||
@ -136,11 +157,10 @@ bool
|
||||
canBeResized( PartitionCoreModule* core, const QString& partitionPath )
|
||||
{
|
||||
//FIXME: check for max partitions count on DOS MBR
|
||||
cDebug() << "checking if" << partitionPath << "can be resized.";
|
||||
cDebug() << "Checking if" << partitionPath << "can be resized.";
|
||||
QString partitionWithOs = partitionPath;
|
||||
if ( partitionWithOs.startsWith( "/dev/" ) )
|
||||
{
|
||||
cDebug() << partitionWithOs << "seems like a good path";
|
||||
DeviceModel* dm = core->deviceModel();
|
||||
for ( int i = 0; i < dm->rowCount(); ++i )
|
||||
{
|
||||
@ -148,10 +168,11 @@ canBeResized( PartitionCoreModule* core, const QString& partitionPath )
|
||||
Partition* candidate = KPMHelpers::findPartitionByPath( { dev }, partitionWithOs );
|
||||
if ( candidate )
|
||||
{
|
||||
cDebug() << "found Partition* for" << partitionWithOs;
|
||||
cDebug() << " .. found Partition* for" << partitionWithOs;
|
||||
return canBeResized( candidate );
|
||||
}
|
||||
}
|
||||
cDebug() << " .. no Partition* found for" << partitionWithOs;
|
||||
}
|
||||
|
||||
cDebug() << "Partition" << partitionWithOs << "CANNOT BE RESIZED FOR AUTOINSTALL.";
|
||||
@ -177,6 +198,9 @@ lookForFstabEntries( const QString& partitionPath )
|
||||
mountOptions.append( "noload" );
|
||||
}
|
||||
|
||||
cDebug() << "Checking device" << partitionPath
|
||||
<< "for fstab (fs=" << r.getOutput() << ')';
|
||||
|
||||
FstabEntryList fstabEntries;
|
||||
QTemporaryDir mountsDir;
|
||||
mountsDir.setAutoRemove( false );
|
||||
@ -185,6 +209,9 @@ lookForFstabEntries( const QString& partitionPath )
|
||||
if ( !exit ) // if all is well
|
||||
{
|
||||
QFile fstabFile( mountsDir.path() + "/etc/fstab" );
|
||||
|
||||
cDebug() << " .. reading" << fstabFile.fileName();
|
||||
|
||||
if ( fstabFile.open( QIODevice::ReadOnly | QIODevice::Text ) )
|
||||
{
|
||||
const QStringList fstabLines = QString::fromLocal8Bit( fstabFile.readAll() )
|
||||
@ -193,12 +220,18 @@ lookForFstabEntries( const QString& partitionPath )
|
||||
for ( const QString& rawLine : fstabLines )
|
||||
fstabEntries.append( FstabEntry::fromEtcFstab( rawLine ) );
|
||||
fstabFile.close();
|
||||
cDebug() << " .. got" << fstabEntries.count() << "lines.";
|
||||
std::remove_if( fstabEntries.begin(), fstabEntries.end(), [](const FstabEntry& x) { return !x.isValid(); } );
|
||||
cDebug() << " .. got" << fstabEntries.count() << "fstab entries.";
|
||||
}
|
||||
else
|
||||
cWarning() << "Could not read fstab from mounted fs";
|
||||
|
||||
if ( QProcess::execute( "umount", { "-R", mountsDir.path() } ) )
|
||||
cWarning() << "Could not unmount" << mountsDir.path();
|
||||
}
|
||||
else
|
||||
cWarning() << "Could not mount existing fs";
|
||||
|
||||
return fstabEntries;
|
||||
}
|
||||
|
@ -28,7 +28,6 @@
|
||||
#include "utils/Units.h"
|
||||
#include "JobQueue.h"
|
||||
#include "utils/Logger.h"
|
||||
#include "GlobalStorage.h"
|
||||
|
||||
#include <kpmcore/core/device.h>
|
||||
#include <kpmcore/core/partition.h>
|
||||
@ -43,58 +42,38 @@ using CalamaresUtils::operator""_GiB;
|
||||
using CalamaresUtils::operator""_MiB;
|
||||
|
||||
qint64
|
||||
swapSuggestion( const qint64 availableSpaceB )
|
||||
swapSuggestion( const qint64 availableSpaceB, Choices::SwapChoice swap )
|
||||
{
|
||||
/* If suspend-to-disk is demanded, then we always need enough
|
||||
* swap to write the whole memory to disk -- between 2GB and 8GB
|
||||
* RAM give proportionally more swap, and from 8GB RAM keep
|
||||
* swap = RAM.
|
||||
*
|
||||
* If suspend-to-disk is not demanded, then ramp up more slowly,
|
||||
* to 8GB swap at 16GB memory, and then drop to 4GB for "large
|
||||
* memory" machines, on the assumption that those don't need swap
|
||||
* because they have tons of memory (or whatever they are doing,
|
||||
* had better not run into swap).
|
||||
*/
|
||||
if ( ( swap != Choices::SmallSwap ) && ( swap != Choices::FullSwap ) )
|
||||
return 0;
|
||||
|
||||
// See partition.conf for explanation
|
||||
qint64 suggestedSwapSizeB = 0;
|
||||
auto memory = CalamaresUtils::System::instance()->getTotalMemoryB();
|
||||
qint64 availableRamB = memory.first;
|
||||
qreal overestimationFactor = memory.second;
|
||||
|
||||
bool ensureSuspendToDisk =
|
||||
Calamares::JobQueue::instance()->globalStorage()->
|
||||
value( "ensureSuspendToDisk" ).toBool();
|
||||
bool ensureSuspendToDisk = swap == Choices::FullSwap;
|
||||
|
||||
if ( ensureSuspendToDisk )
|
||||
{
|
||||
if ( availableRamB < 4_GiB )
|
||||
suggestedSwapSizeB = qMax( 2_GiB, availableRamB * 2 );
|
||||
else if ( availableRamB >= 4_GiB && availableRamB < 8_GiB )
|
||||
suggestedSwapSizeB = 8_GiB;
|
||||
else
|
||||
suggestedSwapSizeB = availableRamB;
|
||||
// Ramp up quickly to 8GiB, then follow memory size
|
||||
if ( availableRamB <= 4_GiB )
|
||||
suggestedSwapSizeB = availableRamB * 2;
|
||||
else if ( availableRamB <= 8_GiB )
|
||||
suggestedSwapSizeB = 8_GiB;
|
||||
else
|
||||
suggestedSwapSizeB = availableRamB;
|
||||
|
||||
suggestedSwapSizeB *= overestimationFactor;
|
||||
}
|
||||
else //if we don't care about suspend to disk
|
||||
{
|
||||
if ( availableRamB < 2_GiB )
|
||||
suggestedSwapSizeB = qMax( 2_GiB, availableRamB * 2 );
|
||||
else if ( availableRamB >= 2_GiB && availableRamB < 8_GiB )
|
||||
suggestedSwapSizeB = availableRamB;
|
||||
else if ( availableRamB >= 8_GiB && availableRamB < 16_GiB )
|
||||
suggestedSwapSizeB = 8_GiB;
|
||||
else
|
||||
suggestedSwapSizeB = 4_GiB;
|
||||
// .. top out at 8GiB if we don't care about suspend
|
||||
if ( !ensureSuspendToDisk )
|
||||
suggestedSwapSizeB = qMin( 8_GiB, suggestedSwapSizeB );
|
||||
|
||||
suggestedSwapSizeB *= overestimationFactor;
|
||||
|
||||
// don't use more than 10% of available space
|
||||
qreal maxSwapDiskRatio = 0.10;
|
||||
qint64 maxSwapSizeB = availableSpaceB * maxSwapDiskRatio;
|
||||
if ( suggestedSwapSizeB > maxSwapSizeB )
|
||||
suggestedSwapSizeB = maxSwapSizeB;
|
||||
}
|
||||
// Allow for a fudge factor
|
||||
suggestedSwapSizeB *= overestimationFactor;
|
||||
|
||||
// don't use more than 10% of available space
|
||||
if ( !ensureSuspendToDisk )
|
||||
suggestedSwapSizeB = qMin( suggestedSwapSizeB, qint64( 0.10 * availableSpaceB ) );
|
||||
|
||||
cDebug() << "Suggested swap size:" << suggestedSwapSizeB / 1024. / 1024. / 1024. << "GiB";
|
||||
|
||||
@ -118,16 +97,14 @@ bytesToSectors( qint64 bytes, qint64 blocksize )
|
||||
}
|
||||
|
||||
void
|
||||
doAutopartition( PartitionCoreModule* core, Device* dev, const QString& luksPassphrase )
|
||||
doAutopartition( PartitionCoreModule* core, Device* dev, Choices::AutoPartitionOptions o )
|
||||
{
|
||||
Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage();
|
||||
|
||||
bool isEfi = PartUtils::isEfiSystem();
|
||||
|
||||
QString defaultFsType = gs->value( "defaultFileSystemType" ).toString();
|
||||
QString defaultFsType = o.defaultFsType;
|
||||
if ( FileSystem::typeForName( defaultFsType ) == FileSystem::Unknown )
|
||||
defaultFsType = "ext4";
|
||||
|
||||
bool isEfi = PartUtils::isEfiSystem();
|
||||
|
||||
// Partition sizes are expressed in MiB, should be multiples of
|
||||
// the logical sector size (usually 512B). EFI starts with 2MiB
|
||||
// empty and a 300MiB EFI boot partition, while BIOS starts at
|
||||
@ -160,8 +137,7 @@ doAutopartition( PartitionCoreModule* core, Device* dev, const QString& luksPass
|
||||
PartitionTable::FlagNone
|
||||
);
|
||||
PartitionInfo::setFormat( efiPartition, true );
|
||||
PartitionInfo::setMountPoint( efiPartition, gs->value( "efiSystemPartition" )
|
||||
.toString() );
|
||||
PartitionInfo::setMountPoint( efiPartition, o.efiPartitionMountPoint );
|
||||
core->createPartition( dev, efiPartition, PartitionTable::FlagEsp );
|
||||
firstFreeSector = lastSector + 1;
|
||||
}
|
||||
@ -170,20 +146,18 @@ doAutopartition( PartitionCoreModule* core, Device* dev, const QString& luksPass
|
||||
core->createPartitionTable( dev, PartitionTable::msdos );
|
||||
}
|
||||
|
||||
const bool mayCreateSwap = !gs->value( "neverCreateSwap" ).toBool();
|
||||
const bool mayCreateSwap = ( o.swap == Choices::SmallSwap ) || ( o.swap == Choices::FullSwap );
|
||||
bool shouldCreateSwap = false;
|
||||
qint64 suggestedSwapSizeB = 0;
|
||||
|
||||
if ( mayCreateSwap )
|
||||
{
|
||||
qint64 availableSpaceB = ( dev->totalLogical() - firstFreeSector ) * dev->logicalSize();
|
||||
suggestedSwapSizeB = swapSuggestion( availableSpaceB );
|
||||
suggestedSwapSizeB = swapSuggestion( availableSpaceB, o.swap );
|
||||
// Space required by this installation is what the distro claims is needed
|
||||
// (via global configuration) plus the swap size plus a fudge factor of
|
||||
// 0.6GiB (this was 2.1GiB up to Calamares 3.2.2).
|
||||
qint64 requiredSpaceB =
|
||||
GiBtoBytes( gs->value( "requiredStorageGB" ).toDouble() + 0.6 ) +
|
||||
suggestedSwapSizeB;
|
||||
qint64 requiredSpaceB = o.requiredSpaceB + 600_MiB + suggestedSwapSizeB;
|
||||
|
||||
// If there is enough room for ESP + root + swap, create swap, otherwise don't.
|
||||
shouldCreateSwap = availableSpaceB > requiredSpaceB;
|
||||
@ -196,7 +170,7 @@ doAutopartition( PartitionCoreModule* core, Device* dev, const QString& luksPass
|
||||
}
|
||||
|
||||
Partition* rootPartition = nullptr;
|
||||
if ( luksPassphrase.isEmpty() )
|
||||
if ( o.luksPassphrase.isEmpty() )
|
||||
{
|
||||
rootPartition = KPMHelpers::createNewPartition(
|
||||
dev->partitionTable(),
|
||||
@ -217,7 +191,7 @@ doAutopartition( PartitionCoreModule* core, Device* dev, const QString& luksPass
|
||||
FileSystem::typeForName( defaultFsType ),
|
||||
firstFreeSector,
|
||||
lastSectorForRoot,
|
||||
luksPassphrase,
|
||||
o.luksPassphrase,
|
||||
PartitionTable::FlagNone
|
||||
);
|
||||
}
|
||||
@ -232,7 +206,7 @@ doAutopartition( PartitionCoreModule* core, Device* dev, const QString& luksPass
|
||||
if ( shouldCreateSwap )
|
||||
{
|
||||
Partition* swapPartition = nullptr;
|
||||
if ( luksPassphrase.isEmpty() )
|
||||
if ( o.luksPassphrase.isEmpty() )
|
||||
{
|
||||
swapPartition = KPMHelpers::createNewPartition(
|
||||
dev->partitionTable(),
|
||||
@ -253,7 +227,7 @@ doAutopartition( PartitionCoreModule* core, Device* dev, const QString& luksPass
|
||||
FileSystem::LinuxSwap,
|
||||
lastSectorForRoot + 1,
|
||||
dev->totalLogical() - 1,
|
||||
luksPassphrase,
|
||||
o.luksPassphrase,
|
||||
PartitionTable::FlagNone
|
||||
);
|
||||
}
|
||||
@ -269,13 +243,11 @@ void
|
||||
doReplacePartition( PartitionCoreModule* core,
|
||||
Device* dev,
|
||||
Partition* partition,
|
||||
const QString& luksPassphrase )
|
||||
Choices::ReplacePartitionOptions o )
|
||||
{
|
||||
cDebug() << "doReplacePartition for device" << partition->partitionPath();
|
||||
|
||||
QString defaultFsType = Calamares::JobQueue::instance()->
|
||||
globalStorage()->
|
||||
value( "defaultFileSystemType" ).toString();
|
||||
QString defaultFsType = o.defaultFsType;
|
||||
if ( FileSystem::typeForName( defaultFsType ) == FileSystem::Unknown )
|
||||
defaultFsType = "ext4";
|
||||
|
||||
@ -296,7 +268,7 @@ doReplacePartition( PartitionCoreModule* core,
|
||||
}
|
||||
|
||||
Partition* newPartition = nullptr;
|
||||
if ( luksPassphrase.isEmpty() )
|
||||
if ( o.luksPassphrase.isEmpty() )
|
||||
{
|
||||
newPartition = KPMHelpers::createNewPartition(
|
||||
partition->parent(),
|
||||
@ -317,7 +289,7 @@ doReplacePartition( PartitionCoreModule* core,
|
||||
FileSystem::typeForName( defaultFsType ),
|
||||
partition->firstSector(),
|
||||
partition->lastSector(),
|
||||
luksPassphrase,
|
||||
o.luksPassphrase,
|
||||
PartitionTable::FlagNone
|
||||
);
|
||||
}
|
||||
|
@ -27,29 +27,74 @@ class Partition;
|
||||
|
||||
namespace PartitionActions
|
||||
{
|
||||
/** @brief Namespace for enums
|
||||
*
|
||||
* This namespace houses non-class enums.....
|
||||
*/
|
||||
namespace Choices
|
||||
{
|
||||
/** @brief Ccchoice of swap (size and type) */
|
||||
enum SwapChoice
|
||||
{
|
||||
NoSwap, // don't create any swap, don't use any
|
||||
ReuseSwap, // don't create, but do use existing
|
||||
SmallSwap, // up to 8GiB of swap
|
||||
FullSwap, // ensureSuspendToDisk -- at least RAM size
|
||||
SwapFile // use a file (if supported)
|
||||
};
|
||||
|
||||
struct ReplacePartitionOptions
|
||||
{
|
||||
QString defaultFsType; // e.g. "ext4" or "btrfs"
|
||||
QString luksPassphrase; // optional
|
||||
|
||||
ReplacePartitionOptions( const QString& fs, const QString& luks )
|
||||
: defaultFsType( fs )
|
||||
, luksPassphrase( luks )
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
struct AutoPartitionOptions : ReplacePartitionOptions
|
||||
{
|
||||
QString efiPartitionMountPoint; // optional, e.g. "/boot"
|
||||
quint64 requiredSpaceB; // estimated required space for root partition
|
||||
SwapChoice swap;
|
||||
|
||||
AutoPartitionOptions( const QString& fs, const QString& luks, const QString& efi, qint64 r, SwapChoice s )
|
||||
: ReplacePartitionOptions( fs, luks )
|
||||
, efiPartitionMountPoint( efi )
|
||||
, requiredSpaceB( r > 0 ? r : 0 )
|
||||
, swap( s )
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace Choices
|
||||
|
||||
/**
|
||||
* @brief doAutopartition sets up an autopartitioning operation on the given Device.
|
||||
* @param core a pointer to the PartitionCoreModule instance.
|
||||
* @param dev the device to wipe.
|
||||
* @param luksPassphrase the passphrase for LUKS encryption (optional, default is empty).
|
||||
* @param options settings for autopartitioning.
|
||||
*/
|
||||
void doAutopartition( PartitionCoreModule* core,
|
||||
Device* dev,
|
||||
const QString& luksPassphrase = QString() );
|
||||
Choices::AutoPartitionOptions options );
|
||||
|
||||
/**
|
||||
* @brief doReplacePartition sets up replace-partitioning with the given partition.
|
||||
* @param core a pointer to the PartitionCoreModule instance.
|
||||
* @param dev a pointer to the Device on which to replace a partition.
|
||||
* @param partition a pointer to the Partition to be replaced.
|
||||
* @param luksPassphrase the passphrase for LUKS encryption (optional, default is empty).
|
||||
* @param options settings for partitioning (not all fields apply)
|
||||
*
|
||||
* @note this function also takes care of requesting PCM to delete the partition.
|
||||
*/
|
||||
void doReplacePartition( PartitionCoreModule* core,
|
||||
Device* dev,
|
||||
Partition* partition,
|
||||
const QString& luksPassphrase = QString() );
|
||||
}
|
||||
Choices::ReplacePartitionOptions options );
|
||||
} // namespace PartitionActions
|
||||
|
||||
#endif // PARTITIONACTIONS_H
|
||||
|
@ -20,31 +20,33 @@
|
||||
#include "ChoicePage.h"
|
||||
|
||||
#include "core/BootLoaderModel.h"
|
||||
#include "core/PartitionActions.h"
|
||||
#include "core/PartitionCoreModule.h"
|
||||
#include "core/DeviceModel.h"
|
||||
#include "core/PartitionModel.h"
|
||||
#include "core/KPMHelpers.h"
|
||||
#include "core/OsproberEntry.h"
|
||||
#include "core/PartUtils.h"
|
||||
#include "core/PartitionActions.h"
|
||||
#include "core/PartitionCoreModule.h"
|
||||
#include "core/PartitionInfo.h"
|
||||
#include "core/PartitionIterator.h"
|
||||
#include "core/PartitionModel.h"
|
||||
|
||||
#include "ReplaceWidget.h"
|
||||
#include "PrettyRadioButton.h"
|
||||
#include "BootInfoWidget.h"
|
||||
#include "DeviceInfoWidget.h"
|
||||
#include "PartitionBarsView.h"
|
||||
#include "PartitionLabelsView.h"
|
||||
#include "PartitionSplitterWidget.h"
|
||||
#include "BootInfoWidget.h"
|
||||
#include "DeviceInfoWidget.h"
|
||||
#include "PrettyRadioButton.h"
|
||||
#include "ReplaceWidget.h"
|
||||
#include "ScanningDialog.h"
|
||||
|
||||
#include "utils/CalamaresUtilsGui.h"
|
||||
#include "utils/Logger.h"
|
||||
#include "utils/Retranslator.h"
|
||||
#include "utils/Units.h"
|
||||
|
||||
#include "Branding.h"
|
||||
#include "core/KPMHelpers.h"
|
||||
#include "JobQueue.h"
|
||||
#include "GlobalStorage.h"
|
||||
#include "core/PartitionInfo.h"
|
||||
#include "JobQueue.h"
|
||||
|
||||
#include <kpmcore/core/device.h>
|
||||
#include <kpmcore/core/partition.h>
|
||||
@ -61,7 +63,7 @@
|
||||
#include <QFutureWatcher>
|
||||
#include <QtConcurrent/QtConcurrent>
|
||||
|
||||
|
||||
using PartitionActions::Choices::SwapChoice;
|
||||
|
||||
/**
|
||||
* @brief ChoicePage::ChoicePage is the default constructor. Called on startup as part of
|
||||
@ -81,6 +83,9 @@ ChoicePage::ChoicePage( QWidget* parent )
|
||||
, m_eraseButton( nullptr )
|
||||
, m_replaceButton( nullptr )
|
||||
, m_somethingElseButton( nullptr )
|
||||
, m_eraseSwapChoices( nullptr )
|
||||
, m_replaceSwapChoices( nullptr )
|
||||
, m_alongsideSwapChoices( nullptr )
|
||||
, m_deviceInfoWidget( nullptr )
|
||||
, m_beforePartitionBarsView( nullptr )
|
||||
, m_beforePartitionLabelsView( nullptr )
|
||||
@ -176,6 +181,19 @@ ChoicePage::init( PartitionCoreModule* core )
|
||||
}
|
||||
|
||||
|
||||
/** @brief Creates a combobox with the given choices in it.
|
||||
*
|
||||
* No texts are set -- that happens later by the translator functions.
|
||||
*/
|
||||
static inline QComboBox*
|
||||
createCombo( std::initializer_list< SwapChoice > l )
|
||||
{
|
||||
QComboBox* box = new QComboBox;
|
||||
for ( SwapChoice c : l )
|
||||
box->addItem( QString(), c );
|
||||
return box;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ChoicePage::setupChoices creates PrettyRadioButton objects for the action
|
||||
* choices.
|
||||
@ -229,6 +247,19 @@ ChoicePage::setupChoices()
|
||||
iconSize ) );
|
||||
m_grp->addButton( m_replaceButton->buttonWidget(), Replace );
|
||||
|
||||
// Fill up swap options
|
||||
// .. TODO: only if enabled in the config
|
||||
m_eraseSwapChoices = createCombo( { SwapChoice::NoSwap, SwapChoice::SmallSwap, SwapChoice::FullSwap } );
|
||||
m_eraseButton->addOptionsComboBox( m_eraseSwapChoices );
|
||||
|
||||
#if 0
|
||||
m_replaceSwapChoices = createCombo( { SwapChoice::NoSwap, SwapChoice::ReuseSwap, SwapChoice::SmallSwap, SwapChoice::FullSwap } );
|
||||
m_replaceButton->addOptionsComboBox( m_replaceSwapChoices );
|
||||
|
||||
m_alongsideSwapChoices = createCombo( { SwapChoice::NoSwap, SwapChoice::ReuseSwap, SwapChoice::SmallSwap, SwapChoice::FullSwap } );
|
||||
m_alongsideButton->addOptionsComboBox( m_alongsideSwapChoices );
|
||||
#endif
|
||||
|
||||
m_itemsLayout->addWidget( m_alongsideButton );
|
||||
m_itemsLayout->addWidget( m_replaceButton );
|
||||
m_itemsLayout->addWidget( m_eraseButton );
|
||||
@ -252,7 +283,7 @@ ChoicePage::setupChoices()
|
||||
{
|
||||
if ( checked ) // An action was picked.
|
||||
{
|
||||
m_choice = static_cast< Choice >( id );
|
||||
m_choice = static_cast< InstallChoice >( id );
|
||||
updateNextEnabled();
|
||||
|
||||
emit actionChosen();
|
||||
@ -282,6 +313,12 @@ ChoicePage::setupChoices()
|
||||
applyActionChoice( currentChoice() );
|
||||
}
|
||||
} );
|
||||
|
||||
CALAMARES_RETRANSLATE(
|
||||
updateSwapChoicesTr( m_eraseSwapChoices );
|
||||
updateSwapChoicesTr( m_alongsideSwapChoices );
|
||||
updateSwapChoicesTr( m_replaceSwapChoices );
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@ -376,7 +413,7 @@ ChoicePage::continueApplyDeviceChoice()
|
||||
|
||||
|
||||
void
|
||||
ChoicePage::applyActionChoice( ChoicePage::Choice choice )
|
||||
ChoicePage::applyActionChoice( ChoicePage::InstallChoice choice )
|
||||
{
|
||||
m_beforePartitionBarsView->selectionModel()->
|
||||
disconnect( SIGNAL( currentRowChanged( QModelIndex, QModelIndex ) ) );
|
||||
@ -386,30 +423,37 @@ ChoicePage::applyActionChoice( ChoicePage::Choice choice )
|
||||
switch ( choice )
|
||||
{
|
||||
case Erase:
|
||||
if ( m_core->isDirty() )
|
||||
{
|
||||
ScanningDialog::run( QtConcurrent::run( [ = ]
|
||||
{
|
||||
QMutexLocker locker( &m_coreMutex );
|
||||
m_core->revertDevice( selectedDevice() );
|
||||
} ),
|
||||
[ = ]
|
||||
{
|
||||
PartitionActions::doAutopartition( m_core,
|
||||
selectedDevice(),
|
||||
m_encryptWidget->passphrase() );
|
||||
emit deviceChosen();
|
||||
},
|
||||
this );
|
||||
}
|
||||
else
|
||||
{
|
||||
PartitionActions::doAutopartition( m_core,
|
||||
selectedDevice(),
|
||||
m_encryptWidget->passphrase() );
|
||||
emit deviceChosen();
|
||||
}
|
||||
auto gs = Calamares::JobQueue::instance()->globalStorage();
|
||||
|
||||
PartitionActions::Choices::AutoPartitionOptions options {
|
||||
gs->value( "defaultFileSystemType" ).toString(),
|
||||
m_encryptWidget->passphrase(),
|
||||
gs->value( "efiSystemPartition" ).toString(),
|
||||
CalamaresUtils::GiBtoBytes( gs->value( "requiredStorageGB" ).toDouble() ),
|
||||
static_cast<PartitionActions::Choices::SwapChoice>( m_eraseSwapChoices->currentData().toInt() )
|
||||
};
|
||||
|
||||
if ( m_core->isDirty() )
|
||||
{
|
||||
ScanningDialog::run( QtConcurrent::run( [ = ]
|
||||
{
|
||||
QMutexLocker locker( &m_coreMutex );
|
||||
m_core->revertDevice( selectedDevice() );
|
||||
} ),
|
||||
[ = ]
|
||||
{
|
||||
PartitionActions::doAutopartition( m_core, selectedDevice(), options );
|
||||
emit deviceChosen();
|
||||
},
|
||||
this );
|
||||
}
|
||||
else
|
||||
{
|
||||
PartitionActions::doAutopartition( m_core, selectedDevice(), options );
|
||||
emit deviceChosen();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case Replace:
|
||||
if ( m_core->isDirty() )
|
||||
@ -487,6 +531,7 @@ ChoicePage::doAlongsideSetupSplitter( const QModelIndex& current,
|
||||
->value( "requiredStorageGB" )
|
||||
.toDouble();
|
||||
|
||||
// TODO: make this consistent
|
||||
qint64 requiredStorageB = qRound64( requiredStorageGB + 0.1 + 2.0 ) * 1024 * 1024 * 1024;
|
||||
|
||||
m_afterPartitionSplitterWidget->setSplitPartition(
|
||||
@ -777,14 +822,19 @@ ChoicePage::doReplaceSelectedPartition( const QModelIndex& current )
|
||||
if ( homePartitionPath->isEmpty() )
|
||||
doReuseHomePartition = false;
|
||||
|
||||
PartitionActions::doReplacePartition( m_core,
|
||||
selectedDevice(),
|
||||
selectedPartition,
|
||||
m_encryptWidget->passphrase() );
|
||||
Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage();
|
||||
|
||||
PartitionActions::doReplacePartition(
|
||||
m_core,
|
||||
selectedDevice(),
|
||||
selectedPartition,
|
||||
{
|
||||
gs->value( "defaultFileSystemType" ).toString(),
|
||||
m_encryptWidget->passphrase()
|
||||
} );
|
||||
Partition* homePartition = KPMHelpers::findPartitionByPath( { selectedDevice() },
|
||||
*homePartitionPath );
|
||||
|
||||
Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage();
|
||||
if ( homePartition && doReuseHomePartition )
|
||||
{
|
||||
PartitionInfo::setMountPoint( homePartition, "/home" );
|
||||
@ -897,7 +947,7 @@ ChoicePage::updateDeviceStatePreview()
|
||||
* @param choice the chosen partitioning action.
|
||||
*/
|
||||
void
|
||||
ChoicePage::updateActionChoicePreview( ChoicePage::Choice choice )
|
||||
ChoicePage::updateActionChoicePreview( ChoicePage::InstallChoice choice )
|
||||
{
|
||||
Device* currentDevice = selectedDevice();
|
||||
Q_ASSERT( currentDevice );
|
||||
@ -1386,7 +1436,7 @@ ChoicePage::isNextEnabled() const
|
||||
}
|
||||
|
||||
|
||||
ChoicePage::Choice
|
||||
ChoicePage::InstallChoice
|
||||
ChoicePage::currentChoice() const
|
||||
{
|
||||
return m_choice;
|
||||
@ -1434,3 +1484,42 @@ ChoicePage::updateNextEnabled()
|
||||
emit nextStatusChanged( enabled );
|
||||
}
|
||||
|
||||
void
|
||||
ChoicePage::updateSwapChoicesTr(QComboBox* box)
|
||||
{
|
||||
if ( !box )
|
||||
return;
|
||||
|
||||
static_assert(SwapChoice::NoSwap == 0, "Enum values out-of-sync");
|
||||
for ( int index = 0; index < box->count(); ++index )
|
||||
{
|
||||
bool ok = false;
|
||||
int value = 0;
|
||||
|
||||
switch ( value = box->itemData( index ).toInt( &ok ) )
|
||||
{
|
||||
// case 0:
|
||||
case SwapChoice::NoSwap:
|
||||
// toInt() returns 0 on failure, so check for ok
|
||||
if ( ok ) // It was explicitly set to 0
|
||||
box->setItemText( index, tr( "No Swap" ) );
|
||||
else
|
||||
cWarning() << "Box item" << index << box->itemText( index ) << "has non-integer role.";
|
||||
break;
|
||||
case SwapChoice::ReuseSwap:
|
||||
box->setItemText( index, tr( "Reuse Swap" ) );
|
||||
break;
|
||||
case SwapChoice::SmallSwap:
|
||||
box->setItemText( index, tr( "Swap (no Hibernate)" ) );
|
||||
break;
|
||||
case SwapChoice::FullSwap:
|
||||
box->setItemText( index, tr( "Swap (with Hibernate)" ) );
|
||||
break;
|
||||
case SwapChoice::SwapFile:
|
||||
box->setItemText( index, tr( "Swap to file" ) );
|
||||
break;
|
||||
default:
|
||||
cWarning() << "Box item" << index << box->itemText( index ) << "has role" << value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -53,7 +53,7 @@ class ChoicePage : public QWidget, private Ui::ChoicePage
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
enum Choice
|
||||
enum InstallChoice
|
||||
{
|
||||
NoChoice,
|
||||
Alongside,
|
||||
@ -84,7 +84,7 @@ public:
|
||||
* currently selected partitioning mode (with a PrettyRadioButton).
|
||||
* @return the enum Choice value.
|
||||
*/
|
||||
Choice currentChoice() const;
|
||||
InstallChoice currentChoice() const;
|
||||
|
||||
/**
|
||||
* @brief onLeave runs when control passes from this page to another one.
|
||||
@ -95,7 +95,7 @@ public:
|
||||
* @brief applyActionChoice reacts to a choice of partitioning mode.
|
||||
* @param choice the partitioning action choice.
|
||||
*/
|
||||
void applyActionChoice( ChoicePage::Choice choice );
|
||||
void applyActionChoice( ChoicePage::InstallChoice choice );
|
||||
|
||||
signals:
|
||||
void nextStatusChanged( bool );
|
||||
@ -121,18 +121,21 @@ private:
|
||||
void continueApplyDeviceChoice(); // .. called after scan
|
||||
|
||||
void updateDeviceStatePreview();
|
||||
void updateActionChoicePreview( ChoicePage::Choice choice );
|
||||
void updateActionChoicePreview( ChoicePage::InstallChoice choice );
|
||||
void setupActions();
|
||||
OsproberEntryList getOsproberEntriesForDevice( Device* device ) const;
|
||||
void doAlongsideApply();
|
||||
void setupEfiSystemPartitionSelector();
|
||||
|
||||
// Translations support
|
||||
void updateSwapChoicesTr( QComboBox* box );
|
||||
|
||||
bool m_nextEnabled;
|
||||
PartitionCoreModule* m_core;
|
||||
|
||||
QMutex m_previewsMutex;
|
||||
|
||||
Choice m_choice;
|
||||
InstallChoice m_choice;
|
||||
|
||||
bool m_isEfi;
|
||||
QComboBox* m_drivesCombo;
|
||||
@ -142,6 +145,9 @@ private:
|
||||
PrettyRadioButton* m_eraseButton;
|
||||
PrettyRadioButton* m_replaceButton;
|
||||
PrettyRadioButton* m_somethingElseButton;
|
||||
QComboBox* m_eraseSwapChoices;
|
||||
QComboBox* m_replaceSwapChoices;
|
||||
QComboBox* m_alongsideSwapChoices;
|
||||
|
||||
DeviceInfoWidget* m_deviceInfoWidget;
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "gui/PartitionViewStep.h"
|
||||
|
||||
#include "core/DeviceModel.h"
|
||||
#include "core/PartitionActions.h"
|
||||
#include "core/PartitionCoreModule.h"
|
||||
#include "core/PartitionModel.h"
|
||||
#include "core/KPMHelpers.h"
|
||||
@ -138,7 +139,7 @@ PartitionViewStep::createSummaryWidget() const
|
||||
widget->setLayout( mainLayout );
|
||||
mainLayout->setMargin( 0 );
|
||||
|
||||
ChoicePage::Choice choice = m_choicePage->currentChoice();
|
||||
ChoicePage::InstallChoice choice = m_choicePage->currentChoice();
|
||||
|
||||
QFormLayout* formLayout = new QFormLayout( widget );
|
||||
const int MARGIN = CalamaresUtils::defaultFontHeight() / 2;
|
||||
@ -470,92 +471,129 @@ PartitionViewStep::onLeave()
|
||||
}
|
||||
|
||||
|
||||
static PartitionActions::Choices::SwapChoice
|
||||
nameToChoice( QString name, bool& ok )
|
||||
{
|
||||
ok = false;
|
||||
name = name.toLower();
|
||||
|
||||
using namespace PartitionActions::Choices;
|
||||
|
||||
// Each return here first sets ok to true, returns enum value
|
||||
if ( name == QStringLiteral( "none" ) )
|
||||
return( ok=true, SwapChoice::NoSwap );
|
||||
else if ( name == QStringLiteral( "small" ) )
|
||||
return( ok=true, SwapChoice::SmallSwap);
|
||||
else if ( name == QStringLiteral( "suspend" ) )
|
||||
return( ok=true, SwapChoice::FullSwap );
|
||||
else if ( name == QStringLiteral( "reuse" ) )
|
||||
return( ok=true, SwapChoice::ReuseSwap );
|
||||
else if ( name == QStringLiteral( "file" ) )
|
||||
return( ok=true, SwapChoice::SwapFile );
|
||||
|
||||
ok = false;
|
||||
return SwapChoice::NoSwap;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
PartitionViewStep::setConfigurationMap( const QVariantMap& configurationMap )
|
||||
{
|
||||
// Copy the efiSystemPartition setting to the global storage. It is needed not only in
|
||||
// the EraseDiskPage, but also in the bootloader configuration modules (grub, bootloader).
|
||||
Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage();
|
||||
if ( configurationMap.contains( "efiSystemPartition" ) &&
|
||||
configurationMap.value( "efiSystemPartition" ).type() == QVariant::String &&
|
||||
!configurationMap.value( "efiSystemPartition" ).toString().isEmpty() )
|
||||
{
|
||||
gs->insert( "efiSystemPartition", configurationMap.value( "efiSystemPartition" ).toString() );
|
||||
}
|
||||
else
|
||||
{
|
||||
gs->insert( "efiSystemPartition", QStringLiteral( "/boot/efi" ) );
|
||||
}
|
||||
QString efiSP = CalamaresUtils::getString( configurationMap, "efiSystemPartition" );
|
||||
if ( efiSP.isEmpty() )
|
||||
efiSP = QStringLiteral( "/boot/efi" );
|
||||
gs->insert( "efiSystemPartition", efiSP );
|
||||
|
||||
if ( configurationMap.contains( "ensureSuspendToDisk" ) &&
|
||||
configurationMap.value( "ensureSuspendToDisk" ).type() == QVariant::Bool )
|
||||
{
|
||||
gs->insert( "ensureSuspendToDisk", configurationMap.value( "ensureSuspendToDisk" ).toBool() );
|
||||
}
|
||||
else
|
||||
{
|
||||
gs->insert( "ensureSuspendToDisk", true );
|
||||
}
|
||||
// SWAP SETTINGS
|
||||
//
|
||||
// This is a bit convoluted because there's legacy settings to handle as well
|
||||
// as the new-style list of choices, with mapping back-and-forth.
|
||||
if ( configurationMap.contains( "userSwapChoices" ) &&
|
||||
( configurationMap.contains( "ensureSuspendToDisk" ) || configurationMap.contains( "neverCreateSwap" ) ) )
|
||||
cError() << "Partition-module configuration mixes old- and new-style swap settings.";
|
||||
|
||||
if ( configurationMap.contains( "neverCreateSwap" ) &&
|
||||
configurationMap.value( "neverCreateSwap" ).type() == QVariant::Bool )
|
||||
{
|
||||
gs->insert( "neverCreateSwap", configurationMap.value( "neverCreateSwap" ).toBool() );
|
||||
}
|
||||
else
|
||||
{
|
||||
gs->insert( "neverCreateSwap", false );
|
||||
}
|
||||
if ( configurationMap.contains( "ensureSuspendToDisk" ) )
|
||||
cWarning() << "Partition-module setting *ensureSuspendToDisk* is deprecated.";
|
||||
bool ensureSuspendToDisk = CalamaresUtils::getBool( configurationMap, "ensureSuspendToDisk", true );
|
||||
|
||||
if ( configurationMap.contains( "drawNestedPartitions" ) &&
|
||||
configurationMap.value( "drawNestedPartitions" ).type() == QVariant::Bool )
|
||||
{
|
||||
gs->insert( "drawNestedPartitions",
|
||||
configurationMap.value( "drawNestedPartitions", false ).toBool() );
|
||||
}
|
||||
else
|
||||
{
|
||||
gs->insert( "drawNestedPartitions", false );
|
||||
}
|
||||
if ( configurationMap.contains( "neverCreateSwap" ) )
|
||||
cWarning() << "Partition-module setting *neverCreateSwap* is deprecated.";
|
||||
bool neverCreateSwap = CalamaresUtils::getBool( configurationMap, "neverCreateSwap", false );
|
||||
|
||||
if ( configurationMap.contains( "alwaysShowPartitionLabels" ) &&
|
||||
configurationMap.value( "alwaysShowPartitionLabels" ).type() == QVariant::Bool )
|
||||
QSet< PartitionActions::Choices::SwapChoice > choices; // Available swap choices
|
||||
if ( configurationMap.contains( "userSwapChoices" ) )
|
||||
{
|
||||
gs->insert( "alwaysShowPartitionLabels",
|
||||
configurationMap.value( "alwaysShowPartitionLabels", true ).toBool() );
|
||||
}
|
||||
else
|
||||
{
|
||||
gs->insert( "alwaysShowPartitionLabels", true );
|
||||
}
|
||||
// We've already warned about overlapping settings with the
|
||||
// legacy *ensureSuspendToDisk* and *neverCreateSwap*.
|
||||
QStringList l = configurationMap[ "userSwapChoices" ].toStringList();
|
||||
|
||||
if ( configurationMap.contains( "defaultFileSystemType" ) &&
|
||||
configurationMap.value( "defaultFileSystemType" ).type() == QVariant::String &&
|
||||
!configurationMap.value( "defaultFileSystemType" ).toString().isEmpty() )
|
||||
{
|
||||
QString typeString = configurationMap.value( "defaultFileSystemType" ).toString();
|
||||
gs->insert( "defaultFileSystemType", typeString );
|
||||
if ( FileSystem::typeForName( typeString ) == FileSystem::Unknown )
|
||||
for ( const auto& item : l )
|
||||
{
|
||||
cWarning() << "bad default filesystem configuration for partition module. Reverting to ext4 as default.";
|
||||
gs->insert( "defaultFileSystemType", "ext4" );
|
||||
bool ok = false;
|
||||
auto v = nameToChoice( item, ok );
|
||||
if ( ok )
|
||||
choices.insert( v );
|
||||
}
|
||||
|
||||
if ( choices.isEmpty() )
|
||||
{
|
||||
cWarning() << "Partition-module configuration for *userSwapChoices* is empty:" << l;
|
||||
choices.insert( PartitionActions::Choices::SwapChoice::FullSwap );
|
||||
}
|
||||
|
||||
// suspend if it's one of the possible choices; suppress swap only if it's
|
||||
// the **only** choice available.
|
||||
ensureSuspendToDisk = choices.contains( PartitionActions::Choices::SwapChoice::FullSwap );
|
||||
neverCreateSwap = ( choices.count() == 1 ) && choices.contains( PartitionActions::Choices::SwapChoice::NoSwap );
|
||||
}
|
||||
else
|
||||
{
|
||||
gs->insert( "defaultFileSystemType", QStringLiteral( "ext4" ) );
|
||||
// Convert the legacy settings into a single setting for now.
|
||||
if ( neverCreateSwap )
|
||||
choices.insert( PartitionActions::Choices::SwapChoice::NoSwap );
|
||||
else if ( ensureSuspendToDisk )
|
||||
choices.insert( PartitionActions::Choices::SwapChoice::FullSwap );
|
||||
else
|
||||
choices.insert( PartitionActions::Choices::SwapChoice::SmallSwap );
|
||||
}
|
||||
|
||||
if ( configurationMap.contains( "enableLuksAutomatedPartitioning" ) &&
|
||||
configurationMap.value( "enableLuksAutomatedPartitioning" ).type() == QVariant::Bool )
|
||||
{
|
||||
gs->insert( "enableLuksAutomatedPartitioning",
|
||||
configurationMap.value( "enableLuksAutomatedPartitioning" ).toBool() );
|
||||
}
|
||||
// These gs settings seem to be unused (in upstream Calamares) outside of
|
||||
// the partition module itself.
|
||||
gs->insert( "ensureSuspendToDisk", ensureSuspendToDisk );
|
||||
gs->insert( "neverCreateSwap", neverCreateSwap );
|
||||
|
||||
// OTHER SETTINGS
|
||||
//
|
||||
gs->insert( "drawNestedPartitions", CalamaresUtils::getBool( configurationMap, "drawNestedPartitions", false ) );
|
||||
gs->insert( "alwaysShowPartitionLabels", CalamaresUtils::getBool( configurationMap, "alwaysShowPartitionLabels", true ) );
|
||||
gs->insert( "enableLuksAutomatedPartitioning", CalamaresUtils::getBool( configurationMap, "enableLuksAutomatedPartitioning", true ) );
|
||||
|
||||
QString defaultFS = CalamaresUtils::getString( configurationMap, "defaultFileSystemType" );
|
||||
if ( defaultFS.isEmpty() )
|
||||
defaultFS = QStringLiteral( "ext4" );
|
||||
else
|
||||
cDebug() << "Partition-module setting *defaultFileSystemType*" << defaultFS;
|
||||
if ( FileSystem::typeForName( defaultFS ) == FileSystem::Unknown )
|
||||
{
|
||||
gs->insert( "enableLuksAutomatedPartitioning", true );
|
||||
cWarning() << "Partition-module setting *defaultFileSystemType* is bad (" << defaultFS << ") using ext4.";
|
||||
defaultFS = QStringLiteral( "ext4" );
|
||||
#ifdef DEBUG_FILESYSTEMS
|
||||
// This bit is for distro's debugging their settings, and shows
|
||||
// all the strings that KPMCore is matching against for FS type.
|
||||
{
|
||||
Logger::CLog d( Logger::LOGDEBUG );
|
||||
using TR = Logger::DebugRow< int, QString >;
|
||||
const auto fstypes = FileSystem::types();
|
||||
d << "Available types (" << fstypes.count() << ')';
|
||||
for ( FileSystem::Type t : fstypes )
|
||||
d << TR( static_cast<int>( t ), FileSystem::nameForType( t ) );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
gs->insert( "defaultFileSystemType", defaultFS );
|
||||
|
||||
|
||||
// Now that we have the config, we load the PartitionCoreModule in the background
|
||||
@ -563,7 +601,7 @@ PartitionViewStep::setConfigurationMap( const QVariantMap& configurationMap )
|
||||
// and remove the spinner.
|
||||
QFutureWatcher< void >* watcher = new QFutureWatcher< void >();
|
||||
connect( watcher, &QFutureWatcher< void >::finished,
|
||||
this, [ this, watcher ]
|
||||
this, [ this, watcher, choices ]
|
||||
{
|
||||
continueLoading();
|
||||
watcher->deleteLater();
|
||||
|
@ -21,29 +21,34 @@
|
||||
#include "utils/CalamaresUtilsGui.h"
|
||||
#include "widgets/ClickableLabel.h"
|
||||
|
||||
#include <QComboBox>
|
||||
#include <QGridLayout>
|
||||
#include <QHBoxLayout>
|
||||
#include <QLabel>
|
||||
#include <QBoxLayout>
|
||||
|
||||
|
||||
PrettyRadioButton::PrettyRadioButton( QWidget* parent )
|
||||
: QWidget( parent )
|
||||
, m_label( new ClickableLabel )
|
||||
, m_radio( new QRadioButton )
|
||||
, m_mainLayout( new QGridLayout )
|
||||
, m_optionsLayout( nullptr )
|
||||
{
|
||||
QHBoxLayout* mainLayout = new QHBoxLayout;
|
||||
setLayout( mainLayout );
|
||||
setLayout( m_mainLayout );
|
||||
|
||||
m_radio = new QRadioButton;
|
||||
m_label = new ClickableLabel;
|
||||
|
||||
connect( m_label, &ClickableLabel::clicked,
|
||||
m_radio, &QRadioButton::click );
|
||||
m_label->setBuddy( m_radio );
|
||||
|
||||
m_label->setWordWrap( true );
|
||||
m_label->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred );
|
||||
|
||||
mainLayout->addWidget( m_radio );
|
||||
mainLayout->addWidget( m_label );
|
||||
mainLayout->setContentsMargins( 0, 0, 0, 0 );
|
||||
m_mainLayout->addWidget( m_radio, 0, 0 );
|
||||
m_mainLayout->addWidget( m_label, 0, 1 );
|
||||
m_mainLayout->setContentsMargins( 0, 0, 0, 0 );
|
||||
|
||||
connect( m_label, &ClickableLabel::clicked,
|
||||
m_radio, &QRadioButton::click );
|
||||
connect( m_radio, &QRadioButton::toggled,
|
||||
this, &PrettyRadioButton::toggleOptions );
|
||||
}
|
||||
|
||||
|
||||
@ -80,3 +85,32 @@ PrettyRadioButton::buttonWidget() const
|
||||
{
|
||||
return m_radio;
|
||||
}
|
||||
|
||||
void
|
||||
PrettyRadioButton::addOptionsComboBox( QComboBox* box )
|
||||
{
|
||||
if ( !box )
|
||||
return;
|
||||
|
||||
if ( !m_optionsLayout )
|
||||
{
|
||||
QWidget* w = new QWidget;
|
||||
m_optionsLayout = new QHBoxLayout;
|
||||
m_optionsLayout->setAlignment( Qt::AlignmentFlag::AlignLeft );
|
||||
m_optionsLayout->addStretch( 1 );
|
||||
|
||||
w->setLayout( m_optionsLayout );
|
||||
m_mainLayout->addWidget( w, 1, 1 );
|
||||
|
||||
toggleOptions( m_radio->isChecked() );
|
||||
}
|
||||
|
||||
m_optionsLayout->insertWidget( m_optionsLayout->count()-1, box );
|
||||
}
|
||||
|
||||
void
|
||||
PrettyRadioButton::toggleOptions( bool toggle )
|
||||
{
|
||||
if ( m_optionsLayout )
|
||||
m_optionsLayout->parentWidget()->setVisible( toggle );
|
||||
}
|
||||
|
@ -22,7 +22,17 @@
|
||||
#include <QRadioButton>
|
||||
|
||||
class ClickableLabel;
|
||||
class QComboBox;
|
||||
class QGridLayout;
|
||||
class QHBoxLayout;
|
||||
|
||||
/** @brief A radio button with fancy label next to it.
|
||||
*
|
||||
* The radio button itself can be retrieved with buttonWidget(),
|
||||
* and the whole behaves a lot like a label. Extra options can be
|
||||
* added to the display (options are hidden when the button is
|
||||
* not selected) with addOptionsComboBox().
|
||||
*/
|
||||
class PrettyRadioButton : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
@ -40,9 +50,18 @@ public:
|
||||
|
||||
virtual QRadioButton* buttonWidget() const;
|
||||
|
||||
/** @brief Add an options drop-down to this button. */
|
||||
void addOptionsComboBox( QComboBox* );
|
||||
|
||||
protected slots:
|
||||
/// Options are hidden when the radio button is off
|
||||
void toggleOptions( bool checked );
|
||||
|
||||
protected:
|
||||
ClickableLabel* m_label;
|
||||
QRadioButton* m_radio;
|
||||
QGridLayout* m_mainLayout;
|
||||
QHBoxLayout* m_optionsLayout;
|
||||
};
|
||||
|
||||
#endif // PRETTYRADIOBUTTON_H
|
||||
|
@ -85,6 +85,8 @@ ReplaceWidget::reset()
|
||||
void
|
||||
ReplaceWidget::applyChanges()
|
||||
{
|
||||
auto gs = Calamares::JobQueue::instance()->globalStorage();
|
||||
|
||||
PartitionModel* model = qobject_cast< PartitionModel* >( m_ui->partitionTreeView->model() );
|
||||
if ( model )
|
||||
{
|
||||
@ -93,7 +95,9 @@ ReplaceWidget::applyChanges()
|
||||
{
|
||||
Device* dev = model->device();
|
||||
|
||||
PartitionActions::doReplacePartition( m_core, dev, partition );
|
||||
PartitionActions::doReplacePartition(
|
||||
m_core, dev, partition,
|
||||
{ gs->value( "defaultFileSystemType" ).toString(), QString() } );
|
||||
|
||||
if ( m_isEfi )
|
||||
{
|
||||
@ -102,17 +106,13 @@ ReplaceWidget::applyChanges()
|
||||
{
|
||||
PartitionInfo::setMountPoint(
|
||||
efiSystemPartitions.first(),
|
||||
Calamares::JobQueue::instance()->
|
||||
globalStorage()->
|
||||
value( "efiSystemPartition" ).toString() );
|
||||
gs->value( "efiSystemPartition" ).toString() );
|
||||
}
|
||||
else if ( efiSystemPartitions.count() > 1 )
|
||||
{
|
||||
PartitionInfo::setMountPoint(
|
||||
efiSystemPartitions.at( m_ui->bootComboBox->currentIndex() ),
|
||||
Calamares::JobQueue::instance()->
|
||||
globalStorage()->
|
||||
value( "efiSystemPartition" ).toString() );
|
||||
gs->value( "efiSystemPartition" ).toString() );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3,22 +3,37 @@
|
||||
# etc.) use just /boot.
|
||||
efiSystemPartition: "/boot/efi"
|
||||
|
||||
# Make sure an autogenerated swap partition is big enough for hibernation in
|
||||
# automated partitioning modes. Swap can be disabled through *neverCreateSwap*.
|
||||
# In autogenerated partitioning, allow the user to select a swap size?
|
||||
# If there is exactly one choice, no UI is presented, and the user
|
||||
# cannot make a choice -- this setting is used. If there is more than
|
||||
# one choice, a UI is presented.
|
||||
#
|
||||
# When *ensureSuspendToDisk* is true, swap is never smaller than physical
|
||||
# memory, follows the guideline 2 * memory until swap reaches 8GiB.
|
||||
# When *ensureSuspendToDisk* is false, swap size scales up with memory
|
||||
# size until 8GiB, then at roughly half of memory size.
|
||||
# Legacy settings *neverCreateSwap* and *ensureSuspendToDisk* correspond
|
||||
# to values of *userSwapChoices* as follows:
|
||||
# - *neverCreateSwap* is true, means [none]
|
||||
# - *neverCreateSwap* is false, *ensureSuspendToDisk* is false, [small]
|
||||
# - *neverCreateSwap* is false, *ensureSuspendToDisk* is true, [suspend]
|
||||
#
|
||||
#
|
||||
# Default is true.
|
||||
ensureSuspendToDisk: true
|
||||
# Autogenerated swap sizes are as follows:
|
||||
# - *suspend*: Swap is always at least total memory size,
|
||||
# and up to 4GiB RAM follows the rule-of-thumb 2 * memory;
|
||||
# from 4GiB to 8 GiB it stays steady at 8GiB, and over 8 GiB memory
|
||||
# swap is the size of main memory.
|
||||
# - *small*: Follows the rules above, but Swap is at
|
||||
# most 8GiB, and no more than 10% of available disk.
|
||||
# In both cases, a fudge factor (usually 10% extra) is applied so that there
|
||||
# is some space for administrative overhead (e.g. 8 GiB swap will allocate
|
||||
# 8.8GiB on disk in the end).
|
||||
userSwapChoices:
|
||||
- none # Create no swap, use no swap
|
||||
# - reuse # Re-use existing swap, but don't create any
|
||||
- small # Up to 4GB
|
||||
- suspend # At least main memory size
|
||||
# - file # To swap file instead of partition (unsupported right now)
|
||||
|
||||
# Never create swap partitions in automated partitioning modes.
|
||||
# If this is true, ensureSuspendToDisk is ignored.
|
||||
# Default is false.
|
||||
neverCreateSwap: false
|
||||
# LEGACY SETTINGS (these will generate a warning)
|
||||
# ensureSuspendToDisk: true
|
||||
# neverCreateSwap: false
|
||||
|
||||
# Correctly draw nested (e.g. logical) partitions as such.
|
||||
drawNestedPartitions: false
|
||||
@ -38,6 +53,8 @@ alwaysShowPartitionLabels: true
|
||||
#
|
||||
# Suggested values: ext2, ext3, ext4, reiser, xfs, jfs, btrfs
|
||||
# If nothing is specified, Calamares defaults to "ext4".
|
||||
#
|
||||
# Names are case-sensitive and defined by KPMCore.
|
||||
defaultFileSystemType: "ext4"
|
||||
|
||||
# Show/hide LUKS related functionality in automated partitioning modes.
|
||||
|
Loading…
Reference in New Issue
Block a user