From a6b322f45f2073df293e98502855094431bb8f5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mois=C3=A9s=20Gonz=C3=A1lez?= Date: Thu, 22 Jul 2021 19:28:16 -0400 Subject: [PATCH] Add Portuguese (Portugal) translations --- .../public/js/translations/pt_PT/text.js | 319 ++++++++ drag_and_drop_v2/translations/config.yaml | 2 +- .../translations/pt_PT/LC_MESSAGES/text.mo | Bin 0 -> 16242 bytes .../translations/pt_PT/LC_MESSAGES/text.po | 682 ++++++++++++++++++ drag_and_drop_v2/translations/settings.py | 1 + setup.py | 2 +- 6 files changed, 1004 insertions(+), 2 deletions(-) create mode 100644 drag_and_drop_v2/public/js/translations/pt_PT/text.js create mode 100644 drag_and_drop_v2/translations/pt_PT/LC_MESSAGES/text.mo create mode 100644 drag_and_drop_v2/translations/pt_PT/LC_MESSAGES/text.po diff --git a/drag_and_drop_v2/public/js/translations/pt_PT/text.js b/drag_and_drop_v2/public/js/translations/pt_PT/text.js new file mode 100644 index 000000000..c7d759b58 --- /dev/null +++ b/drag_and_drop_v2/public/js/translations/pt_PT/text.js @@ -0,0 +1,319 @@ + + (function(global){ + var DragAndDropI18N = { + init: function() { + + +(function(globals) { + + var django = globals.django || (globals.django = {}); + + + django.pluralidx = function(n) { + var v=(n != 1); + if (typeof(v) == 'boolean') { + return v ? 1 : 0; + } else { + return v; + } + }; + + + /* gettext library */ + + django.catalog = django.catalog || {}; + + var newcatalog = { + "\n Please provide a description of the image for non-visual users.\n The description should provide sufficient information to allow anyone\n to solve the problem even without seeing the image.\n ": "\n Por favor, disponibilize uma descri\u00e7\u00e3o da imagem para utilizadores com dificuldades visuais.\n A descri\u00e7\u00e3o deve dar informa\u00e7\u00f5es suficientes para permitir que qualquer pessoa\n resolva o problema mesmo sem ver a imagem.\n ", + ", draggable": ", arrast\u00e1vel", + ", draggable, grabbed": ", arrast\u00e1vel, agarrando", + ", dropzone": ", zona para largar os itens", + "Actions": "A\u00e7\u00f5es", + "Add a zone": "Adicionar uma zona", + "Add an item": "Adicionar um item", + "An error occurred. Unable to load drag and drop problem.": "Ocorreu um erro. N\u00e3o \u00e9 poss\u00edvel carregar este problema.", + "An isosceles triangle with three layers of similar height. It is shown upright, so the widest layer is located at the bottom, and the narrowest layer is located at the top.": "Um tri\u00e2ngulo is\u00f3sceles com tr\u00eas camadas de altura semelhante. \u00c9 mostrado na posi\u00e7\u00e3o vertical, de modo que a camada maior esteja localizada na parte inferior e a camada mais pequena localizada na parte superior.", + "Assessment": "Avalia\u00e7\u00e3o", + "Background Image": "Imagem de fundo", + "Background URL": "URL do plano de fundo", + "Background description": "Descri\u00e7\u00e3o do plano de fundo", + "Basic Settings": "Configura\u00e7\u00f5es b\u00e1sicas", + "Cancel": "Cancelar", + "Change background": "Mudar o plano de fundo", + "Close": "Fechar", + "Continue": "Continuar", + "Correct": "Correto", + "Correct! This one belongs to The Bottom Zone.": "Correto! Este pertence \u00e0 zona inferior.", + "Correct! This one belongs to The Middle Zone.": "Correto! Este pertence \u00e0 zona interm\u00e9dia.", + "Correct! This one belongs to The Top Zone.": "Correto! Este pertence \u00e0 zona superior.", + "Correctly placed in: {zone_title}": "Corretamente colocado em: {zone_title}", + "Correctly placed {correct_count} item.": [ + "{correct_count} item colocado corretamente.", + "{correct_count} itens corretamente colocados." + ], + "DEPRECATED. Keeps maximum score achieved by student as a weighted value.": "DESCONTINUADO. Mant\u00e9m a pontua\u00e7\u00e3o m\u00e1xima alcan\u00e7ada pelo aluno como valor ponderado.", + "Defines the number of points the problem is worth.": "Define o n\u00famero de pontos que o problema vale.", + "Defines the number of times a student can try to answer this problem. If the value is not set, infinite attempts are allowed.": "Define o n\u00famero de vezes que um estudante pode tentar responder a este problema. Se o valor n\u00e3o estiver definido, \u00e9 permitido um n\u00famero infinito de tentativas.", + "Did not place {missing_count} required item.": [ + "N\u00e3o foi colocado {missing_count} item obrigat\u00f3rio.", + "N\u00e3o foram colocados {missing_count} itens obrigat\u00f3rios." + ], + "Display label names on the image": "Mostrar nomes de etiquetas na imagem", + "Display the heading \"Problem\" above the problem text?": "Mostrar o t\u00edtulo \"problema\" acima do texto do problema?", + "Display the title to the learner?": "Mostrar o t\u00edtulo ao estudante?", + "Display zone borders on the image": "Mostrar limites da zona na imagem", + "Drag and Drop": "Arraste e Solte", + "Drag and Drop Problem": "Problema de Arrastar e Largar", + "Drag and Drop problems consist of draggable items and dropzones. Users should select a draggable item with their keyboard and then navigate to an appropriate dropzone to drop it.": "Os problemas de arrastar e largar consistem em itens arrast\u00e1veis e zonas para largar esses mesmos itens. Os utilizadores devem selecionar um item arrast\u00e1vel com o seu teclado e, em seguida, navegar at\u00e9 \u00e0 zona apropriada para o largar.", + "Drag the items onto the image above.": "Arraste os itens para a imagem acima.", + "Drop Targets": "Alvos onde Largar", + "Feedback": "Coment\u00e1rio", + "Final attempt was used, highest score is {score}": "A \u00faltima tentativa foi utilizada, a pontua\u00e7\u00e3o mais alta \u00e9 {score}", + "Final feedback": "Feedback final", + "For example, 'http://example.com/background.png' or '/static/background.png'.": "Por exemplo, 'http://example.com/background.png' ou '/static/background.png'.", + "Generate image and zones": "Gerar imagem e zonas", + "Generate image automatically": "Gerar imagem automaticamente", + "Go to Beginning": "Ir para in\u00edcio", + "Goes anywhere": "Vai a qualquer lugar", + "Goes to the bottom": "Vai para o fundo", + "Goes to the middle": "Vai para o meio", + "Goes to the top": "Vai para o topo", + "Good work! You have completed this drag and drop problem.": "Bom trabalho! Concluiu este problema de arrastar e soltar.", + "Hints:": "Sugest\u00f5es:", + "I don't belong anywhere": "Eu n\u00e3o perten\u00e7o a nenhum lugar", + "Incorrect": "Incorreto", + "Indicates whether a learner has completed the problem at least once": "Indica se um estudante concluiu o problema pelo menos uma vez", + "Information about current positions of items that a learner has dropped on the target image.": "Informa\u00e7\u00f5es sobre as posi\u00e7\u00f5es atuais dos itens que um estudante descartou na imagem de destino.", + "Information about zones, items, feedback, and background image for this problem. This information is derived from the input that a course author provides via the interactive editor when configuring the problem.": "Informa\u00e7\u00f5es sobre zonas, itens, coment\u00e1rios e imagem de fundo para este problema. Estas informa\u00e7\u00f5es derivam da configura\u00e7\u00e3o do problema definidas pelo autor do curso atrav\u00e9s do editor interativo.", + "Introductory feedback": "Coment\u00e1rio inicial", + "Item Bank": "Banco de Itens", + "Item background color": "Cor do fundo do item", + "Item definitions": "Defini\u00e7\u00f5es do item", + "Item text color": "Cor do texto do item", + "Items": "Itens", + "Items placed here: ": "Itens colocados aqui:", + "Keeps maximum score achieved by student as a raw value between 0 and 1.": "Mant\u00e9m a pontua\u00e7\u00e3o m\u00e1xima alcan\u00e7ada pelo aluno como um valor bruto entre 0 e 1.", + "Keyboard Help": "Ajuda de Teclado", + "Loading drag and drop problem.": "A carregar o problema de arrastar e largar.", + "Max number of attempts reached": "N\u00famero m\u00e1ximo de tentativas atingido", + "Maximum attempts": "M\u00e1ximo de tentativas", + "Maximum items per zone": "M\u00e1ximo de itens por zona", + "Maximum score available of the problem as a raw value between 0 and 1.": "Pontua\u00e7\u00e3o m\u00e1xima dispon\u00edvel do problema com um valor bruto entre 0 e 1.", + "Misplaced {misplaced_count} item.": [ + "{misplaced_count} item mal colocado.", + "{misplaced_count} itens mal colocados." + ], + "Misplaced {misplaced_count} item. Misplaced item was returned to item bank.": [ + "{misplaced_count} item mal colocado. Este item foi devolvido ao banco de itens. ", + "{misplaced_count} itens mal colocados. Estes itens foram devolvidos ao banco de itens. " + ], + "Mode": "Modo", + "Navigate using TAB and SHIFT+TAB to the appropriate dropzone and press CTRL+M once more to drop it here.": "Navegue usando TAB e SHIFT + TAB para a zona apropriada e pressione CTRL + M mais uma vez para largar o item aqui.", + "No items placed here": "Nenhum item colocado aqui", + "No, this item does not belong here. Try again.": "N\u00e3o, este item n\u00e3o pertence aqui. Tente novamente.", + "Number of attempts learner used": "N\u00famero de tentativas utilizadas pelo estudante", + "Number of columns": "N\u00famero de colunas", + "Number of columns and rows.": "N\u00famero de colunas e linhas.", + "Number of rows": "N\u00famero de linhas", + "Of course it goes here! It goes anywhere!": "Claro que vai! Vai a qualquer lugar!", + "Placed in: {zone_title}": "Colocado em: {zone_title}", + "Please check over your submission.": "Por favor, verifique o envio.", + "Please check the values you entered.": "Por favor, verifique os valores que introduziu.", + "Press CTRL+M to select a draggable item (effectively picking it up).": "Pressione CTRL + M para selecionar um item arrast\u00e1vel (pegar efetivamente no item).", + "Press ESC if you want to cancel the drop operation (for example, to select a different item).": "Prima ESC se pretender cancelar a opera\u00e7\u00e3o de largar (por exemplo, para selecionar um item diferente).", + "Problem": "Problema", + "Problem Weight": "Import\u00e2ncia do problema", + "Problem data": "Dados do problema", + "Problem text": "Texto do problema", + "Provide custom image": "Forne\u00e7a uma imagem personalizada", + "Reset": "Reiniciar", + "Save": "Guardar", + "Saving": "A Guardar", + "Show \"Problem\" heading": "Mostrar o t\u00edtulo \"problema\"", + "Show Answer": "Mostrar Resposta", + "Show title": "Mostrar t\u00edtulo", + "Size of a single zone in pixels.": "Tamanho em pix\u00e9is de uma zona \u00fanica .", + "Some of your answers were not correct.": "Algumas das suas respostas n\u00e3o estavam corretas.", + "Standard": "Padr\u00e3o", + "Standard mode: the problem provides immediate feedback each time a learner drops an item on a target zone. Assessment mode: the problem provides feedback only after a learner drops all available items on target zones.": "Modo padr\u00e3o: o problema d\u00e1 feedback imediato cada vez que um aluno solta um item numa zona de destino. Modo de avalia\u00e7\u00e3o: o problema d\u00e1 feedback apenas depois do estudante arrastar todos os itens dispon\u00edveis para as zonas de destino.", + "Submission deadline has passed.": "O prazo para submiss\u00e3o j\u00e1 passou.", + "Submit": "Submeter", + "Submitting": "A submeter", + "TAB back to the list of draggable items and repeat this process until all of the draggable items have been placed on their respective dropzones.": "TAB de volta \u00e0 lista de itens arrast\u00e1veis e repita este processo at\u00e9 que todos os itens arrast\u00e1veis tenham sido colocados nas suas respectivas zonas.", + "Text color to use for draggable items (example: 'white' or '#ffffff').": "Cor do texto dos itens arrast\u00e1veis (exemplo: 'white' ou '#ffffff').", + "The Bottom Zone": "A zona inferior", + "The Middle Zone": "A zona m\u00e9dia", + "The Top Zone": "A zona superior", + "The background color of draggable items in the problem (example: 'blue' or '#0000ff').": "A cor de fundo dos itens arrast\u00e1veis no problema (exemplo: 'blue' ou '#0000ff').", + "The description of the problem or instructions shown to the learner.": "A descri\u00e7\u00e3o do problema ou instru\u00e7\u00f5es que o estudante v\u00ea.", + "The title of the drag and drop problem. The title is displayed to learners.": "O t\u00edtulo do problema de arrastar e soltar. O t\u00edtulo \u00e9 vis\u00edvel para os estudantes.", + "There are attempts remaining": "Ainda h\u00e1 tentativas dispon\u00edveis", + "There was an error with your form.": "Houve um erro com o seu formul\u00e1rio.", + "This is a screen reader-friendly problem.": "Este \u00e9 um problema amig\u00e1vel para os leitores de ecr\u00e3.", + "This setting limits the number of items that can be dropped into a single zone.": "Esta configura\u00e7\u00e3o limita o n\u00famero de itens que podem ser colocados numa \u00fanica zona.", + "Title": "T\u00edtulo", + "Unknown DnDv2 mode {mode} - course is misconfigured": "Modo DnDv2 desconhecido {mode} - o curso est\u00e1 mal configurado", + "Unknown Zone": "Zona desconhecida", + "Use only TAB and SHIFT+TAB to navigate between draggable items and drop zones.": "Use somente TAB e SHIFT+TAB para navegar entre itens arrast\u00e1veis e zonas para largar.", + "Use this zone to associate an item with the bottom layer of the triangle.": "Use esta zona para associar um item com a camada inferior do tri\u00e2ngulo.", + "Use this zone to associate an item with the middle layer of the triangle.": "Use esta zona para associar um item \u00e0 camada intermedi\u00e1ria do tri\u00e2ngulo.", + "Use this zone to associate an item with the top layer of the triangle.": "Use esta zona para associar um item \u00e0 camada superior do tri\u00e2ngulo.", + "You can complete this problem using only your keyboard by following the guidance below:": "Pode concluir este problema usando apenas o teclado e seguindo as orienta\u00e7\u00f5es abaixo:", + "You cannot add any more items to this zone.": "N\u00e3o pode adicionar mais itens nesta zona.", + "You have used {used} of {total} attempts.": "Usou {used} de {total} tentativas.", + "You silly, there are no zones for this one.": "N\u00e3o h\u00e1 zonas criadas para este item.", + "Your highest score is {score}": "A sua pontua\u00e7\u00e3o mais alta \u00e9 {score}", + "Zone Layout": "Layout da zona", + "Zone Size": "Dimens\u00f5es da Zona", + "Zone borders": "Limites da zona", + "Zone definitions": "Defini\u00e7\u00f5es de zona", + "Zone height": "Altura da Zona", + "Zone labels": "Etiquetas de zona", + "Zone width": "Largura da Zona", + "Zone {num}": [ + "Zona {num}", + "Zona {num}" + ], + "Zones": "Zonas", + "do_attempt handler should only be called for assessment mode": "O manipulador do_attempt s\u00f3 deve ser utilizado no modo de avalia\u00e7\u00e3o", + "droppable": "arrast\u00e1vel", + "show_answer handler should only be called for assessment mode": "O manipulador show_answer s\u00f3 deve ser utilizado no modo de avalia\u00e7\u00e3o", + "{earned}/{possible} point (graded)": [ + "{earned}/{possible} ponto (classificado)", + "{earned}/{possible} pontos (classificado)" + ], + "{earned}/{possible} point (ungraded)": [ + "{earned}/{possible} ponto (n\u00e3o classificado)", + "{earned}/{possible} pontos (n\u00e3o classificado)" + ], + "{possible} point possible (graded)": [ + "{possible} ponto poss\u00edvel (classificado)", + "{possible} pontos poss\u00edveis (classificado)" + ], + "{possible} point possible (ungraded)": [ + "{possible} ponto poss\u00edvel (n\u00e3o classificado)", + "{possible} pontos poss\u00edveis (n\u00e3o classificado)" + ] + }; + for (var key in newcatalog) { + django.catalog[key] = newcatalog[key]; + } + + + if (!django.jsi18n_initialized) { + django.gettext = function(msgid) { + var value = django.catalog[msgid]; + if (typeof(value) == 'undefined') { + return msgid; + } else { + return (typeof(value) == 'string') ? value : value[0]; + } + }; + + django.ngettext = function(singular, plural, count) { + var value = django.catalog[singular]; + if (typeof(value) == 'undefined') { + return (count == 1) ? singular : plural; + } else { + return value[django.pluralidx(count)]; + } + }; + + django.gettext_noop = function(msgid) { return msgid; }; + + django.pgettext = function(context, msgid) { + var value = django.gettext(context + '\x04' + msgid); + if (value.indexOf('\x04') != -1) { + value = msgid; + } + return value; + }; + + django.npgettext = function(context, singular, plural, count) { + var value = django.ngettext(context + '\x04' + singular, context + '\x04' + plural, count); + if (value.indexOf('\x04') != -1) { + value = django.ngettext(singular, plural, count); + } + return value; + }; + + django.interpolate = function(fmt, obj, named) { + if (named) { + return fmt.replace(/%\(\w+\)s/g, function(match){return String(obj[match.slice(2,-2)])}); + } else { + return fmt.replace(/%s/g, function(match){return String(obj.shift())}); + } + }; + + + /* formatting library */ + + django.formats = { + "DATETIME_FORMAT": "j \\d\\e F \\d\\e Y \u00e0\\s H:i", + "DATETIME_INPUT_FORMATS": [ + "%Y-%m-%d %H:%M:%S", + "%Y-%m-%d %H:%M:%S.%f", + "%Y-%m-%d %H:%M", + "%Y-%m-%d", + "%d/%m/%Y %H:%M:%S", + "%d/%m/%Y %H:%M:%S.%f", + "%d/%m/%Y %H:%M", + "%d/%m/%Y", + "%d/%m/%y %H:%M:%S", + "%d/%m/%y %H:%M:%S.%f", + "%d/%m/%y %H:%M", + "%d/%m/%y" + ], + "DATE_FORMAT": "j \\d\\e F \\d\\e Y", + "DATE_INPUT_FORMATS": [ + "%Y-%m-%d", + "%d/%m/%Y", + "%d/%m/%y" + ], + "DECIMAL_SEPARATOR": ",", + "FIRST_DAY_OF_WEEK": "0", + "MONTH_DAY_FORMAT": "j \\d\\e F", + "NUMBER_GROUPING": "3", + "SHORT_DATETIME_FORMAT": "d/m/Y H:i", + "SHORT_DATE_FORMAT": "d/m/Y", + "THOUSAND_SEPARATOR": ".", + "TIME_FORMAT": "H:i", + "TIME_INPUT_FORMATS": [ + "%H:%M:%S", + "%H:%M:%S.%f", + "%H:%M" + ], + "YEAR_MONTH_FORMAT": "F \\d\\e Y" + }; + + django.get_format = function(format_type) { + var value = django.formats[format_type]; + if (typeof(value) == 'undefined') { + return format_type; + } else { + return value; + } + }; + + /* add to global namespace */ + globals.pluralidx = django.pluralidx; + globals.gettext = django.gettext; + globals.ngettext = django.ngettext; + globals.gettext_noop = django.gettext_noop; + globals.pgettext = django.pgettext; + globals.npgettext = django.npgettext; + globals.interpolate = django.interpolate; + globals.get_format = django.get_format; + + django.jsi18n_initialized = true; + } + +}(this)); + + + } + }; + DragAndDropI18N.init(); + global.DragAndDropI18N = DragAndDropI18N; + }(this)); + \ No newline at end of file diff --git a/drag_and_drop_v2/translations/config.yaml b/drag_and_drop_v2/translations/config.yaml index d8be6c36d..7cd621c32 100644 --- a/drag_and_drop_v2/translations/config.yaml +++ b/drag_and_drop_v2/translations/config.yaml @@ -60,7 +60,7 @@ locales: # - or # Oriya - pl_PL # Polish - pt_BR # Portuguese (Brazil) - # - pt_PT # Portuguese (Portugal) + - pt_PT # Portuguese (Portugal) # - ro # Romanian - ru # Russian # - si # Sinhala diff --git a/drag_and_drop_v2/translations/pt_PT/LC_MESSAGES/text.mo b/drag_and_drop_v2/translations/pt_PT/LC_MESSAGES/text.mo new file mode 100644 index 0000000000000000000000000000000000000000..5b6d4e57004138bc8525c12a32b26627454db1b1 GIT binary patch literal 16242 zcmb`NdvG0Bea8E$eVQ?wo?y&I@TuHS zKHZpSfk(j&;0f@_;2_+e1=a68;12ME;Ag>ah4-f~H|81KzZ2x2`2+rY4)}?1|7Gw} z?jHfK1iu453H$;06!1|{^ZgVY1%DB6^A*Ni$NlZ#M(}Om0q{@2ec(^Q?ci&e{4AJ( z$G{(h7Tm{VH-ZVM?>`#wYamNE-v^%!J_ddPeDYPsycB#Ggf!;gK&|gb;5P8TL6&B& zeWo!};Emw(z_){r&LB%NUjjA$--CQ&{xRUA;r;)BujcvFA-d?Y7kn;w0Mrr9g1f*z z_(t$g!S8@qvRJM62mGggKM(hpKy0>bt_C&#^`Pi`6UbC%9NY^Y1+}h^fG-9=6Yv|L zzW*V}Kl5|`+XG(7q9(vQz&`>%0>VmW2b-P;Zw6VK`6So^{}TLl@KF$wnhno4<^|vj zLD6joxEb6FYQJ}Z*MRqcqWfn-&G&8aP2h8`_Iy!-`u;7T&gFdpKLl$2Pk`F*!=Tpp zRZw*OTTuJ?CMf>>J}CbF324EegV%yDV39iKo!~!%w}RTo%Q#exvm4ZR`@ws`+d
  • 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 literal 0 HcmV?d00001 diff --git a/drag_and_drop_v2/translations/pt_PT/LC_MESSAGES/text.po b/drag_and_drop_v2/translations/pt_PT/LC_MESSAGES/text.po new file mode 100644 index 000000000..599667517 --- /dev/null +++ b/drag_and_drop_v2/translations/pt_PT/LC_MESSAGES/text.po @@ -0,0 +1,682 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Cátia Lopes , 2019 +# Guilherme Campos , 2020 +# Ivo Branco , 2021 +# Luis Manuel Moreno , 2019 +# Luis Valente , 2020 +# Manuela Silva , 2018 +# Monica Pereira , 2017 +# Manuela Silva , 2018 +msgid "" +msgstr "" +"Project-Id-Version: XBlocks\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-24 21:55-0500\n" +"PO-Revision-Date: 2021-07-20 14:06+0000\n" +"Last-Translator: Ivo Branco \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/open-edx/xblocks/language/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: default_data.py:5 +msgid "" +"An isosceles triangle with three layers of similar height. It is shown " +"upright, so the widest layer is located at the bottom, and the narrowest " +"layer is located at the top." +msgstr "Um triângulo isósceles com três camadas de altura semelhante. É mostrado na posição vertical, de modo que a camada maior esteja localizada na parte inferior e a camada mais pequena localizada na parte superior." + +#: default_data.py:14 +msgid "The Top Zone" +msgstr "A zona superior" + +#: default_data.py:15 +msgid "The Middle Zone" +msgstr "A zona média" + +#: default_data.py:16 +msgid "The Bottom Zone" +msgstr "A zona inferior" + +#: default_data.py:18 +msgid "Use this zone to associate an item with the top layer of the triangle." +msgstr "Use esta zona para associar um item à camada superior do triângulo." + +#: default_data.py:19 +msgid "" +"Use this zone to associate an item with the middle layer of the triangle." +msgstr "Use esta zona para associar um item à camada intermediária do triângulo." + +#: default_data.py:20 +msgid "" +"Use this zone to associate an item with the bottom layer of the triangle." +msgstr "Use esta zona para associar um item com a camada inferior do triângulo." + +#: default_data.py:22 +msgid "Correct! This one belongs to The Top Zone." +msgstr "Correto! Este pertence à zona superior." + +#: default_data.py:23 +msgid "Correct! This one belongs to The Middle Zone." +msgstr "Correto! Este pertence à zona intermédia." + +#: default_data.py:24 +msgid "Correct! This one belongs to The Bottom Zone." +msgstr "Correto! Este pertence à zona inferior." + +#: default_data.py:25 +msgid "No, this item does not belong here. Try again." +msgstr "Não, este item não pertence aqui. Tente novamente." + +#: default_data.py:26 +msgid "You silly, there are no zones for this one." +msgstr "Não há zonas criadas para este item." + +#: default_data.py:27 +msgid "Of course it goes here! It goes anywhere!" +msgstr "Claro que vai! Vai a qualquer lugar!" + +#: default_data.py:29 +msgid "Goes to the top" +msgstr "Vai para o topo" + +#: default_data.py:30 +msgid "Goes to the middle" +msgstr "Vai para o meio" + +#: default_data.py:31 +msgid "Goes to the bottom" +msgstr "Vai para o fundo" + +#: default_data.py:32 +msgid "Goes anywhere" +msgstr "Vai a qualquer lugar" + +#: default_data.py:33 +msgid "I don't belong anywhere" +msgstr "Eu não pertenço a nenhum lugar" + +#: default_data.py:35 +msgid "Drag the items onto the image above." +msgstr "Arraste os itens para a imagem acima." + +#: default_data.py:36 +msgid "Good work! You have completed this drag and drop problem." +msgstr "Bom trabalho! Concluiu este problema de arrastar e soltar." + +#: drag_and_drop_v2.py:76 +msgid "Title" +msgstr "Título" + +#: drag_and_drop_v2.py:77 +msgid "" +"The title of the drag and drop problem. The title is displayed to learners." +msgstr "O título do problema de arrastar e soltar. O título é visível para os estudantes." + +#: drag_and_drop_v2.py:79 +msgid "Drag and Drop" +msgstr "Arraste e Solte" + +#: drag_and_drop_v2.py:84 +msgid "Mode" +msgstr "Modo" + +#: drag_and_drop_v2.py:86 +msgid "" +"Standard mode: the problem provides immediate feedback each time a learner " +"drops an item on a target zone. Assessment mode: the problem provides " +"feedback only after a learner drops all available items on target zones." +msgstr "Modo padrão: o problema dá feedback imediato cada vez que um aluno solta um item numa zona de destino. Modo de avaliação: o problema dá feedback apenas depois do estudante arrastar todos os itens disponíveis para as zonas de destino." + +#: drag_and_drop_v2.py:93 +msgid "Standard" +msgstr "Padrão" + +#: drag_and_drop_v2.py:94 +msgid "Assessment" +msgstr "Avaliação" + +#: drag_and_drop_v2.py:101 +msgid "Maximum attempts" +msgstr "Máximo de tentativas" + +#: drag_and_drop_v2.py:103 +msgid "" +"Defines the number of times a student can try to answer this problem. If the" +" value is not set, infinite attempts are allowed." +msgstr "Define o número de vezes que um estudante pode tentar responder a este problema. Se o valor não estiver definido, é permitido um número infinito de tentativas." + +#: drag_and_drop_v2.py:112 +msgid "Show title" +msgstr "Mostrar título" + +#: drag_and_drop_v2.py:113 +msgid "Display the title to the learner?" +msgstr "Mostrar o título ao estudante?" + +#: drag_and_drop_v2.py:120 +msgid "Problem text" +msgstr "Texto do problema" + +#: drag_and_drop_v2.py:121 +msgid "The description of the problem or instructions shown to the learner." +msgstr "A descrição do problema ou instruções que o estudante vê." + +#: drag_and_drop_v2.py:128 +msgid "Show \"Problem\" heading" +msgstr "Mostrar o título \"problema\"" + +#: drag_and_drop_v2.py:129 +msgid "Display the heading \"Problem\" above the problem text?" +msgstr "Mostrar o título \"problema\" acima do texto do problema?" + +#: drag_and_drop_v2.py:136 +msgid "Problem Weight" +msgstr "Importância do problema" + +#: drag_and_drop_v2.py:137 +msgid "Defines the number of points the problem is worth." +msgstr "Define o número de pontos que o problema vale." + +#: drag_and_drop_v2.py:144 +msgid "Item background color" +msgstr "Cor do fundo do item" + +#: drag_and_drop_v2.py:145 +msgid "" +"The background color of draggable items in the problem (example: 'blue' or " +"'#0000ff')." +msgstr "A cor de fundo dos itens arrastáveis no problema (exemplo: 'blue' ou '#0000ff')." + +#: drag_and_drop_v2.py:152 +msgid "Item text color" +msgstr "Cor do texto do item" + +#: drag_and_drop_v2.py:153 +msgid "Text color to use for draggable items (example: 'white' or '#ffffff')." +msgstr "Cor do texto dos itens arrastáveis (exemplo: 'white' ou '#ffffff')." + +#: drag_and_drop_v2.py:160 +msgid "Maximum items per zone" +msgstr "Máximo de itens por zona" + +#: drag_and_drop_v2.py:161 +msgid "" +"This setting limits the number of items that can be dropped into a single " +"zone." +msgstr "Esta configuração limita o número de itens que podem ser colocados numa única zona." + +#: drag_and_drop_v2.py:168 +msgid "Problem data" +msgstr "Dados do problema" + +#: drag_and_drop_v2.py:170 +msgid "" +"Information about zones, items, feedback, and background image for this " +"problem. This information is derived from the input that a course author " +"provides via the interactive editor when configuring the problem." +msgstr "Informações sobre zonas, itens, comentários e imagem de fundo para este problema. Estas informações derivam da configuração do problema definidas pelo autor do curso através do editor interativo." + +#: drag_and_drop_v2.py:180 +msgid "" +"Information about current positions of items that a learner has dropped on " +"the target image." +msgstr "Informações sobre as posições atuais dos itens que um estudante descartou na imagem de destino." + +#: drag_and_drop_v2.py:187 +msgid "Number of attempts learner used" +msgstr "Número de tentativas utilizadas pelo estudante" + +#: drag_and_drop_v2.py:194 +msgid "Indicates whether a learner has completed the problem at least once" +msgstr "Indica se um estudante concluiu o problema pelo menos uma vez" + +#: drag_and_drop_v2.py:201 +msgid "" +"DEPRECATED. Keeps maximum score achieved by student as a weighted value." +msgstr "DESCONTINUADO. Mantém a pontuação máxima alcançada pelo aluno como valor ponderado." + +#: drag_and_drop_v2.py:207 +msgid "" +"Keeps maximum score achieved by student as a raw value between 0 and 1." +msgstr "Mantém a pontuação máxima alcançada pelo aluno como um valor bruto entre 0 e 1." + +#: drag_and_drop_v2.py:214 +msgid "Maximum score available of the problem as a raw value between 0 and 1." +msgstr "Pontuação máxima disponível do problema com um valor bruto entre 0 e 1." + +#: drag_and_drop_v2.py:536 +#, python-brace-format +msgid "Unknown DnDv2 mode {mode} - course is misconfigured" +msgstr "Modo DnDv2 desconhecido {mode} - o curso está mal configurado" + +#: drag_and_drop_v2.py:611 +msgid "show_answer handler should only be called for assessment mode" +msgstr "O manipulador show_answer só deve ser utilizado no modo de avaliação" + +#: drag_and_drop_v2.py:616 +msgid "There are attempts remaining" +msgstr "Ainda há tentativas disponíveis" + +#: drag_and_drop_v2.py:689 +msgid "do_attempt handler should only be called for assessment mode" +msgstr "O manipulador do_attempt só deve ser utilizado no modo de avaliação" + +#: drag_and_drop_v2.py:694 drag_and_drop_v2.py:805 +msgid "Max number of attempts reached" +msgstr "Número máximo de tentativas atingido" + +#: drag_and_drop_v2.py:699 +msgid "Submission deadline has passed." +msgstr "O prazo para submissão já passou." + +#: templates/html/drag_and_drop.html:4 +msgid "Loading drag and drop problem." +msgstr "A carregar o problema de arrastar e largar." + +#: templates/html/drag_and_drop_edit.html:10 +msgid "Basic Settings" +msgstr "Configurações básicas" + +#: templates/html/drag_and_drop_edit.html:76 +msgid "Introductory feedback" +msgstr "Comentário inicial" + +#: templates/html/drag_and_drop_edit.html:81 +msgid "Final feedback" +msgstr "Feedback final" + +#: templates/html/drag_and_drop_edit.html:90 +msgid "Zones" +msgstr "Zonas" + +#: templates/html/drag_and_drop_edit.html:95 +msgid "Background Image" +msgstr "Imagem de fundo" + +#: templates/html/drag_and_drop_edit.html:98 +msgid "Provide custom image" +msgstr "Forneça uma imagem personalizada" + +#: templates/html/drag_and_drop_edit.html:102 +msgid "Generate image automatically" +msgstr "Gerar imagem automaticamente" + +#: templates/html/drag_and_drop_edit.html:107 +msgid "Background URL" +msgstr "URL do plano de fundo" + +#: templates/html/drag_and_drop_edit.html:114 +msgid "Change background" +msgstr "Mudar o plano de fundo" + +#: templates/html/drag_and_drop_edit.html:116 +msgid "" +"For example, 'http://example.com/background.png' or " +"'/static/background.png'." +msgstr "Por exemplo, 'http://example.com/background.png' ou '/static/background.png'." + +#: templates/html/drag_and_drop_edit.html:121 +msgid "Zone Layout" +msgstr "Layout da zona" + +#: templates/html/drag_and_drop_edit.html:123 +msgid "Number of columns" +msgstr "Número de colunas" + +#: templates/html/drag_and_drop_edit.html:131 +msgid "Number of rows" +msgstr "Número de linhas" + +#: templates/html/drag_and_drop_edit.html:138 +msgid "Number of columns and rows." +msgstr "Número de colunas e linhas." + +#: templates/html/drag_and_drop_edit.html:142 +msgid "Zone Size" +msgstr "Dimensões da Zona" + +#: templates/html/drag_and_drop_edit.html:144 +msgid "Zone width" +msgstr "Largura da Zona" + +#: templates/html/drag_and_drop_edit.html:152 +msgid "Zone height" +msgstr "Altura da Zona" + +#: templates/html/drag_and_drop_edit.html:159 +msgid "Size of a single zone in pixels." +msgstr "Tamanho em pixéis de uma zona única ." + +#: templates/html/drag_and_drop_edit.html:162 +msgid "Generate image and zones" +msgstr "Gerar imagem e zonas" + +#: templates/html/drag_and_drop_edit.html:165 +msgid "Background description" +msgstr "Descrição do plano de fundo" + +#: templates/html/drag_and_drop_edit.html:170 +msgid "" +"\n" +" Please provide a description of the image for non-visual users.\n" +" The description should provide sufficient information to allow anyone\n" +" to solve the problem even without seeing the image.\n" +" " +msgstr "\n Por favor, disponibilize uma descrição da imagem para utilizadores com dificuldades visuais.\n A descrição deve dar informações suficientes para permitir que qualquer pessoa\n resolva o problema mesmo sem ver a imagem.\n " + +#: templates/html/drag_and_drop_edit.html:180 +msgid "Zone labels" +msgstr "Etiquetas de zona" + +#: templates/html/drag_and_drop_edit.html:183 +msgid "Display label names on the image" +msgstr "Mostrar nomes de etiquetas na imagem" + +#: templates/html/drag_and_drop_edit.html:187 +msgid "Zone borders" +msgstr "Limites da zona" + +#: templates/html/drag_and_drop_edit.html:190 +msgid "Display zone borders on the image" +msgstr "Mostrar limites da zona na imagem" + +#: templates/html/drag_and_drop_edit.html:195 +msgid "Zone definitions" +msgstr "Definições de zona" + +#: templates/html/drag_and_drop_edit.html:201 +msgid "Add a zone" +msgstr "Adicionar uma zona" + +#: templates/html/drag_and_drop_edit.html:215 +msgid "Items" +msgstr "Itens" + +#: templates/html/drag_and_drop_edit.html:249 +msgid "Item definitions" +msgstr "Definições do item" + +#: templates/html/drag_and_drop_edit.html:253 +msgid "Add an item" +msgstr "Adicionar um item" + +#: templates/html/drag_and_drop_edit.html:263 +msgid "Continue" +msgstr "Continuar" + +#: templates/html/drag_and_drop_edit.html:267 +msgid "Save" +msgstr "Guardar" + +#: templates/html/drag_and_drop_edit.html:271 +msgid "Cancel" +msgstr "Cancelar" + +#: utils.py:56 +#, python-brace-format +msgid "Your highest score is {score}" +msgstr "A sua pontuação mais alta é {score}" + +#: utils.py:57 +#, python-brace-format +msgid "Final attempt was used, highest score is {score}" +msgstr "A última tentativa foi utilizada, a pontuação mais alta é {score}" + +#: utils.py:65 +#, python-brace-format +msgid "Correctly placed {correct_count} item." +msgid_plural "Correctly placed {correct_count} items." +msgstr[0] "{correct_count} item colocado corretamente." +msgstr[1] "{correct_count} itens corretamente colocados." + +#: utils.py:76 +#, python-brace-format +msgid "Misplaced {misplaced_count} item." +msgid_plural "Misplaced {misplaced_count} items." +msgstr[0] "{misplaced_count} item mal colocado." +msgstr[1] "{misplaced_count} itens mal colocados." + +#: utils.py:87 +#, python-brace-format +msgid "" +"Misplaced {misplaced_count} item. Misplaced item was returned to item bank." +msgid_plural "" +"Misplaced {misplaced_count} items. Misplaced items were returned to item " +"bank." +msgstr[0] "{misplaced_count} item mal colocado. Este item foi devolvido ao banco de itens. " +msgstr[1] "{misplaced_count} itens mal colocados. Estes itens foram devolvidos ao banco de itens. " + +#: utils.py:98 +#, python-brace-format +msgid "Did not place {missing_count} required item." +msgid_plural "Did not place {missing_count} required items." +msgstr[0] "Não foi colocado {missing_count} item obrigatório." +msgstr[1] "Não foram colocados {missing_count} itens obrigatórios." + +#: public/js/drag_and_drop.js:33 public/js/drag_and_drop.js:358 +msgid "Submitting" +msgstr "A submeter" + +#: public/js/drag_and_drop.js:137 +msgid "Unknown Zone" +msgstr "Zona desconhecida" + +#: public/js/drag_and_drop.js:141 +msgid "Placed in: {zone_title}" +msgstr "Colocado em: {zone_title}" + +#: public/js/drag_and_drop.js:145 +msgid "Correctly placed in: {zone_title}" +msgstr "Corretamente colocado em: {zone_title}" + +#: public/js/drag_and_drop.js:157 +msgid ", draggable, grabbed" +msgstr ", arrastável, agarrando" + +#: public/js/drag_and_drop.js:157 +msgid ", draggable" +msgstr ", arrastável" + +#: public/js/drag_and_drop.js:234 +msgid "No items placed here" +msgstr "Nenhum item colocado aqui" + +#: public/js/drag_and_drop.js:240 +msgid "Items placed here: " +msgstr "Itens colocados aqui:" + +#: public/js/drag_and_drop.js:272 +msgid ", dropzone" +msgstr ", zona para largar os itens" + +#: public/js/drag_and_drop.js:275 +msgid "droppable" +msgstr "arrastável" + +#: public/js/drag_and_drop.js:295 public/js/drag_and_drop.js:300 +msgid "Feedback" +msgstr "Comentário" + +#: public/js/drag_and_drop.js:316 public/js/drag_and_drop.js:488 +#: public/js/drag_and_drop.js:531 +msgid "Close" +msgstr "Fechar" + +#: public/js/drag_and_drop.js:319 public/js/drag_and_drop.js:552 +msgid "Keyboard Help" +msgstr "Ajuda de Teclado" + +#: public/js/drag_and_drop.js:322 +msgid "This is a screen reader-friendly problem." +msgstr "Este é um problema amigável para os leitores de ecrã." + +#: public/js/drag_and_drop.js:323 +msgid "" +"Drag and Drop problems consist of draggable items and dropzones. Users " +"should select a draggable item with their keyboard and then navigate to an " +"appropriate dropzone to drop it." +msgstr "Os problemas de arrastar e largar consistem em itens arrastáveis e zonas para largar esses mesmos itens. Os utilizadores devem selecionar um item arrastável com o seu teclado e, em seguida, navegar até à zona apropriada para o largar." + +#: public/js/drag_and_drop.js:324 +msgid "" +"You can complete this problem using only your keyboard by following the " +"guidance below:" +msgstr "Pode concluir este problema usando apenas o teclado e seguindo as orientações abaixo:" + +#: public/js/drag_and_drop.js:326 +msgid "" +"Use only TAB and SHIFT+TAB to navigate between draggable items and drop " +"zones." +msgstr "Use somente TAB e SHIFT+TAB para navegar entre itens arrastáveis e zonas para largar." + +#: public/js/drag_and_drop.js:327 +msgid "Press CTRL+M to select a draggable item (effectively picking it up)." +msgstr "Pressione CTRL + M para selecionar um item arrastável (pegar efetivamente no item)." + +#: public/js/drag_and_drop.js:328 +msgid "" +"Navigate using TAB and SHIFT+TAB to the appropriate dropzone and press " +"CTRL+M once more to drop it here." +msgstr "Navegue usando TAB e SHIFT + TAB para a zona apropriada e pressione CTRL + M mais uma vez para largar o item aqui." + +#: public/js/drag_and_drop.js:329 +msgid "" +"Press ESC if you want to cancel the drop operation (for example, to select a" +" different item)." +msgstr "Prima ESC se pretender cancelar a operação de largar (por exemplo, para selecionar um item diferente)." + +#: public/js/drag_and_drop.js:330 +msgid "" +"TAB back to the list of draggable items and repeat this process until all of" +" the draggable items have been placed on their respective dropzones." +msgstr "TAB de volta à lista de itens arrastáveis e repita este processo até que todos os itens arrastáveis tenham sido colocados nas suas respectivas zonas." + +#: public/js/drag_and_drop.js:348 +msgid "You have used {used} of {total} attempts." +msgstr "Usou {used} de {total} tentativas." + +#: public/js/drag_and_drop.js:370 +msgid "Submit" +msgstr "Submeter" + +#: public/js/drag_and_drop.js:410 +msgid "Show Answer" +msgstr "Mostrar Resposta" + +#: public/js/drag_and_drop.js:423 +msgid "Go to Beginning" +msgstr "Ir para início" + +#: public/js/drag_and_drop.js:429 +msgid "Reset" +msgstr "Reiniciar" + +#: public/js/drag_and_drop.js:449 public/js/drag_and_drop.js:1188 +msgid "Some of your answers were not correct." +msgstr "Algumas das suas respostas não estavam corretas." + +#: public/js/drag_and_drop.js:450 public/js/drag_and_drop.js:1191 +msgid "Hints:" +msgstr "Sugestões:" + +#: public/js/drag_and_drop.js:518 +msgid "Correct" +msgstr "Correto" + +#: public/js/drag_and_drop.js:518 +msgid "Incorrect" +msgstr "Incorreto" + +#. Translators: {earned} is the number of points earned. {possible} is the +#. total number of points (examples: 0/1, 1/1, 2/3, 5/10). The total number of +#. points will always be at least 1. We pluralize based on the total number of +#. points (example: 0/1 point; 1/2 points). +#: public/js/drag_and_drop.js:567 +msgid "{earned}/{possible} point (graded)" +msgid_plural "{earned}/{possible} points (graded)" +msgstr[0] "{earned}/{possible} ponto (classificado)" +msgstr[1] "{earned}/{possible} pontos (classificado)" + +#. Translators: {earned} is the number of points earned. {possible} is the +#. total number of points (examples: 0/1, 1/1, 2/3, 5/10). The total number of +#. points will always be at least 1. We pluralize based on the total number of +#. points (example: 0/1 point; 1/2 points). +#: public/js/drag_and_drop.js:574 +msgid "{earned}/{possible} point (ungraded)" +msgid_plural "{earned}/{possible} points (ungraded)" +msgstr[0] "{earned}/{possible} ponto (não classificado)" +msgstr[1] "{earned}/{possible} pontos (não classificado)" + +#. Translators: {possible} is the number of points possible (examples: 1, 3, +#. 10). +#: public/js/drag_and_drop.js:584 +msgid "{possible} point possible (graded)" +msgid_plural "{possible} points possible (graded)" +msgstr[0] "{possible} ponto possível (classificado)" +msgstr[1] "{possible} pontos possíveis (classificado)" + +#. Translators: {possible} is the number of points possible (examples: 1, 3, +#. 10). +#: public/js/drag_and_drop.js:591 +msgid "{possible} point possible (ungraded)" +msgid_plural "{possible} points possible (ungraded)" +msgstr[0] "{possible} ponto possível (não classificado)" +msgstr[1] "{possible} pontos possíveis (não classificado)" + +#: public/js/drag_and_drop.js:617 +msgid "Drag and Drop Problem" +msgstr "Problema de Arrastar e Largar" + +#: public/js/drag_and_drop.js:619 +msgid "Problem" +msgstr "Problema" + +#: public/js/drag_and_drop.js:644 +msgid "Item Bank" +msgstr "Banco de Itens" + +#: public/js/drag_and_drop.js:690 +msgid "Drop Targets" +msgstr "Alvos onde Largar" + +#: public/js/drag_and_drop.js:703 +msgid "Actions" +msgstr "Ações" + +#: public/js/drag_and_drop.js:853 +msgid "An error occurred. Unable to load drag and drop problem." +msgstr "Ocorreu um erro. Não é possível carregar este problema." + +#: public/js/drag_and_drop.js:1313 +msgid "You cannot add any more items to this zone." +msgstr "Não pode adicionar mais itens nesta zona." + +#: public/js/drag_and_drop_edit.js:108 public/js/drag_and_drop_edit.js:494 +#: public/js/drag_and_drop_edit.js:720 +msgid "There was an error with your form." +msgstr "Houve um erro com o seu formulário." + +#: public/js/drag_and_drop_edit.js:109 +msgid "Please check over your submission." +msgstr "Por favor, verifique o envio." + +#: public/js/drag_and_drop_edit.js:344 +msgid "Zone {num}" +msgid_plural "Zone {num}" +msgstr[0] "Zona {num}" +msgstr[1] "Zona {num}" + +#: public/js/drag_and_drop_edit.js:495 +msgid "Please check the values you entered." +msgstr "Por favor, verifique os valores que introduziu." + +#: public/js/drag_and_drop_edit.js:713 +msgid "Saving" +msgstr "A Guardar" diff --git a/drag_and_drop_v2/translations/settings.py b/drag_and_drop_v2/translations/settings.py index e7b81ff28..d86a01294 100644 --- a/drag_and_drop_v2/translations/settings.py +++ b/drag_and_drop_v2/translations/settings.py @@ -75,6 +75,7 @@ ('nl', 'Dutch'), ('pl', 'Polski'), ('pt_BR', 'Portuguese (Brazil)'), + ('pt_PT', 'Portuguese (Portugal)'), ('ru', 'Russian'), ('tr', 'Turkish'), ('zh_CN', 'Chinese (China)'), diff --git a/setup.py b/setup.py index 46d1cf1d3..baf416cf8 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ def package_data(pkg, root_list): setup( name='xblock-drag-and-drop-v2', - version='2.3.5', + version='2.3.6', description='XBlock - Drag-and-Drop v2', packages=['drag_and_drop_v2'], install_requires=[