From eb4d5f1cbd4a8b5e1ed4a5edc77c08a80c6637d5 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Mon, 24 Feb 2014 13:42:24 -0500 Subject: [PATCH 1/3] Also clean up the 3rd-party po files. --- i18n/extract.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/i18n/extract.py b/i18n/extract.py index 35004ca857..e6d3b642eb 100755 --- a/i18n/extract.py +++ b/i18n/extract.py @@ -79,25 +79,31 @@ def main(): source_msgs_dir.joinpath('djangojs-partial.po') ) + files_to_clean = set() + # Extract strings from third-party applications. for app_name in CONFIGURATION.third_party: # Import the app to find out where it is. Then use pybabel to extract # from that directory. app_module = importlib.import_module(app_name) app_dir = path(app_module.__file__).dirname().dirname() + output_file = source_msgs_dir / (app_name + ".po") + files_to_clean.add(output_file) + babel_cmd = 'pybabel extract -F {config} -c "Translators:" {app} -o {output}' babel_cmd = babel_cmd.format( config=LOCALE_DIR / 'babel_third_party.cfg', app=app_name, - output=source_msgs_dir / (app_name + ".po"), + output=output_file, ) execute(babel_cmd, working_directory=app_dir) # Segment the generated files. segmented_files = segment_pofiles("en") + files_to_clean.update(segmented_files) # Finish each file. - for filename in segmented_files: + for filename in files_to_clean: LOG.info('Cleaning %s' % filename) po = pofile(source_msgs_dir.joinpath(filename)) # replace default headers with edX headers From 830bbb15f3a905b9377d8678e11afae6152513bc Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Mon, 24 Feb 2014 17:56:29 -0500 Subject: [PATCH 2/3] Generate now removes format flags. --- i18n/generate.py | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/i18n/generate.py b/i18n/generate.py index 64c1405c32..d5d246d9a2 100755 --- a/i18n/generate.py +++ b/i18n/generate.py @@ -53,8 +53,7 @@ def merge(locale, target='django.po', sources=('django-partial.po',), fail_if_mi # clean up redunancies in the metadata merged_filename = locale_directory.joinpath('merged.po') - clean_metadata(merged_filename) - clean_line_numbers(merged_filename) + clean_pofile(merged_filename) # rename merged.po -> django.po (default) target_filename = locale_directory.joinpath(target) @@ -69,25 +68,32 @@ def merge_files(locale, fail_if_missing=True): merge(locale, target, sources, fail_if_missing) -def clean_metadata(file): +def clean_pofile(file): """ - Clean up redundancies in the metadata caused by merging. + Clean various aspect of a .po file. + + Fixes: + + - Removes the ,fuzzy flag on metadata. + + - Removes occurrence line numbers so that the generated files don't + generate a lot of line noise when they're committed. + + - Removes any flags ending with "-format". Mac gettext seems to add + these flags, Linux does not, and we don't seem to need them. By + removing them, we reduce the unimportant differences that clutter + diffs as different developers work on the files. + """ # Reading in the .po file and saving it again fixes redundancies. pomsgs = pofile(file) # The msgcat tool marks the metadata as fuzzy, but it's ok as it is. pomsgs.metadata_is_fuzzy = False - pomsgs.save() - - -def clean_line_numbers(file): - """ - Remove occurrence line numbers so that the generated files don't generate a lot of - line noise when they're committed. - """ - pomsgs = pofile(file) for entry in pomsgs: + # Remove line numbers entry.occurrences = [(filename, None) for (filename, lineno) in entry.occurrences] + # Remove -format flags + entry.flags = [f for f in entry.flags if not f.endswith("-format")] pomsgs.save() From d3c75654d67934be06e32b2a5c3a2fae57b1c849 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Tue, 25 Feb 2014 14:03:18 -0500 Subject: [PATCH 3/3] Updated po/mo files without format flags. --- conf/locale/eo/LC_MESSAGES/django.mo | Bin 370088 -> 370118 bytes conf/locale/eo/LC_MESSAGES/django.po | 171 ++----------------------- conf/locale/eo/LC_MESSAGES/djangojs.mo | Bin 42578 -> 42578 bytes conf/locale/eo/LC_MESSAGES/djangojs.po | 19 +-- 4 files changed, 13 insertions(+), 177 deletions(-) diff --git a/conf/locale/eo/LC_MESSAGES/django.mo b/conf/locale/eo/LC_MESSAGES/django.mo index ddf568480237b07c8b9f7a8604dd95d11c490633..ef2ef884def694eab32f6f5ce33c49419461426f 100644 GIT binary patch delta 18945 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 ITr}?g04%)AvH$=8 delta 18927 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 diff --git a/conf/locale/eo/LC_MESSAGES/django.po b/conf/locale/eo/LC_MESSAGES/django.po index f157b8e58e..841a188334 100644 --- a/conf/locale/eo/LC_MESSAGES/django.po +++ b/conf/locale/eo/LC_MESSAGES/django.po @@ -27,20 +27,20 @@ # Copyright (C) 2013 edX # This file is distributed under the GNU AFFERO GENERAL PUBLIC LICENSE. # -# #-#-#-#-# wiki.po (PROJECT VERSION) #-#-#-#-# -# Translations template for PROJECT. -# Copyright (C) 2014 ORGANIZATION -# This file is distributed under the same license as the PROJECT project. -# FIRST AUTHOR , 2014. +# #-#-#-#-# wiki.po (0.1a) #-#-#-#-# +# edX translation file +# Copyright (C) 2014 edX +# This file is distributed under the GNU AFFERO GENERAL PUBLIC LICENSE. +# EdX Team , 2014. # msgid "" msgstr "" -"Project-Id-Version: PROJECT VERSION\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-02-25 10:11-0800\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"Project-Id-Version: 0.1a\n" +"Report-Msgid-Bugs-To: openedx-translation@googlegroups.com\n" +"POT-Creation-Date: 2014-02-25 14:01-0500\n" +"PO-Revision-Date: 2014-02-25 19:01:45.523355\n" +"Last-Translator: \n" +"Language-Team: openedx-translation \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -140,7 +140,6 @@ msgid "Student" msgstr "Stüdént #" #: common/djangoapps/student/middleware.py -#, python-brace-format msgid "" "Your account has been disabled. If you believe this was done in error, " "please contact us at {link_start}{support_email}{link_end}" @@ -230,19 +229,16 @@ msgid "Unexpected account status" msgstr "Ûnéxpéçtéd äççöünt stätüs Ⱡ'σяєм#" #: common/djangoapps/student/views.py -#, python-brace-format msgid "An account with the Public Username '{username}' already exists." msgstr "" "Àn äççöünt wïth thé Püßlïç Ûsérnämé '{username}' älréädý éxïsts. Ⱡ'σяєм " "ιρѕυм ∂σł#" #: common/djangoapps/student/views.py -#, python-brace-format msgid "An account with the Email '{email}' already exists." msgstr "Àn äççöünt wïth thé Émäïl '{email}' älréädý éxïsts. Ⱡ'σяєм ιρѕυм #" #: common/djangoapps/student/views.py -#, python-brace-format msgid "Error (401 {field}). E-mail us." msgstr "Érrör (401 {field}). É-mäïl üs. Ⱡ'σяєм#" @@ -715,52 +711,42 @@ msgid "December" msgstr "Déçémßér #" #: common/djangoapps/util/password_policy_validators.py -#, python-brace-format msgid "Invalid Length ({0})" msgstr "Ìnvälïd Léngth ({0}) Ⱡ'σя#" #: common/djangoapps/util/password_policy_validators.py -#, python-brace-format msgid "must be {0} characters or more" msgstr "müst ßé {0} çhäräçtérs ör möré Ⱡ'σяєм #" #: common/djangoapps/util/password_policy_validators.py -#, python-brace-format msgid "must be {0} characters or less" msgstr "müst ßé {0} çhäräçtérs ör léss Ⱡ'σяєм #" #: common/djangoapps/util/password_policy_validators.py -#, python-brace-format msgid "Must be more complex ({0})" msgstr "Müst ßé möré çömpléx ({0}) Ⱡ'σяєм#" #: common/djangoapps/util/password_policy_validators.py -#, python-brace-format msgid "must contain {0} or more uppercase characters" msgstr "müst çöntäïn {0} ör möré üppérçäsé çhäräçtérs Ⱡ'σяєм ιρѕυм#" #: common/djangoapps/util/password_policy_validators.py -#, python-brace-format msgid "must contain {0} or more lowercase characters" msgstr "müst çöntäïn {0} ör möré löwérçäsé çhäräçtérs Ⱡ'σяєм ιρѕυм#" #: common/djangoapps/util/password_policy_validators.py -#, python-brace-format msgid "must contain {0} or more digits" msgstr "müst çöntäïn {0} ör möré dïgïts Ⱡ'σяєм ι#" #: common/djangoapps/util/password_policy_validators.py -#, python-brace-format msgid "must contain {0} or more punctuation characters" msgstr "müst çöntäïn {0} ör möré pünçtüätïön çhäräçtérs Ⱡ'σяєм ιρѕυм #" #: common/djangoapps/util/password_policy_validators.py -#, python-brace-format msgid "must contain {0} or more non ascii characters" msgstr "müst çöntäïn {0} ör möré nön äsçïï çhäräçtérs Ⱡ'σяєм ιρѕυм#" #: common/djangoapps/util/password_policy_validators.py -#, python-brace-format msgid "must contain {0} or more unique words" msgstr "müst çöntäïn {0} ör möré ünïqüé wörds Ⱡ'σяєм ιρѕ#" @@ -800,7 +786,6 @@ msgstr "" "ßý thät féédßäçk. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" #: common/lib/capa/capa/responsetypes.py -#, python-brace-format msgid "Error {err} in evaluating hint function {hintfn}." msgstr "Érrör {err} ïn évälüätïng hïnt fünçtïön {hintfn}. Ⱡ'σяєм ιρѕυ#" @@ -809,7 +794,6 @@ msgid "(Source code line unavailable)" msgstr "(Söürçé çödé lïné ünäväïläßlé) Ⱡ'σяєм #" #: common/lib/capa/capa/responsetypes.py -#, python-brace-format msgid "See XML source line {sourcenum}." msgstr "Séé XML söürçé lïné {sourcenum}. Ⱡ'σяє#" @@ -820,26 +804,22 @@ msgstr "" "∂σłσ#" #: common/lib/capa/capa/responsetypes.py -#, python-brace-format msgid "Could not interpret '{student_answer}' as a number." msgstr "Çöüld nöt ïntérprét '{student_answer}' äs ä nümßér. Ⱡ'σяєм ιρѕ#" #: common/lib/capa/capa/responsetypes.py -#, python-brace-format msgid "You may not use variables ({bad_variables}) in numerical problems." msgstr "" "Ýöü mäý nöt üsé värïäßlés ({bad_variables}) ïn nümérïçäl prößléms. Ⱡ'σяєм " "ιρѕυм ∂σ#" #: common/lib/capa/capa/responsetypes.py -#, python-brace-format msgid "factorial function evaluated outside its domain:'{student_answer}'" msgstr "" "fäçtörïäl fünçtïön évälüätéd öütsïdé ïts dömäïn:'{student_answer}' Ⱡ'σяєм " "ιρѕυм ∂σ#" #: common/lib/capa/capa/responsetypes.py -#, python-brace-format msgid "Invalid math syntax: '{student_answer}'" msgstr "Ìnvälïd mäth sýntäx: '{student_answer}' Ⱡ'σяєм#" @@ -870,7 +850,6 @@ msgstr "" "∂σłσя#" #: common/lib/capa/capa/responsetypes.py -#, python-brace-format msgid "" "Unable to deliver your submission to grader (Reason: {error_msg}). Please " "try again later." @@ -890,12 +869,10 @@ msgstr "" "Ìnvälïd grädér réplý. Pléäsé çöntäçt thé çöürsé stäff. Ⱡ'σяєм ιρѕυм ∂σ#" #: common/lib/capa/capa/responsetypes.py -#, python-brace-format msgid "Invalid input: {bad_input} not permitted in answer." msgstr "Ìnvälïd ïnpüt: {bad_input} nöt pérmïttéd ïn änswér. Ⱡ'σяєм ιρѕυм#" #: common/lib/capa/capa/responsetypes.py -#, python-brace-format msgid "" "factorial function not permitted in answer for this problem. Provided answer" " was: {bad_input}" @@ -904,13 +881,11 @@ msgstr "" " wäs: {bad_input} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" #: common/lib/capa/capa/responsetypes.py -#, python-brace-format msgid "Invalid input: Could not parse '{bad_input}' as a formula." msgstr "" "Ìnvälïd ïnpüt: Çöüld nöt pärsé '{bad_input}' äs ä förmülä. Ⱡ'σяєм ιρѕυм ∂#" #: common/lib/capa/capa/responsetypes.py -#, python-brace-format msgid "Invalid input: Could not parse '{bad_input}' as a formula" msgstr "" "Ìnvälïd ïnpüt: Çöüld nöt pärsé '{bad_input}' äs ä förmülä Ⱡ'σяєм ιρѕυм ∂#" @@ -918,7 +893,6 @@ msgstr "" #. Translators: 'SchematicResponse' is a problem type and should not be #. translated. #: common/lib/capa/capa/responsetypes.py -#, python-brace-format msgid "Error in evaluating SchematicResponse. The error was: {error_msg}" msgstr "" "Érrör ïn évälüätïng SçhémätïçRéspönsé. Thé érrör wäs: {error_msg} Ⱡ'σяєм " @@ -930,7 +904,6 @@ msgstr "" "Thé Stäff änswér çöüld nöt ßé ïntérprétéd äs ä nümßér. Ⱡ'σяєм ιρѕυм ∂σ#" #: common/lib/capa/capa/responsetypes.py -#, python-brace-format msgid "Could not interpret '{given_answer}' as a number." msgstr "Çöüld nöt ïntérprét '{given_answer}' äs ä nümßér. Ⱡ'σяєм ιρѕ#" @@ -976,14 +949,12 @@ msgstr "" "Prößlém müst ßé rését ßéföré ït çän ßé çhéçkéd ägäïn. Ⱡ'σяєм ιρѕυм ∂σ#" #: common/lib/xmodule/xmodule/capa_base.py -#, python-brace-format msgid "You must wait at least {wait} seconds between submissions." msgstr "" "Ýöü müst wäït ät léäst {wait} séçönds ßétwéén süßmïssïöns. Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: {msg} will be replaced with a problem's error message. #: common/lib/xmodule/xmodule/capa_base.py -#, python-brace-format msgid "Error: {msg}" msgstr "Érrör: {msg} Ⱡ#" @@ -1099,7 +1070,6 @@ msgid "Scored rubric" msgstr "Sçöréd rüßrïç Ⱡ'#" #: common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py -#, python-brace-format msgid "" "You have attempted this question {number_of_student_attempts} times. You are" " only allowed to attempt it {max_number_of_attempts} times." @@ -1144,7 +1114,6 @@ msgstr "ÀÌ-Àsséssmént Ⱡ'#" #. responds to when filling out a post-assessment survey #. of his or her grade from an openended problem. #: common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py -#, python-brace-format msgid "" "Could not find needed tag {tag_name} in the survey responses. Please try " "submitting again." @@ -1258,7 +1227,6 @@ msgstr "" "Érrör sävïng ýöür sçöré. Pléäsé nötïfý çöürsé stäff. Ⱡ'σяєм ιρѕυм ∂σ#" #: common/lib/xmodule/xmodule/video_module/transcripts_utils.py -#, python-brace-format msgid "" "Can't receive transcripts from Youtube for {youtube_id}. Status code: " "{statuc_code}." @@ -1275,7 +1243,6 @@ msgid "We support only SubRip (*.srt) transcripts format." msgstr "Wé süppört önlý SüßRïp (*.srt) tränsçrïpts förmät. Ⱡ'σяєм ιρѕυм ∂#" #: common/lib/xmodule/xmodule/video_module/transcripts_utils.py -#, python-brace-format msgid "" "Something wrong with SubRip transcripts file during parsing. Inner message " "is {error_message}" @@ -1322,7 +1289,6 @@ msgstr "Çöpýrïght #" #. Translators: this string includes wiki markup. Leave the ** and the _ #. alone. #: lms/djangoapps/course_wiki/views.py -#, python-brace-format msgid "This is the wiki for **{organization}**'s _{course_name}_." msgstr "" "Thïs ïs thé wïkï för **{organization}**'s _{course_name}_. Ⱡ'σяєм ιρѕ#" @@ -1375,7 +1341,6 @@ msgid "ERROR: No playable video sources found!" msgstr "ÉRRÖR: Nö pläýäßlé vïdéö söürçés föünd! Ⱡ'σяєм ιρѕ#" #: lms/djangoapps/dashboard/git_import.py -#, python-brace-format msgid "" "Path {0} doesn't exist, please create it, or configure a different path with" " GIT_REPO_DIR" @@ -1408,14 +1373,12 @@ msgid "The underlying module store does not support import." msgstr "Thé ündérlýïng mödülé störé döés nöt süppört ïmpört. Ⱡ'σяєм ιρѕυм ∂σ#" #: lms/djangoapps/dashboard/sysadmin.py -#, python-brace-format msgid "Failed in authenticating {0}, error {1}\n" msgstr "" "Fäïléd ïn äüthéntïçätïng {0}, érrör {1}\n" " Ⱡ'σяєм ιρѕυ#\n" #: lms/djangoapps/dashboard/sysadmin.py -#, python-brace-format msgid "Failed in authenticating {0}\n" msgstr "" "Fäïléd ïn äüthéntïçätïng {0}\n" @@ -1447,7 +1410,6 @@ msgid "email must end in" msgstr "émäïl müst énd ïn Ⱡ'σ#" #: lms/djangoapps/dashboard/sysadmin.py -#, python-brace-format msgid "Failed - email {0} already exists as external_id" msgstr "Fäïléd - émäïl {0} älréädý éxïsts äs éxtérnäl_ïd Ⱡ'σяєм ιρѕυм #" @@ -1460,27 +1422,22 @@ msgid "email address required (not username)" msgstr "émäïl äddréss réqüïréd (nöt üsérnämé) Ⱡ'σяєм ιρѕ#" #: lms/djangoapps/dashboard/sysadmin.py -#, python-brace-format msgid "Oops, failed to create user {0}, IntegrityError" msgstr "Ööps, fäïléd tö çréäté üsér {0}, ÌntégrïtýÉrrör Ⱡ'σяєм ιρѕυм #" #: lms/djangoapps/dashboard/sysadmin.py -#, python-brace-format msgid "User {0} created successfully!" msgstr "Ûsér {0} çréätéd süççéssfüllý! Ⱡ'σяєм #" #: lms/djangoapps/dashboard/sysadmin.py -#, python-brace-format msgid "Cannot find user with email address {0}" msgstr "Çännöt fïnd üsér wïth émäïl äddréss {0} Ⱡ'σяєм ιρѕ#" #: lms/djangoapps/dashboard/sysadmin.py -#, python-brace-format msgid "Cannot find user with username {0} - {1}" msgstr "Çännöt fïnd üsér wïth üsérnämé {0} - {1} Ⱡ'σяєм ιρѕυ#" #: lms/djangoapps/dashboard/sysadmin.py -#, python-brace-format msgid "Deleted user {0}" msgstr "Délétéd üsér {0} Ⱡ'σ#" @@ -1553,7 +1510,6 @@ msgstr "" #: lms/djangoapps/dashboard/sysadmin.py #: lms/djangoapps/dashboard/tests/test_sysadmin.py -#, python-brace-format msgid "" "The course {0} already exists in the data directory! (reloading anyway)" msgstr "" @@ -1567,12 +1523,10 @@ msgstr "" "∂σłσ#" #: lms/djangoapps/dashboard/sysadmin.py -#, python-brace-format msgid "Failed to clone repository to {0}" msgstr "Fäïléd tö çlöné répösïtörý tö {0} Ⱡ'σяєм ι#" #: lms/djangoapps/dashboard/sysadmin.py -#, python-brace-format msgid "Loaded course {0} {1}
Errors:" msgstr "Löädéd çöürsé {0} {1}
Érrörs: Ⱡ'σяєм ι#" @@ -1602,7 +1556,6 @@ msgid "Information about all courses" msgstr "Ìnförmätïön äßöüt äll çöürsés Ⱡ'σяєм #" #: lms/djangoapps/dashboard/sysadmin.py -#, python-brace-format msgid "Error - cannot get course with ID {0}
{1}
" msgstr "" "Érrör - çännöt gét çöürsé wïth ÌD {0}
{1}
Ⱡ'σяєм ιρѕυм ∂#" @@ -1694,12 +1647,10 @@ msgid "Comment level too deep" msgstr "Çömmént lévél töö déép Ⱡ'σяє#" #: lms/djangoapps/django_comment_client/base/views.py -#, python-format msgid "allowed file types are '%(file_types)s'" msgstr "ällöwéd fïlé týpés äré '%(file_types)s' Ⱡ'σяєм #" #: lms/djangoapps/django_comment_client/base/views.py -#, python-format msgid "maximum upload file size is %(file_size)sK" msgstr "mäxïmüm üplöäd fïlé sïzé ïs %(file_size)sK Ⱡ'σяєм ι#" @@ -1758,14 +1709,12 @@ msgstr "" " ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂#" #: lms/djangoapps/instructor/views/api.py -#, python-brace-format msgid "Successfully changed due date for student {0} for {1} to {2}" msgstr "" "Süççéssfüllý çhängéd düé däté för stüdént {0} för {1} tö {2} Ⱡ'σяєм ιρѕυм " "∂σłσ#" #: lms/djangoapps/instructor/views/api.py -#, python-brace-format msgid "Successfully reset due date for student {0} for {1} to {2}" msgstr "" "Süççéssfüllý rését düé däté för stüdént {0} för {1} tö {2} Ⱡ'σяєм ιρѕυм " @@ -1805,7 +1754,6 @@ msgid "Unable to parse date: " msgstr "Ûnäßlé tö pärsé däté: Ⱡ'σяє#" #: lms/djangoapps/instructor/views/tools.py -#, python-brace-format msgid "Couldn't find module for url: {0}" msgstr "Çöüldn't fïnd mödülé för ürl: {0} Ⱡ'σяєм ι#" @@ -1828,7 +1776,6 @@ msgid "Extended Due Date" msgstr "Éxténdéd Düé Däté Ⱡ'σ#" #: lms/djangoapps/instructor/views/tools.py -#, python-brace-format msgid "Users with due date extensions for {0}" msgstr "Ûsérs wïth düé däté éxténsïöns för {0} Ⱡ'σяєм ιρѕ#" @@ -1837,7 +1784,6 @@ msgid "Unit" msgstr "Ûnït Ⱡ'σяєм#" #: lms/djangoapps/instructor/views/tools.py -#, python-brace-format msgid "Due date extensions for {0} {1} ({2})" msgstr "Düé däté éxténsïöns för {0} {1} ({2}) Ⱡ'σяєм ιρѕ#" @@ -1877,13 +1823,11 @@ msgid "No status information available" msgstr "Nö stätüs ïnförmätïön äväïläßlé Ⱡ'σяєм ι#" #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid "No task_output information found for instructor_task {0}" msgstr "" "Nö täsk_öütpüt ïnförmätïön föünd för ïnstrüçtör_täsk {0} Ⱡ'σяєм ιρѕυм ∂σł#" #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid "No parsable task_output information found for instructor_task {0}: {1}" msgstr "" "Nö pärsäßlé täsk_öütpüt ïnförmätïön föünd för ïnstrüçtör_täsk {0}: {1} " @@ -1898,7 +1842,6 @@ msgid "No message provided" msgstr "Nö méssägé prövïdéd Ⱡ'σя#" #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid "Invalid task_output information found for instructor_task {0}: {1}" msgstr "" "Ìnvälïd täsk_öütpüt ïnförmätïön föünd för ïnstrüçtör_täsk {0}: {1} Ⱡ'σяєм " @@ -1909,7 +1852,6 @@ msgid "No progress status information available" msgstr "Nö prögréss stätüs ïnförmätïön äväïläßlé Ⱡ'σяєм ιρѕυ#" #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid "No parsable task_input information found for instructor_task {0}: {1}" msgstr "" "Nö pärsäßlé täsk_ïnpüt ïnförmätïön föünd för ïnstrüçtör_täsk {0}: {1} Ⱡ'σяєм" @@ -1918,14 +1860,12 @@ msgstr "" #. Translators: {action} is a past-tense verb that is localized separately. #. {attempted} and {succeeded} are counts. #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid "Progress: {action} {succeeded} of {attempted} so far" msgstr "Prögréss: {action} {succeeded} öf {attempted} sö fär Ⱡ'σяєм ι#" #. Translators: {action} is a past-tense verb that is localized separately. #. {student} is a student identifier. #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid "Unable to find submission to be {action} for student '{student}'" msgstr "" "Ûnäßlé tö fïnd süßmïssïön tö ßé {action} för stüdént '{student}' Ⱡ'σяєм " @@ -1934,20 +1874,17 @@ msgstr "" #. Translators: {action} is a past-tense verb that is localized separately. #. {student} is a student identifier. #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid "Problem failed to be {action} for student '{student}'" msgstr "Prößlém fäïléd tö ßé {action} för stüdént '{student}' Ⱡ'σяєм ιρѕυ#" #. Translators: {action} is a past-tense verb that is localized separately. #. {student} is a student identifier. #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid "Problem successfully {action} for student '{student}'" msgstr "Prößlém süççéssfüllý {action} för stüdént '{student}' Ⱡ'σяєм ιρѕυ#" #. Translators: {action} is a past-tense verb that is localized separately. #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid "Unable to find any students with submissions to be {action}" msgstr "" "Ûnäßlé tö fïnd äný stüdénts wïth süßmïssïöns tö ßé {action} Ⱡ'σяєм ιρѕυм ∂σ#" @@ -1955,7 +1892,6 @@ msgstr "" #. Translators: {action} is a past-tense verb that is localized separately. #. {attempted} is a count. #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid "Problem failed to be {action} for any of {attempted} students" msgstr "" "Prößlém fäïléd tö ßé {action} för äný öf {attempted} stüdénts Ⱡ'σяєм ιρѕυм #" @@ -1963,27 +1899,23 @@ msgstr "" #. Translators: {action} is a past-tense verb that is localized separately. #. {attempted} is a count. #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid "Problem successfully {action} for {attempted} students" msgstr "Prößlém süççéssfüllý {action} för {attempted} stüdénts Ⱡ'σяєм ιρѕυ#" #. Translators: {action} is a past-tense verb that is localized separately. #. {succeeded} and {attempted} are counts. #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid "Problem {action} for {succeeded} of {attempted} students" msgstr "Prößlém {action} för {succeeded} öf {attempted} stüdénts Ⱡ'σяєм ιρ#" #. Translators: {action} is a past-tense verb that is localized separately. #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid "Unable to find any recipients to be {action}" msgstr "Ûnäßlé tö fïnd äný réçïpïénts tö ßé {action} Ⱡ'σяєм ιρѕ#" #. Translators: {action} is a past-tense verb that is localized separately. #. {attempted} is a count. #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid "Message failed to be {action} for any of {attempted} recipients " msgstr "" "Méssägé fäïléd tö ßé {action} för äný öf {attempted} réçïpïénts Ⱡ'σяєм " @@ -1992,7 +1924,6 @@ msgstr "" #. Translators: {action} is a past-tense verb that is localized separately. #. {attempted} is a count. #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid "Message successfully {action} for {attempted} recipients" msgstr "" "Méssägé süççéssfüllý {action} för {attempted} réçïpïénts Ⱡ'σяєм ιρѕυм#" @@ -2000,7 +1931,6 @@ msgstr "" #. Translators: {action} is a past-tense verb that is localized separately. #. {succeeded} and {attempted} are counts. #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid "Message {action} for {succeeded} of {attempted} recipients" msgstr "" "Méssägé {action} för {succeeded} öf {attempted} réçïpïénts Ⱡ'σяєм ιρѕ#" @@ -2008,26 +1938,22 @@ msgstr "" #. Translators: {action} is a past-tense verb that is localized separately. #. {succeeded} and {attempted} are counts. #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid "Status: {action} {succeeded} of {attempted}" msgstr "Stätüs: {action} {succeeded} öf {attempted} Ⱡ'σяє#" #. Translators: {skipped} is a count. This message is appended to task #. progress status messages. #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid " (skipping {skipped})" msgstr " (skïppïng {skipped}) Ⱡ'#" #. Translators: {total} is a count. This message is appended to task progress #. status messages. #: lms/djangoapps/instructor_task/views.py -#, python-brace-format msgid " (out of {total})" msgstr " (öüt öf {total}) Ⱡ'#" #: lms/djangoapps/linkedin/templates/linkedin_email.html -#, python-format msgid "" "\n" " Dear %(student_name)s,\n" @@ -2038,7 +1964,6 @@ msgstr "" " Ⱡ'σя#" #: lms/djangoapps/linkedin/templates/linkedin_email.html -#, python-format msgid "" " \n" " Congratulations on earning your certificate in %(course_name)s!\n" @@ -2059,7 +1984,6 @@ msgid "Add to profile" msgstr "Àdd tö pröfïlé Ⱡ'#" #: lms/djangoapps/open_ended_grading/staff_grading_service.py -#, python-brace-format msgid "" "Could not contact the external grading server. Please contact the " "development team at {email}." @@ -2104,7 +2028,6 @@ msgstr "" " pöïnt öf çöntäçt. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" #: lms/djangoapps/open_ended_grading/utils.py -#, python-brace-format msgid "for course {0} and student {1}." msgstr "för çöürsé {0} änd stüdént {1}. Ⱡ'σяєм ι#" @@ -2172,7 +2095,6 @@ msgid "Trying to add a different currency into the cart" msgstr "Trýïng tö ädd ä dïfférént çürrénçý ïntö thé çärt Ⱡ'σяєм ιρѕυм #" #: lms/djangoapps/shoppingcart/models.py -#, python-brace-format msgid "" "Please visit your dashboard to see your new" " enrollments." @@ -2185,18 +2107,15 @@ msgid "[Refund] User-Requested Refund" msgstr "[Réfünd] Ûsér-Réqüéstéd Réfünd Ⱡ'σяєм #" #: lms/djangoapps/shoppingcart/models.py -#, python-brace-format msgid "Mode {mode} does not exist for {course_id}" msgstr "Mödé {mode} döés nöt éxïst för {course_id} Ⱡ'σяєм ι#" #: lms/djangoapps/shoppingcart/models.py -#, python-brace-format msgid "Certificate of Achievement, {mode_name} for course {course}" msgstr "" "Çértïfïçäté öf Àçhïévémént, {mode_name} för çöürsé {course} Ⱡ'σяєм ιρѕυм #" #: lms/djangoapps/shoppingcart/models.py -#, python-brace-format msgid "" "Note - you have up to 2 weeks into the course to unenroll from the Verified " "Certificate option and receive a full refund. To receive your refund, " @@ -2370,13 +2289,11 @@ msgstr "Thé çöürsé ýöü réqüéstéd döés nöt éxïst. Ⱡ'σяєм #: lms/djangoapps/shoppingcart/views.py #: lms/djangoapps/shoppingcart/tests/test_views.py -#, python-brace-format msgid "The course {0} is already in your cart." msgstr "Thé çöürsé {0} ïs älréädý ïn ýöür çärt. Ⱡ'σяєм ιρѕ#" #: lms/djangoapps/shoppingcart/views.py #: lms/djangoapps/shoppingcart/tests/test_views.py -#, python-brace-format msgid "You are already registered in course {0}." msgstr "Ýöü äré älréädý régïstéréd ïn çöürsé {0}. Ⱡ'σяєм ιρѕυ#" @@ -2389,7 +2306,6 @@ msgid "You do not have permission to view this page." msgstr "Ýöü dö nöt hävé pérmïssïön tö vïéw thïs pägé. Ⱡ'σяєм ιρѕυм#" #: lms/djangoapps/shoppingcart/processors/CyberSource.py -#, python-brace-format msgid "The payment processor did not return a required parameter: {0}" msgstr "" "Thé päýmént pröçéssör dïd nöt rétürn ä réqüïréd pärämétér: {0} Ⱡ'σяєм ιρѕυм " @@ -2397,7 +2313,6 @@ msgstr "" #: lms/djangoapps/shoppingcart/processors/CyberSource.py #: lms/djangoapps/shoppingcart/processors/CyberSource.py -#, python-brace-format msgid "The payment processor returned a badly-typed value {0} for param {1}." msgstr "" "Thé päýmént pröçéssör rétürnéd ä ßädlý-týpéd välüé {0} för päräm {1}. Ⱡ'σяєм" @@ -2411,7 +2326,6 @@ msgstr "" "Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" #: lms/djangoapps/shoppingcart/processors/CyberSource.py -#, python-brace-format msgid "" "The amount charged by the processor {0} {1} is different than the total cost" " of the order {2} {3}." @@ -2420,7 +2334,6 @@ msgstr "" " öf thé ördér {2} {3}. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢#" #: lms/djangoapps/shoppingcart/processors/CyberSource.py -#, python-brace-format msgid "" "\n" "

