Merge branch 'calamares' of https://github.com/calamares/calamares into development
This commit is contained in:
commit
a96483a28b
5
CHANGES
5
CHANGES
@ -8,12 +8,13 @@ website will have to do for older versions.
|
||||
This release contains contributions from (alphabetically by first name):
|
||||
- Anke Boersma
|
||||
- apt-ghetto
|
||||
- Victor Ibragimov
|
||||
|
||||
## Core ##
|
||||
- A new object *Network* is available to QML modules in `io.calamares.core`.
|
||||
It exposes network status through the *hasInternet* property.
|
||||
- Welcome to Tajik translations. This has reached sufficient completion
|
||||
to be included in the drop-down list of languages on the welcome page.
|
||||
- Welcome to Tajik translations. The Tajik language has quickly reached
|
||||
100% completion.
|
||||
- Welcome to [Interlingue](https://en.wikipedia.org/wiki/Interlingue).
|
||||
The translation is at an early stage.
|
||||
|
||||
|
@ -140,22 +140,19 @@ set( CALAMARES_DESCRIPTION_SUMMARY
|
||||
# TODO: drop the es_ES translation from Transifex
|
||||
#
|
||||
# NOTE: move eo (Esperanto) to _ok once Qt can actually create a
|
||||
# locale for it. (Qt 5.12.2 can, see check later on).
|
||||
# NOTE: update these lines by running txstats.py, or copy these four lines
|
||||
# and prefix each variable name with "p", so that the automatic
|
||||
# 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).
|
||||
# locale for it. (Qt 5.12.2 can, see Translation Status section).
|
||||
# NOTE: move ie (Interlingue) to _ok once Qt supports it.
|
||||
# NOTE: update these lines by running `txstats.py`, or for full automation
|
||||
# `txstats.py -e`. See also
|
||||
#
|
||||
# Total 68 languages
|
||||
set( _tx_complete az az_AZ ca da fi_FI he hi hr ja pt_BR sq tr_TR
|
||||
uk zh_TW )
|
||||
set( _tx_good as ast be cs_CZ de es fr hu it_IT ko lt ml nl pt_PT
|
||||
ru sk sv zh_CN )
|
||||
set( _tx_ok ar bg el en_GB es_MX es_PR et eu fa gl id is mr nb pl
|
||||
ro sl sr sr@latin tg th )
|
||||
set( _tx_incomplete bn ca@valencia eo fr_CH gu ie kk kn lo lv mk
|
||||
ne_NP ur uz )
|
||||
set( _tx_complete ca fi_FI he hr nl pt_BR sq tg tr_TR uk zh_TW )
|
||||
set( _tx_good as ast az az_AZ be cs_CZ da de es fr hi hu it_IT ja
|
||||
ko lt ml pt_PT ru sk sv zh_CN )
|
||||
set( _tx_ok ar bg el en_GB es_MX es_PR et eu fa gl id is mr nb
|
||||
pl ro sl sr sr@latin th )
|
||||
set( _tx_incomplete bn ca@valencia eo fr_CH gu ie kk kn lo lv mk ne_NP
|
||||
ur uz )
|
||||
|
||||
### Required versions
|
||||
#
|
||||
@ -287,14 +284,6 @@ find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED Concurrent Core Gui LinguistTool
|
||||
if( WITH_QML )
|
||||
find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED Quick QuickWidgets )
|
||||
endif()
|
||||
if( Qt5_VERSION VERSION_GREATER 5.12.1 )
|
||||
# At least Qt 5.12.2 seems to support Esperanto in QLocale
|
||||
if( "eo" IN_LIST _tx_incomplete )
|
||||
message(STATUS "Esperanto support since Qt 5.12.2, enabling Esperanto locale")
|
||||
list( REMOVE_ITEM _tx_incomplete "eo" )
|
||||
list( APPEND _tx_ok "eo" )
|
||||
endif()
|
||||
endif()
|
||||
# Optional Qt parts
|
||||
find_package( Qt5DBus CONFIG )
|
||||
|
||||
@ -430,30 +419,22 @@ set(Calamares_WITH_QML ${WITH_QML})
|
||||
|
||||
### Transifex Translation status
|
||||
#
|
||||
# Construct language lists for use. If there are p_tx* variables,
|
||||
# then run an extra cmake-time check for consistency of the old
|
||||
# (p_tx*) and new (_tx*) lists.
|
||||
# Construct language lists for use.
|
||||
#
|
||||
set( prev_tx ${p_tx_complete} ${p_tx_good} ${p_tx_ok} ${p_tx_incomplete} )
|
||||
if( Qt5_VERSION VERSION_GREATER 5.12.1 )
|
||||
# At least Qt 5.12.2 seems to support Esperanto in QLocale
|
||||
if( "eo" IN_LIST _tx_incomplete )
|
||||
message(STATUS "Esperanto support since Qt 5.12.2, enabling Esperanto locale")
|
||||
list( REMOVE_ITEM _tx_incomplete "eo" )
|
||||
list( APPEND _tx_ok "eo" )
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set( curr_tx ${_tx_complete} ${_tx_good} ${_tx_ok} ${_tx_incomplete} )
|
||||
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()
|
||||
|
||||
if ( curr_tx )
|
||||
# New in list
|
||||
foreach( l ${curr_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.")
|
||||
@ -464,7 +445,6 @@ if ( prev_tx )
|
||||
unset( p_l )
|
||||
unset( l )
|
||||
endif()
|
||||
unset( prev_tx )
|
||||
unset( curr_tx )
|
||||
if( tx_errors )
|
||||
message( FATAL_ERROR "Translation warnings, see above." )
|
||||
@ -475,14 +455,6 @@ list( SORT CALAMARES_TRANSLATION_LANGUAGES )
|
||||
|
||||
add_subdirectory( lang ) # i18n tools
|
||||
|
||||
if ( INSTALL_COMPLETION )
|
||||
if( NOT CMAKE_INSTALL_BASHCOMPLETIONDIR )
|
||||
set( CMAKE_INSTALL_BASHCOMPLETIONDIR "${CMAKE_INSTALL_DATADIR}/bash-completion/completions" )
|
||||
endif()
|
||||
|
||||
install( FILES ${CMAKE_SOURCE_DIR}/data/completion/bash/calamares DESTINATION "${CMAKE_INSTALL_BASHCOMPLETIONDIR}" )
|
||||
endif()
|
||||
|
||||
### Example Distro
|
||||
#
|
||||
# For testing purposes Calamares includes a very, very, limited sample
|
||||
@ -672,6 +644,14 @@ if( INSTALL_POLKIT )
|
||||
)
|
||||
endif()
|
||||
|
||||
if ( INSTALL_COMPLETION )
|
||||
if( NOT CMAKE_INSTALL_BASHCOMPLETIONDIR )
|
||||
set( CMAKE_INSTALL_BASHCOMPLETIONDIR "${CMAKE_INSTALL_DATADIR}/bash-completion/completions" )
|
||||
endif()
|
||||
|
||||
install( FILES ${CMAKE_SOURCE_DIR}/data/completion/bash/calamares DESTINATION "${CMAKE_INSTALL_BASHCOMPLETIONDIR}" )
|
||||
endif()
|
||||
|
||||
install(
|
||||
FILES calamares.desktop
|
||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/applications
|
||||
|
@ -187,13 +187,22 @@ function( calamares_add_plugin )
|
||||
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${PLUGIN_DESC_FILE}
|
||||
DESTINATION ${PLUGIN_DESTINATION} )
|
||||
|
||||
set( _warned_config OFF )
|
||||
foreach( PLUGIN_CONFIG_FILE ${PLUGIN_CONFIG_FILES} )
|
||||
configure_file( ${PLUGIN_CONFIG_FILE} ${PLUGIN_CONFIG_FILE} COPYONLY )
|
||||
if( ${CMAKE_CURRENT_SOURCE_DIR}/${PLUGIN_CONFIG_FILE} IS_NEWER_THAN ${CMAKE_CURRENT_BINARY_DIR}/${PLUGIN_CONFIG_FILE} OR INSTALL_CONFIG )
|
||||
configure_file( ${PLUGIN_CONFIG_FILE} ${PLUGIN_CONFIG_FILE} COPYONLY )
|
||||
else()
|
||||
message( " ${BoldYellow}Not updating${ColorReset} ${PLUGIN_CONFIG_FILE}" )
|
||||
set( _warned_config ON )
|
||||
endif()
|
||||
if ( INSTALL_CONFIG )
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_BINARY_DIR}/${PLUGIN_CONFIG_FILE}
|
||||
DESTINATION ${PLUGIN_DATA_DESTINATION} )
|
||||
endif()
|
||||
endforeach()
|
||||
if ( _warned_config )
|
||||
message( "" )
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
||||
|
@ -6,10 +6,16 @@
|
||||
# LibPWQuality_LIBRARIES, where to find the library
|
||||
# LibPWQuality_INCLUDE_DIRS, where to find pwquality.h
|
||||
#
|
||||
include(FindPkgConfig)
|
||||
find_package(PkgConfig)
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
pkg_search_module(pc_pwquality QUIET pwquality)
|
||||
if(PkgConfig_FOUND)
|
||||
pkg_search_module(pc_pwquality QUIET pwquality)
|
||||
else()
|
||||
# It's just possible that the find_path and find_library will
|
||||
# find it **anyway**, so let's pretend it was there.
|
||||
set(pc_pwquality_FOUND ON)
|
||||
endif()
|
||||
|
||||
find_path(LibPWQuality_INCLUDE_DIR
|
||||
NAMES pwquality.h
|
||||
|
@ -190,8 +190,8 @@ GenericName[sv]=Systeminstallerare
|
||||
Comment[sv]=Calamares — Systeminstallerare
|
||||
Name[tg]=Насбкунии низом
|
||||
Icon[tg]=calamares
|
||||
GenericName[tg]=Насбкунандаи низом
|
||||
Comment[tg]=Calamares — Насбкунандаи низом
|
||||
GenericName[tg]=Насбкунандаи низомӣ
|
||||
Comment[tg]=Calamares — Насбкунандаи низомӣ
|
||||
Name[th]=ติดตั้งระบบ
|
||||
Name[uk]=Встановити Систему
|
||||
Icon[uk]=calamares
|
||||
|
@ -24,7 +24,7 @@ section "cmake $CMAKE_ARGS $SRCDIR"
|
||||
cmake $CMAKE_ARGS $SRCDIR || { echo "! CMake failed" ; exit 1 ; }
|
||||
|
||||
section "make"
|
||||
make -j2 || { echo "! Make recheck" ; pwd -P ; df -h ; make -j1 VERBOSE=1 ; echo "! Make failed" ; exit 1 ; }
|
||||
make -j2 VERBOSE=1 || { echo "! Make recheck" ; pwd -P ; df -h ; make -j1 VERBOSE=1 ; echo "! Make failed" ; exit 1 ; }
|
||||
|
||||
section "make install"
|
||||
|
||||
|
195
ci/txstats.py
195
ci/txstats.py
@ -8,25 +8,137 @@
|
||||
# Run it with a -v command-line option to get extra output on
|
||||
# actual translation percentages.
|
||||
import sys
|
||||
import argparse
|
||||
|
||||
def get_tx_credentials():
|
||||
class TXError(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class TransifexGetter(object):
|
||||
"""
|
||||
Gets the API token out of the user's .transifexrc (this is supposed
|
||||
to be secure).
|
||||
Get language data from Transifex.
|
||||
|
||||
The object does all the work in __init__, after that
|
||||
the only relevant data is .languages, a dictionary
|
||||
of language data.
|
||||
"""
|
||||
import configparser
|
||||
import os
|
||||
txconfig_name = os.path.expanduser("~/.transifexrc")
|
||||
try:
|
||||
with open(txconfig_name, "r") as f:
|
||||
parser = configparser.ConfigParser()
|
||||
parser.read_file(f)
|
||||
def __init__(self):
|
||||
token = self.get_tx_credentials()
|
||||
if token is None:
|
||||
raise TXError("Could not get Transifex API token")
|
||||
|
||||
return parser.get("https://www.transifex.com", "password")
|
||||
except IOError as e:
|
||||
return None
|
||||
import requests
|
||||
r = requests.get("https://api.transifex.com/organizations/calamares/projects/calamares/resources/calamares/", auth=("api", token))
|
||||
if r.status_code != 200:
|
||||
raise TXError("Could not get Transifex data from API")
|
||||
|
||||
def output_langs(all_langs, label, filterfunc):
|
||||
j = r.json()
|
||||
self.languages = j["stats"]
|
||||
|
||||
|
||||
def get_tx_credentials(self):
|
||||
"""
|
||||
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.ConfigParser()
|
||||
parser.read_file(f)
|
||||
|
||||
return parser.get("https://www.transifex.com", "password")
|
||||
except IOError as e:
|
||||
return None
|
||||
|
||||
|
||||
class BogusGetter(object):
|
||||
"""
|
||||
Fake language data.
|
||||
|
||||
This object pretends to retrieve data, and returns fixed language lists and percentages,
|
||||
for testing purposes without hitting Transifex servers all the time.
|
||||
"""
|
||||
def __init__(self):
|
||||
self.languages = dict()
|
||||
for lang, completion in ( ("sq", 100), ("ar", 44), ("as", 28), ("de", 15), ("da", 4), ("ts", 82) ):
|
||||
self.languages[lang] = dict(translated=dict(stringcount=686, percentage=(completion/100.0)))
|
||||
|
||||
|
||||
class PrintOutputter(object):
|
||||
"""
|
||||
Output via print-statements.
|
||||
"""
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def print(self, s):
|
||||
print(s)
|
||||
|
||||
def __enter__(self):
|
||||
return self
|
||||
|
||||
def __exit__(self, e, v, tb):
|
||||
pass
|
||||
|
||||
|
||||
class EditingOutputter(object):
|
||||
"""
|
||||
Edit CMakeLists in-place.
|
||||
"""
|
||||
def __init__(self):
|
||||
with open("CMakeLists.txt", "r") as f:
|
||||
lines = f.readlines()
|
||||
|
||||
mark = None
|
||||
for l in lines:
|
||||
# Note that we didn't strip the lines, so need the \n here
|
||||
if l.startswith("# Total ") and l.endswith(" languages\n"):
|
||||
mark = lines.index(l)
|
||||
break
|
||||
if mark is None:
|
||||
raise TXError("No CMakeLists.txt lines for TX stats found")
|
||||
self.pre_lines = lines[:mark]
|
||||
|
||||
nextmark = mark + 1
|
||||
for l in lines[mark+1:]:
|
||||
if l.startswith("set( _tx_"):
|
||||
nextmark += 1
|
||||
continue
|
||||
if l.startswith(" "):
|
||||
nextmark += 1
|
||||
continue
|
||||
break
|
||||
if nextmark > mark + 12 or nextmark > len(lines) - 4:
|
||||
# Try to catch runaway nextmarks: we know there should
|
||||
# be four set-lines, which are unlikely to be 3 lines each;
|
||||
# similarly the CMakeLists.txt is supposed to end with
|
||||
# some boilerplate.
|
||||
raise TXError("Could not find end of TX settings in CMakeLists.txt")
|
||||
self.post_lines = lines[nextmark:]
|
||||
|
||||
self.mid_lines = []
|
||||
print("# Editing CMakeLists.txt in-place")
|
||||
|
||||
def print(self, s):
|
||||
# Add the implicit \n from print()
|
||||
self.mid_lines.append(s + "\n")
|
||||
if s.startswith("#"):
|
||||
print(s)
|
||||
|
||||
def __enter__(self):
|
||||
return self
|
||||
|
||||
def __exit__(self, e, v, tb):
|
||||
if e is None:
|
||||
with open("CMakeLists.txt", "w") as f:
|
||||
f.write("".join(self.pre_lines + self.mid_lines + self.post_lines))
|
||||
print("# CMakeLists.txt updated")
|
||||
|
||||
|
||||
def output_langs(all_langs, outputter, label, filterfunc):
|
||||
"""
|
||||
Output (via print) all of the languages in @p all_langs
|
||||
that satisfy the translation-percentage filter @p filterfunc.
|
||||
@ -42,12 +154,13 @@ def output_langs(all_langs, label, filterfunc):
|
||||
|
||||
while len(out) > width - len(prefix):
|
||||
chunk = out[:out[:width].rfind(" ")]
|
||||
print("%s%s" % (prefix, chunk))
|
||||
outputter.print("%s%s" % (prefix, chunk))
|
||||
out = out[len(chunk)+1:]
|
||||
prefix = " "
|
||||
print("%s%s" % (prefix, out))
|
||||
outputter.print("%s%s" % (prefix, out))
|
||||
|
||||
def get_tx_stats(token, verbose):
|
||||
|
||||
def get_tx_stats(languages, outputter, verbose):
|
||||
"""
|
||||
Does an API request to Transifex with the given API @p token, getting
|
||||
the translation statistics for the main body of texts. Then prints
|
||||
@ -56,12 +169,6 @@ def get_tx_stats(token, verbose):
|
||||
|
||||
If @p verbose is True, prints out language stats as well.
|
||||
"""
|
||||
import requests
|
||||
|
||||
r = requests.get("https://api.transifex.com/organizations/calamares/projects/calamares/resources/calamares/", auth=("api", token))
|
||||
if r.status_code != 200:
|
||||
return 1
|
||||
|
||||
suppressed_languages = ( "es_ES", ) # In Transifex, but not used
|
||||
# Some languages go into the "incomplete" list by definition,
|
||||
# regardless of their completion status: this can have various reasons.
|
||||
@ -71,13 +178,11 @@ def get_tx_stats(token, verbose):
|
||||
# and it's at-the-least ok.
|
||||
incomplete_languages = (
|
||||
"eo", # Not supported by QLocale < 5.12.1
|
||||
"ie", # Not supported by Qt at least through 5.15.0
|
||||
)
|
||||
|
||||
all_langs = []
|
||||
|
||||
j = r.json()
|
||||
languages = j["stats"]
|
||||
print("# Total %d languages" % len(languages))
|
||||
outputter.print("# Total %d languages" % len(languages))
|
||||
for lang_name in languages:
|
||||
if lang_name in suppressed_languages:
|
||||
continue
|
||||
@ -91,23 +196,35 @@ def get_tx_stats(token, verbose):
|
||||
|
||||
if verbose:
|
||||
for s, l in sorted(all_langs, reverse=True):
|
||||
print("# %16s\t%6.2f" % (l, s * 100.0))
|
||||
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, "incomplete", lambda s : 0.05 > s)
|
||||
outputter.print("# %16s\t%6.2f" % (l, s * 100.0))
|
||||
output_langs(all_langs, outputter, "complete", lambda s : s == 1.0)
|
||||
output_langs(all_langs, outputter, "good", lambda s : 1.0 > s >= 0.75)
|
||||
output_langs(all_langs, outputter, "ok", lambda s : 0.75 > s >= 0.05)
|
||||
output_langs(all_langs, outputter, "incomplete", lambda s : 0.05 > s)
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
def main():
|
||||
verbose = (sys.argv[-1] == "-v")
|
||||
cred = get_tx_credentials()
|
||||
if cred:
|
||||
return get_tx_stats(cred, verbose)
|
||||
else:
|
||||
print("! Could not find API token in ~/.transifexrc")
|
||||
return 1
|
||||
parser = argparse.ArgumentParser(description="Update Transifex Statistics")
|
||||
parser.add_argument("--verbose", "-v", help="Show statistics", action="store_true")
|
||||
parser.add_argument("--bogus", "-n", help="Use bogus data (do not query Transifex)", action="store_true")
|
||||
parser.add_argument("--edit", "-e", help="Edit CMakeLists.txt in-place", action="store_true")
|
||||
args = parser.parse_args()
|
||||
try:
|
||||
if args.bogus:
|
||||
getter = BogusGetter()
|
||||
else:
|
||||
getter = TransifexGetter()
|
||||
if args.edit:
|
||||
outputter = EditingOutputter()
|
||||
else:
|
||||
outputter = PrintOutputter()
|
||||
with outputter:
|
||||
return get_tx_stats(getter.languages, outputter, args.verbose)
|
||||
except TXError as e:
|
||||
print("! " + str(e))
|
||||
return 1;
|
||||
return 0
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1275
lang/calamares_tg.ts
1275
lang/calamares_tg.ts
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -12,7 +12,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: aboodilankaboot, 2019\n"
|
||||
"Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n"
|
||||
|
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Deep Jyoti Choudhury <deep.choudhury@libresoft.in>, 2020\n"
|
||||
"Language-Team: Assamese (https://www.transifex.com/calamares/teams/20061/as/)\n"
|
||||
|
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: enolp <enolp@softastur.org>, 2020\n"
|
||||
"Language-Team: Asturian (https://www.transifex.com/calamares/teams/20061/ast/)\n"
|
||||
|
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Xəyyam Qocayev <xxmn77@gmail.com>, 2020\n"
|
||||
"Language-Team: Azerbaijani (https://www.transifex.com/calamares/teams/20061/az/)\n"
|
||||
|
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Xəyyam Qocayev <xxmn77@gmail.com>, 2020\n"
|
||||
"Language-Team: Azerbaijani (Azerbaijan) (https://www.transifex.com/calamares/teams/20061/az_AZ/)\n"
|
||||
|
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Zmicer Turok <nashtlumach@gmail.com>, 2020\n"
|
||||
"Language-Team: Belarusian (https://www.transifex.com/calamares/teams/20061/be/)\n"
|
||||
|
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Georgi Georgiev <georgiev_1994@abv.bg>, 2020\n"
|
||||
"Language-Team: Bulgarian (https://www.transifex.com/calamares/teams/20061/bg/)\n"
|
||||
|
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: 508a8b0ef95404aa3dc5178f0ccada5e_017b8a4 <d0ef5d977ab7abf012ef53891f8ca2b5_900530>, 2020\n"
|
||||
"Language-Team: Bengali (https://www.transifex.com/calamares/teams/20061/bn/)\n"
|
||||
|
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Davidmp <medipas@gmail.com>, 2020\n"
|
||||
"Language-Team: Catalan (https://www.transifex.com/calamares/teams/20061/ca/)\n"
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Language-Team: Catalan (Valencian) (https://www.transifex.com/calamares/teams/20061/ca@valencia/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -12,7 +12,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>, 2020\n"
|
||||
"Language-Team: Czech (Czech Republic) (https://www.transifex.com/calamares/teams/20061/cs_CZ/)\n"
|
||||
|
@ -12,7 +12,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: scootergrisen, 2020\n"
|
||||
"Language-Team: Danish (https://www.transifex.com/calamares/teams/20061/da/)\n"
|
||||
|
Binary file not shown.
@ -4,18 +4,18 @@
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
# Translators:
|
||||
# Christian Spaan, 2020
|
||||
# Andreas Eitel <github-aneitel@online.de>, 2020
|
||||
# Adriaan de Groot <groot@kde.org>, 2020
|
||||
# Christian Spaan, 2020
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Adriaan de Groot <groot@kde.org>, 2020\n"
|
||||
"Last-Translator: Christian Spaan, 2020\n"
|
||||
"Language-Team: German (https://www.transifex.com/calamares/teams/20061/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@ -140,7 +140,7 @@ msgstr "Ungültige unsquash-Konfiguration"
|
||||
#: src/modules/unpackfs/main.py:439
|
||||
msgid "The filesystem for \"{}\" ({}) is not supported by your current kernel"
|
||||
msgstr ""
|
||||
"Das Dateisystem für \"{}\". ({}) wird von Ihrem aktuellen Kernel nicht "
|
||||
"Das Dateisystem für \"{}\" ({}) wird von Ihrem aktuellen Kernel nicht "
|
||||
"unterstützt"
|
||||
|
||||
#: src/modules/unpackfs/main.py:443
|
||||
|
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Efstathios Iosifidis <iefstathios@gmail.com>, 2017\n"
|
||||
"Language-Team: Greek (https://www.transifex.com/calamares/teams/20061/el/)\n"
|
||||
|
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Jason Collins <JasonPCollins@protonmail.com>, 2018\n"
|
||||
"Language-Team: English (United Kingdom) (https://www.transifex.com/calamares/teams/20061/en_GB/)\n"
|
||||
|
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Kurt Ankh Phoenix <kurtphoenix@tuta.io>, 2018\n"
|
||||
"Language-Team: Esperanto (https://www.transifex.com/calamares/teams/20061/eo/)\n"
|
||||
|
@ -16,7 +16,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Pier Jose Gotta Perez <piegope@protonmail.com>, 2020\n"
|
||||
"Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n"
|
||||
|
@ -12,7 +12,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Logan 8192 <logan8192@protonmail.com>, 2018\n"
|
||||
"Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n"
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Language-Team: Spanish (Puerto Rico) (https://www.transifex.com/calamares/teams/20061/es_PR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Madis Otenurm, 2019\n"
|
||||
"Language-Team: Estonian (https://www.transifex.com/calamares/teams/20061/et/)\n"
|
||||
|
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\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"
|
||||
|
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>, 2020\n"
|
||||
"Language-Team: Persian (https://www.transifex.com/calamares/teams/20061/fa/)\n"
|
||||
|
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-06-18 15:42+0200\n"
|
||||
"POT-Creation-Date: 2020-07-29 11:03+0200\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Kimmo Kujansuu <mrkujansuu@gmail.com>, 2020\n"
|
||||
"Language-Team: Finnish (Finland) (https://www.transifex.com/calamares/teams/20061/fi_FI/)\n"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user