From: Mario A. <svn...@pl...> - 2012-10-31 16:32:09
|
Author: amelung Date: Wed Oct 31 16:31:52 2012 New Revision: 251338 Added: Products.ECQuiz/trunk/Products/ECQuiz/i18n/ECQuiz-ru.po (contents, props changed) Modified: Products.ECQuiz/trunk/Products/ECQuiz/AnswerTypes/ECQBaseAnswer.py Products.ECQuiz/trunk/Products/ECQuiz/AnswerTypes/ECQCorrectAnswer.py Products.ECQuiz/trunk/Products/ECQuiz/ECQAbstractGroup.py Products.ECQuiz/trunk/Products/ECQuiz/ECQFolder.py Products.ECQuiz/trunk/Products/ECQuiz/ECQReference.py Products.ECQuiz/trunk/Products/ECQuiz/ECQuiz.py Products.ECQuiz/trunk/Products/ECQuiz/QuestionTypes/ECQPointsQuestion.py Products.ECQuiz/trunk/Products/ECQuiz/QuestionTypes/ECQSelectionQuestion.py Products.ECQuiz/trunk/Products/ECQuiz/i18n/plone-de.po Products.ECQuiz/trunk/Products/ECQuiz/i18n/plone-ru.po Products.ECQuiz/trunk/Products/ECQuiz/profiles/default/types.xml Products.ECQuiz/trunk/Products/ECQuiz/profiles/default/types/ECQMCAnswer.xml Products.ECQuiz/trunk/Products/ECQuiz/profiles/default/types/ECQMCQuestion.xml Products.ECQuiz/trunk/Products/ECQuiz/profiles/default/types/ECQuiz.xml Products.ECQuiz/trunk/Products/ECQuiz/skins/ECQuiz/ecq_mcquestion_view.cpt Products.ECQuiz/trunk/Products/ECQuiz/skins/ECQuiz/ecq_quiz_results_export.py Products.ECQuiz/trunk/Products/ECQuiz/skins/ECQuiz/ecq_quiz_statistics_export.py Products.ECQuiz/trunk/Products/ECQuiz/skins/ECQuiz/ecq_quiz_wiki_update.py Products.ECQuiz/trunk/Products/ECQuiz/tools.py Log: Russian translation; quickfixes for comments; minor bugfixes Modified: Products.ECQuiz/trunk/Products/ECQuiz/AnswerTypes/ECQBaseAnswer.py ============================================================================== --- Products.ECQuiz/trunk/Products/ECQuiz/AnswerTypes/ECQBaseAnswer.py (original) +++ Products.ECQuiz/trunk/Products/ECQuiz/AnswerTypes/ECQBaseAnswer.py Wed Oct 31 16:31:52 2012 @@ -2,7 +2,7 @@ # # $Id$ # -# Copyright 2004-2011 Otto-von-Guericke-UniversitMagdeburg +# Copyright � 2004-2011 Otto-von-Guericke-Universit�t Magdeburg # # This file is part of ECQuiz. # @@ -22,7 +22,9 @@ from AccessControl import ClassSecurityInfo -from Products.Archetypes.atapi import BaseContent, BaseSchema, Schema +#from Products.Archetypes.atapi import BaseContent, BaseSchema, Schema +from Products.ATContentTypes.content.base import BaseContent +from Products.Archetypes.atapi import BaseSchema, Schema from Products.Archetypes.public import StringField from Products.Archetypes.Widget import StringWidget Modified: Products.ECQuiz/trunk/Products/ECQuiz/AnswerTypes/ECQCorrectAnswer.py ============================================================================== --- Products.ECQuiz/trunk/Products/ECQuiz/AnswerTypes/ECQCorrectAnswer.py (original) +++ Products.ECQuiz/trunk/Products/ECQuiz/AnswerTypes/ECQCorrectAnswer.py Wed Oct 31 16:31:52 2012 @@ -2,7 +2,7 @@ # # $Id$ # -# Copyright 2004-2011 Otto-von-Guericke-UniversitMagdeburg +# Copyright � 2004-2011 Otto-von-Guericke-Universit�t Magdeburg # # This file is part of ECQuiz. # @@ -69,6 +69,7 @@ 'is a correct answer.', description_msgid='correct_tool_tip', i18n_domain=config.I18N_DOMAIN), + languageIndependent=True, ), ), ) Modified: Products.ECQuiz/trunk/Products/ECQuiz/ECQAbstractGroup.py ============================================================================== --- Products.ECQuiz/trunk/Products/ECQuiz/ECQAbstractGroup.py (original) +++ Products.ECQuiz/trunk/Products/ECQuiz/ECQAbstractGroup.py Wed Oct 31 16:31:52 2012 @@ -2,7 +2,7 @@ # # $Id:ECQAbstractGroup.py 1255 2009-09-24 08:47:42Z amelung $ # -# Copyright 2004-2011 Otto-von-Guericke-UniversitMagdeburg +# Copyright � 2004-2011 Otto-von-Guericke-Universit�t Magdeburg # # This file is part of ECQuiz. # @@ -167,6 +167,7 @@ 'as in the "contents"-view will be used.', description_msgid='randomize_question_order_tool_tip', i18n_domain=config.I18N_DOMAIN), + languageIndependent=True, ), IntegerField("numberOfRandomQuestions", required=False, @@ -184,6 +185,7 @@ 'questions will be used.', description_msgid='number_of_random_questions_tool_tip', i18n_domain=config.I18N_DOMAIN), + languageIndependent=True, ), ),) Modified: Products.ECQuiz/trunk/Products/ECQuiz/ECQFolder.py ============================================================================== --- Products.ECQuiz/trunk/Products/ECQuiz/ECQFolder.py (original) +++ Products.ECQuiz/trunk/Products/ECQuiz/ECQFolder.py Wed Oct 31 16:31:52 2012 @@ -2,7 +2,7 @@ # # $Id:ECQFolder.py 1255 2009-09-24 08:47:42Z amelung $ # -# Copyright 2004-2011 Otto-von-Guericke-UniversitMagdeburg +# Copyright � 2004-2011 Otto-von-Guericke-Universit�t Magdeburg # # This file is part of ECQuiz. # Modified: Products.ECQuiz/trunk/Products/ECQuiz/ECQReference.py ============================================================================== --- Products.ECQuiz/trunk/Products/ECQuiz/ECQReference.py (original) +++ Products.ECQuiz/trunk/Products/ECQuiz/ECQReference.py Wed Oct 31 16:31:52 2012 @@ -2,7 +2,7 @@ # # $Id$ # -# Copyright 2004-2011 Otto-von-Guericke-UniversitMagdeburg +# Copyright � 2004-2011 Otto-von-Guericke-Universit�t Magdeburg # # This file is part of ECQuiz. # @@ -22,15 +22,20 @@ from Products.CMFCore.utils import getToolByName from AccessControl import ClassSecurityInfo -from Products.Archetypes.public import Schema, BaseSchema, BaseContent, \ - ReferenceField, ObjectField, ReferenceWidget +from Products.ATContentTypes.content.base import BaseContent + +from Products.Archetypes.public import Schema +from Products.Archetypes.public import BaseSchema +from Products.Archetypes.public import ReferenceField +from Products.Archetypes.public import ObjectField +from Products.Archetypes.public import ReferenceWidget #from Products.ATReferenceBrowserWidget.ATReferenceBrowserWidget import ReferenceBrowserWidget from archetypes.referencebrowserwidget.widget import ReferenceBrowserWidget -from config import I18N_DOMAIN -from tools import getParent, log, registerTypeLogged - +from Products.ECQuiz.config import I18N_DOMAIN +from Products.ECQuiz.tools import getParent, log +from Products.ECQuiz.tools import registerTypeLogged class ECQReference(BaseContent): """A reference to a question or a question group from another quiz. Modified: Products.ECQuiz/trunk/Products/ECQuiz/ECQuiz.py ============================================================================== --- Products.ECQuiz/trunk/Products/ECQuiz/ECQuiz.py (original) +++ Products.ECQuiz/trunk/Products/ECQuiz/ECQuiz.py Wed Oct 31 16:31:52 2012 @@ -2,7 +2,7 @@ # # $Id$ # -# Copyright 2004-2011 Otto-von-Guericke-UniversitMagdeburg +# Copyright � 2004-2011 Otto-von-Guericke-Universit�t Magdeburg # # This file is part of ECQuiz. # @@ -141,6 +141,7 @@ description_msgid='instant_feedback_tool_tip', i18n_domain=config.I18N_DOMAIN), read_permission=permissions.PERMISSION_STUDENT, + languageIndependent=True, ), BooleanField('allowRepetition', # See 'description' of the widget. @@ -155,6 +156,7 @@ description_msgid='allow_repetition_tool_tip', i18n_domain=config.I18N_DOMAIN), read_permission=permissions.PERMISSION_STUDENT, + languageIndependent=True, ), BooleanField('onePerPage', required=False, @@ -168,6 +170,7 @@ description_msgid='one_per_page_tool_tip', i18n_domain=config.I18N_DOMAIN), read_permission=permissions.PERMISSION_STUDENT, + languageIndependent=True, ), BooleanField('onePerPageNav', required=False, @@ -182,6 +185,7 @@ description_msgid='one_per_page_nav_tool_tip', i18n_domain=config.I18N_DOMAIN), read_permission=permissions.PERMISSION_STUDENT, + languageIndependent=True, ), StringField('scoringFunction', default='guessing', @@ -202,6 +206,7 @@ read_permission=permissions.PERMISSION_STUDENT, validators=('clearWholePointsCache',), write_permission=permissions.PERMISSION_GRADE, + languageIndependent=True, ), DataGridField('gradingScale', mutator = 'setGradingScale', @@ -234,6 +239,7 @@ ), validators=('gradingScale',), write_permission=permissions.PERMISSION_GRADE, + #languageIndependent=True, ), ),) @@ -847,7 +853,7 @@ for group in [self] + self.getQuestionGroups(): header.append((group.title_or_id(), group.archetype_name, - group.reference_url())) + group.absolute_url())) if result0: maxScore = group.getPossiblePoints(result0) else: @@ -858,8 +864,8 @@ for question in allQuestions: header.append((question.title_or_id(), - question.archetype_name, - question.reference_url())) + question.portal_type, + question.absolute_url())) maxScores.append(question.getPoints()) table.append(header) Modified: Products.ECQuiz/trunk/Products/ECQuiz/QuestionTypes/ECQPointsQuestion.py ============================================================================== --- Products.ECQuiz/trunk/Products/ECQuiz/QuestionTypes/ECQPointsQuestion.py (original) +++ Products.ECQuiz/trunk/Products/ECQuiz/QuestionTypes/ECQPointsQuestion.py Wed Oct 31 16:31:52 2012 @@ -2,7 +2,7 @@ # # $Id$ # -# Copyright 2004-2011 Otto-von-Guericke-UniversitMagdeburg +# Copyright � 2004-2011 Otto-von-Guericke-Universit�t Magdeburg # # This file is part of ECQuiz. # @@ -56,6 +56,7 @@ description_msgid='points_tool_tip', i18n_domain=I18N_DOMAIN), #read_permission=PERMISSION_STUDENT, + #languageIndependent=True, ), BooleanField('tutorGraded', accessor='isTutorGraded', @@ -69,6 +70,7 @@ i18n_domain=I18N_DOMAIN), read_permission=PERMISSION_STUDENT, validators=('clearPointsCache',), + languageIndependent=True, ), ), ) Modified: Products.ECQuiz/trunk/Products/ECQuiz/QuestionTypes/ECQSelectionQuestion.py ============================================================================== --- Products.ECQuiz/trunk/Products/ECQuiz/QuestionTypes/ECQSelectionQuestion.py (original) +++ Products.ECQuiz/trunk/Products/ECQuiz/QuestionTypes/ECQSelectionQuestion.py Wed Oct 31 16:31:52 2012 @@ -2,7 +2,7 @@ # # $Id$ # -# Copyright 2004-2011 Otto-von-Guericke-UniversitMagdeburg +# Copyright � 2004-2011 Otto-von-Guericke-Universit�t Magdeburg # # This file is part of ECQuiz. # @@ -66,6 +66,7 @@ description_msgid='allow_multiple_selection_tool_tip', i18n_domain=I18N_DOMAIN), read_permission=PERMISSION_STUDENT, + languageIndependent=True, ), BooleanField("randomOrder", # See 'description' property # of the widget. @@ -84,6 +85,7 @@ description_msgid='randomize_answer_order_tool_tip', i18n_domain=I18N_DOMAIN), #read_permission=PERMISSION_STUDENT, + languageIndependent=True, ), IntegerField("numberOfRandomAnswers", # See 'description' # property of the @@ -101,6 +103,7 @@ description_msgid='number_of_random_answers_tool_tip', i18n_domain=I18N_DOMAIN), #read_permission=PERMISSION_STUDENT, + languageIndependent=True, ), ), ) Added: Products.ECQuiz/trunk/Products/ECQuiz/i18n/ECQuiz-ru.po ============================================================================== --- (empty file) +++ Products.ECQuiz/trunk/Products/ECQuiz/i18n/ECQuiz-ru.po Wed Oct 31 16:31:52 2012 @@ -0,0 +1,1486 @@ +# $Id$ +# -*- coding: utf-8 -*- +msgid "" +msgstr "" +"Project-Id-Version: ECQuiz\n" +"POT-Creation-Date: 2004-11-25 10:29 +0100\n" +"PO-Revision-Date: 2012-01-20 12:00\n" +"Last-Translator: Alexander Reichert <rei...@eu...>\n" +"Language-Team: Eudemonia Solutions AG <rei...@eu...>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Language-Code: ru\n" +"Language-Name: русский\n" +"Preferred-Encodings: utf-8\n" +"Domain: ECQuiz\n" +"X-Is-Fallback-For: ru-ru\n" + +#. <input class="context" +#. tabindex="#" +#. type="submit" +#. name="export" +#. value="Export" +#. tal:attributes="tabindex tabindex/next;" +#. i18n:attributes="value" +#. /> +msgid "Export" +msgstr "Экспортировать" + +#. <input class="context" +#. tabindex="#" +#. type="submit" +#. name="importTest:method" +#. value="Import" +#. tal:attributes="tabindex tabindex/next;" +#. i18n:attributes="value" +#. /> +#: skins\llsMultipleChoice\test_import_export.pt +msgid "Import" +msgstr "Импортировать" + +# Original: +#. Default: N/A +#: ./skins/llsMultipleChoice/exportResults.py, 85 +msgid "N/A" +msgstr "---" + +#. Default: Next +#: skins/llsMultipleChoice/test_view.pt +msgid "Next" +msgstr "Вперед" + +#. Default: Previous +#: skins/llsMultipleChoice/test_view.pt +msgid "Previous" +msgstr "Назад" + +#. <input class="context" type="submit" +#. name="sendButton" value="Repeat" +#. i18n:attributes="value"/> +msgid "Repeat" +msgstr "Повторить" + +#. Default: Submit Quiz +#: skins/llsMultipleChoice/test_view.pt +msgid "Submit Quiz" +msgstr "Представить вопросник" + +#. Default: Upload +#. <input class="context" +#. tabIndex="" +#. type="submit" +#. value="Upload" +#. tal:attributes="tabIndex tabIndex/next;" +#. i18n:attributes="value" +#. /> +#: skins/llsMultipleChoice/test_import_export.pt +msgid "Upload" +msgstr "Отослать" + +#. Default: Do you really want to submit this test? +#: skins/llsMultipleChoice/test_view.pt +msgid "alert_really_submit" +msgstr "Хотите ли вы действительно отослать этот тест?" + +#. <h2 i18n:translate="all_tests">All Tests</h2> +msgid "all_tests" +msgstr "Все тесты" + +#. <p tal:condition="not: nonSubmitters" i18n:translate="all_tests_submitted"> +#. All tests have been submitted. +#. </p> +msgid "all_tests_submitted" +msgstr "Все тесты были отосланы." + +#. BooleanField('allowMultipleSelection', +#. # If 'allowMultipleSelection' is True, this is a multiple answer +#. # question, i.e. one where more than one answer can be true. Otherwise +#. # it is a multiple choice question, i.e. exactly only one answer is +#. # correct. +#. # The question_view template is designed to support this. When +#. # 'allowMultipleSelection' is True, radio buttons will be generated. +#. # If not, check boxes will be shown. +#. # See also 'description' property of the widget. +#. accessor='isAllowMultipleSelection', +#. default=1, +#. searchable=False, +#. widget=BooleanWidget( +#. label='Allow Multiple Selection', +#. label_msgid='allow_multiple_selection_label', +#. description='If the selection of multiple answers should be possible, mark this checkbox.', +#. description_msgid='allow_multiple_selection_tool_tip', +#. i18n_domain='llsMultipleChoice'), +#. ), +#. label_#msgid='allow_multiple_selection_label', +#. description_#msgid='allow_multiple_selection_tool_tip', +msgid "allow_multiple_selection_label" +msgstr "Поволить одновременный выбор нескольких ответов" + +msgid "allow_multiple_selection_tool_tip" +msgstr "Если должен быть возможен выбор нескольких ответов, отметьте этот флажок." + +#. BooleanField('allowRepetition', +#. required=False, +#. default=0, +#. accessor='isAllowRepetition', +#. widget=BooleanWidget( +#. label='Allow Repetition', +#. label_msgid='allow_repetition_label', +#. description='If you want to allow repeated submission of the test'\ +#. + 'check this box.', +#. description_msgid='allow_repetition_tool_tip', +#. i18n_domain='llsMultipleChoice'), +#. ), +#. label_#msgid='allow_repetition_label', +#. description='If you want to allow repeated submission of the test'#. + 'check this box.', +#. description_#msgid='allow_repetition_tool_tip', +msgid "allow_repetition_label" +msgstr "Поволить многократную подачу теста" + +msgid "allow_repetition_tool_tip" +msgstr "Если кандидаты могут подавать тест неоднократно, выберите эту опцию" + +#. errors.write('\n' + context.translate( +#. msgid = 'ambiguous_reference', +#. domain = I18N_DOMAIN, +#. default = 'There is more than one resource with ' +#. 'the identifier "%s". Only the first one will ' +#. 'be imported.' +#. ) % context.str(identifierref)) +#. #msgid = 'ambiguous_reference', +#: qti.py +msgid "ambiguous_reference" +msgstr "Имеются несколько элементов с идентификатором \"%s\". Только первый будет импортирован." + +#. TextField('comment', +#. searchable=True, +#. required=False, +#. widget=TextAreaWidget( +#. label='Comment', +#. label_msgid='answer_comment_label', +#. description='A comment on the answer. If the test is set to "instant feedback", ' \ +#. + 'the candidate will see this text in case his/her answer was wrong.', +#. description_msgid='answer_comment_tool_tip', +#. i18n_domain='llsMultipleChoice'), +#. label_#msgid='answer_comment_label', +#. description='A comment on the answer. If the test is set to "instant feedback", ' #. + 'the candidate will see this text in case his/her answer was wrong.', +#. description_#msgid='answer_comment_tool_tip', +msgid "answer_comment_label" +msgstr "Примечание" + +msgid "answer_comment_tool_tip" +msgstr "Примечание к ответу. Если включена опция теста \"результаты сразу сообщить\" ,то этот текст будет показан кандидату в случае ошибочного ответа." + +#. widget=TextAreaWidget( +#. label='Answer', +#. label_msgid='answer_label', +#. description='The answer text. This is what the candidate will see.', +#. description_msgid='answer_tool_tip', +#. i18n_domain='plone'), +#. label_#msgid='answer_label', +#. description_#msgid='answer_tool_tip', +msgid "answer_label" +msgstr "Ответ" + +#. Default: A Unicode checkmark character +#. <tal:block condition="correct" i18n:translate="answer_mark_correct"> +#. <span style="color:green;">✓</span> +#. </tal:block> +#: skins/llsMultipleChoice/multiplechoicequestion_view.pt +msgid "answer_mark_correct" +msgstr "" + +#. Default: A Unicode right arrow character +#. <tal:block condition="python:correct and not checked" +#. i18n:translate="answer_mark_correct_not_selected"> +#. <span style="color:gray;">➜</span> +#. </tal:block> +#: skins/llsMultipleChoice/multiplechoicequestion_view.pt +msgid "answer_mark_correct_not_selected" +msgstr "" + +#. Default: A Unicode ballot X character +#. <tal:block condition="not: correct" i18n:translate="answer_mark_wrong"> +#. <span style="color:red;">✗</span> +#. </tal:block> +#: skins/llsMultipleChoice/multiplechoicequestion_view.pt +msgid "answer_mark_wrong" +msgstr "" + +# Original: +#. Default: Answer Template +#: ./QuestionTypes/ExtendedTextQuestion.py, 54 +msgid "answer_template_label" +msgstr "Шаблон ответа" + +# Original: +#. Default: You can provide a template for the candidate's answer. +#: ./QuestionTypes/ExtendedTextQuestion.py, 57 +msgid "answer_template_tool_tip" +msgstr "Вы можете подготовить шаблон для ответа кандидата." + +msgid "answer_tool_tip" +msgstr "Текст ответа. Это то, что будет показано кандидату." + +#. msg = context.translate(\ +#. msgid = 'answers_saved',\ +#. domain = I18N_DOMAIN,\ +#. default = 'Your answers have been saved.') +#. msg = context.translate(#. #msgid = 'answers_saved',#. domain = I18N_DOMAIN,#. default = 'Your answers have been saved.') +#: Script (Python) "submitTest" +msgid "answers_saved" +msgstr "Ваши ответы были сохранены." + +#. <a tal:attributes="href string:test_results#overview_${submitterId}" +#. i18n:translate="back_to_overview">Back to the overview</a> +msgid "back_to_overview" +msgstr "Назад к обзору" + +#. <th i18n:translate="candidate">Candidate</th> +msgid "candidate" +msgstr "Кандидат" + +#. widget=BooleanWidget( +#. label='Correct', +#. label_msgid='correct_label', +#. description='The checkbox should be marked if this is a correct answer.', +#. description_msgid='correct_tool_tip', +#. i18n_domain='plone'), +#. label_#msgid='correct_label', +#. description_#msgid='correct_tool_tip', +msgid "correct_label" +msgstr "Правильно" + +msgid "correct_tool_tip" +msgstr "Флажок должн быть отмечен в случае правильного ответа." + +#. msg = context.translate( +#. msgid = 'deleteResults_no_permission', +#. domain = 'llsMultipleChoice', +#. default = 'You do not have permission to delete results.') +#. #msgid = 'deleteResults_no_permission', +msgid "deleteResults_no_permission" +msgstr "Вы не имеете достаточно прав для удаления результатов." + +#. <span i18n:translate="delete_results" tal:omit-tag="">Delete results of candidate</span> +msgid "delete_results" +msgstr "Удалить результаты кандидата" + +#. <span i18n:translate="directions" tal:omit-tag="">Directions:</span> +msgid "directions" +msgstr "Указания для решения:" + +#. widget=TextAreaWidget( +#. label='Directions', +#. label_msgid='directions_label', +#. description='Some content that all the questions in this folder refer to. You can also '\ +#. + 'enter a text which helps the candidates to better understand the questions.', +#. description_msgid='directions_tool_tip', +#. i18n_domain='plone'), +#. label_#msgid='directions_label', +#. description='Some content that all the questions in this folder refer to. You can also '#. + 'enter a text which helps the candidates to better understand the questions.', +#. description_#msgid='directions_tool_tip', +msgid "directions_label" +msgstr "Указания для решения" + +msgid "directions_tool_tip" +msgstr "Содержимое, к которому относятся все вопросы в этой папке. Может так же быть текст, который помогает кандидатам лучше понимать вопросы." + +#. <span i18n:translate="edit_evaluation_scripts_delete" +#. tal:omit-tag="">Delete custom scoring script for type</span> +#. tal:omit-tag="">Delete custom evaluation script for type</span> +msgid "edit_evaluation_scripts_delete" +msgstr "Удалить оценочный скрипт для" + +#. <label for="archetype_names" i18n:translate="edit_evaluation_scripts_label">Scoring Scripts</label> +#. <label for="archetype_names" i18n:translate="edit_evaluation_scripts_label">Evaluation Scripts</label> +msgid "edit_evaluation_scripts_label" +msgstr "Скрипт для оценки" + +#. <div class="formHelp" id="archetype_names_help" i18n:translate="edit_evaluation_scripts_tool_tip"> +#. The classes which use custom scoring scripts. +#. </div> +#. The classes which use custom evaluation scripts. +msgid "edit_evaluation_scripts_tool_tip" +msgstr "Классы, которые используют оценочный скрипт." + +# Original: +#. Default: The <%s> element must not be empty. Skipping invalid <%s> element. +#: ./qti.py, 1455 +msgid "error_empty" +msgstr "Элемент <%s> не может быть пуст, пропусти недействительный <%s> элемент." + +#. msg = context.translate(\ +#. msgid = 'errors_occurred',\ +#. domain = I18N_DOMAIN,\ +#. default = 'The following error(s) occurred:') + ' ' + errors +#. msg = context.translate(#. #msgid = 'errors_occurred',#. domain = I18N_DOMAIN,#. default = 'The following error(s) occurred:') + ' ' + errors +#: Script (Python) "importTest" +msgid "errors_occurred" +msgstr "Была встречена следующая ошибка :" + +#. widget=BooleanWidget( +#. label='Exam Mode' +#. label_msgid='exam_mode_label', +#. description='If you want to use this test as an exam, this box has to be checked. If you '\ +#. + 'want to give the candidates immediate feedback and enable them to repeat the test, '\ +#. + 'uncheck this box.', +#. description_msgid='exam_mode_tool_tip', +#. i18n_domain='plone'), +#. label_#msgid='exam_mode_label', +#. description='If you want to use this test as an exam, this box has to be checked. If you '#. + 'want to give the candidates immediate feedback and enable them to repeat the test, '#. + 'uncheck this box.', +#. description_#msgid='exam_mode_tool_tip', +msgid "exam_mode_label" +msgstr "Режим контрольной работы" + +msgid "exam_mode_tool_tip" +msgstr "Если бы Вы хотели использовать этот тест для контрольной работы, поставьте галочку. Если кандидаты сразу должны видеть свои результаты и иметь возможность повторить тест, удалите галочку." + +# Original: +#. Default: Expected Length +#: ./QuestionTypes/ExtendedTextQuestion.py, 71 +msgid "expected_length_label" +msgstr "Ожидаемая длина ответа" + +# Original: +#. Default: You can set the number of words you expect the candidate's answer to have. +#: ./QuestionTypes/ExtendedTextQuestion.py, 74 +msgid "expected_length_tool_tip" +msgstr "Ожидаемая длина ответа (в словах). Это указание влияет на величину поля ввода." + +#. errors.write( '\n' + multipleChoiceTestInstance.translate( +#. msgid = 'expected_string', \ +#. domain = 'llsMultipleChoice', \ +#. default = 'Input must be str or unicode, not %s.') \ +#. % str(type(string)) ) +#. #msgid = 'expected_string', #. domain = 'llsMultipleChoice', #. default = 'Input must be str or unicode, not %s.') #. % str(type(string)) ) +#: qti.py +msgid "expected_string" +msgstr "Ввод должен быть str или unicode, не %s." + +#. errors.write( '\n' + multipleChoiceTestInstance.translate(\ +#. msgid = 'expected_zip', \ +#. domain = 'llsMultipleChoice', \ +#. default = 'Input must be ZipFile, not %s.') \ +#. % str(type(zipFileObject)) ) +#. errors.write( '\n' + multipleChoiceTestInstance.translate(#. #msgid = 'expected_zip', #. domain = 'llsMultipleChoice', #. default = 'Input must be ZipFile, not %s.') #. % str(type(zipFileObject)) ) +#: qti.py +msgid "expected_zip" +msgstr "Ввод должен быть ZipFile, не %s." + +#. msg = context.translate( +#. msgid = 'exportResults_no_permission', +#. domain = 'llsMultipleChoice', +#. default = 'You do not have permission to export results.') +#. #msgid = 'exportResults_no_permission', +msgid "exportResults_no_permission" +msgstr "Вы не имеете достаточно прав для экспорта результатов." + +#. errors.write('\n' + context.translate( +#. msgid = 'export_assessment_item_type_error', +#. domain = I18N_DOMAIN, +#. default = 'Cannot export item "%s". Unsupported type "%s".' +#. ) % (context.str(obj.title_or_id()), context.str(obj.archetype_name))) +#. #msgid = 'export_assessment_item_type_error', +#: qti.py +msgid "export_assessment_item_type_error" +msgstr " \"%s\" не может быть экспортирован. Этот тип \"%s\". не поддерживается" + +# Original: +#. Default: Ignore errors during export. +#: ./skins/llsMultipleChoice/test_import_export.pt, 113 +msgid "export_ignore_errors" +msgstr "Игнорировать ошибки при экспорте." + +#. <span i18n:translate="export_test_legend" +#. tal:omit-tag=""> +#. <span i18n:name="itemtype"> +#. <span i18n:domain="plone" +#. i18n:translate="" +#. tal:content="here/archetype_name" +#. tal:omit-tag="">Item type</span> +#. </span> +#. Export +#: skins/llsMultipleChoice/test_import_export.pt +msgid "export_test_legend" +msgstr "${itemtype} экспорт" + +#. errors.write( '\n' + ( multipleChoiceTestInstance.translate(\ +#. msgid = 'extraction_error', \ +#. domain = 'llsMultipleChoice', \ +#. default = 'Cannot extract the file "%s". An error occurred: %s') \ +#. % (manifestFnList[0], str(e)) ) ) +#. errors.write( '\n' + ( multipleChoiceTestInstance.translate(#. #msgid = 'extraction_error', #. domain = 'llsMultipleChoice', #. default = 'Cannot extract the file "%s". An error occurred: %s') #. % (manifestFnList[0], str(e)) ) ) +#: qti.py +msgid "extraction_error" +msgstr "Файл \"%s\" не может быть распакован. Ошибка: %s" + +#. <tal:block tal:condition="not: answer/isCorrect"><span +#. i18n:translate="false" +#. tal:omit-tag="">false</span></tal:block> +msgid "false" +msgstr "ошибочно" + +# Original: +#. Default: Your results are not displayed because feedback is disabled. +#: ./skins/llsMultipleChoice/result_view.pt, 136 +msgid "feedback_not_allowed" +msgstr " Вы не можете посмотреть Ваш результат, так как обратный ответ выключен." + +#. errors.write( '\n' + ( multipleChoiceTestInstance.translate(\ +#. msgid = 'file_exists', \ +#. domain = 'llsMultipleChoice', \ +#. default = 'A file named "%s" already exits.') % fileName ) ) +#. errors.write( '\n' + ( multipleChoiceTestInstance.translate(#. #msgid = 'file_exists', #. domain = 'llsMultipleChoice', #. default = 'A file named "%s" already exits.') % fileName ) ) +#: qti.py +msgid "file_exists" +msgstr "Файл с именем \"%s\" уже существует." + +#. msg = context.translate(\ +#. msgid = 'file_imported',\ +#. domain = I18N_DOMAIN,\ +#. default = 'The file has been imported.') +#. msg = context.translate(#. #msgid = 'file_imported',#. domain = I18N_DOMAIN,#. default = 'The file has been imported.') +#: Script (Python) "importTest" +msgid "file_imported" +msgstr "Файл был импортирован." + +#. msg = context.translate(\ +#. msgid = 'file_read_error',\ +#. domain = I18N_DOMAIN,\ +#. default = 'The file could not be read.') +#. msg = context.translate(#. #msgid = 'file_read_error',#. domain = I18N_DOMAIN,#. default = 'The file could not be read.') +#: Script (Python) "uploadEvaluationScript" +#: MultipleChoiceTest.processQTIImport() +msgid "file_read_error" +msgstr "Файл не был прочитан" + +#. errors.write( context.str('\n') + context.translate(\ +#. msgid = 'file_unexpected_error',\ +#. domain = I18N_DOMAIN,\ +#. default = 'Could not import file "%s". An unexpected error has occurred: %s') % (context.str(fileName), context.str(e)) ) +#. errors.write( context.str('\n') + context.translate(#. #msgid = 'file_unexpected_error',#. domain = I18N_DOMAIN,#. default = 'Could not import file "%s". An unexpected error has occurred: %s') % (context.str(fileName), context.str(e)) ) +#: qti.py +msgid "file_unexpected_error" +msgstr "Файл \"%s\" не был импортирован. Встречена неожиданная ошибка: %s" + +#. errors.write( context.str('\n') + context.translate(\ +#. msgid = 'file_unicode_error',\ +#. domain = I18N_DOMAIN,\ +#. default = 'The file name "%s" contains non-ASCII characters. The file will be imported under the id "%s".') % (context.str(oldId), context.str(id)) ) +#. errors.write( context.str('\n') + context.translate(#. #msgid = 'file_unicode_error',#. domain = I18N_DOMAIN,#. default = 'The file name "%s" contains non-ASCII characters. The file will be imported under the id "%s".') % (context.str(oldId), context.str(id)) ) +#: qti.py +msgid "file_unicode_error" +msgstr "Имя файла \"%s\" содержит не ASCII-символ. Файл будет импортирован под id \"%s\"." + +#. <th i18n:translate="finished">Finished</th> +msgid "finished" +msgstr "Конец" + +#. <span tal:replace="intPoints"/><span i18n:translate="fraction_delimiter" tal:omit-tag="">.</span><span tal:replace="fracPoints"/> +msgid "fraction_delimiter" +msgstr "," + +# Original: +#. Default: Grade +#: ./MultipleChoiceTest.py, 107 +msgid "grade" +msgstr "Оценка" + +#. Default: Grading Scale +#: MultipleChoiceTest.py +msgid "grading_scale_label" +msgstr "Оценочная шкала" + +#. Default: Grades are issued according to the following scale of point values. The minimum score can be specified as a percentage or as an absolute value. Leave the minimum score column of the last row empty; this grade will be used for all scores which are not covered by one of the other entries. +#: MultipleChoiceTest.py +msgid "grading_scale_tool_tip" +msgstr "В следующей таблице может определить, какая отметка какой сумме баллов соответствует. Минимальная сумма баллов может указываться как процент или абсолютная величина. Не указывайте в последней строке минимальную сумму баллов; эта оценка оставлена для результатов, которые не выводятся из других записей." + +#. <h1 i18n:translate="heading_import_export"> +#. Import/Export +#. <span i18n:name="itemtype"> +#. <span i18n:domain="plone" +#. i18n:translate="" +#. tal:content="here/archetype_name" +#. tal:omit-tag="">Item type</span> +#. </span> +#. </h1> +#: skins\llsMultipleChoice\test_import_export.pt +msgid "heading_import_export" +msgstr "${itemtype} импортировать/экспортировать" + +#. <span style="color:red;" i18n:translate="i_dont_know">I don't know. (The question will be evaluated as if you had given no answer.)</span> +msgid "i_dont_know" +msgstr "Я не знаю. (Вопрос будет оцениваться как неотвеченный.)" + +#. errors.write( context.str('\n') + context.translate(\ +#. msgid = 'identifier_unicode_error',\ +#. domain = I18N_DOMAIN,\ +#. default = 'The identifier "%s" contains non-ASCII characters. The item will be imported under the id "%s".') % (context.str(oldId), context.str(id)) ) +#. q = createObject(context, typeName, id=id) +#. errors.write( context.str('\n') + context.translate(#. #msgid = 'identifier_unicode_error',#. domain = I18N_DOMAIN,#. default = 'The identifier "%s" contains non-ASCII characters. The item will be imported under the id "%s".') % (context.str(oldId), context.str(id)) ) +#: qti.py +msgid "identifier_unicode_error" +msgstr "Идентификатор \"%s\" содержит не ASCII-символ. Запись будет инпортированы под id \"%s\"." + +#. <label for="file" i18n:translate="import_file_label">QTI File</label> +#: skins\llsMultipleChoice\test_import_export.pt +msgid "import_file_label" +msgstr "QTI файл" + +#. <span i18n:translate="import_test_legend" +#. tal:omit-tag=""> +#. <span i18n:name="itemtype"> +#. <span i18n:domain="plone" +#. i18n:translate="" +#. tal:content="here/archetype_name" +#. tal:omit-tag="">Item type</span> +#. </span> +#. Import +#: skins\llsMultipleChoice\test_import_export.pt +msgid "import_test_legend" +msgstr "${itemtype} мпорт" + +# <div class="formHelp" i18n:translate="import_test_tool_tip">The +# name of the assessment item or package you want to import.</div> +#: skins\llsMultipleChoice\test_import_export.pt +msgid "import_test_tool_tip" +msgstr "Имя Assessment Items или Packages, который Вы хотели бы импортировать." + +#. BooleanField('instantFeedback', +#. required=False, +#. default=0, +#. accessor='isInstantFeedback', +#. widget=BooleanWidget( +#. label='Instant Feedback', +#. label_msgid='instant_feedback_label', +#. description='If you want to give the candidates instant feedback '\ +#. + 'check this box.', +#. description_msgid='instant_feedback_tool_tip', +#. i18n_domain='llsMultipleChoice'), +#. ), +#. label_#msgid='instant_feedback_label', +#. description='If you want to give the candidates instant feedback '#. + 'check this box.', +#. description_#msgid='instant_feedback_tool_tip', +msgid "instant_feedback_label" +msgstr "Результаты выдать сразу" + +msgid "instant_feedback_tool_tip" +msgstr "Если кандидаты сразу должны видеть результаты теста, выберите эту опцию." + +# Original: +#. Default: The quiz was modified after these answers had been submitted. These test results are therefore invalid. +#: ./skins/llsMultipleChoice/result_view.pt, 41 +msgid "invalid" +msgstr "После того, как ответы были отосланы, тест был изменен. Поэтому результаты являются недействительными." + +# Original: +#. Default: The expected length "%s" is invalid. +#: ./qti.py, 785 +msgid "invalid_expected_length" +msgstr "Ожидаемая длина \"%s\" недействительна." + +# Original: +#. Default: Not a percentage or an absolute value: %s +#: ./MultipleChoiceTest.py, 131 +msgid "invalid_minimum_score" +msgstr "\"%s\" не является минимальной суммой баллов в процентуальном или абсолютном исчислении." + +# Original: +#. Default: Not a percentage or an absolute value: %s. Skipping invalid <%s> element. +#: ./qti.py, 1484 +msgid "invalid_minimum_score_qti" +msgstr "\"%s\" не является минимальной суммой баллов в процентуальном или абсолютном исчислении. Пропусти недействительный элемент <%s>." + +# Original: +#. Default: Please enter a number or leave the field empty. +#: ./skins/llsMultipleChoice/result_grade_validate.vpy, 50 +msgid "invalid_score" +msgstr "Пожалуйста, введите число или оставьте поле пустым." + +# Original: +#. Default: The select count "%s" is invalid. +#: ./qti.py, 1245 +msgid "invalid_select_count" +msgstr "\"%s\" как количество возможностей выбора недействителен." + +#. errors.write('\n' + context.translate( +#. msgid = 'invalid_weight', +#. domain = I18N_DOMAIN, +#. default = 'The weight "%s" is invalid.' +#. ) % context.str(weight)) +#. #msgid = 'invalid_weight', +#: qti.py +msgid "invalid_weight" +msgstr "Удельный вес \"%s\" недействителен." + +#. msg = context.translate(\ +#. msgid = 'item_deleted',\ +#. domain = I18N_DOMAIN,\ +#. default = 'Item deleted.') +#. msg = context.translate(#. #msgid = 'item_deleted',#. domain = I18N_DOMAIN,#. default = 'Item deleted.') +#: Script (Python) "deleteResults" +msgid "item_deleted" +msgstr "Запись удалена." + +#. errors.write( '\n' + ( context.translate(\ +#. msgid = 'item_exists', \ +#. domain = I18N_DOMAIN, \ +#. default = 'An item named "%s" already exits.') \ +#. % (context.str(assessmentItemIdentifier)) ) ) +#. errors.write( '\n' + ( context.translate(#. #msgid = 'item_exists', #. domain = I18N_DOMAIN, #. default = 'An item named "%s" already exits.') #. % (context.str(assessmentItemIdentifier)) ) ) +#: qti.py +msgid "item_exists" +msgstr "Запись с именем \"%s\" уже существует." + +#. msg = context.translate(\ +#. msgid = 'items_deleted',\ +#. domain = I18N_DOMAIN,\ +#. default = 'Items deleted.') +#. msg = context.translate(#. #msgid = 'items_deleted',#. domain = I18N_DOMAIN,#. default = 'Items deleted.') +#: Script (Python) "deleteResults" +msgid "items_deleted" +msgstr "Записи удалены." + +# Original: +#. Default: [Download] +#: ./skins/llsMultipleChoice/test_results.pt, 208 +msgid "label_action_download" +msgstr "[Загрузить]" + +# Original: +#. Default: [Grade] +#: ./skins/llsMultipleChoice/test_results.pt, 202 +msgid "label_action_grade" +msgstr "[Оценить]" + +# Original: +#. Default: [View] +#: ./skins/llsMultipleChoice/test_results.pt, 196 +msgid "label_action_view" +msgstr "[Показать]" + +#. Default: Actions +#: ./skins/llsMultipleChoice/test_results.pt, 91 +msgid "label_actions" +msgstr "Действия" + +#. Default: Grade +#: ./skins/llsMultipleChoice/test_results.pt, 86 +msgid "label_grade" +msgstr "Оценка" + +#. Default: "Released" +#: Result.py +msgid "label_released" +msgstr "Предоставить в распоряжение" + +#. <th i18n:translate="link_to_test">Link to test</th> +msgid "link_to_test" +msgstr "Ссылка на тест" + +#: MultipleChoiceTest.py +msgid "mean" +msgstr "Среднее значение" + +#: MultipleChoiceTest.py +msgid "median" +msgstr "Медиана" + +# Original: +#. Default: The minimum score column of the last row must be empty. +#: ./MultipleChoiceTest.py, 121 +msgid "minimum_score_not_empty" +msgstr "Минимальная сумма баллов в последней строке должна быть пуста." + +# Original: +#. Default: The minimum score column of the last row of the <%s> element must be empty. Ignoring last score. +#: ./qti.py, 1466 +msgid "minimum_score_not_empty_qti" +msgstr "Минимальная сумма баллов в последней строке элемента <%s> должна быть пуста. Минимальная сумма баллов будет проигнорирована." + +#. errors.write( '\n' + ( multipleChoiceTestInstance.translate(\ +#. msgid = 'multiple_manifest', \ +#. domain = 'llsMultipleChoice', \ +#. default = 'The package contains more than one file called "%s".') % MANIFEST_FILE_NAME ) ) +#. errors.write( '\n' + ( multipleChoiceTestInstance.translate(#. #msgid = 'multiple_manifest', #. domain = 'llsMultipleChoice', #. default = 'The package contains more than one file called "%s".') % MANIFEST_FILE_NAME ) ) +#: qti.py +msgid "multiple_manifest" +msgstr "Package содержит больше чем один файл с именем \"%s\"." + +#. <th i18n:translate="name">Name</th> +msgid "name" +msgstr "имя" + +#. errors.write( '\n' + multipleChoiceTestInstance.translate(\ +#. msgid = 'no_choiceInteraction',\ +#. domain = 'llsMultipleChoice',\ +#. default = 'Expected a <%s> element. Got "%s".') % (CHOICE_INTERACTION, choiceInteractionElement.toxml() )) +#. errors.write( '\n' + multipleChoiceTestInstance.translate(#. #msgid = 'no_choiceInteraction',#. domain = 'llsMultipleChoice',#. default = 'Expected a <%s> element. Got "%s".') % (CHOICE_INTERACTION, choiceInteractionElement.toxml() )) +#: qti.py +msgid "no_choiceInteraction" +msgstr "<%s> Элемент ожидается. \"%s\" получен." + +#. errors.write( '\n' + multipleChoiceTestInstance.translate(\ +#. msgid = 'no_choice_interaction',\ +#. domain = 'llsMultipleChoice',\ +#. default = 'Did not find any <%s> elements.') % CHOICE_INTERACTION ) +#. errors.write( '\n' + multipleChoiceTestInstance.translate(#. #msgid = 'no_choice_interaction',#. domain = 'llsMultipleChoice',#. default = 'Did not find any <%s> elements.') % CHOICE_INTERACTION ) +#: qti.py +msgid "no_choice_interaction" +msgstr "<%s> элементы были не найдены." + +#. <p tal:condition="not: participants" i18n:translate="no_graded_results"> +#. There are no graded results for this test. +#. </p> +msgid "no_graded_results" +msgstr "Для этого теста результатов с оценками нет." + +# Original: +#. Default: Did not find any elements of type %s. +#: ./qti.py, 960 +msgid "no_interaction" +msgstr "Элементов типа %s не найдено." + +#. errors.write( '\n' + ( multipleChoiceTestInstance.translate(\ +#. msgid = 'no_interaction_type', \ +#. domain = 'llsMultipleChoice', \ +#. default = 'Resource specifies no interaction type. Skipping item "%s (%s)".') \ +#. % (resourceTitle, resourceFileName) ) ) +#. errors.write( '\n' + ( multipleChoiceTestInstance.translate(#. #msgid = 'no_interaction_type', #. domain = 'llsMultipleChoice', #. default = 'Resource specifies no interaction type. Skipping item "%s (%s)".') #. % (resourceTitle, resourceFileName) ) ) +#: qti.py +msgid "no_interaction_type" +msgstr "Элемент не указывает ни на какой тип интеракции. Пропусти элемент \"%s (%s)\"." + +#. errors.write( '\n' + multipleChoiceTestInstance.translate(\ +#. msgid = 'no_item_body',\ +#. domain = 'llsMultipleChoice',\ +#. default = 'Expected exactly one <%s> element.') % ITEM_BODY ) +#. errors.write( '\n' + multipleChoiceTestInstance.translate(#. #msgid = 'no_item_body',#. domain = 'llsMultipleChoice',#. default = 'Expected exactly one <%s> element.') % ITEM_BODY ) +#: qti.py +msgid "no_item_body" +msgstr "Ожидается только один элемент <%s>." + +#. errors.write( '\n' + ( multipleChoiceTestInstance.translate(\ +#. msgid = 'no_manifest', \ +#. domain = 'llsMultipleChoice', \ +#. default = 'The package must contain a manifest file called "%s".') % MANIFEST_FILE_NAME ) ) +#. errors.write( '\n' + ( multipleChoiceTestInstance.translate(#. #msgid = 'no_manifest', #. domain = 'llsMultipleChoice', #. default = 'The package must contain a manifest file called "%s".') % MANIFEST_FILE_NAME ) ) +#: qti.py +msgid "no_manifest" +msgstr "Package должен содержать манифест-файл с именем \"%s\"." + +#. errors.write( '\n' + ( context.translate(\ +#. msgid = 'no_qti',\ +#. domain = I18N_DOMAIN,\ +#. default = 'Invalid QTI document. The name of the root element has to '\ +#. + 'be "%s", not "%s".') % (ASSESSMENT_ITEM, dom.documentElement.localName) ) ) +#. errors.write( '\n' + ( context.translate(#. #msgid = 'no_qti',#. domain = I18N_DOMAIN,#. default = 'Invalid QTI document. The name of the root element has to '#. + 'be "%s", not "%s".') % (ASSESSMENT_ITEM, dom.documentElement.localName) ) ) +#: qti.py +msgid "no_qti" +msgstr "Недействительный документ QTI. Имя элемента корня должно быть \"%s\", а не \"%s\"." + +#. <p tal:condition="isEmpty" i18n:translate="no_questions"> +#. This test contains no questions.</p> +msgid "no_questions" +msgstr "Этот тест не содержит вопросы." + +#. <span i18n:translate="no_repetition" +#. tal:omit-tag=""> +#. You may not submit it again. +#. </span> +msgid "no_repetition" +msgstr "Вы не можете его еще раз отослать." + +#. <p tal:condition="isPublic" i18n:translate="not_published"> +#. This quiz has not been published.</p> +msgid "not_published" +msgstr "Этот тест еще не был опубликован." + +# Original: +#. Default: There are no results for this test. +#: ./skins/llsMultipleChoice/test_results.pt, 276 +msgid "no_results" +msgstr "Для этого теста нет результатов." + +# Original: +#. Default: Not graded +#: ./skins/llsMultipleChoice/pointsquestion_view.pt, 42 +msgid "not_graded" +msgstr "не оценён" + +#. msg = context.translate(\ +#. msgid = 'not_submit_again',\ +#. domain = I18N_DOMAIN,\ +#. default = 'You may not submit the test again.') +#. msg = context.translate(#. #msgid = 'not_submit_again',#. domain = I18N_DOMAIN,#. default = 'You may not submit the test again.') +#: Script (Python) "submitTest" +msgid "not_submit_again" +msgstr "Вы не можете отослать этот тест еще раз." + +#. <tal:condition condition="not: hasSubmitted"><span +#. i18n:translate="not_submitted" style="color:red;">Not submitted</span></tal:condition> +msgid "not_submitted" +msgstr "Еще не отослан " + +#. msg += '\n' + context.translate(\ +#. msgid = 'nothing_added',\ +#. domain = I18N_DOMAIN,\ +#. default = 'Nothing has been added.') +#. msg += '\n' + context.translate(#. #msgid = 'nothing_added',#. domain = I18N_DOMAIN,#. default = 'Nothing has been added.') +#: Script (Python) "importTest" +msgid "nothing_added" +msgstr "Ничего не внесено." + +#. IntegerField("numberOfRandomAnswers", +#. default=-1, +#. read_permission=PERMISSION_INTERROGATOR, +#. widget=IntegerWidget( +#. label='Number of Random Answers', +#. label_msgid='number_of_random_answers_label', +#. description='The number of answers which are randomly selected when a new test is '\ +#. + 'generated for a candidate. (This only works if "Randomize Answer Order" '\ +#. + 'is checked.) A value <= 0 means that all answers will be used.', +#. description_msgid='number_of_random_answers_tool_tip', +#. i18n_domain='llsMultipleChoice'), +#. ), +#. label_#msgid='number_of_random_answers_label', +#. description='The number of answers which are randomly selected when a new test is '#. + 'generated for a candidate. (This only works if "Randomize Answer Order" '#. + 'is checked.) A value <= 0 means that all answers will be used.', +#. description_#msgid='number_of_random_answers_tool_tip', +msgid "number_of_random_answers_label" +msgstr "Количество случайно выбранных ответов" + +msgid "number_of_random_answers_tool_tip" +msgstr "Количество ответов, которые случайно выбираются, если для кандидата производится новый тест. (Это функционирует только если выбрана случайная последовательность ответов.) Число = 0 означает, что все ответы будут использованы." + +#. IntegerField("numberOfRandomQuestions", +#. required=False, +#. default=-1, +#. widget=IntegerWidget( +#. label='Number of Random Questions', +#. label_msgid='number_of_random_questions_label', +#. description='The number of questions which are randomly selected when a new test is '\ +#. + 'generated for a candidate. (This only works if "Randomize Question Order" '\ +#. + 'is checked.) A value <= 0 means that all questions will be used.', +#. description_msgid='number_of_random_questions_tool_tip', +#. i18n_domain='llsMultipleChoice'), +#. ), +#. label_#msgid='number_of_random_questions_label', +#. description='The number of questions which are randomly selected when a new test is '#. + 'generated for a candidate. (This only works if "Randomize Question Order" '#. + 'is checked.) A value <= 0 means that all questions will be used.', +#. description_#msgid='number_of_random_questions_tool_tip', +msgid "number_of_random_questions_label" +msgstr "Количество случайно выбранных вопросов" + +msgid "number_of_random_questions_tool_tip" +msgstr "Количество вопросов, которые случайно выбираются, если для кандидата производится новый тест. (Это функционирует только если выбрана случайная последовательность вопросов.) Число = 0 означает, что все вопросы будут использованы." + +#. msg += '\n' + context.translate(\ +#. msgid = 'objects_added',\ +#. domain = I18N_DOMAIN,\ +#. default = 'The following objects have been added:') + ' ' +#. msg += '\n' + context.translate(#. #msgid = 'objects_added',#. domain = I18N_DOMAIN,#. default = 'The following objects have been added:') + ' ' +#: Script (Python) "importTest" +msgid "objects_added" +msgstr "Следующие объекты будут добавлены:" + +#. Default: One Question per Page +#: MultipleChoiceTest.py +msgid "one_per_page_label" +msgstr "Один вопрос на страницу" + +#. Default: Allow Navigation +#: MultipleChoiceTest.py +msgid "one_per_page_nav_label" +msgstr "Навигация разрешена" + +#. Default: Lets candidates answer questions in an arbitrary order when the test is in one-question-per-page-mode. +#: MultipleChoiceTest.py +msgid "one_per_page_nav_tool_tip" +msgstr "Позволяет кандидатов отвечать на вопросы в любой последовательности, если тест находится в режиме один-вопрос-на-странице." + +#. Default: If checked, each question/question group is displayed on a separate page. +#: MultipleChoiceTest.py +msgid "one_per_page_tool_tip" +msgstr "Выберите эту опцию, чтобы каждый вопрос и или группу вопросов на собственной странице показывать." + +#. <h2 i18n:translate="overview">Overview</h2> +msgid "overview" +msgstr "Обзор" + +#. errors.write( '\n' + multipleChoiceTestInstance.translate(\ +#. msgid = 'parse_error',\ +#. domain = 'llsMultipleChoice',\ +#. default = 'A parse error occurred in "%s": %s') \ +#. % (str(string), str(e) ) ) +#. errors.write( '\n' + multipleChoiceTestInstance.translate(#. #msgid = 'parse_error',#. domain = 'llsMultipleChoice',#. default = 'A parse error occurred in "%s": %s') #. % (str(string), str(e) ) ) +#: qti.py +msgid "parse_error" +msgstr "Встречена ошибка парсера в \"%s\" : %s" + +#. <label for="participants" i18n:translate="participants_label">Candidates</label> +msgid "participants_label" +msgstr "Кандидаты" + +#. <div class="formHelp" id="participants_help" i18n:translate="participants_tool_tip"> +#. The user IDs of the candidates who have already seen or taken this test. +#. </div> +msgid "participants_tool_tip" +msgstr "Пользовательские ID тех кандидатов, которые уже открыли тест или закончили." + +#. <span tal:condition="python:question.getPoints() == 1" +#. i18n:translate="point" +#. tal:omit-tag="">Point</span> +msgid "point" +msgstr "Балл" + +#. <span tal:condition="python:question.getPoints() != 1" +#. i18n:translate="points" +#. tal:omit-tag="">Points</span> +msgid "points" +msgstr "Баллы" + +# Original: The number of points awarded for this answer. You can leave the field empty if you want to review the answer later. +#: ./skins/llsMultipleChoice/pointsquestion_view.pt, 92 +msgid "points_help" +msgstr "Сумма баллов, которую вы хотите предоставить для этого ответа. Вы можете оставить поле также пустым, если вы хотите оценить ответ позже." + +#. widget=IntegerWidget( +#. label='Points', +#. label_msgid='points_label', +#. description='The number of points assigned to this question.', +#. description_msgid='points_tool_tip', +#. i18n_domain='plone'), +#. label_#msgid='points_label', +#. description_#msgid='points_tool_tip', +msgid "points_label" +msgstr "Баллы" + +msgid "points_tool_tip" +msgstr "Сумма баллов для этого вопроса." + +#. widget=TextAreaWidget( +#. label='Question', +#. label_msgid='question_label', +#. description='The question text. This is what the candidate will see.', +#. description_msgid='question_tool_tip', +#. i18n_domain='plone'), +#. label_#msgid='question_label', +#. description_#msgid='question_tool_tip', +msgid "question_label" +msgstr "Вопрос" + +msgid "question_tool_tip" +msgstr "Текст вопроса. Это то, что будет предложено кандидату." + +#. <h2 i18n:translate="questions">Questions</h2> +msgid "questions" +msgstr "Вопросы" + +#. BooleanField("randomOrder", +#. accessor='isRandomOrder', +#. required=False, +#. default=1, +#. widget=BooleanWidget( +#. label='Randomize Answer Order', +#. label_msgid='randomize_answer_order_label', +#. description='Check this box if you want the answers to this question '\ +#. + 'to appear in a different, random order for each candidate. Otherwise the '\ +#. + 'same order as in the "contents"-view will be used.', +#. description_msgid='randomize_answer_order_tool_tip', +#. i18n_domain='llsMultipleChoice'), +#. ), +#. label_#msgid='randomize_answer_order_label', +#. description='Check this box if you want the answers to this question '#. + 'to appear in a different, random order for each candidate. Otherwise the '#. + 'same order as in the "contents"-view will be used.', +#. description_#msgid='randomize_answer_order_tool_tip', +msgid "randomize_answer_order_label" +msgstr "Случайная последовательность ответов" + +msgid "randomize_answer_order_tool_tip" +msgstr "Выберите эту опцию, если ответы на этот вопрос должны сообщаться для каждого кандидата в другой, случайной последовательности. В противном случае будет использован тот же порядок, что и в \"представлении содержимог\"." + +#. BooleanField("randomOrder", +#. accessor='isRandomOrder', +#. required=False, +#. default=0, +#. widget=BooleanWidget( +#. label='Randomize Question Order', +#. label_msgid='randomize_question_order_label', +#. description='Check this box if you want the questions in this container '\ +#. + 'to appear in a different, random order for each candidate. Otherwise the '\ +#. + 'same order as in the "contents"-view will be used.', +#. description_msgid='randomize_question_order_tool_tip', +#. i18n_domain='llsMultipleChoice'), +#. ), +#. label_#msgid='randomize_question_order_label', +#. description='Check this box if you want the questions in this container '#. + 'to appear in a different, random order for each candidate. Otherwise the '#. + 'same order as in the "contents"-view will be used.', +#. description_#msgid='randomize_question_order_tool_tip', +msgid "randomize_question_order_label" +msgstr "Случайная последовательность вопросов" + +msgid "randomize_question_order_tool_tip" +msgstr "Выберите эту опцию, если вопросы должны сообщаться в этом контейнере для каждого кандидата в другой, случайной последовательности. В противном случае будет использован тот же порядок, что и в \"представлении содержимого\"" + +#. errors.write( '\n' + ( multipleChoiceTestInstance.translate(\ +#. msgid = 'read_error', \ +#. domain = 'llsMultipleChoice', \ +#. default = 'Cannot read the file "%s". An error occurred: %s') \ +#. % (fileName, str(e)) ) ) +#. errors.write( '\n' + ( multipleChoiceTestInstance.translate(#. #msgid = 'read_error', #. domain = 'llsMultipleChoice', #. default = 'Cannot read the file "%s". An error occurred: %s') #. % (fileName, str(e)) ) ) +#: qti.py +msgid "read_error" +msgstr "Этот файл \"%s\" не может быть прочитан. Встречена ошибка: %s" + +#. Default: Reference +#: MultipleChoiceReference.py +msgid "reference_label" +msgstr "Ссылка" + +#. Default: "Select a question or a question group from another test." +#: MultipleChoiceReference.py +msgid "reference_tool_tip" +msgstr "Выберите вопрос или группу вопросов из другого теста." + +#. resultsString = context.translate(\ +#. msgid = 'results',\ +#. domain = I18N_DOMAIN,\ +#. default = 'results') +#. filename = quote(context.title_or_id()) + SPACE_REPLACER + resultsString + '.' + format +#. resultsString = context.translate(#. #msgid = 'results',#. domain = I18N_DOMAIN,#. default = 'results') +#: Script (Python) "exportResults" +msgid "results" +msgstr "Результаты" + +#. <h1> +#. <span i18n:translate="results_for" tal:omit-tag="">Results for</span> +#. <span tal:replace="here/title_or_id"/> +#. </h1> +msgid "results_for" +msgstr "Результаты для" + +#. <h2><span i18n:translate="results_of" tal:omit-tag="">Results of</span> <span tal:replace="submitterId"/></h2> +msgid "results_of" +msgstr "Результаты от" + +#. Default: <h2 i18n:translate="results_of_name">Results of ${candidateName}:</h2> +#: skins/llsMultipleChoice/result_view.pt +msgid "results_of_name" +msgstr "Результаты ${candidateName}:" + +#. msg = context.translate(\ +#. msgid = 'results_reset',\ +#. domain = I18N_DOMAIN,\ +#. default = 'Your results have been reset.') +#. msg = context.translate(#. #msgid = 'results_reset',#. domain = I18N_DOMAIN,#. default = 'Your results have been reset.') +#: Script (Python) "resetResult" +msgid "results_reset" +msgstr "Ваши результаты будут аннулированы." + +#. <p> +#. <span i18n:translate="score" +#. tal:omit-tag="">Score:</span> +#. <strong><span tal:replace="python:here.getCandidatePoints(submitterId);">candidate's points</span>/<span tal:replace="python:here.getPossiblePoints(submitterId);">possible points</span></strong> +#. </p> +msgid "score" +msgstr "Достигнутая сумма баллов:" + +# Original: +#. Default: This score is higher than the maximum score for this question, %s. +#: ./skins/llsMultipleChoice/result_grade_validate.vpy, 61 +msgid "score_too_high" +msgstr "Указанная сумма баллов выше чем максимум очков для этого вопроса (%s)." + +#. MultipleChoiceTest.py +#. Default: "All or Nothing" +msgid "scoring_fun_cruel_label" +msgstr "Все или ничто" + +#. MultipleChoiceTest.py +#. Default: "Guessing Correction" +msgid "scoring_fun_guessing_correction_label" +msgstr "Случайная коррекция" + +#. MultipleChoiceTest.py +#. Default: "Scoring Function" +msgid "scoring_fun_label" +msgstr "Функция оценки" + +#. MultipleChoiceTest.py +#. Default: "The way the score for a question is calculated." +msgid "scoring_fun_tool_tip" +msgstr "Метод, который используется для расчета суммы баллов для вопросов." + +#. msg = context.translate( +#. #msgid = 'scoring_scripts_deleted', +#. domain = I18N_DOMAIN, +#. default = 'Deleted custom scoring scripts for types: ' +#: Script (Python) "deleteEvaluationScript" +msgid "scoring_scripts_deleted" +msgstr "Скрипты оценки следующих классов были удалены: " + +#. msg = context.translate(\ +#. msgid = 'script_invalid',\ +#. domain = I18N_DOMAIN,\ +#. default = 'The script is invalid. The following error occurred:') + ' ' + uploadErrorMessage +#. msg = context.translate(#. #msgid = 'script_invalid',#. domain = I18N_DOMAIN,#. default = 'The script is invalid. The following error occurred:') + ' ' + uploadErrorMessage +#: Script (Python) "uploadEvaluationScript" +msgid "script_invalid" +msgstr "Скрипт недействителен. Встречена следующая ошибка:" + +#. msg = context.translate(\ +#. msgid = 'script_uploaded',\ +#. domain = I18N_DOMAIN,\ +#. default = 'The script has been uploaded.') +#. msg = context.translate(#. #msgid = 'script_uploaded',#. domain = I18N_DOMAIN,#. default = 'The script has been uploaded.') +#: Script (Python) "uploadEvaluationScript" +msgid "script_uploaded" +msgstr "Скрипт был отослан." + +#. <a +#. tal:condition="hasSubmitted" +#. tal:attributes="href string:test_results#result_${participantId}" +#. i18n:translate="see_test" >See test</a> +msgid "see_test" +msgstr "К тесту" + +#. selectMsg python:here.translate( +#. msgid = 'select', +#. domain = 'llsMultipleChoice', +#. default = 'Select %s') +#. #msgi... [truncated message content] |