\n" @@ -2443,7 +2356,6 @@ msgstr "" " Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє м#" #: lms/djangoapps/shoppingcart/processors/CyberSource.py -#, python-brace-format msgid "" "\n" "

\n" @@ -2464,7 +2376,6 @@ msgstr "" " Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм νєηιαм,#" #: lms/djangoapps/shoppingcart/processors/CyberSource.py -#, python-brace-format msgid "" "\n" "

\n" @@ -2483,7 +2394,6 @@ msgstr "" " Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σł#" #: lms/djangoapps/shoppingcart/processors/CyberSource.py -#, python-brace-format msgid "" "\n" "

\n" @@ -2676,7 +2586,6 @@ msgstr "" "päýmént Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" #: lms/djangoapps/shoppingcart/processors/CyberSource.py -#, python-brace-format msgid "" "\n" " There is a problem with our CyberSource merchant configuration. Please let us know at {0}\n" @@ -2844,7 +2753,6 @@ msgid "Your Password Reset is Complete" msgstr "Ýöür Pässwörd Rését ïs Çömplété Ⱡ'σяєм ι#" #: lms/templates/registration/password_reset_complete.html -#, python-format msgid "" "\n" " Your password has been set. You may go ahead and %(link_start)slog in%(link_end)s now.\n" @@ -2855,7 +2763,6 @@ msgstr "" " Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" #: lms/templates/registration/password_reset_confirm.html -#, python-format msgid "" "\n" " Reset Your %(platform_name)s Password\n" @@ -2866,7 +2773,6 @@ msgstr "" " Ⱡ'σяєм ι#" #: lms/templates/registration/password_reset_confirm.html -#, python-format msgid "" "\n" " Reset Your %(platform_name)s Password\n" @@ -2881,7 +2787,6 @@ msgid "Password Reset Form" msgstr "Pässwörd Rését Förm Ⱡ'σя#" #: lms/templates/registration/password_reset_confirm.html -#, python-format msgid "" "\n" " We're sorry, %(platform_name)s enrollment is not available in your region\n" @@ -2914,7 +2819,6 @@ msgstr "" "rését Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" #: lms/templates/registration/password_reset_confirm.html -#, python-format msgid "" "\n" " Someone has been made aware of this issue. Please try again shortly. Please %(start_link)scontact us%(end_link)s about any concerns you have.\n" @@ -2958,7 +2862,6 @@ msgid "Your Password Reset Was Unsuccessful" msgstr "Ýöür Pässwörd Rését Wäs Ûnsüççéssfül Ⱡ'σяєм ιρ#" #: lms/templates/registration/password_reset_confirm.html -#, python-format msgid "" "\n" " The password reset link was invalid, possibly because the link has already been used. Please return to the %(start_link)slogin page%(end_link)s and start the password reset process again.\n" @@ -2979,7 +2882,6 @@ msgid "Need Help?" msgstr "Nééd Hélp? Ⱡ#" #: lms/templates/registration/password_reset_confirm.html -#, python-format msgid "" "\n" " View our %(start_link)shelp section for contact information and answers to commonly asked questions%(end_link)s\n" @@ -3232,7 +3134,6 @@ msgstr "" "∂σłσ#" #: lms/templates/wiki/includes/anonymous_blocked.html -#, python-format msgid "" "\n" " You need to log in or sign up to use this function.\n" @@ -3351,7 +3252,6 @@ msgid "Quotes" msgstr "Qüötés Ⱡ'σяєм ιρѕ#" #: lms/templates/wiki/includes/editor_widget.html -#, python-format msgid "" "\n" " Markdown syntax is allowed. See the %(start_link)scheatsheet%(end_link)s for help.\n" @@ -3449,7 +3349,6 @@ msgid "There are no attachments for this article." msgstr "Théré äré nö ättäçhménts för thïs ärtïçlé. Ⱡ'σяєм ιρѕυ#" #: cms/djangoapps/contentstore/git_export_utils.py -#, python-brace-format msgid "" "GIT_REPO_EXPORT_DIR not set or path {0} doesn't exist, please create it, or " "configure a different path with GIT_REPO_EXPORT_DIR" @@ -3548,7 +3447,6 @@ msgid "Upload completed" msgstr "Ûplöäd çömplétéd Ⱡ'σ#" #: cms/djangoapps/contentstore/views/course.py -#, python-brace-format msgid "" "Unable to create course '{name}'.\n" "\n" @@ -3604,12 +3502,10 @@ msgid "Could not find the course.xml file in the package." msgstr "Çöüld nöt fïnd thé çöürsé.xml fïlé ïn thé päçkägé. Ⱡ'σяєм ιρѕυм ∂#" #: cms/djangoapps/contentstore/views/item.py -#, python-brace-format msgid "Duplicate of {0}" msgstr "Düplïçäté öf {0} Ⱡ'σ#" #: cms/djangoapps/contentstore/views/item.py -#, python-brace-format msgid "Duplicate of '{0}'" msgstr "Düplïçäté öf '{0}' Ⱡ'σ#" @@ -3630,12 +3526,10 @@ msgid "Insufficient permissions" msgstr "Ìnsüffïçïént pérmïssïöns Ⱡ'σяє#" #: cms/djangoapps/contentstore/views/user.py -#, python-brace-format msgid "Could not find user by email address '{email}'." msgstr "Çöüld nöt fïnd üsér ßý émäïl äddréss '{email}'. Ⱡ'σяєм ιρѕυм#" #: cms/djangoapps/contentstore/views/user.py -#, python-brace-format msgid "User {email} has registered but has not yet activated his/her account." msgstr "" "Ûsér {email} häs régïstéréd ßüt häs nöt ýét äçtïvätéd hïs/hér äççöünt. " @@ -5005,7 +4899,6 @@ msgstr "" "thïs thïrd pärtý sïté. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢#" #: lms/templates/provider_login.html -#, python-format msgid "Return To %s" msgstr "Rétürn Tö %s Ⱡ#" @@ -7208,7 +7101,6 @@ msgid "Pin Thread" msgstr "Pïn Thréäd Ⱡ#" #: lms/templates/discussion/_underscore_templates.html -#, python-format msgid "(this post is about %(courseware_title_linked)s)" msgstr "(thïs pöst ïs äßöüt %(courseware_title_linked)s) Ⱡ'σяє#" @@ -7256,12 +7148,10 @@ msgid "Delete Comment" msgstr "Délété Çömmént Ⱡ'#" #: lms/templates/discussion/_underscore_templates.html -#, python-format msgid "-posted %(time_ago)s by" msgstr "-pöstéd %(time_ago)s ßý Ⱡ'#" #: lms/templates/discussion/_underscore_templates.html -#, python-format msgid "" "%(comments_count)s %(span_sr_open)scomments (%(unread_comments_count)s " "unread comments)%(span_close)s" @@ -7270,12 +7160,10 @@ msgstr "" "ünréäd çömménts)%(span_close)s Ⱡ'σяєм ιρѕυ#" #: lms/templates/discussion/_underscore_templates.html -#, python-format msgid "%(comments_count)s %(span_sr_open)scomments %(span_close)s" msgstr "%(comments_count)s %(span_sr_open)sçömménts %(span_close)s Ⱡ'σя#" #: lms/templates/discussion/_underscore_templates.html -#, python-format msgid "%(votes_up_count)s%(span_sr_open)s votes %(span_close)s" msgstr "%(votes_up_count)s%(span_sr_open)s vötés %(span_close)s Ⱡ'σ#" @@ -7341,14 +7229,12 @@ msgid ", " msgstr ", Ⱡ'#" #: lms/templates/discussion/_user_profile.html -#, python-format msgid "%s discussion started" msgid_plural "%s discussions started" msgstr[0] "%s dïsçüssïön stärtéd Ⱡ'σя#" msgstr[1] "%s dïsçüssïöns stärtéd Ⱡ'σяє#" #: lms/templates/discussion/_user_profile.html -#, python-format msgid "%s comment" msgid_plural "%s comments" msgstr[0] "%s çömmént Ⱡ#" @@ -11162,7 +11048,6 @@ msgid "contact edX Staff with further questions" msgstr "çöntäçt édX Stäff wïth fürthér qüéstïöns Ⱡ'σяєм ιρѕυ#" #: cms/templates/index.html -#, python-format msgid "Thanks for signing up, %(name)s!" msgstr "Thänks för sïgnïng üp, %(name)s! Ⱡ'σяєм#" @@ -11171,7 +11056,6 @@ msgid "We need to verify your email address" msgstr "Wé nééd tö vérïfý ýöür émäïl äddréss Ⱡ'σяєм ιρ#" #: cms/templates/index.html -#, python-format msgid "" "Almost there! In order to complete your sign up we need you to verify your " "email address (%(email)s). An activation message and next steps should be " @@ -11736,7 +11620,6 @@ msgid "your course summary page" msgstr "ýöür çöürsé sümmärý pägé Ⱡ'σяє#" #: cms/templates/settings.html -#, python-format msgid "" "Introductions, prerequisites, FAQs that are used on %s (formatted in HTML)" msgstr "" @@ -12486,12 +12369,10 @@ msgid "A slug may not begin with an underscore." msgstr "À slüg mäý nöt ßégïn wïth än ündérsçöré. Ⱡ'σяєм ιρѕυ#" #: wiki/forms.py -#, python-format msgid "A deleted article with slug \"%s\" already exists." msgstr "À délétéd ärtïçlé wïth slüg \"%s\" älréädý éxïsts. Ⱡ'σяєм ιρѕυм #" #: wiki/forms.py -#, python-format msgid "A slug named \"%s\" already exists." msgstr "À slüg näméd \"%s\" älréädý éxïsts. Ⱡ'σяєм ι#" @@ -12655,7 +12536,6 @@ msgid "others write access" msgstr "öthérs wrïté äççéss Ⱡ'σя#" #: wiki/models/article.py -#, python-format msgid "Article without content (%(id)d)" msgstr "Àrtïçlé wïthöüt çöntént (%(id)d) Ⱡ'σяєм #" @@ -12761,7 +12641,6 @@ msgid "A non-root note must always have a slug." msgstr "À nön-rööt nöté müst älwäýs hävé ä slüg. Ⱡ'σяєм ιρѕυ#" #: wiki/models/urlpath.py -#, python-format msgid "There is already a root node on %s" msgstr "Théré ïs älréädý ä rööt nödé ön %s Ⱡ'σяєм ιρ#" @@ -12826,12 +12705,10 @@ msgid "attachment revisions" msgstr "ättäçhmént révïsïöns Ⱡ'σя#" #: wiki/plugins/attachments/views.py -#, python-format msgid "%s was successfully added." msgstr "%s wäs süççéssfüllý äddéd. Ⱡ'σяєм#" #: wiki/plugins/attachments/views.py wiki/plugins/attachments/views.py -#, python-format msgid "Your file could not be saved: %s" msgstr "Ýöür fïlé çöüld nöt ßé sävéd: %s Ⱡ'σяєм ι#" @@ -12844,7 +12721,6 @@ msgstr "" "wéß sérvér. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" #: wiki/plugins/attachments/views.py -#, python-format msgid "%s uploaded and replaces old attachment." msgstr "%s üplöädéd änd répläçés öld ättäçhmént. Ⱡ'σяєм ιρѕυ#" @@ -12858,37 +12734,30 @@ msgstr "" " ѕιт αмєт, ¢σηѕє¢тєтυ#" #: wiki/plugins/attachments/views.py -#, python-format msgid "Current revision changed for %s." msgstr "Çürrént révïsïön çhängéd för %s. Ⱡ'σяєм ι#" #: wiki/plugins/attachments/views.py -#, python-format msgid "Added a reference to \"%(att)s\" from \"%(art)s\"." msgstr "Àddéd ä référénçé tö \"%(att)s\" fröm \"%(art)s\". Ⱡ'σяєм ιρѕ#" #: wiki/plugins/attachments/views.py -#, python-format msgid "The file %s was deleted." msgstr "Thé fïlé %s wäs délétéd. Ⱡ'σяє#" #: wiki/plugins/attachments/views.py -#, python-format msgid "This article is no longer related to the file %s." msgstr "Thïs ärtïçlé ïs nö löngér rélätéd tö thé fïlé %s. Ⱡ'σяєм ιρѕυм ∂#" #: wiki/plugins/attachments/wiki_plugin.py -#, python-format msgid "A file was changed: %s" msgstr "À fïlé wäs çhängéd: %s Ⱡ'σяє#" #: wiki/plugins/attachments/wiki_plugin.py -#, python-format msgid "A file was deleted: %s" msgstr "À fïlé wäs délétéd: %s Ⱡ'σяє#" #: wiki/plugins/images/forms.py -#, python-format msgid "" "New image %s was successfully uploaded. You can use it by selecting it from " "the list of available images." @@ -12909,7 +12778,6 @@ msgid "images" msgstr "ïmägés Ⱡ'σяєм ιρѕ#" #: wiki/plugins/images/models.py -#, python-format msgid "Image: %s" msgstr "Ìmägé: %s #" @@ -12926,27 +12794,22 @@ msgid "image revisions" msgstr "ïmägé révïsïöns Ⱡ'#" #: wiki/plugins/images/models.py -#, python-format msgid "Image Revsion: %d" msgstr "Ìmägé Révsïön: %d Ⱡ'σ#" #: wiki/plugins/images/views.py -#, python-format msgid "%s has been restored" msgstr "%s häs ßéén réstöréd Ⱡ'σя#" #: wiki/plugins/images/views.py -#, python-format msgid "%s has been marked as deleted" msgstr "%s häs ßéén märkéd äs délétéd Ⱡ'σяєм #" #: wiki/plugins/images/views.py -#, python-format msgid "%(file)s has been changed to revision #%(revision)d" msgstr "%(file)s häs ßéén çhängéd tö révïsïön #%(revision)d Ⱡ'σяєм ιρѕ#" #: wiki/plugins/images/views.py -#, python-format msgid "%(file)s has been saved." msgstr "%(file)s häs ßéén sävéd. Ⱡ'σя#" @@ -12955,7 +12818,6 @@ msgid "Images" msgstr "Ìmägés Ⱡ'σяєм ιρѕ#" #: wiki/plugins/images/wiki_plugin.py -#, python-format msgid "An image was added: %s" msgstr "Àn ïmägé wäs äddéd: %s Ⱡ'σяє#" @@ -12986,22 +12848,18 @@ msgstr "" "∂σłσ#" #: wiki/plugins/notifications/models.py -#, python-format msgid "%(user)s subscribing to %(article)s (%(type)s)" msgstr "%(user)s süßsçrïßïng tö %(article)s (%(type)s) Ⱡ'σяєм #" #: wiki/plugins/notifications/models.py -#, python-format msgid "Article deleted: %s" msgstr "Àrtïçlé délétéd: %s Ⱡ'σя#" #: wiki/plugins/notifications/models.py -#, python-format msgid "Article modified: %s" msgstr "Àrtïçlé mödïfïéd: %s Ⱡ'σя#" #: wiki/plugins/notifications/models.py -#, python-format msgid "New article created: %s" msgstr "Néw ärtïçlé çréätéd: %s Ⱡ'σяє#" @@ -13018,12 +12876,10 @@ msgid "You are now logged in! Have fun!" msgstr "Ýöü äré nöw löggéd ïn! Hävé fün! Ⱡ'σяєм ι#" #: wiki/views/article.py -#, python-format msgid "New article '%s' created." msgstr "Néw ärtïçlé '%s' çréätéd. Ⱡ'σяєм#" #: wiki/views/article.py -#, python-format msgid "There was an error creating this article: %s" msgstr "Théré wäs än érrör çréätïng thïs ärtïçlé: %s Ⱡ'σяєм ιρѕυм#" @@ -13046,7 +12902,6 @@ msgstr "" " Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт #" #: wiki/views/article.py -#, python-format msgid "" "The article \"%s\" is now marked as deleted! Thanks for keeping the site " "free from unwanted material!" @@ -13067,12 +12922,10 @@ msgid "Restoring article" msgstr "Réstörïng ärtïçlé Ⱡ'σ#" #: wiki/views/article.py -#, python-format msgid "The article \"%s\" and its children are now restored." msgstr "Thé ärtïçlé \"%s\" änd ïts çhïldrén äré nöw réstöréd. Ⱡ'σяєм ιρѕυм ∂#" #: wiki/views/article.py -#, python-format msgid "The article %s is now set to display revision #%d" msgstr "Thé ärtïçlé %s ïs nöw sét tö dïspläý révïsïön #%d Ⱡ'σяєм ιρѕυм ∂#" @@ -13081,12 +12934,10 @@ msgid "New title" msgstr "Néw tïtlé #" #: wiki/views/article.py -#, python-format msgid "Merge between Revision #%(r1)d and Revision #%(r2)d" msgstr "Mérgé ßétwéén Révïsïön #%(r1)d änd Révïsïön #%(r2)d Ⱡ'σяєм ιρѕυм#" #: wiki/views/article.py -#, python-format msgid "" "A new revision was created: Merge between Revision #%(r1)d and Revision " "#%(r2)d" diff --git a/conf/locale/eo/LC_MESSAGES/djangojs.mo b/conf/locale/eo/LC_MESSAGES/djangojs.mo index 4b347692f428c7dd3170b39489a9cd75317733fd..6637b699f51972d973d41b8f53e984e731ad802a 100644 GIT binary patch delta 39 tcmca~hUwB7rVVCZ>?T$QhPno(lWn~ec`Si!D-%;aBQpbo%~@VAq5%TH3^xD( delta 39 vcmca~hUwB7rVVCZ>;_hb2D%0olWn~ec`U394XsR#^-N7HEH-C(y@&\n" "MIME-Version: 1.0\n" @@ -538,12 +538,10 @@ msgid "Are you sure you want to delete this response?" msgstr "Àré ýöü süré ýöü wänt tö délété thïs réspönsé? Ⱡ'σяєм ιρѕυм #" #: common/static/js/src/jquery.timeago.locale.js -#, c-format msgid "%s ago" msgstr "%s ägö Ⱡ'σяєм ιρѕ#" #: common/static/js/src/jquery.timeago.locale.js -#, c-format msgid "%s from now" msgstr "%s fröm nöw Ⱡ#" @@ -556,7 +554,6 @@ msgid "about a minute" msgstr "äßöüt ä mïnüté Ⱡ'#" #: common/static/js/src/jquery.timeago.locale.js -#, c-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "%d mïnüté #" @@ -567,7 +564,6 @@ msgid "about an hour" msgstr "äßöüt än höür Ⱡ'#" #: common/static/js/src/jquery.timeago.locale.js -#, c-format msgid "about %d hour" msgid_plural "about %d hours" msgstr[0] "äßöüt %d höür Ⱡ'#" @@ -578,7 +574,6 @@ msgid "a day" msgstr "ä däý Ⱡ'σяєм ι#" #: common/static/js/src/jquery.timeago.locale.js -#, c-format msgid "%d day" msgid_plural "%d days" msgstr[0] "%d däý Ⱡ'σяєм ιρѕ#" @@ -589,7 +584,6 @@ msgid "about a month" msgstr "äßöüt ä mönth Ⱡ'#" #: common/static/js/src/jquery.timeago.locale.js -#, c-format msgid "%d month" msgid_plural "%d months" msgstr[0] "%d mönth #" @@ -600,19 +594,16 @@ msgid "about a year" msgstr "äßöüt ä ýéär Ⱡ#" #: common/static/js/src/jquery.timeago.locale.js -#, c-format msgid "%d year" msgid_plural "%d years" msgstr[0] "%d ýéär #" msgstr[1] "%d ýéärs #" #: lms/static/admin/js/SelectFilter2.js -#, c-format msgid "Available %s" msgstr "Àväïläßlé %s Ⱡ#" #: lms/static/admin/js/SelectFilter2.js -#, c-format msgid "" "This is the list of available %s. You may choose some by selecting them in " "the box below and then clicking the \"Choose\" arrow between the two boxes." @@ -622,7 +613,6 @@ msgstr "" "Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιρι#" #: lms/static/admin/js/SelectFilter2.js -#, c-format msgid "Type into this box to filter down the list of available %s." msgstr "" "Týpé ïntö thïs ßöx tö fïltér döwn thé lïst öf äväïläßlé %s. Ⱡ'σяєм ιρѕυм " @@ -637,7 +627,6 @@ msgid "Choose all" msgstr "Çhöösé äll Ⱡ#" #: lms/static/admin/js/SelectFilter2.js -#, c-format msgid "Click to choose all %s at once." msgstr "Çlïçk tö çhöösé äll %s ät önçé. Ⱡ'σяєм ι#" @@ -650,12 +639,10 @@ msgid "Remove" msgstr "Rémövé Ⱡ'σяєм ιρѕ#" #: lms/static/admin/js/SelectFilter2.js -#, c-format msgid "Chosen %s" msgstr "Çhösén %s #" #: lms/static/admin/js/SelectFilter2.js -#, c-format msgid "" "This is the list of chosen %s. You may remove some by selecting them in the " "box below and then clicking the \"Remove\" arrow between the two boxes." @@ -669,7 +656,6 @@ msgid "Remove all" msgstr "Rémövé äll Ⱡ#" #: lms/static/admin/js/SelectFilter2.js -#, c-format msgid "Click to remove all chosen %s at once." msgstr "Çlïçk tö rémövé äll çhösén %s ät önçé. Ⱡ'σяєм ιρѕ#" @@ -1271,7 +1257,6 @@ msgid "Studio's having trouble saving your work" msgstr "Stüdïö's hävïng tröüßlé sävïng ýöür wörk Ⱡ'σяєм ιρѕυ#" #: cms/static/coffee/src/views/module_edit.js -#, c-format msgid "Editing: %s" msgstr "Édïtïng: %s Ⱡ'σ#"