diff --git a/.eslintrc.json b/.eslintrc.json index 22dbc24aab7d..9f92d07d48bb 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -27,6 +27,7 @@ "func-names": "off", "indent": ["error", 4], "react/jsx-indent": ["error", 4], + "react/jsx-indent-props": ["error", 4], "new-cap": "off", "no-else-return": "off", "no-shadow": "error", @@ -70,7 +71,6 @@ "prefer-rest-params": "off", "prefer-template": "off", "radix": "off", - "react/jsx-indent-props": ["error", 4], "react/prop-types": "off", "vars-on-top": "off" } diff --git a/Makefile b/Makefile index a664f4549fe5..32314eef18f0 100644 --- a/Makefile +++ b/Makefile @@ -119,6 +119,8 @@ compile-requirements: pre-requirements $(COMMON_CONSTRAINTS_TXT) ## Re-compile * @# Bootstrapping: Rebuild pip and pip-tools first, and then install them @# so that if there are any failures we'll know now, rather than the next @# time someone tries to use the outputs. + sed '/^django-simple-history==/d' requirements/common_constraints.txt > requirements/common_constraints.tmp + mv requirements/common_constraints.tmp requirements/common_constraints.txt pip-compile -v --allow-unsafe ${COMPILE_OPTS} -o requirements/pip.txt requirements/pip.in pip install -r requirements/pip.txt diff --git a/README.rst b/README.rst index 7e957e4f2fb7..f8cc99f40d0c 100644 --- a/README.rst +++ b/README.rst @@ -25,8 +25,8 @@ platform. Functionally, the edx-platform repository provides two services: * CMS (Content Management Service), which powers Open edX Studio, the platform's learning content authoring environment; and * LMS (Learning Management Service), which delivers learning content. -Installation -************ +Getting Started +*************** Installing and running an Open edX instance is not simple. We strongly recommend that you use a service provider to run the software for you. They @@ -122,6 +122,13 @@ Contributions are welcome! The first step is to submit a signed information – it also contains guidelines for how to maintain high code quality, which will make your contribution more likely to be accepted. +New features are accepted. Discussing your new ideas with the maintainers +before you write code will also increase the chances that your work is accepted. + +Code of Conduct +*************** + +Please read the `Community Code of Conduct`_ for interacting with this repository. Reporting Security Issues ************************* @@ -131,3 +138,12 @@ security@edx.org. .. _individual contributor agreement: https://openedx.org/cla .. _CONTRIBUTING: https://github.com/openedx/.github/blob/master/CONTRIBUTING.md +.. _Community Code of Conduct: https://openedx.org/code-of-conduct/ + +People +****** + +The current maintainers of this repository can be found on `Backstage`_. + +.. _Backstage: https://backstage.openedx.org/catalog/default/component/edx-platform + diff --git a/catalog-info.yaml b/catalog-info.yaml new file mode 100644 index 000000000000..fdb5e200daed --- /dev/null +++ b/catalog-info.yaml @@ -0,0 +1,16 @@ +# This file records information about this repo. Its use is described in OEP-55: +# https://open-edx-proposals.readthedocs.io/en/latest/processes/oep-0055-proc-project-maintainers.html + +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: 'edx-platform' + description: "The monolith at the center of the Open edX platform" + links: + - url: "https://docs.openedx.org" + title: "Documentation" + icon: "Web" +spec: + owner: group:arch-bom + type: 'service' + lifecycle: 'production' diff --git a/cms/djangoapps/contentstore/management/commands/copy_libraries_from_v1_to_v2.py b/cms/djangoapps/contentstore/management/commands/copy_libraries_from_v1_to_v2.py index c0a866115127..3be5cab11c23 100644 --- a/cms/djangoapps/contentstore/management/commands/copy_libraries_from_v1_to_v2.py +++ b/cms/djangoapps/contentstore/management/commands/copy_libraries_from_v1_to_v2.py @@ -1,6 +1,7 @@ """A Command to Copy or uncopy V1 Content Libraries entires to be stored as v2 content libraries.""" import logging +import csv from textwrap import dedent from django.core.management import BaseCommand, CommandError @@ -28,15 +29,13 @@ class Command(BaseCommand): and -- file followed by the path for a list of libraries from a file. Example usage: - $ ./manage.py cms copy_libraries_from_v1_to_v2 'collection_uuid' --all + $ ./manage.py cms copy_libraries_from_v1_to_v2 'collection_uuid' --all --uncopy + $ ./manage.py cms copy_libraries_from_v1_to_v2 'collection_uuid 'library-v1:edX+DemoX+Better_Library' + $ ./manage.py cms copy_libraries_from_v1_to_v2 'collection_uuid 'library-v1:edX+DemoX+Better_Library' --uncopy $ ./manage.py cms copy_libraries_from_v1_to_v2 - library-v1:edX+DemoX+Demo_Library' 'library-v1:edX+DemoX+Better_Library' -c 'collection_uuid' - $ ./manage.py cms copy_libraries_from_v1_to_v2 --all --uncopy - $ ./manage.py cms copy_libraries_from_v1_to_v2 'library-v1:edX+DemoX+Better_Library' --uncopy - $ ./manage.py cms copy_libraries_from_v1_to_v2 - '11111111-2111-4111-8111-111111111111' - './list_of--library-locators- --file + '11111111-2111-4111-8111-111111111111' + './list_of--library-locators.csv --all Note: This Command Also produces an "output file" which contains the mapping of locators and the status of the copy. @@ -49,17 +48,18 @@ def add_arguments(self, parser): """arguements for command""" parser.add_argument( - '-collection_uuid', - '-c', - nargs=1, + 'collection_uuid', type=str, help='the uuid for the collection to create the content library in.' ) parser.add_argument( - 'library_ids', - nargs='*', - help='a space-seperated list of v1 library ids to copy' + 'output_csv', + type=str, + nargs='?', + default=None, + help='a file path to write the tasks output to. Without this the result is simply logged.' ) + parser.add_argument( '--all', action='store_true', @@ -72,12 +72,11 @@ def add_arguments(self, parser): dest='uncopy', help='Delete libraries specified' ) - parser.add_argument( - 'output_csv', - nargs='?', - default=None, - help='a file path to write the tasks output to. Without this the result is simply logged.' + 'library_ids', + nargs='*', + default=[], + help='a space-seperated list of v1 library ids to copy' ) def _parse_library_key(self, raw_value): @@ -90,10 +89,6 @@ def _parse_library_key(self, raw_value): def handle(self, *args, **options): # lint-amnesty, pylint: disable=unused-argument """Parse args and generate tasks for copying content.""" - print(options) - - if (not options['library_ids'] and not options['all']) or (options['library_ids'] and options['all']): - raise CommandError("copy_libraries_from_v1_to_v2 requires one or more s or the --all flag.") if (not options['library_ids'] and not options['all']) or (options['library_ids'] and options['all']): raise CommandError("copy_libraries_from_v1_to_v2 requires one or more s or the --all flag.") @@ -110,16 +105,17 @@ def handle(self, *args, **options): # lint-amnesty, pylint: disable=unused-argu v1_library_keys = list(map(self._parse_library_key, options['library_ids'])) create_library_task_group = group([ - delete_v2_library_from_v1_library.s(str(v1_library_key), options['collection_uuid'][0]) + delete_v2_library_from_v1_library.s(str(v1_library_key), options['collection_uuid']) if options['uncopy'] - else create_v2_library_from_v1_library.s(str(v1_library_key), options['collection_uuid'][0]) + else create_v2_library_from_v1_library.s(str(v1_library_key), options['collection_uuid']) for v1_library_key in v1_library_keys ]) group_result = create_library_task_group.apply_async().get() if options['output_csv']: - with open(options['output_csv'][0], 'w', encoding='utf-8', newline='') as output_writer: - output_writer.writerow("v1_library_id", "v2_library_id", "status", "error_msg") + with open(options['output_csv'], 'w', encoding='utf-8', newline='') as file: + output_writer = csv.writer(file) + output_writer.writerow(["v1_library_id", "v2_library_id", "status", "error_msg"]) for result in group_result: - output_writer.write(result.keys()) + output_writer.writerow(result.values()) log.info(group_result) diff --git a/cms/djangoapps/contentstore/management/commands/replace_v1_lib_refs_with_v2_in_courses.py b/cms/djangoapps/contentstore/management/commands/replace_v1_lib_refs_with_v2_in_courses.py new file mode 100644 index 000000000000..39d64912bf70 --- /dev/null +++ b/cms/djangoapps/contentstore/management/commands/replace_v1_lib_refs_with_v2_in_courses.py @@ -0,0 +1,125 @@ +""" +A Command which, given a mapping of V1 to V2 Libraries, +edits all xblocks in courses which refer to the v1 library to point to the v2 library. +""" + +import logging +import csv + +from django.core.management import BaseCommand, CommandError +from celery import group + +from openedx.core.djangoapps.content.course_overviews.models import CourseOverview +from cms.djangoapps.contentstore.tasks import ( + replace_all_library_source_blocks_ids_for_course, + validate_all_library_source_blocks_ids_for_course, + undo_all_library_source_blocks_ids_for_course +) + +log = logging.getLogger(__name__) + + +class Command(BaseCommand): + """ + Example usage: + $ ./manage.py cms replace_v1_lib_refs_with_v2_in_courses '/path/to/library_mappings.csv' + $ ./manage.py cms replace_v1_lib_refs_with_v2_in_courses '/path/to/library_mappings.csv' --validate + $ ./manage.py cms replace_v1_lib_refs_with_v2_in_courses '/path/to/library_mappings.csv' --undo + """ + def add_arguments(self, parser): + parser.add_argument('file_path', type=str, help='Path to the CSV file.') + parser.add_argument('--validate', action='store_true', help='Validate previous runs of the command') + parser.add_argument('--undo', action='store_true', help='Validate previous runs of the command') + + def replace_all_library_source_blocks_ids(self, v1_to_v2_lib_map): + """A method to replace 'source_library_id' in all relevant blocks.""" + + courses = CourseOverview.get_all_courses() + + # Use Celery to distribute the workload + tasks = group( + replace_all_library_source_blocks_ids_for_course.s( + course, + v1_to_v2_lib_map + ) + for course in courses + ) + results = tasks.apply_async() + + for result in results.get(): + if isinstance(result, Exception): + # Handle the task failure here + log.error("Task failed with error: %s", str(result)) + continue + log.info( + "Completed replacing all v1 library source ids with v2 library source ids" + ) + + def validate(self, v1_to_v2_lib_map): + """ Validate that replace_all_library_source_blocks_ids was successful""" + courses = CourseOverview.get_all_courses() + tasks = group(validate_all_library_source_blocks_ids_for_course.s(course, v1_to_v2_lib_map) for course in courses) # lint-amnesty, pylint: disable=line-too-long + results = tasks.apply_async() + + validation = set() + for result in results.get(): + if isinstance(result, Exception): + # Handle the task failure here + log.error("Task failed with error: %s", str(result)) + continue + else: + validation.update(result) + + if validation.issubset(v1_to_v2_lib_map.values()): + log.info("Validation: All values in the input map are present in courses.") + else: + log.info( + "Validation Failed: There are unmapped v1 libraries." + ) + + def undo(self, v1_to_v2_lib_map): + """ undo the changes made by replace_all_library_source_blocks_ids""" + courses = CourseOverview.get_all_courses() + + # Use Celery to distribute the workload + tasks = group(undo_all_library_source_blocks_ids_for_course.s(course, v1_to_v2_lib_map) for course in courses) + results = tasks.apply_async() + + for result in results.get(): + if isinstance(result, Exception): + # Handle the task failure here + log.error("Task failed with error: %s", str(result)) + continue + log.info("Completed replacing all v2 library source ids with v1 library source ids. Undo Complete") + + def handle(self, *args, **kwargs): + """ Parse arguments and begin command""" + file_path = kwargs['file_path'] + v1_to_v2_lib_map = {} + try: + with open(file_path, 'r', encoding='utf-8') as csvfile: + + if not file_path.endswith('.csv'): + raise CommandError('Invalid file format. Only CSV files are supported.') + + csv_reader = csv.reader(csvfile) + + for row in csv_reader: + if len(row) >= 2: + key = row[0].strip() + value = row[1].strip() + v1_to_v2_lib_map[key] = value + + print("Data successfully imported as dictionary:") + + except FileNotFoundError: + log.error("File not found at '%s'.", {file_path}) + except Exception as e: # lint-amnesty, pylint: disable=broad-except + log.error("An error occurred: %s", {str(e)}) + + if kwargs['validate']: + self.validate(v1_to_v2_lib_map) + if kwargs['undo']: + self.undo(v1_to_v2_lib_map) + else: + self.replace_all_library_source_blocks_ids(v1_to_v2_lib_map) diff --git a/cms/djangoapps/contentstore/tasks.py b/cms/djangoapps/contentstore/tasks.py index d38ac165ce71..b6861e4ddc5b 100644 --- a/cms/djangoapps/contentstore/tasks.py +++ b/cms/djangoapps/contentstore/tasks.py @@ -868,6 +868,8 @@ def _create_copy_content_task(v2_library_key, v1_library_key): def _create_metadata(v1_library_key, collection_uuid): """instansiate an index for the V2 lib in the collection""" + print(collection_uuid) + store = modulestore() v1_library = store.get_library(v1_library_key) collection = get_collection(collection_uuid).uuid @@ -1000,3 +1002,142 @@ def delete_v1_library(v1_library_key_string): "status": "SUCCESS", "msg": "SUCCESS" } + + +@shared_task(time_limit=30) +@set_code_owner_attribute +def validate_all_library_source_blocks_ids_for_course(course, v1_to_v2_lib_map): + """Search a Modulestore for all library source blocks in a course by querying mongo. + replace all source_library_ids with the corresponding v2 value from the map + """ + store = modulestore() + with store.bulk_operations(course.id): + visited = [] + for branch in [ModuleStoreEnum.BranchName.draft, ModuleStoreEnum.BranchName.published]: + blocks = store.get_items( + course.id.for_branch(branch), + settings={'source_library_id': {'$exists': True}} + ) + for xblock in blocks: + if xblock.source_library_id not in v1_to_v2_lib_map.values(): + # lint-amnesty, pylint: disable=broad-except + raise Exception( + f'{xblock.source_library_id} in {course.id} is not found in mapping. Validation failed' + ) + visited.append(xblock.source_library_id) + # return sucess + return visited + + +@shared_task(time_limit=30) +@set_code_owner_attribute +def replace_all_library_source_blocks_ids_for_course(course, v1_to_v2_lib_map): # lint-amnesty, pylint: disable=useless-return + """Search a Modulestore for all library source blocks in a course by querying mongo. + replace all source_library_ids with the corresponding v2 value from the map. + + This will trigger a publish on the course for every published library source block. + """ + store = modulestore() + with store.bulk_operations(course.id): + #for branch in [ModuleStoreEnum.BranchName.draft, ModuleStoreEnum.BranchName.published]: + draft_blocks, published_blocks = [ + store.get_items( + course.id.for_branch(branch), + settings={'source_library_id': {'$exists': True}} + ) + for branch in [ModuleStoreEnum.BranchName.draft, ModuleStoreEnum.BranchName.published] + ] + + published_dict = {block.location: block for block in published_blocks} + + for draft_library_source_block in draft_blocks: + try: + new_source_id = str(v1_to_v2_lib_map[draft_library_source_block.source_library_id]) + except KeyError: + #skip invalid keys + LOGGER.error( + 'Key %s not found in mapping. Skipping block for course %s', + str({draft_library_source_block.source_library_id}), + str(course.id) + ) + continue + + # The publsihed branch should be updated as well as the draft branch + # This way, if authors "discard changes," they won't be reverted back to the V1 lib. + # However, we also don't want to publish the draft branch. + try: + if published_dict[draft_library_source_block.location] is not None: + #temporarily set the published version to be the draft & publish it. + temp = published_dict[draft_library_source_block.location] + temp.source_library_id = new_source_id + store.update_item(temp, None) + store.publish(temp.location, None) + draft_library_source_block.source_library_id = new_source_id + store.update_item(draft_library_source_block, None) + except KeyError: + #Warn, but just update the draft block if no published block for draft block. + LOGGER.warning( + 'No matching published block for draft block %s', + str(draft_library_source_block.location) + ) + draft_library_source_block.source_library_id = new_source_id + store.update_item(draft_library_source_block, None) + # return success + return + + +@shared_task(time_limit=30) +@set_code_owner_attribute +def undo_all_library_source_blocks_ids_for_course(course, v1_to_v2_lib_map): # lint-amnesty, pylint: disable=useless-return + """Search a Modulestore for all library source blocks in a course by querying mongo. + replace all source_library_ids with the corresponding v1 value from the inverted map. + This is exists to undo changes made previously. + """ + + v2_to_v1_lib_map = {v: k for k, v in v1_to_v2_lib_map.items()} + + store = modulestore() + draft_blocks, published_blocks = [ + store.get_items( + course.id.for_branch(branch), + settings={'source_library_id': {'$exists': True}} + ) + for branch in [ModuleStoreEnum.BranchName.draft, ModuleStoreEnum.BranchName.published] + ] + + published_dict = {block.location: block for block in published_blocks} + + for draft_library_source_block in draft_blocks: + try: + new_source_id = str(v2_to_v1_lib_map[draft_library_source_block.source_library_id]) + except KeyError: + #skip invalid keys + LOGGER.error( + 'Key %s not found in mapping. Skipping block for course %s', + str({draft_library_source_block.source_library_id}), + str(course.id) + ) + continue + + # The publsihed branch should be updated as well as the draft branch + # This way, if authors "discard changes," they won't be reverted back to the V1 lib. + # However, we also don't want to publish the draft branch. + try: + if published_dict[draft_library_source_block.location] is not None: + #temporarily set the published version to be the draft & publish it. + temp = published_dict[draft_library_source_block.location] + temp.source_library_id = new_source_id + store.update_item(temp, None) + store.publish(temp.location, None) + draft_library_source_block.source_library_id = new_source_id + store.update_item(draft_library_source_block, None) + except KeyError: + #Warn, but just update the draft block if no published block for draft block. + LOGGER.warning( + 'No matching published block for draft block %s', + str(draft_library_source_block.location) + ) + draft_library_source_block.source_library_id = new_source_id + store.update_item(draft_library_source_block, None) + # return success + return diff --git a/cms/djangoapps/contentstore/toggles.py b/cms/djangoapps/contentstore/toggles.py index 7a02efc07872..9ae4b0271c6f 100644 --- a/cms/djangoapps/contentstore/toggles.py +++ b/cms/djangoapps/contentstore/toggles.py @@ -214,6 +214,22 @@ def individualize_anonymous_user_id(course_id): ) +# .. toggle_name: contentstore.enable_copy_paste_units +# .. toggle_implementation: WaffleFlag +# .. toggle_default: False +# .. toggle_description: Moves most unit-level actions into a submenu and adds new "Copy Unit" and "Paste +# Unit" actions which can be used to copy units within or among courses. +# .. toggle_use_cases: temporary +# .. toggle_creation_date: 2023-08-01 +# .. toggle_target_removal_date: 2023-10-01 +# .. toggle_tickets: https://github.com/openedx/modular-learning/issues/11 https://github.com/openedx/modular-learning/issues/50 +ENABLE_COPY_PASTE_UNITS = WaffleFlag( + f'{CONTENTSTORE_NAMESPACE}.enable_copy_paste_units', + __name__, + CONTENTSTORE_LOG_PREFIX, +) + + # .. toggle_name: contentstore.enable_studio_content_api # .. toggle_implementation: WaffleFlag # .. toggle_default: False diff --git a/cms/djangoapps/contentstore/views/component.py b/cms/djangoapps/contentstore/views/component.py index 05bd39a3556b..148b259898cc 100644 --- a/cms/djangoapps/contentstore/views/component.py +++ b/cms/djangoapps/contentstore/views/component.py @@ -28,11 +28,7 @@ from cms.djangoapps.contentstore.toggles import use_new_problem_editor from openedx.core.lib.xblock_utils import get_aside_from_xblock, is_xblock_aside from openedx.core.djangoapps.discussions.models import DiscussionsConfiguration -try: - # Technically this is a django app plugin, so we should not error if it's not installed: - import openedx.core.djangoapps.content_staging.api as content_staging_api -except ImportError: - content_staging_api = None +from openedx.core.djangoapps.content_staging import api as content_staging_api from xmodule.modulestore.django import modulestore # lint-amnesty, pylint: disable=wrong-import-order from xmodule.modulestore.exceptions import ItemNotFoundError # lint-amnesty, pylint: disable=wrong-import-order from ..toggles import use_new_unit_page @@ -198,10 +194,7 @@ def container_handler(request, usage_key_string): index += 1 # Get the status of the user's clipboard so they can paste components if they have something to paste - if content_staging_api: - user_clipboard = content_staging_api.get_user_clipboard_json(request.user.id, request) - else: - user_clipboard = {"content": None} + user_clipboard = content_staging_api.get_user_clipboard_json(request.user.id, request) return render_to_response('container.html', { 'language_code': request.LANGUAGE_CODE, 'context_course': course, # Needed only for display of menus at top of page. diff --git a/cms/djangoapps/contentstore/views/course.py b/cms/djangoapps/contentstore/views/course.py index 96743daf5116..28de4cfde9bb 100644 --- a/cms/djangoapps/contentstore/views/course.py +++ b/cms/djangoapps/contentstore/views/course.py @@ -1,8 +1,6 @@ """ Views related to operations on course objects """ - - import copy import json import logging @@ -60,6 +58,7 @@ from common.djangoapps.util.string_utils import _has_non_ascii_characters from common.djangoapps.xblock_django.api import deprecated_xblocks from openedx.core.djangoapps.content.course_overviews.models import CourseOverview +from openedx.core.djangoapps.content_staging import api as content_staging_api from openedx.core.djangoapps.credit.tasks import update_credit_course_requirements from openedx.core.djangoapps.models.course_details import CourseDetails from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers @@ -747,6 +746,8 @@ def course_index(request, course_key): advanced_dict = CourseMetadata.fetch(course_block) proctoring_errors = CourseMetadata.validate_proctoring_settings(course_block, advanced_dict, request.user) + user_clipboard = content_staging_api.get_user_clipboard_json(request.user.id, request) + return render_to_response('course_outline.html', { 'language_code': request.LANGUAGE_CODE, 'context_course': course_block, @@ -754,6 +755,7 @@ def course_index(request, course_key): 'sections': sections, 'course_structure': course_structure, 'initial_state': course_outline_initial_state(locator_to_show, course_structure) if locator_to_show else None, # lint-amnesty, pylint: disable=line-too-long + 'initial_user_clipboard': user_clipboard, 'rerun_notification_id': current_action.id if current_action else None, 'course_release_date': course_release_date, 'settings_url': settings_url, diff --git a/cms/djangoapps/contentstore/xblock_storage_handlers/view_handlers.py b/cms/djangoapps/contentstore/xblock_storage_handlers/view_handlers.py index e26242f81f16..3e652c899b51 100644 --- a/cms/djangoapps/contentstore/xblock_storage_handlers/view_handlers.py +++ b/cms/djangoapps/contentstore/xblock_storage_handlers/view_handlers.py @@ -38,6 +38,7 @@ from xblock.fields import Scope from cms.djangoapps.contentstore.config.waffle import SHOW_REVIEW_RULES_FLAG +from cms.djangoapps.contentstore.toggles import ENABLE_COPY_PASTE_UNITS from cms.djangoapps.models.settings.course_grading import CourseGradingModel from common.djangoapps.edxmako.services import MakoService from common.djangoapps.static_replace import replace_static_urls @@ -1346,6 +1347,9 @@ def create_xblock_info( # lint-amnesty, pylint: disable=too-many-statements else: xblock_info["staff_only_message"] = False + # If the ENABLE_COPY_PASTE_UNITS feature flag is enabled, we show the newer menu that allows copying/pasting + xblock_info["enable_copy_paste_units"] = ENABLE_COPY_PASTE_UNITS.is_enabled() + xblock_info[ "has_partition_group_components" ] = has_children_visible_to_specific_partition_groups(xblock) diff --git a/cms/djangoapps/pipeline_js/js/xmodule.js b/cms/djangoapps/pipeline_js/js/xmodule.js index c51b3280df66..44789c8cc6e2 100644 --- a/cms/djangoapps/pipeline_js/js/xmodule.js +++ b/cms/djangoapps/pipeline_js/js/xmodule.js @@ -24,9 +24,9 @@ define( function() { window.MathJax.Hub.Config({ styles: { - '.MathJax_SVG>svg': { 'max-width': '100%' }, + '.MathJax_SVG>svg': {'max-width': '100%'}, // This is to resolve for people who use center mathjax with tables - 'table>tbody>tr>td>.MathJax_SVG>svg': { 'max-width': 'inherit'}, + 'table>tbody>tr>td>.MathJax_SVG>svg': {'max-width': 'inherit'}, }, tex2jax: { inlineMath: [ @@ -38,9 +38,9 @@ define( ['[mathjax]', '[/mathjax]'] ] }, - CommonHTML: { linebreaks: { automatic: true } }, - SVG: { linebreaks: { automatic: true } }, - "HTML-CSS": { linebreaks: { automatic: true } }, + CommonHTML: {linebreaks: {automatic: true}}, + SVG: {linebreaks: {automatic: true}}, + 'HTML-CSS': {linebreaks: {automatic: true}}, }); // In order to eliminate all flashing during interactive @@ -54,28 +54,29 @@ define( window.addEventListener('resize', MJrenderer); let t = -1; + // eslint-disable-next-line prefer-const let delay = 1000; let oldWidth = document.documentElement.scrollWidth; function MJrenderer() { // don't rerender if the window is the same size as before if (t >= 0) { - window.clearTimeout(t); + window.clearTimeout(t); } if (oldWidth !== document.documentElement.scrollWidth) { t = window.setTimeout(function() { - oldWidth = document.documentElement.scrollWidth; - MathJax.Hub.Queue( - ["Rerender", MathJax.Hub], - [() => $('.MathJax_SVG>svg').toArray().forEach(el => { - if ($(el).width() === 0) { - $(el).css('max-width', 'inherit'); - } - })] - ); - t = -1; + oldWidth = document.documentElement.scrollWidth; + MathJax.Hub.Queue( + ['Rerender', MathJax.Hub], + [() => $('.MathJax_SVG>svg').toArray().forEach(el => { + if ($(el).width() === 0) { + $(el).css('max-width', 'inherit'); + } + })] + ); + t = -1; }, delay); } - }; + } } ); window.CodeMirror = CodeMirror; diff --git a/cms/envs/common.py b/cms/envs/common.py index 579b11af410f..0aab8cb0e288 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -2720,3 +2720,7 @@ DISCUSSIONS_INCONTEXT_FEEDBACK_URL = '' DISCUSSIONS_INCONTEXT_LEARNMORE_URL = '' + +#### django-simple-history## +# disable indexing on date field its coming django-simple-history. +SIMPLE_HISTORY_DATE_INDEX = False diff --git a/cms/pytest.ini b/cms/pytest.ini index add5ba084fc4..7f6e49c83e5b 100644 --- a/cms/pytest.ini +++ b/cms/pytest.ini @@ -12,8 +12,6 @@ filterwarnings = default ignore:No request passed to the backend, unable to rate-limit:UserWarning ignore::xblock.exceptions.FieldDataDeprecationWarning - ignore::django.utils.deprecation.RemovedInDjango40Warning - ignore::django.utils.deprecation.RemovedInDjango41Warning norecursedirs = envs python_classes = python_files = test.py tests.py test_*.py *_tests.py diff --git a/cms/static/cms/js/spec/main_spec.js b/cms/static/cms/js/spec/main_spec.js index 5b59db83315f..8b9f27d0bd73 100644 --- a/cms/static/cms/js/spec/main_spec.js +++ b/cms/static/cms/js/spec/main_spec.js @@ -3,6 +3,7 @@ (function(sandbox) { 'use strict'; + // eslint-disable-next-line global-require require(['jquery', 'backbone', 'cms/js/main', 'edx-ui-toolkit/js/utils/spec-helpers/ajax-helpers', 'jquery.cookie'], function($, Backbone, main, AjaxHelpers) { describe('CMS', function() { diff --git a/cms/static/js/certificates/spec/custom_matchers.js b/cms/static/js/certificates/spec/custom_matchers.js index 32e19dec6a27..00ac8ca6b954 100644 --- a/cms/static/js/certificates/spec/custom_matchers.js +++ b/cms/static/js/certificates/spec/custom_matchers.js @@ -1,6 +1,7 @@ // Custom matcher library for Jasmine test assertions // http://tobyho.com/2012/01/30/write-a-jasmine-matcher/ +// eslint-disable-next-line padded-blocks define(['jquery'], function($) { // eslint-disable-line no-unused-vars 'use strict'; diff --git a/cms/static/js/factories/container.js b/cms/static/js/factories/container.js index b98e0f99f286..4ad252708a67 100644 --- a/cms/static/js/factories/container.js +++ b/cms/static/js/factories/container.js @@ -8,6 +8,7 @@ import './base'; import 'cms/js/main'; import 'xblock/cms.runtime.v1'; +// eslint-disable-next-line no-unused-expressions 'use strict'; export default function ContainerFactory(componentTemplates, XBlockInfoJson, action, options) { var main_options = { diff --git a/cms/static/js/factories/context_course.js b/cms/static/js/factories/context_course.js index 24745295ec04..db9d5f6cd459 100644 --- a/cms/static/js/factories/context_course.js +++ b/cms/static/js/factories/context_course.js @@ -1,3 +1,4 @@ import * as ContextCourse from 'js/models/course'; +// eslint-disable-next-line import/prefer-default-export export {ContextCourse}; diff --git a/cms/static/js/factories/edit_tabs.js b/cms/static/js/factories/edit_tabs.js index cd82fd2d913e..68bbba27bd73 100644 --- a/cms/static/js/factories/edit_tabs.js +++ b/cms/static/js/factories/edit_tabs.js @@ -6,6 +6,7 @@ import 'cms/js/main'; import 'xblock/cms.runtime.v1'; import 'xmodule/js/src/xmodule'; // Force the XBlockToXModuleShim to load for Static Tabs +// eslint-disable-next-line no-unused-expressions 'use strict'; export default function EditTabsFactory(courseLocation, explicitUrl) { xmoduleLoader.done(function() { diff --git a/cms/static/js/factories/library.js b/cms/static/js/factories/library.js index c104b3b049d9..a444f81e8eca 100644 --- a/cms/static/js/factories/library.js +++ b/cms/static/js/factories/library.js @@ -9,6 +9,7 @@ import './base'; import 'cms/js/main'; import 'xblock/cms.runtime.v1'; +// eslint-disable-next-line no-unused-expressions 'use strict'; export default function LibraryFactory(componentTemplates, XBlockInfoJson, options) { var main_options = { diff --git a/cms/static/js/factories/outline.js b/cms/static/js/factories/outline.js index 57e2fa17abf3..caf7cbab0c54 100644 --- a/cms/static/js/factories/outline.js +++ b/cms/static/js/factories/outline.js @@ -3,12 +3,13 @@ define([ ], function(CourseOutlinePage, XBlockOutlineInfo) { 'use strict'; - return function(XBlockOutlineInfoJson, initialStateJson) { + return function(XBlockOutlineInfoJson, initialStateJson, initialUserClipboardJson) { var courseXBlock = new XBlockOutlineInfo(XBlockOutlineInfoJson, {parse: true}), view = new CourseOutlinePage({ el: $('#content'), model: courseXBlock, - initialState: initialStateJson + initialState: initialStateJson, + initialUserClipboard: initialUserClipboardJson, }); view.render(); }; diff --git a/cms/static/js/factories/settings.js b/cms/static/js/factories/settings.js index 34faec2eb11e..f8f927287c64 100644 --- a/cms/static/js/factories/settings.js +++ b/cms/static/js/factories/settings.js @@ -26,6 +26,7 @@ define([ model.useV2CertDisplaySettings = useV2CertDisplaySettings; model.set('upgrade_deadline', upgradeDeadline); model.fetch({ + // eslint-disable-next-line no-shadow success: function(model) { var editor = new MainView({ el: $('.settings-details'), diff --git a/cms/static/js/factories/textbooks.js b/cms/static/js/factories/textbooks.js index 4c2cec3130d1..c3ba710ebfda 100644 --- a/cms/static/js/factories/textbooks.js +++ b/cms/static/js/factories/textbooks.js @@ -4,6 +4,7 @@ import * as TextbookCollection from 'js/collections/textbook'; import * as ListTextbooksView from 'js/views/list_textbooks'; import './base'; +// eslint-disable-next-line no-unused-expressions 'use strict'; export default function TextbooksFactory(textbooksJson) { var textbooks = new TextbookCollection(textbooksJson, {parse: true}), diff --git a/cms/static/js/factories/xblock_validation.js b/cms/static/js/factories/xblock_validation.js index 9936208626d0..2fac53f463ca 100644 --- a/cms/static/js/factories/xblock_validation.js +++ b/cms/static/js/factories/xblock_validation.js @@ -1,6 +1,7 @@ import * as XBlockValidationView from 'js/views/xblock_validation'; import * as XBlockValidationModel from 'js/models/xblock_validation'; +// eslint-disable-next-line no-unused-expressions 'use strict'; export default function XBlockValidationFactory(validationMessages, hasEditingUrl, isRoot, isUnit, validationEle) { var model, response; diff --git a/cms/static/js/features/import/factories/import.js b/cms/static/js/features/import/factories/import.js index 6b81540dbe2b..5ec2ff09415f 100644 --- a/cms/static/js/features/import/factories/import.js +++ b/cms/static/js/features/import/factories/import.js @@ -129,6 +129,7 @@ define([ }, progressall: function(e, data) { + // eslint-disable-next-line no-mixed-operators var percentInt = data.loaded / data.total * 100, percentVal = parseInt(percentInt, 10) + '%', doneAt; diff --git a/cms/static/js/features_jsx/studio/CourseOrLibraryListing.jsx b/cms/static/js/features_jsx/studio/CourseOrLibraryListing.jsx index 767287d149f1..d9b4493e0c7e 100644 --- a/cms/static/js/features_jsx/studio/CourseOrLibraryListing.jsx +++ b/cms/static/js/features_jsx/studio/CourseOrLibraryListing.jsx @@ -3,11 +3,16 @@ import PropTypes from 'prop-types'; import React from 'react'; +// eslint-disable-next-line no-unused-vars import ReactDOM from 'react-dom'; +// eslint-disable-next-line import/prefer-default-export export function CourseOrLibraryListing(props) { + // eslint-disable-next-line prefer-destructuring const allowReruns = props.allowReruns; + // eslint-disable-next-line prefer-destructuring const linkClass = props.linkClass; + // eslint-disable-next-line prefer-destructuring const idBase = props.idBase; const renderCourseMetadata = (item, i) => ( @@ -84,6 +89,7 @@ export function CourseOrLibraryListing(props) { CourseOrLibraryListing.propTypes = { allowReruns: PropTypes.bool.isRequired, idBase: PropTypes.string.isRequired, + // eslint-disable-next-line react/forbid-prop-types items: PropTypes.arrayOf(PropTypes.object).isRequired, linkClass: PropTypes.string.isRequired, }; diff --git a/cms/static/js/i18n/ar/djangojs.js b/cms/static/js/i18n/ar/djangojs.js index 0e633a4e24f9..e7c5aae5ceb9 100644 --- a/cms/static/js/i18n/ar/djangojs.js +++ b/cms/static/js/i18n/ar/djangojs.js @@ -1527,7 +1527,6 @@ "Saved cohort": "\u0627\u0644\u0634\u064f\u0639\u0628 \u0627\u0644\u0645\u062d\u0641\u0648\u0638\u0629", "Saving": "\u062c\u0627\u0631\u064a \u0627\u0644\u062d\u0641\u0638", "Saving your email preference": "\u062c\u0627\u0631\u064a \u062d\u0641\u0638 \u062a\u0641\u0636\u064a\u0644\u0627\u062a \u0628\u0631\u064a\u062f\u0643 \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a", - "Saving...": "\u062c\u0627\u0631\u064a \u0627\u0644\u062d\u0641\u0638...", "Scheduled:": "\u0645\u062c\u062f\u0648\u064e\u0644:", "Scope": "\u0646\u0637\u0627\u0642 \u0627\u0644\u0639\u0645\u0644", "Search": "\u0627\u0644\u0628\u062d\u062b", @@ -1684,7 +1683,6 @@ "Starts: %(start_date)s": "\u064a\u0628\u062f\u0623 \u0628\u062a\u0627\u0631\u064a\u062e:%(start_date)s", "State": "\u0627\u0644\u062d\u0627\u0644\u0629", "Status": "\u0627\u0644\u062d\u0627\u0644\u0629", - "Status of Your Response": "\u062d\u0627\u0644\u0629 \u0631\u062f\u0651\u0643.", "Strikethrough": "\u062e\u0637 \u0634\u0637\u0628 ", "Student": "\u0627\u0644\u0637\u0627\u0644\u0628", "Student Removed from certificate allowlist successfully.": "\u062c\u0631\u062a \u0625\u0632\u0627\u0644\u0629 \u0627\u0633\u0645 \u0627\u0644\u0637\u0627\u0644\u0628 \u0645\u0646 \u0634\u0647\u0627\u062f\u0627\u062a \u0627\u0644\u0644\u0627\u0626\u062d\u0629 \u0627\u0644\u0645\u0633\u0645\u0648\u062d\u0629 \u0628\u0646\u062c\u0627\u062d.", @@ -1717,8 +1715,6 @@ "Successfully rescored problem for user {user}": "\u062c\u0631\u0649 \u0628\u0646\u062c\u0627\u062d \u0625\u0639\u0627\u062f\u0629 \u062a\u0642\u064a\u064a\u0645 \u0627\u0644\u0645\u0633\u0623\u0644\u0629 \u0644\u0644\u0645\u0633\u062a\u062e\u062f\u0645 {user}.", "Successfully rescored problem to improve score for user {user}": "\u062a\u0645\u062a \u0628\u0646\u062c\u0627\u062d \u0639\u0645\u0644\u064a\u0629 \u0625\u0639\u0627\u062f\u0629 \u062a\u0642\u064a\u064a\u0645 \u0627\u0644\u0645\u0633\u0623\u0644\u0629 \u0644\u062a\u062d\u0633\u064a\u0646 \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 {user}", "Successfully reset the attempts for user {user}": "\u062c\u0631\u0649 \u0628\u0646\u062c\u0627\u062d \u0625\u0639\u0627\u062f\u0629 \u0636\u0628\u0637 \u0639\u062f\u062f \u0645\u062d\u0627\u0648\u0644\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 {user}.", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "\u062c\u0631\u0649 \u0628\u0646\u062c\u0627\u062d \u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u0627\u0644\u062a\u0627\u0644\u064a\u0646 \u0639\u0628\u0631 \u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a \u062d\u0648\u0644 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u062a\u0633\u062c\u064a\u0644\u060c \u0648\u0633\u064a\u064f\u0633\u0645\u062d \u0644\u0647\u0645 \u0628\u0627\u0644\u0627\u0644\u062a\u062d\u0627\u0642 \u0628\u0627\u0644\u0645\u0633\u0627\u0642 \u062d\u0627\u0644\u0645\u0627 \u064a\u0633\u062c\u0651\u0644\u0648\u0646 \u0623\u0646\u0641\u0633\u0647\u0645: ", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "\u062c\u0631\u0649 \u0628\u0646\u062c\u0627\u062d \u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u0627\u0644\u062a\u0627\u0644\u064a\u0646 \u0639\u0628\u0631 \u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a \u062d\u0648\u0644 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u062a\u0633\u062c\u064a\u0644\u060c \u0648\u0633\u064a\u062c\u0631\u064a \u0625\u0644\u062d\u0627\u0642\u0647\u0645 \u0628\u0627\u0644\u0645\u0633\u0627\u0642 \u062d\u0627\u0644\u0645\u0627 \u064a\u0633\u062c\u0651\u0644\u0648\u0646 \u0623\u0646\u0641\u0633\u0647\u0645: ", "Successfully started task to rescore problem '<%- problem_id %>' for all students. Click the 'Show Task Status' button to see the status of the task.": "\u062a\u0645 \u0628\u0646\u062c\u0627\u062d \u0628\u062f\u0621 \u0645\u0647\u0645\u0629 \u0625\u0639\u0627\u062f\u0629 \u0636\u0628\u0637 \u0639\u062f\u062f \u0645\u062d\u0627\u0648\u0644\u0627\u062a \u062d\u0644\u0651 \u0627\u0644\u0645\u0633\u0623\u0644\u0629 \u0631\u0642\u0645 \u2019<%- problem_id %>\u2018 \u0644\u0643\u0627\u0641\u0629 \u0627\u0644\u0637\u0644\u0627\u0628. \u064a\u064f\u0631\u062c\u0649 \u0627\u0644\u0646\u0642\u0631 \u0639\u0644\u0649 \u0632\u0631 \u2019\u0639\u0631\u0636 \u062d\u0627\u0644\u0629 \u0627\u0644\u0645\u0647\u0645\u0629\u2018 \u0644\u0644\u0627\u0637\u0651\u0644\u0627\u0639 \u0639\u0644\u0649 \u062d\u0627\u0644\u0629 \u0627\u0644\u0645\u0647\u0645\u0629.", "Successfully started task to reset attempts for problem '<%- problem_id %>'. Click the 'Show Task Status' button to see the status of the task.": "\u062a\u0645 \u0628\u0646\u062c\u0627\u062d \u0628\u062f\u0621 \u0645\u0647\u0645\u0629 \u0625\u0639\u0627\u062f\u0629 \u0636\u0628\u0637 \u0639\u062f\u062f \u0645\u062d\u0627\u0648\u0644\u0627\u062a \u062d\u0644\u0651 \u0627\u0644\u0645\u0633\u0623\u0644\u0629 \u2019<%- problem_id %>\u2018.\u064a\u064f\u0631\u062c\u0649 \u0627\u0644\u0646\u0642\u0631 \u0639\u0644\u0649 \u0632\u0631 \u2019\u0639\u0631\u0636 \u062d\u0627\u0644\u0629 \u0627\u0644\u0645\u0647\u0645\u0629\u2018 \u0644\u0644\u0627\u0637\u0651\u0644\u0627\u0639 \u0639\u0644\u0649 \u062d\u0627\u0644\u0629 \u0627\u0644\u0645\u0647\u0645\u0629.", "Successfully unlinked.": "\u0646\u062c\u062d \u0641\u0635\u0644 \u0627\u0644\u0631\u0628\u0637", @@ -1923,12 +1919,9 @@ "This problem has been reset.": "\u062a\u0645 \u0625\u0639\u0627\u062f\u0629 \u0636\u0628\u0637 \u0647\u0630\u0647 \u0627\u0644\u0645\u0633\u0623\u0644\u0629.", "This response could not be marked as an answer. Refresh the page and try again.": "\u062a\u0639\u0630\u0631 \u062a\u062d\u062f\u064a\u062f \u0647\u0630\u0627 \u0627\u0644\u0631\u062f \u0628\u0623\u0646\u0647 \u0625\u062c\u0627\u0628\u0629\u060c \u0641\u0636\u0644\u064b\u0627 \u0642\u0645 \u0628\u062a\u062d\u062f\u064a\u062b \u0627\u0644\u0635\u0641\u062d\u0629 \u0648\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629.", "This response could not be marked as endorsed. Refresh the page and try again.": "\u062a\u0639\u0630\u0631 \u062a\u062d\u062f\u064a\u062f \u0647\u0630\u0627 \u0627\u0644\u0631\u062f \u0628\u0623\u0646\u0647 \u0645\u0624\u064a\u062f\u060c \u0641\u0636\u0644\u064b\u0627 \u0642\u0645 \u0628\u062a\u062d\u062f\u064a\u062b \u0627\u0644\u0635\u0641\u062d\u0629 \u0648\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629.", - "This response could not be saved.": "\u062a\u0639\u0630\u0651\u0631 \u062d\u0641\u0638 \u0647\u0630\u0627 \u0627\u0644\u0631\u062f!", "This response could not be submitted.": "\u062a\u0639\u0630\u0651\u0631 \u062a\u0642\u062f\u064a\u0645 \u0647\u0630\u0627 \u0627\u0644\u0631\u062f.", "This response could not be unendorsed. Refresh the page and try again.": "\u062a\u0639\u0630\u0631 \u0625\u0644\u063a\u0627\u0621 \u062a\u0623\u064a\u064a\u062f \u0647\u0630\u0627 \u0627\u0644\u0631\u062f\u060c \u0641\u0636\u0644\u064b\u0627 \u0642\u0645 \u0628\u062a\u062d\u062f\u064a\u062b \u0627\u0644\u0635\u0641\u062d\u0629 \u0648\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629.", "This response could not be unmarked as an answer. Refresh the page and try again.": "\u062a\u0639\u0630\u0631 \u0625\u0644\u063a\u0627\u0621 \u062a\u062d\u062f\u064a\u062f \u0647\u0630\u0627 \u0627\u0644\u0631\u062f \u0628\u0623\u0646\u0647 \u0625\u062c\u0627\u0628\u0629\u060c \u0641\u0636\u0644\u064b\u0627 \u0642\u0645 \u0628\u062a\u062d\u062f\u064a\u062b \u0627\u0644\u0635\u0641\u062d\u0629 \u0648\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629.", - "This response has been saved but not submitted.": "\u062d\u064f\u0641\u0651\u0650\u0638 \u0647\u0630\u0627 \u0627\u0644\u0631\u062f\u0651 \u0648\u0644\u0643\u0646 \u0644\u0645 \u064a\u064f\u0642\u062f\u0651\u0645 \u0628\u0639\u062f. ", - "This response has not been saved.": "\u0644\u0645 \u064a\u064f\u062d\u0641\u0651\u0638 \u0647\u0630\u0627 \u0627\u0644\u0631\u062f\u0651 \u0628\u0639\u062f.", "This role requires a divided discussions scheme.": "\u064a\u062a\u0637\u0644\u0628 \u0647\u0630\u0627 \u0627\u0644\u062f\u0648\u0631 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0645\u062e\u0637\u0637 \u0627\u0644\u0645\u062d\u0627\u062f\u062b\u0627\u062a \u0645\u0642\u0633\u0651\u0645\u0627.", "This section could not be loaded.": "\u0644\u0645 \u0646\u0633\u062a\u0637\u0639 \u062a\u062d\u0645\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u0642\u0633\u0645.", "This short name for the assignment type (for example, HW or Midterm) appears next to assignments on a learner's Progress page.": "\u064a\u0638\u0647\u0631 \u0627\u0644\u0627\u0633\u0645 \u0627\u0644\u0645\u062e\u062a\u0635\u0631 \u0644\u0646\u0648\u0639 \u0627\u0644\u0645\u0647\u0645\u0651\u0629 (\u0645\u062b\u0644 HW \u0623\u0648 Midterm) \u0628\u062c\u0627\u0646\u0628 \u0627\u0644\u0645\u0647\u0627\u0645 \u0641\u064a \u0635\u0641\u062d\u0629 \u0627\u0644\u062a\u0637\u0648\u0651\u0631 \u0627\u0644\u062e\u0627\u0635\u0651\u0629 \u0628\u0627\u0644\u0645\u062a\u0639\u0644\u0651\u0645.", diff --git a/cms/static/js/i18n/ca/djangojs.js b/cms/static/js/i18n/ca/djangojs.js index d11cb7ac27dd..7f2f3453e4a3 100644 --- a/cms/static/js/i18n/ca/djangojs.js +++ b/cms/static/js/i18n/ca/djangojs.js @@ -834,8 +834,6 @@ "Successfully enrolled the following users:": "Els seg\u00fcents usuaris han estat donats d'alta correctament:", "Successfully rescored problem for user {user}": "S'ha pogut reescriure la puntuaci\u00f3 del problema de l'usuari {user}", "Successfully reset the attempts for user {user}": "S'han reiniciat amb \u00e8xit els intents per l'usuari {user}", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "S'han enviat correctament els emails d'alta dels seg\u00fcents usuaris. Es podran donar d'alta un cop s'enregistrin:", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "S'han enviat correctament els emails d'alta als seg\u00fcents usuaris. Seran donats d'alta un cop s'enregistrin:", "Support education research by providing additional information": "Donar suport a la recerca en educaci\u00f3 proporcionant informaci\u00f3 addicional", "Supported": "Compatible", "Supported file types: {supportedVideoTypes}": "Tipus de fitxers admesos: {supportedVideoTypes}", diff --git a/cms/static/js/i18n/ca@valencia/djangojs.js b/cms/static/js/i18n/ca@valencia/djangojs.js index 71522042ffc2..7d8b7695a73d 100644 --- a/cms/static/js/i18n/ca@valencia/djangojs.js +++ b/cms/static/js/i18n/ca@valencia/djangojs.js @@ -834,8 +834,6 @@ "Successfully enrolled the following users:": "Els seg\u00fcents usuaris han estat donats d'alta correctament:", "Successfully rescored problem for user {user}": "S'ha pogut reescriure la puntuaci\u00f3 del problema de l'usuari {user}", "Successfully reset the attempts for user {user}": "S'han reiniciat amb \u00e8xit els intents per l'usuari {user}", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "S'han enviat correctament els emails d'alta dels seg\u00fcents usuaris. Es podran donar d'alta un cop s'enregistrin:", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "S'han enviat correctament els emails d'alta als seg\u00fcents usuaris. Seran donats d'alta un cop s'enregistrin:", "Support education research by providing additional information": "Donar suport a la recerca en educaci\u00f3 proporcionant informaci\u00f3 addicional", "Supported": "Compatible", "Supported file types: {supportedVideoTypes}": "Tipus de fitxers admesos: {supportedVideoTypes}", diff --git a/cms/static/js/i18n/cs/djangojs.js b/cms/static/js/i18n/cs/djangojs.js index 74d800fab444..32d8f9d56063 100644 --- a/cms/static/js/i18n/cs/djangojs.js +++ b/cms/static/js/i18n/cs/djangojs.js @@ -143,6 +143,7 @@ "Vybran\u00fdch je %(sel)s polo\u017eek z celkem %(cnt)s.", "Vybran\u00fdch je %(sel)s polo\u017eek z celkem %(cnt)s." ], + "(required):": "(vy\u017eadovan\u00e9):", "6 a.m.": "6h r\u00e1no", "6 p.m.": "6h ve\u010der", "Additional Time (minutes)": "Dal\u0161\u00ed \u010das (v minut\u00e1ch)", @@ -150,11 +151,17 @@ "All Unreviewed": "V\u0161e nezkontrolov\u00e1no", "All Unreviewed Failures": "V\u0161echna nezkontrolovan\u00e1 selh\u00e1n\u00ed", "April": "duben", + "Are you sure you want to delete the following file? It cannot be restored.\nFile: ": "Jste si opravdu jisti, \u017ee chcete odstranit n\u00e1sleduj\u00edc\u00ed soubor? Soubor nem\u016f\u017ee b\u00fdt obnoven.\nSoubor: ", + "Assessment": "Hodnocen\u00ed", + "Assessments": "Hodnocen\u00ed", "August": "srpen", "Available %s": "Dostupn\u00e9 polo\u017eky: %s", + "Back to Full List": "Zp\u011bt na cel\u00fd seznam", + "Block view is unavailable": "Zobrazen\u00ed blok\u016f nen\u00ed k dispozici", "Can I request additional time to complete my exam?": "Mohu po\u017e\u00e1dat o dal\u0161\u00ed \u010das na dokon\u010den\u00ed zkou\u0161ky?", "Cancel": "Storno", "Cannot update attempt review status": "Stav kontroly pokusu nelze aktualizovat", + "Changes to steps that are not selected as part of the assignment will not be saved.": "Zm\u011bny krok\u016f, kter\u00e9 nejsou vybr\u00e1ny jako sou\u010d\u00e1st p\u0159i\u0159azen\u00ed, nebudou ulo\u017eeny.", "Choose": "Vybrat", "Choose a Date": "Vyberte datum", "Choose a Time": "Vyberte \u010das", @@ -164,41 +171,74 @@ "Click to choose all %s at once.": "Chcete-li najednou vybrat v\u0161echny polo\u017eky %s, klepn\u011bte sem.", "Click to remove all chosen %s at once.": "Chcete-li najednou odebrat v\u0161echny vybran\u00e9 polo\u017eky %s, klepn\u011bte sem.", "Close": "Zav\u0159\u00edt", + "Confirm": "Potvrdit", + "Confirm Delete Uploaded File": "Potvr\u010fte smaz\u00e1n\u00ed nahran\u00e9ho souboru", + "Confirm Grade Team Submission": "Potvr\u010fte odevzd\u00e1n\u00ed t\u00fdmov\u00e9ho hodnocen\u00ed", + "Confirm Submit Response": "Potvr\u010fte odesl\u00e1n\u00ed odpov\u011bdi", "Continue Exam Without Proctoring": "Pokra\u010dovat ve zkou\u0161ce bez dozoru", "Continue to my practice exam": "Pokra\u010dujte k m\u00e9 praktick\u00e9 zkou\u0161ce", "Continue to my proctored exam.": "Pokra\u010dujte k m\u00e9 dozorovan\u00e9 zkou\u0161ce.", "Continue to onboarding": "Pokra\u010dujte k registraci", "Copy Exam Code": "Zkop\u00edrujte k\u00f3d zkou\u0161ky", + "Could not load teams information.": "Nepoda\u0159ilo se na\u010d\u00edst informace o t\u00fdmech.", + "Could not retrieve download url.": "Nelze z\u00edskat url pro stahov\u00e1n\u00ed.", + "Could not retrieve upload url.": "Nelze z\u00edskat url pro nahr\u00e1v\u00e1n\u00ed.", "Course Id": "ID kurzu", "Created": "Vytvo\u0159eno", + "Criterion Added": "Krit\u00e9rium p\u0159id\u00e1no", + "Criterion Deleted": "Krit\u00e9rium smaz\u00e1no", "December": "prosinec", "Declined": "Odm\u00edtnuto", + "Demo the new Grading Experience": "P\u0159edve\u010fte nov\u00e9 hodnocen\u00ed", + "Describe ": "Popsat", "Download Software Clicked": "Sta\u017een\u00ed softwaru Kliknuto", "End My Exam": "Ukon\u010dit mou zkou\u0161ku", "Ending Exam": "Z\u00e1v\u011bre\u010dn\u00e1 zkou\u0161ka", "Enter a valid positive value number": "Zadejte platn\u00e9 kladn\u00e9 \u010d\u00edslo", "Enter a valid username or email": "Zadejte platn\u00e9 u\u017eivatelsk\u00e9 jm\u00e9no nebo e-mail", "Error": "Chyba", + "Error getting the number of ungraded responses": "Vyskytla se chyba pri z\u00edsk\u00e1v\u00e1n\u00ed po\u010dtu neklasifikovan\u00fdch odpov\u011bd\u00ed", + "Error when looking up username": "Hled\u00e1n\u00ed u\u017eivatelsk\u00e9ho jm\u00e9na selhalo", + "Error while fetching student data.": "Vyskytla se chyba p\u0159i z\u00edsk\u00e1v\u00e1n\u00ed dat studenta", + "Errors detected on the following tabs: ": "Chyby zji\u0161t\u011bn\u00e9 na n\u00e1sleduj\u00edc\u00edch kart\u00e1ch:", "Failed Proctoring": "Dozorov\u00e1n\u00ed se nezda\u0159ilo", + "Failed to clone rubric": "Klonov\u00e1n\u00ed rubriky se nezda\u0159ilo", "February": "\u00fanor", + "Feedback available for selection.": "Zp\u011btn\u00e1 vazba k dispozici pro v\u00fdb\u011br.", + "File types can not be empty.": "Typ souboru nem\u016f\u017ee b\u00fdt pr\u00e1zdn\u00fd", + "File upload failed: unsupported file type. Only the supported file types can be uploaded. If you have questions, please reach out to the course team.": "Nahr\u00e1n\u00ed souboru se nezda\u0159ilo: nepodporovan\u00fd typ souboru. Nahr\u00e1t lze pouze podporovan\u00e9 typy soubor\u016f. M\u00e1te-li dotazy, obra\u0165te se na t\u00fdm kurzu.", "Filter": "Filtr", + "Final Grade Received": "P\u0159ijato z\u00e1v\u011bre\u010dn\u00e9 hodnocen\u00ed", "Go Back": "J\u00edt zp\u011bt", + "Grade Status": "Stav klasifikace", "Have a computer with a functioning webcam": "M\u00edt po\u010d\u00edta\u010d s funk\u010dn\u00ed webovou kamerou", "Have your valid photo ID (e.g. driver's license or passport) ready": "P\u0159ipravte si platn\u00fd pr\u016fkaz toto\u017enosti s fotografi\u00ed (nap\u0159. \u0159idi\u010dsk\u00fd pr\u016fkaz nebo pas).", + "Heading 3": "Nadpis 3", + "Heading 4": "Nadpis 4", + "Heading 5": "Nadpis 5", + "Heading 6": "Nadpis 6", "Hide": "Skr\u00fdt", + "However, {overwritten_count} of these students have received a grade through the staff grade override tool already.": "{overwritten_count} z t\u011bchto student\u016f v\u0161ak ji\u017e obdr\u017eeli zn\u00e1mku prost\u0159ednictv\u00edm n\u00e1stroje pro p\u0159epis hodnocen\u00ed u\u010ditel\u016f.", "I am ready to start this timed exam,": "Jsem p\u0159ipraven zah\u00e1jit tuto m\u011b\u0159enou zkou\u0161ku,", "I understand and want to reset this onboarding exam.": "Rozum\u00edm a chci resetovat tuto vstupn\u00ed zkou\u0161ku.", "If the proctoring software window is still open, close it now and confirm that you want to quit the application.": "Pokud je okno proctoring software st\u00e1le otev\u0159en\u00e9, zav\u0159ete jej nyn\u00ed a potvr\u010fte, \u017ee chcete ukon\u010dit aplikaci.", + "If you leave this page without saving or submitting your response, you will lose any work you have done on the response.": "Pokud opust\u00edte tuto str\u00e1nku bez ulo\u017een\u00ed nebo odesl\u00e1n\u00ed odpov\u011bdi, ztrat\u00edte v\u0161echnu pr\u00e1ci, kterou jste na odpov\u011bdi vykonali.", + "If you leave this page without submitting your peer assessment, you will lose any work you have done.": "Pokud opust\u00edte tuto str\u00e1nku bez odesl\u00e1n\u00ed sv\u00e9ho vz\u00e1jemn\u00e9ho hodnocen\u00ed, ztrat\u00edte v\u0161echnu pr\u00e1ci.", + "If you leave this page without submitting your self assessment, you will lose any work you have done.": "Pokud opust\u00edte tuto str\u00e1nku bez odesl\u00e1n\u00ed sv\u00e9ho sebehodnocen\u00ed, ztrat\u00edte v\u0161echnu pr\u00e1ci.", + "If you leave this page without submitting your staff assessment, you will lose any work you have done.": "Pokud opust\u00edte tuto str\u00e1nku bez odesl\u00e1n\u00ed sv\u00e9ho hodnocen\u00ed u\u010ditel\u016f, ztrat\u00edte v\u0161echnu pr\u00e1ci.", + "Individual file size must be {max_files_mb}MB or less.": "Jednotliv\u00e9 soubory mus\u00ed m\u00edt velikost {max_files_mb}MB nebo m\u00e9n\u011b.", "Is Resumable": "Je mo\u017en\u00e9 obnovit", "Is Sample Attempt": "Je uk\u00e1zkov\u00fd pokus", "January": "leden", "July": "\u010dervenec", "June": "\u010derven", + "List of Open Assessments is unavailable": "Seznam otev\u0159en\u00fdch hodnocen\u00ed nen\u00ed k dispozici", "Make sure that you have selected \"Submit\" for each answer before you submit your exam.": "P\u0159ed odesl\u00e1n\u00edm zkou\u0161ky se ujist\u011bte, \u017ee jste u ka\u017ed\u00e9 odpov\u011bdi vybrali \u201eOdeslat\u201c.", "March": "b\u0159ezen", "May": "kv\u011bten", "Midnight": "P\u016flnoc", "Missing required query parameter course_id": "Chyb\u00ed po\u017eadovan\u00fd parametr dotazu course_id", + "Multiple teams returned for course": "N\u011bkolik t\u00fdm\u016f se vr\u00e1tilo do kurzu", "Must be a Staff User to Perform this request.": "K proveden\u00ed tohoto po\u017eadavku mus\u00edte b\u00fdt u\u010ditelem.", "Navigate to onboarding exam": "P\u0159ejd\u011bte na vstupn\u00ed zkou\u0161ku", "No exams in course {course_id}.": "\u017d\u00e1dn\u00e9 zkou\u0161ky v kurzu {course_id}.", @@ -206,6 +246,7 @@ "No onboarding status API for {proctor_service}": "\u017d\u00e1dn\u00e9 rozhran\u00ed API pro stav registrace pro {proctor_service}", "No proctored exams in course {course_id}": "\u017d\u00e1dn\u00e9 chr\u00e1n\u011bn\u00e9 zkou\u0161ky v kurzu {course_id}", "Noon": "Poledne", + "Not Selected": "Nevybran\u00fd", "Note: You are %s hour ahead of server time.": [ "Pozn\u00e1mka: V\u00e1\u0161 \u010das o %s hodinu p\u0159edstihuje \u010das na serveru.", "Pozn\u00e1mka: V\u00e1\u0161 \u010das o %s hodiny p\u0159edstihuje \u010das na serveru.", @@ -227,10 +268,19 @@ "Onboarding Pending": "Registrace \u010dek\u00e1 na vy\u0159\u00edzen\u00ed", "Onboarding status question": "Ot\u00e1zka stavu registrace", "Once you click \"Yes, end my proctored exam\", the exam will be closed, and your proctoring session will be submitted for review.": "Jakmile kliknete na \u201eAno, ukon\u010dit mou dozorovanou zkou\u0161ku\u201c, bude zkou\u0161ka uzav\u0159ena a va\u0161e dozorovan\u00e1 relace bude odesl\u00e1na ke kontrole.", + "One or more rescheduling tasks failed.": "Jedna nebo v\u00edce zm\u011bn term\u00edn\u016f selhaly.", + "Option Deleted": "Mo\u017enost odebr\u00e1na", + "Paragraph": "Odstavec", "Passed Proctoring": "Dozor prob\u011bhl", + "Peer": "Spolu\u017e\u00e1ci", + "Peer Responses Received": "P\u0159ijat\u00e9 odpov\u011bdi spolu\u017e\u00e1k\u016f", + "Peers Assessed": "Hodnoceno spolu\u017e\u00e1ky", "Pending Session Review": "\u010cek\u00e1 na kontrolu relace", + "Please wait": "\u010cekejte pros\u00edm", "Practice Exam Completed": "Cvi\u010dn\u00e1 zkou\u0161ka dokon\u010dena", "Practice Exam Failed": "Cvi\u010dn\u00e1 zkou\u0161ka se nezda\u0159ila", + "Preformatted": "P\u0159edem naform\u00e1tov\u00e1no", + "Problem cloning rubric": "Rubrika Probl\u00e9m klonov\u00e1n\u00ed", "Proctored Option Available": "Mo\u017enost dozorov\u00e1n\u00ed k dispozici", "Proctored Option No Longer Available": "Mo\u017enost dozorov\u00e1n\u00ed ji\u017e nen\u00ed k dispozici", "Proctored exam {exam_name} in {course_name} for user {username}": "Dozorovan\u00e1 zkou\u0161ka {exam_name} v {course_name} pro u\u017eivatele {username}", @@ -240,6 +290,7 @@ "Ready To Start": "P\u0159ipraven za\u010d\u00edt", "Ready To Submit": "P\u0159ipraveno k odesl\u00e1n\u00ed", "Ready to Resume": "P\u0159ipraveno k obnoven\u00ed", + "Refresh": "Obnovit", "Rejected": "Odm\u00edtnuto", "Remove": "Odebrat", "Remove all": "Odebrat v\u0161e", @@ -247,9 +298,15 @@ "Resumed": "Obnoveno", "Retry my exam": "Opakujte zkou\u0161ku", "Review Policy Exception": "V\u00fdjimka z\u00e1sad revize", + "Save Unsuccessful": "Ukl\u00e1d\u00e1n\u00ed se nezda\u0159ilo", "Second Review Required": "Druh\u00e9 p\u0159ezkoum\u00e1n\u00ed je vy\u017eadov\u00e1no", + "Self": "Vlastn\u00ed", "September": "z\u00e1\u0159\u00ed", + "Server error.": "Chyba serveru.", "Show": "Zobrazit", + "Staff": "U\u010ditel\u00e9", + "Staff Grader": "U\u010ditelsk\u00fd srovn\u00e1va\u010d", + "Staff assessment": "Hodnocen\u00ed u\u010ditel\u016f", "Start Exam": "Zah\u00e1jit zkou\u0161ku", "Start System Check": "Spus\u0165te kontrolu syst\u00e9mu", "Start my exam": "Za\u010d\u00edt moji zkou\u0161ku", @@ -260,26 +317,62 @@ "Taking As Open Exam": "Skl\u00e1d\u00e1n\u00ed jako otev\u0159en\u00e1 zkou\u0161ka", "Taking As Proctored Exam": "Absolvov\u00e1n\u00ed zkou\u0161ky jako Dozorovan\u00e9", "Taking as Proctored": "Podstoupit jako dozorovanou", + "The \"{name}\" problem is configured to require a minimum of {min_grades} peer grades, and asks to review {min_graded} peers.": "Probl\u00e9m \u201e{name}\u201c je nakonfigurov\u00e1n tak, aby vy\u017eadoval minim\u00e1ln\u011b {min_grades} rovnocenn\u00e9 hodnocen\u00ed a po\u017eadoval kontrolu {min_graded} spolu\u017e\u00e1k\u016f.", + "The display of ungraded and checked out responses could not be loaded.": "Zobrazen\u00ed nehodnocen\u00fdch a odhl\u00e1\u0161en\u00fdch odpov\u011bd\u00ed se nepoda\u0159ilo na\u010d\u00edst.", + "The following file types are not allowed: ": "N\u00e1sleduj\u00edc\u00ed typy soubor\u016f nejsou povolen\u00e9: ", + "The maximum number files that can be saved is ": "Maxim\u00e1ln\u00ed po\u010det soubor\u016f, kter\u00e9 lze ulo\u017eit, je", "The onboarding service is temporarily unavailable. Please try again later.": "Slu\u017eba onboarding je do\u010dasn\u011b nedostupn\u00e1. Pros\u00edm zkuste to znovu pozd\u011bji.", + "The server could not be contacted.": "Spojen\u00ed se serverem se nezda\u0159ilo.", + "The staff assessment form could not be loaded.": "Nebylo mo\u017en\u00e9 na\u010d\u00edst formul\u00e1\u0159 pro hodnocen\u00ed u\u010ditel\u016f.", + "The submission could not be removed from the grading pool.": "P\u0159\u00edsp\u011bvek se nepoda\u0159ilo odebrat z fondu hodnocen\u00ed.", + "There are currently {stuck_learners} learners in the waiting state, meaning they have not yet met all requirements for Peer Assessment. ": "V sou\u010dasn\u00e9 dob\u011b je ve stavu \u010dek\u00e1n\u00ed {stuck_learners} student\u016f, co\u017e znamen\u00e1, \u017ee je\u0161t\u011b nesplnili v\u0161echny po\u017eadavky na Vz\u00e1jemn\u00e9 hodnocen\u00ed.", "There is no onboarding exam accessible to this user.": "Tento u\u017eivatel nem\u00e1 p\u0159\u00edstup k \u017e\u00e1dn\u00e9 vstupn\u00ed zkou\u0161ce.", "There is no onboarding exam related to this course id.": "S t\u00edmto ID kurzu nesouvis\u00ed \u017e\u00e1dn\u00e1 vstupn\u00ed zkou\u0161ka.", + "This ORA has already been released. Changes will only affect learners making new submissions. Existing submissions will not be modified by this change.": "Tato ORA ji\u017e byla vyd\u00e1na. Zm\u011bny ovlivn\u00ed pouze studenty, kte\u0159\u00ed p\u0159id\u00e1vaj\u00ed nov\u00e9 p\u0159\u00edsp\u011bvky. St\u00e1vaj\u00edc\u00ed p\u0159\u00edsp\u011bvky nebudou touto zm\u011bnou upraveny.", + "This assessment could not be submitted.": "Va\u0161e hodnocen\u00ed se nepoda\u0159ilo odeslat.", "This exam has a time limit associated with it.": "S touto zkou\u0161kou je spojen \u010dasov\u00fd limit.", + "This feedback could not be submitted.": "Va\u0161i zp\u011btnou vazbu se nepoda\u0159ilo odeslat.", + "This grade will be applied to all members of the team. Do you want to continue?": "Tato zn\u00e1mka bude aplikov\u00e1na na v\u0161echny \u010dleny t\u00fdmu. Chcete pokra\u010dovat?", "This is the list of available %s. You may choose some by selecting them in the box below and then clicking the \"Choose\" arrow between the two boxes.": "Seznam dostupn\u00fdch polo\u017eek %s. Jednotliv\u011b je lze vybrat tak, \u017ee na n\u011b v r\u00e1me\u010dku klepnete a pak klepnete na \u0161ipku \"Vybrat\" mezi r\u00e1me\u010dky.", "This is the list of chosen %s. You may remove some by selecting them in the box below and then clicking the \"Remove\" arrow between the two boxes.": "Seznam vybran\u00fdch polo\u017eek %s. Jednotliv\u011b je lze odebrat tak, \u017ee na n\u011b v r\u00e1me\u010dku klepnete a pak klepnete na \u0161ipku \"Odebrat mezi r\u00e1me\u010dky.", + "This problem could not be saved.": "Tato \u00faloha nem\u016f\u017ee b\u00fdt ulo\u017eena.", + "This response could not be submitted.": "Va\u0161i odpov\u011b\u010f se nepoda\u0159ilo odeslat.", + "This section could not be loaded.": "Tento odd\u00edl nebylo mo\u017en\u00e9 na\u010d\u00edst.", + "Thumbnail view of ": "N\u00e1hled ", + "Time Spent On Current Step": "\u010cas str\u00e1ven\u00fd na aktu\u00e1ln\u00edm kroku", "Timed Exam": "\u010casovan\u00e1 zkou\u0161ka", "Timed Out": "Vypr\u0161elo", "To pass this exam, you must complete the problems in the time allowed.": "Chcete-li tuto zkou\u0161ku slo\u017eit, mus\u00edte vy\u0159e\u0161it probl\u00e9my v povolen\u00e9m \u010dase.", "Today": "Dnes", "Tomorrow": "Z\u00edtra", + "Total Responses": "Celkov\u00fd po\u010det odpov\u011bd\u00ed", + "Training": "Tr\u00e9nink", "Type into this box to filter down the list of available %s.": "Chcete-li filtrovat ze seznamu dostupn\u00fdch polo\u017eek %s, za\u010dn\u011bte ps\u00e1t do tohoto pole.", + "Unable to load": "Nelze na\u010d\u00edst", + "Unexpected server error.": "Ne\u010dekan\u00e1 chyba serveru.", "Ungraded Practice Exam": "Neklasifikovan\u00e1 praktick\u00e1 zkou\u0161ka", + "Unit Name": "N\u00e1zev jednotky", + "Units": "Jednotky", + "Unnamed Option": "Nepojmenovan\u00e1 mo\u017enost", + "User lookup failed": "Hled\u00e1n\u00ed u\u017eivatele selhalo", + "Username": "U\u017eivatelsk\u00e9 jm\u00e9no", "Verified": "Verifikovan\u00fd", + "View and grade responses": "Zobrazit a ohodnotit odpov\u011bdi", "View my exam": "Zobrazit mou zkou\u0161ku", + "Waiting": "\u010cek\u00e1n\u00ed", + "Warning": "Varov\u00e1n\u00ed", "Yes, end my proctored exam": "Ano, ukon\u010dete moji proctorovanou zkou\u0161ku", "Yesterday": "V\u010dera", + "You have added a criterion. You will need to select an option for the criterion in the Learner Training step. To do this, click the Assessment Steps tab.": "P\u0159idali jste krit\u00e9rium. Budete muset vybrat mo\u017enost pro krit\u00e9rium v kroku \u0160kolen\u00ed \u017e\u00e1ka. Chcete-li to prov\u00e9st, klepn\u011bte na kartu Kroky hodnocen\u00ed.", + "You have deleted a criterion. The criterion has been removed from the example responses in the Learner Training step.": "Smazali jste krit\u00e9rium. Krit\u00e9rium bylo odstran\u011bno z p\u0159\u00edklad\u016f odpov\u011bd\u00ed v kroku \u0160kolen\u00ed \u017e\u00e1ka.", + "You have deleted all the options for this criterion. The criterion has been removed from the sample responses in the Learner Training step.": "Smazali jste v\u0161echny mo\u017enosti pro toto krit\u00e9rium. Krit\u00e9rium bylo odstran\u011bno z uk\u00e1zkov\u00fdch odpov\u011bd\u00ed v kroku \u0160kolen\u00ed \u017e\u00e1ka.", + "You have deleted an option. That option has been removed from its criterion in the sample responses in the Learner Training step. You might have to select a new option for the criterion.": "Smazali jste mo\u017enost. Tato mo\u017enost byla odstran\u011bna z krit\u00e9ria ve vzorov\u00fdch odpov\u011bd\u00edch v kroku \u0160kolen\u00ed \u017e\u00e1ka. Mo\u017en\u00e1 budete muset vybrat novou mo\u017enost pro krit\u00e9rium.", "You have selected an action, and you haven\u2019t made any changes on individual fields. You\u2019re probably looking for the Go button rather than the Save button.": "Byla vybr\u00e1na operace, ale dosud nedo\u0161lo k ulo\u017een\u00ed zm\u011bn jednotliv\u00fdch pol\u00ed. Patrn\u011b vyu\u017eijete tla\u010d\u00edtko Prov\u00e9st sp\u00ed\u0161e ne\u017e tla\u010d\u00edtko Ulo\u017eit.", "You have selected an action, but you haven\u2019t saved your changes to individual fields yet. Please click OK to save. You\u2019ll need to re-run the action.": "Byla vybr\u00e1na operace, ale dosud nedo\u0161lo k ulo\u017een\u00ed zm\u011bn jednotliv\u00fdch pol\u00ed. Ulo\u017e\u00edte klepnut\u00edm na tla\u010d\u00edtko OK. Pak bude t\u0159eba operaci spustit znovu.", "You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost.": "V jednotliv\u00fdch pol\u00edch jsou neulo\u017een\u00e9 zm\u011bny, kter\u00e9 budou ztraceny, pokud operaci provedete.", + "You must provide a learner name.": "Mus\u00edte poskytnout jm\u00e9no studenta.", + "You're about to submit your response for this assignment. After you submit this response, you can't change it or submit a new response.": "Chyst\u00e1te se odeslat svou odpov\u011b\u010f na tento \u00fakol. Po odesl\u00e1n\u00ed t\u00e9to odpov\u011bdi ji nelze zm\u011bnit ani odeslat novou odpov\u011b\u010f.", + "Your file has been deleted or path has been changed: ": "V\u00e1\u0161 soubor byl smaz\u00e1n nebo byla zm\u011bn\u011bna cesta:", "Your recorded data should now be uploaded for review.": "Va\u0161e zaznamenan\u00e1 data by nyn\u00ed m\u011bla b\u00fdt nahr\u00e1na ke kontrole.", "a practice exam": "cvi\u010dnou zkou\u0161ku", "a proctored exam": "chr\u00e1n\u011bn\u00e1 zkou\u0161ka", @@ -301,6 +394,7 @@ "an onboarding exam": "vstupn\u00ed zkou\u0161ka", "could not determine the course_id": "nemohl ur\u010dit id_kurzu", "courses with active proctored exams": "kurzy s aktivn\u00ed dozorovanou zkou\u0161kou", + "error count: ": "po\u010det chyb:", "internally reviewed": "intern\u011b p\u0159ezkoum\u00e1no", "one letter Friday\u0004F": "P", "one letter Monday\u0004M": "P", diff --git a/cms/static/js/i18n/de-de/djangojs.js b/cms/static/js/i18n/de-de/djangojs.js index 1d15acb60bd0..783bf8d0469d 100644 --- a/cms/static/js/i18n/de-de/djangojs.js +++ b/cms/static/js/i18n/de-de/djangojs.js @@ -1482,7 +1482,6 @@ "Saved cohort": "gespeicherter Kohort", "Saving": "Speichert", "Saving your email preference": "Speichern Ihrer E-Mail-Einstellungen ", - "Saving...": "Speichert...", "Scheduled:": "Terminiert:", "Scope": "Bereich", "Search": "Suchen", @@ -1631,7 +1630,6 @@ "Starts: %(start_date)s": "Startet: %(start_date)s", "State": "Zustand", "Status": "Status", - "Status of Your Response": "Status Ihrer Antwort", "Strikethrough": "Durchgestrichen", "Student": "Teilnehmer", "Student Removed from certificate allowlist successfully.": "Student wurde erfolgreich von der Zulassungsliste f\u00fcr Zertifikate entfernt.", @@ -1665,8 +1663,6 @@ "Successfully rescored problem for user {user}": "Fragestellung f\u00fcr Benutzer {user} erfolgreich neu bewertet.", "Successfully rescored problem to improve score for user {user}": "Erfolgreiche Neubewertung des Problems zur Verbesserung der Punktzahl f\u00fcr den Benutzer {user}", "Successfully reset the attempts for user {user}": "Versuche f\u00fcr Nutzer {user} erfolgreich zur\u00fcckgesetzt.", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "An folgende Nutzer wurden erfolgreich E-Mails zur Einschreibung versandt. Sobald diese sich registriert haben, k\u00f6nnen sie sich einschreiben: ", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "An folgende Teilnehmer wurde erfolgreich eine E-Mail bez\u00fcgliche der Einschreibung versandt. Diese werden eingeschrieben, sobald sie sich registriert haben: ", "Successfully started task to rescore problem '<%- problem_id %>' for all students. Click the 'Show Task Status' button to see the status of the task.": "Erfolgreich gestartete Aufgabe zur Neubewertung des Problems <%- problem_id %>' f\u00fcr alle Teilnehmer. Klicken Sie auf die Schaltfl\u00e4che \"Aufgabenstatus anzeigen\", um den Status der Aufgabe anzuzeigen.", "Successfully started task to reset attempts for problem '<%- problem_id %>'. Click the 'Show Task Status' button to see the status of the task.": "Erfolgreich gestartete Aufgabe zum Zur\u00fccksetzen von Versuchen f\u00fcr das Problem '<%- problem_id %>'. Klicken Sie auf die Schaltfl\u00e4che \"Aufgabenstatus anzeigen\", um den Status der Aufgabe anzuzeigen.", "Successfully unlinked.": "Erfolgreich getrennt.", @@ -1871,12 +1867,9 @@ "This problem has been reset.": "Die Aufgabenstellung wurde zur\u00fcckgesetzt.", "This response could not be marked as an answer. Refresh the page and try again.": "Diese Antwort konnte nicht zugelassen werden. Laden Sie bitte die Seite erneut und versuchen Sie es noch einmal.", "This response could not be marked as endorsed. Refresh the page and try again.": "Diese Antwort konnte nicht als bef\u00fcrwortet gekennzeichnet werden. Aktualisieren Sie die Seite und versuchen Sie es erneut.", - "This response could not be saved.": "Diese Antwort konnte nicht gespeichert werden.", "This response could not be submitted.": "Diese Antwort konnte nicht \u00fcbermittelt werden.", "This response could not be unendorsed. Refresh the page and try again.": "Diese Antwort konnte nicht widerrufen werden. Aktualisieren Sie die Seite und versuchen Sie es erneut.", "This response could not be unmarked as an answer. Refresh the page and try again.": "Diese Antwort konnte nicht entfernt werden. Laden Sie bitte die Seite erneut und versuchen Sie es noch einmal.", - "This response has been saved but not submitted.": "Diese Antwort wurde gespeichert, aber nicht \u00fcbermittelt.", - "This response has not been saved.": "Diese Antwort wurde nicht gespeichert.", "This role requires a divided discussions scheme.": "Diese Rolle erfordert ein geteiltes Diskussionsschema.", "This section could not be loaded.": "Dieser Abschnitt konnte nicht geladen werden.", "This short name for the assignment type (for example, HW or Midterm) appears next to assignments on a learner's Progress page.": "Diese Kurzbezeichnung f\u00fcr den Aufgabentyp (z.B. HW oder Midterm) erscheint neben den Aufgaben auf der Fortschrittsseite eines Lernenden.", diff --git a/cms/static/js/i18n/el/djangojs.js b/cms/static/js/i18n/el/djangojs.js index b274a61304bd..b285dc7c78cf 100644 --- a/cms/static/js/i18n/el/djangojs.js +++ b/cms/static/js/i18n/el/djangojs.js @@ -276,7 +276,6 @@ "Responses could not be loaded. Refresh the page and try again.": "\u0391\u03c0\u03ad\u03c4\u03c5\u03c7\u03b5 \u03b7 \u03b5\u03bc\u03c6\u03ac\u03bd\u03b9\u03c3\u03b7 \u03c4\u03c9\u03bd \u03b1\u03c0\u03bf\u03ba\u03c1\u03af\u03c3\u03b5\u03c9\u03bd. \u0391\u03bd\u03b1\u03bd\u03b5\u03ce\u03c3\u03c4\u03b5 \u03c4\u03b7 \u03c3\u03b5\u03bb\u03af\u03b4\u03b1 \u03ba\u03b1\u03b9 \u03c0\u03c1\u03bf\u03c3\u03c0\u03b1\u03b8\u03ae\u03c3\u03c4\u03b5 \u03be\u03b1\u03bd\u03ac.", "Return to team listing": "\u0395\u03c0\u03b9\u03c3\u03c4\u03c1\u03ad\u03c8\u03c4\u03b5 \u03c3\u03c4\u03bf\u03bd \u03ba\u03b1\u03c4\u03ac\u03bb\u03bf\u03b3\u03bf \u03c4\u03c9\u03bd \u03bf\u03bc\u03ac\u03b4\u03c9\u03bd", "Saving": "\u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7 \u03c3\u03b5 \u03b5\u03be\u03ad\u03bb\u03b9\u03be\u03b7", - "Saving...": "\u0393\u0399\u039d\u0395\u03a4\u0391\u0399 \u0391\u03a0\u039f\u0398\u0397\u039a\u0395\u03a5\u03a3\u0397...", "Search": "\u0391\u03bd\u03b1\u03b6\u03ae\u03c4\u03b7\u03c3\u03b7", "Search Results": "\u0391\u03c0\u03bf\u03c4\u03b5\u03bb\u03ad\u03c3\u03bc\u03b1\u03c4\u03b1 \u0391\u03bd\u03b1\u03b6\u03ae\u03c4\u03b7\u03c3\u03b7\u03c2", "Search all posts": "\u0391\u03bd\u03b1\u03b6\u03ae\u03c4\u03b7\u03c3\u03b7", @@ -308,7 +307,6 @@ "Started": "\u0388\u03bd\u03b1\u03c1\u03be\u03b7", "Starts": "\u0388\u03bd\u03b1\u03c1\u03be\u03b7", "Starts: %(start_date)s": "\u0388\u03bd\u03b1\u03c1\u03be\u03b7: %(start_date)s", - "Status of Your Response": "\u039a\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 \u03c4\u03b7\u03c2 \u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b1\u03c2 \u03c3\u03b1\u03c2", "Student": "\u03a3\u03c0\u03bf\u03c5\u03b4\u03b1\u03c3\u03c4\u03ae\u03c2", "Submit": "\u03a5\u03c0\u03bf\u03b2\u03bf\u03bb\u03ae", "Successfully enrolled and sent email to the following users:": "\u0395\u03c0\u03b9\u03c4\u03c5\u03c7\u03ae\u03c2 \u03b4\u03ae\u03bb\u03c9\u03c3\u03b7 \u03ba\u03b1\u03b9 \u03b1\u03c0\u03bf\u03c3\u03c4\u03bf\u03bb\u03ae \u03b7\u03bb\u03b5\u03ba\u03c4\u03c1\u03bf\u03bd\u03b9\u03ba\u03bf\u03cd \u03c4\u03b1\u03c7\u03c5\u03b4\u03c1\u03bf\u03bc\u03b5\u03af\u03bf\u03c5 \u03c3\u03c4\u03bf\u03c5\u03c2 \u03b5\u03be\u03ae\u03c2 \u03c7\u03c1\u03ae\u03c3\u03c4\u03b5\u03c2:", @@ -342,10 +340,7 @@ "This link will open in a new browser window/tab": "\u039f \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03bc\u03bf\u03c2 \u03b1\u03c5\u03c4\u03cc\u03c2 \u03b8\u03b1 \u03b1\u03bd\u03bf\u03af\u03be\u03b5\u03b9 \u03c3\u03b5 \u03bd\u03ad\u03bf \u03c0\u03b1\u03c1\u03ac\u03b8\u03c5\u03c1\u03bf/\u03ba\u03b1\u03c1\u03c4\u03ad\u03bb\u03b1 \u03c4\u03bf\u03c5 \u03c0\u03b5\u03c1\u03b9\u03b7\u03b3\u03b7\u03c4\u03ae", "This post could not be unpinned. Refresh the page and try again.": "\u0394\u03b5\u03bd \u03bc\u03c0\u03bf\u03c1\u03ad\u03c3\u03b1\u03bc\u03b5 \u03bd\u03b1 \u03be\u03b5\u03ba\u03b1\u03c1\u03c6\u03b9\u03c4\u03c3\u03ce\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b1\u03bd\u03ac\u03c1\u03c4\u03b7\u03c3\u03b7. \u0391\u03bd\u03b1\u03bd\u03b5\u03ce\u03c3\u03c4\u03b5 \u03c4\u03b7 \u03c3\u03b5\u03bb\u03af\u03b4\u03b1 \u03c3\u03b1\u03c2 \u03ba\u03b1\u03b9 \u03c0\u03c1\u03bf\u03c3\u03c0\u03b1\u03b8\u03ae\u03c3\u03c4\u03b5 \u03be\u03b1\u03bd\u03ac.", "This problem could not be saved.": "\u03a4\u03bf \u03c0\u03c1\u03cc\u03b2\u03bb\u03b7\u03bc\u03b1 \u03b1\u03c5\u03c4\u03cc \u03b4\u03b5\u03bd \u03bc\u03c0\u03cc\u03c1\u03b5\u03c3\u03b5 \u03bd\u03b1 \u03b1\u03c0\u03bf\u03b8\u03b7\u03ba\u03b5\u03c5\u03c4\u03b5\u03af.", - "This response could not be saved.": "\u0397 \u03b1\u03c0\u03ac\u03bd\u03c4\u03b7\u03c3\u03b7 \u03b4\u03b5\u03bd \u03bc\u03c0\u03cc\u03c1\u03b5\u03c3\u03b5 \u03bd\u03b1 \u03b1\u03c0\u03bf\u03b8\u03b7\u03ba\u03b5\u03c5\u03c4\u03b5\u03af.", "This response could not be submitted.": "\u0397 \u03b1\u03c0\u03ac\u03bd\u03c4\u03b7\u03c3\u03ae \u03c3\u03b1\u03c2 \u03b4\u03b5\u03bd \u03bc\u03c0\u03cc\u03c1\u03b5\u03c3\u03b5 \u03bd\u03b1 \u03ba\u03b1\u03c4\u03b1\u03c7\u03c9\u03c1\u03b7\u03b8\u03b5\u03af.", - "This response has been saved but not submitted.": "\u0397 \u0395\u03a1\u0393\u0391\u03a3\u0399\u0391 \u03a3\u0391\u03a3 \u0395\u03a7\u0395\u0399 \u0391\u03a0\u039f\u0398\u0397\u039a\u0395\u03a5\u03a4\u0395\u0399 \u0391\u039b\u039b\u0391 \u0394\u0395\u039d \u0395\u03a7\u0395\u0399 \u03a5\u03a0\u039f\u0392\u039b\u0397\u0398\u0395\u0399.", - "This response has not been saved.": "\u0394\u0395\u039d \u0395\u03a7\u0395\u03a4\u0395 \u0391\u03a0\u039f\u0398\u0397\u039a\u0395\u03a5\u03a3\u0395\u0399 \u03a4\u0397\u039d \u0395\u03a1\u0393\u0391\u03a3\u0399\u0391 \u03a3\u0391\u03a3.", "This section could not be loaded.": "\u0397 \u03b5\u03bd\u03cc\u03c4\u03b7\u03c4\u03b1 \u03b1\u03c5\u03c4\u03ae \u03b4\u03b5\u03bd \u03bc\u03c0\u03cc\u03c1\u03b5\u03c3\u03b5 \u03bd\u03b1 \u03bc\u03b5\u03c4\u03b1\u03c6\u03bf\u03c1\u03c4\u03c9\u03b8\u03b5\u03af.", "This vote could not be processed. Refresh the page and try again.": "\u0397 \u03c8\u03ae\u03c6\u03bf\u03c2 \u03c3\u03b1\u03c2 \u03b4\u03b5\u03bd \u03bc\u03c0\u03cc\u03c1\u03b5\u03c3\u03b5 \u03bd\u03b1 \u03ba\u03b1\u03c4\u03b1\u03c7\u03c9\u03c1\u03b7\u03b8\u03b5\u03af. \u0391\u03bd\u03b1\u03bd\u03b5\u03ce\u03c3\u03c4\u03b5 \u03c4\u03b7 \u03c3\u03b5\u03bb\u03af\u03b4\u03b1 \u03ba\u03b1\u03b9 \u03c0\u03c1\u03bf\u03c3\u03c0\u03b1\u03b8\u03ae\u03c3\u03c4\u03b5 \u03be\u03b1\u03bd\u03ac", "Time Zone": "\u0396\u03ce\u03bd\u03b7 \u038f\u03c1\u03b1\u03c2", diff --git a/cms/static/js/i18n/eo/djangojs.js b/cms/static/js/i18n/eo/djangojs.js index bc24cb5be50d..fbb23c060119 100644 --- a/cms/static/js/i18n/eo/djangojs.js +++ b/cms/static/js/i18n/eo/djangojs.js @@ -480,7 +480,9 @@ "Copy": "\u00c7\u00f6p\u00fd \u2c60'\u03c3\u044f\u0454\u043c \u03b9#", "Copy Component Location": "\u00c7\u00f6p\u00fd \u00c7\u00f6mp\u00f6n\u00e9nt L\u00f6\u00e7\u00e4t\u00ef\u00f6n \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3#", "Copy Email To Editor": "\u00c7\u00f6p\u00fd \u00c9m\u00e4\u00efl T\u00f6 \u00c9d\u00eft\u00f6r \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, #", + "Copy of '{componentDisplayName}'": "\u00c7\u00f6p\u00fd \u00f6f '{componentDisplayName}' \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9#", "Copy row": "\u00c7\u00f6p\u00fd r\u00f6w \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202#", + "Copy to Clipboard": "\u00c7\u00f6p\u00fd t\u00f6 \u00c7l\u00efp\u00df\u00f6\u00e4rd \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454#", "Copying": "\u00c7\u00f6p\u00fd\u00efng \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c #", "Correct failed component": "\u00c7\u00f6rr\u00e9\u00e7t f\u00e4\u00efl\u00e9d \u00e7\u00f6mp\u00f6n\u00e9nt \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7#", "Cost": "\u00c7\u00f6st \u2c60'\u03c3\u044f\u0454\u043c \u03b9#", @@ -840,6 +842,7 @@ "Formats": "F\u00f6rm\u00e4ts \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c #", "Free text notes": "Fr\u00e9\u00e9 t\u00e9xt n\u00f6t\u00e9s \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1#", "Frequently Asked Questions": "Fr\u00e9q\u00fc\u00e9ntl\u00fd \u00c0sk\u00e9d Q\u00fc\u00e9st\u00ef\u00f6ns \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455#", + "From:": "Fr\u00f6m: \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455#", "Full Name": "F\u00fcll N\u00e4m\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142#", "Full Profile": "F\u00fcll Pr\u00f6f\u00efl\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455#", "Fullscreen": "F\u00fclls\u00e7r\u00e9\u00e9n \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3#", @@ -1276,6 +1279,7 @@ "Password is incorrect": "P\u00e4ssw\u00f6rd \u00efs \u00efn\u00e7\u00f6rr\u00e9\u00e7t \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, #", "Passwords do not match.": "P\u00e4ssw\u00f6rds d\u00f6 n\u00f6t m\u00e4t\u00e7h. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3#", "Paste": "P\u00e4st\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455#", + "Paste %(xblock_type)s": "P\u00e4st\u00e9 %(xblock_type)s \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142#", "Paste as text": "P\u00e4st\u00e9 \u00e4s t\u00e9xt \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9#", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "P\u00e4st\u00e9 \u00efs n\u00f6w \u00efn pl\u00e4\u00efn t\u00e9xt m\u00f6d\u00e9. \u00c7\u00f6nt\u00e9nts w\u00efll n\u00f6w \u00df\u00e9 p\u00e4st\u00e9d \u00e4s pl\u00e4\u00efn t\u00e9xt \u00fcnt\u00efl \u00fd\u00f6\u00fc t\u00f6ggl\u00e9 th\u00efs \u00f6pt\u00ef\u00f6n \u00f6ff. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9#", "Paste row after": "P\u00e4st\u00e9 r\u00f6w \u00e4ft\u00e9r \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1#", @@ -1508,7 +1512,6 @@ "Saving draft": "S\u00e4v\u00efng dr\u00e4ft \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455#", "Saving draft...": "S\u00e4v\u00efng dr\u00e4ft... \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1#", "Saving your email preference": "S\u00e4v\u00efng \u00fd\u00f6\u00fcr \u00e9m\u00e4\u00efl pr\u00e9f\u00e9r\u00e9n\u00e7\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2#", - "Saving...": "S\u00e4v\u00efng... \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142#", "Scheduled:": "S\u00e7h\u00e9d\u00fcl\u00e9d: \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3#", "Scope": "S\u00e7\u00f6p\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455#", "Search": "S\u00e9\u00e4r\u00e7h \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5#", @@ -1670,7 +1673,6 @@ "Starts: %(start_date)s": "St\u00e4rts: %(start_date)s \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f #", "State": "St\u00e4t\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455#", "Status": "St\u00e4t\u00fcs \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5#", - "Status of Your Response": "St\u00e4t\u00fcs \u00f6f \u00dd\u00f6\u00fcr R\u00e9sp\u00f6ns\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3#", "Strikethrough": "Str\u00efk\u00e9thr\u00f6\u00fcgh \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9#", "Student": "St\u00fcd\u00e9nt \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c #", "Student Removed from certificate allowlist successfully.": "St\u00fcd\u00e9nt R\u00e9m\u00f6v\u00e9d fr\u00f6m \u00e7\u00e9rt\u00eff\u00ef\u00e7\u00e4t\u00e9 \u00e4ll\u00f6wl\u00efst s\u00fc\u00e7\u00e7\u00e9ssf\u00fcll\u00fd. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f \u03b1#", @@ -1925,12 +1927,9 @@ "This proctored exam has been released to learners. You may not convert it to another type of special exam. You may revert this subsection back to being a basic exam by selecting 'None', or a timed exam, but you will NOT be able to configure it as a proctored exam in the future.": "Th\u00efs pr\u00f6\u00e7t\u00f6r\u00e9d \u00e9x\u00e4m h\u00e4s \u00df\u00e9\u00e9n r\u00e9l\u00e9\u00e4s\u00e9d t\u00f6 l\u00e9\u00e4rn\u00e9rs. \u00dd\u00f6\u00fc m\u00e4\u00fd n\u00f6t \u00e7\u00f6nv\u00e9rt \u00eft t\u00f6 \u00e4n\u00f6th\u00e9r t\u00fdp\u00e9 \u00f6f sp\u00e9\u00e7\u00ef\u00e4l \u00e9x\u00e4m. \u00dd\u00f6\u00fc m\u00e4\u00fd r\u00e9v\u00e9rt th\u00efs s\u00fc\u00dfs\u00e9\u00e7t\u00ef\u00f6n \u00df\u00e4\u00e7k t\u00f6 \u00df\u00e9\u00efng \u00e4 \u00df\u00e4s\u00ef\u00e7 \u00e9x\u00e4m \u00df\u00fd s\u00e9l\u00e9\u00e7t\u00efng 'N\u00f6n\u00e9', \u00f6r \u00e4 t\u00efm\u00e9d \u00e9x\u00e4m, \u00df\u00fct \u00fd\u00f6\u00fc w\u00efll N\u00d6T \u00df\u00e9 \u00e4\u00dfl\u00e9 t\u00f6 \u00e7\u00f6nf\u00efg\u00fcr\u00e9 \u00eft \u00e4s \u00e4 pr\u00f6\u00e7t\u00f6r\u00e9d \u00e9x\u00e4m \u00efn th\u00e9 f\u00fct\u00fcr\u00e9. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f \u03b1\u2202\u03b9\u03c1\u03b9\u0455\u03b9\u00a2\u03b9\u03b7g \u0454\u0142\u03b9\u0442, \u0455\u0454\u2202 \u2202\u03c3 \u0454\u03b9\u03c5\u0455\u043c\u03c3\u2202 \u0442\u0454\u043c\u03c1\u03c3\u044f \u03b9\u03b7\u00a2\u03b9\u2202\u03b9\u2202\u03c5\u03b7\u0442 \u03c5\u0442 \u0142\u03b1\u0432\u03c3\u044f\u0454 \u0454\u0442 \u2202\u03c3\u0142\u03c3\u044f\u0454 \u043c\u03b1g\u03b7\u03b1 \u03b1\u0142\u03b9q\u03c5\u03b1. \u03c5\u0442 \u0454\u03b7\u03b9\u043c \u03b1\u2202 \u043c\u03b9\u03b7\u03b9\u043c \u03bd\u0454\u03b7\u03b9\u03b1\u043c, q\u03c5\u03b9\u0455 \u03b7\u03c3\u0455\u0442\u044f\u03c5\u2202 \u0454\u03c7\u0454\u044f\u00a2\u03b9\u0442\u03b1\u0442\u03b9\u03c3\u03b7 \u03c5\u0142\u0142\u03b1\u043c\u00a2\u03c3 \u0142\u03b1\u0432\u03c3\u044f\u03b9\u0455 \u03b7\u03b9\u0455\u03b9 \u03c5\u0442 \u03b1\u0142\u03b9q\u03c5\u03b9\u03c1 \u0454\u03c7 \u0454\u03b1 \u00a2\u03c3\u043c\u043c#", "This response could not be marked as an answer. Refresh the page and try again.": "Th\u00efs r\u00e9sp\u00f6ns\u00e9 \u00e7\u00f6\u00fcld n\u00f6t \u00df\u00e9 m\u00e4rk\u00e9d \u00e4s \u00e4n \u00e4nsw\u00e9r. R\u00e9fr\u00e9sh th\u00e9 p\u00e4g\u00e9 \u00e4nd tr\u00fd \u00e4g\u00e4\u00efn. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442#", "This response could not be marked as endorsed. Refresh the page and try again.": "Th\u00efs r\u00e9sp\u00f6ns\u00e9 \u00e7\u00f6\u00fcld n\u00f6t \u00df\u00e9 m\u00e4rk\u00e9d \u00e4s \u00e9nd\u00f6rs\u00e9d. R\u00e9fr\u00e9sh th\u00e9 p\u00e4g\u00e9 \u00e4nd tr\u00fd \u00e4g\u00e4\u00efn. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442#", - "This response could not be saved.": "Th\u00efs r\u00e9sp\u00f6ns\u00e9 \u00e7\u00f6\u00fcld n\u00f6t \u00df\u00e9 s\u00e4v\u00e9d. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454#", "This response could not be submitted.": "Th\u00efs r\u00e9sp\u00f6ns\u00e9 \u00e7\u00f6\u00fcld n\u00f6t \u00df\u00e9 s\u00fc\u00dfm\u00eftt\u00e9d. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5#", "This response could not be unendorsed. Refresh the page and try again.": "Th\u00efs r\u00e9sp\u00f6ns\u00e9 \u00e7\u00f6\u00fcld n\u00f6t \u00df\u00e9 \u00fcn\u00e9nd\u00f6rs\u00e9d. R\u00e9fr\u00e9sh th\u00e9 p\u00e4g\u00e9 \u00e4nd tr\u00fd \u00e4g\u00e4\u00efn. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f #", "This response could not be unmarked as an answer. Refresh the page and try again.": "Th\u00efs r\u00e9sp\u00f6ns\u00e9 \u00e7\u00f6\u00fcld n\u00f6t \u00df\u00e9 \u00fcnm\u00e4rk\u00e9d \u00e4s \u00e4n \u00e4nsw\u00e9r. R\u00e9fr\u00e9sh th\u00e9 p\u00e4g\u00e9 \u00e4nd tr\u00fd \u00e4g\u00e4\u00efn. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454#", - "This response has been saved but not submitted.": "Th\u00efs r\u00e9sp\u00f6ns\u00e9 h\u00e4s \u00df\u00e9\u00e9n s\u00e4v\u00e9d \u00df\u00fct n\u00f6t s\u00fc\u00dfm\u00eftt\u00e9d. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f \u03b1#", - "This response has not been saved.": "Th\u00efs r\u00e9sp\u00f6ns\u00e9 h\u00e4s n\u00f6t \u00df\u00e9\u00e9n s\u00e4v\u00e9d. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454#", "This role requires a divided discussions scheme.": "Th\u00efs r\u00f6l\u00e9 r\u00e9q\u00fc\u00efr\u00e9s \u00e4 d\u00efv\u00efd\u00e9d d\u00efs\u00e7\u00fcss\u00ef\u00f6ns s\u00e7h\u00e9m\u00e9. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f \u03b1#", "This section could not be loaded.": "Th\u00efs s\u00e9\u00e7t\u00ef\u00f6n \u00e7\u00f6\u00fcld n\u00f6t \u00df\u00e9 l\u00f6\u00e4d\u00e9d. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454#", "This short name for the assignment type (for example, HW or Midterm) appears next to assignments on a learner's Progress page.": "Th\u00efs sh\u00f6rt n\u00e4m\u00e9 f\u00f6r th\u00e9 \u00e4ss\u00efgnm\u00e9nt t\u00fdp\u00e9 (f\u00f6r \u00e9x\u00e4mpl\u00e9, HW \u00f6r M\u00efdt\u00e9rm) \u00e4pp\u00e9\u00e4rs n\u00e9xt t\u00f6 \u00e4ss\u00efgnm\u00e9nts \u00f6n \u00e4 l\u00e9\u00e4rn\u00e9r's Pr\u00f6gr\u00e9ss p\u00e4g\u00e9. \u2c60'\u03c3\u044f\u0454\u043c#", @@ -2212,6 +2211,7 @@ "What if I have difficulty holding my head in position relative to the camera?": "Wh\u00e4t \u00eff \u00cc h\u00e4v\u00e9 d\u00efff\u00ef\u00e7\u00fclt\u00fd h\u00f6ld\u00efng m\u00fd h\u00e9\u00e4d \u00efn p\u00f6s\u00eft\u00ef\u00f6n r\u00e9l\u00e4t\u00efv\u00e9 t\u00f6 th\u00e9 \u00e7\u00e4m\u00e9r\u00e4? \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442#", "What was the total combined income, during the last 12 months, of all members of your family? ": "Wh\u00e4t w\u00e4s th\u00e9 t\u00f6t\u00e4l \u00e7\u00f6m\u00df\u00efn\u00e9d \u00efn\u00e7\u00f6m\u00e9, d\u00fcr\u00efng th\u00e9 l\u00e4st 12 m\u00f6nths, \u00f6f \u00e4ll m\u00e9m\u00df\u00e9rs \u00f6f \u00fd\u00f6\u00fcr f\u00e4m\u00efl\u00fd? \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2#", "What's Your Next Accomplishment?": "Wh\u00e4t's \u00dd\u00f6\u00fcr N\u00e9xt \u00c0\u00e7\u00e7\u00f6mpl\u00efshm\u00e9nt? \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454#", + "What's in my clipboard?": "Wh\u00e4t's \u00efn m\u00fd \u00e7l\u00efp\u00df\u00f6\u00e4rd? \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3#", "When learners submit an answer to an assessment, they immediately see whether the answer is correct or incorrect, and the score received.": "Wh\u00e9n l\u00e9\u00e4rn\u00e9rs s\u00fc\u00dfm\u00eft \u00e4n \u00e4nsw\u00e9r t\u00f6 \u00e4n \u00e4ss\u00e9ssm\u00e9nt, th\u00e9\u00fd \u00efmm\u00e9d\u00ef\u00e4t\u00e9l\u00fd s\u00e9\u00e9 wh\u00e9th\u00e9r th\u00e9 \u00e4nsw\u00e9r \u00efs \u00e7\u00f6rr\u00e9\u00e7t \u00f6r \u00efn\u00e7\u00f6rr\u00e9\u00e7t, \u00e4nd th\u00e9 s\u00e7\u00f6r\u00e9 r\u00e9\u00e7\u00e9\u00efv\u00e9d. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f \u03b1\u2202\u03b9\u03c1\u03b9\u0455\u03b9\u00a2\u03b9\u03b7g \u0454\u0142\u03b9\u0442, \u0455\u0454\u2202 \u2202\u03c3 \u0454\u03b9\u03c5\u0455\u043c\u03c3\u2202 \u0442\u0454\u043c\u03c1\u03c3\u044f \u03b9\u03b7\u00a2\u03b9\u2202\u03b9\u2202\u03c5\u03b7\u0442 \u03c5\u0442 \u0142\u03b1\u0432\u03c3\u044f\u0454 \u0454\u0442 \u2202\u03c3\u0142\u03c3\u044f\u0454 \u043c\u03b1g\u03b7\u03b1 \u03b1\u0142\u03b9q\u03c5\u03b1. \u03c5\u0442 \u0454\u03b7\u03b9\u043c \u03b1\u2202 \u043c\u03b9\u03b7\u03b9\u043c \u03bd\u0454\u03b7\u03b9\u03b1\u043c, q\u03c5\u03b9\u0455 \u03b7\u03c3\u0455\u0442\u044f\u03c5\u2202 \u0454\u03c7\u0454\u044f\u00a2\u03b9\u0442\u03b1\u0442\u03b9\u03c3\u03b7 \u03c5\u0142\u0142\u03b1\u043c\u00a2\u03c3 \u0142\u03b1\u0432\u03c3\u044f\u03b9\u0455 \u03b7\u03b9\u0455\u03b9 \u03c5\u0442 \u03b1\u0142\u03b9q\u03c5\u03b9\u03c1 \u0454\u03c7 \u0454\u03b1 \u00a2\u03c3\u043c\u043c\u03c3\u2202\u03c3 \u00a2\u03c3\u03b7\u0455\u0454q\u03c5\u03b1\u0442. \u2202\u03c5\u03b9\u0455 \u03b1\u03c5\u0442\u0454 \u03b9\u044f\u03c5\u044f\u0454 \u2202\u03c3\u0142\u03c3\u044f \u03b9\u03b7 \u044f\u0454\u03c1\u044f\u0454\u043d\u0454\u03b7\u2202\u0454\u044f\u03b9\u0442 \u03b9\u03b7 \u03bd\u03c3\u0142\u03c5\u03c1\u0442\u03b1\u0442\u0454 \u03bd\u0454\u0142\u03b9\u0442 \u0454\u0455\u0455\u0454 \u00a2\u03b9\u0142\u0142\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f\u0454 \u0454\u03c5 \u0192\u03c5g\u03b9\u03b1\u0442 \u03b7\u03c5\u0142\u0142\u03b1 \u03c1\u03b1\u044f\u03b9\u03b1\u0442\u03c5\u044f. \u0454\u03c7\u00a2\u0454\u03c1\u0442\u0454\u03c5\u044f \u0455\u03b9\u03b7\u0442 \u03c3\u00a2\u00a2\u03b1\u0454\u00a2\u03b1\u0442 \u00a2\u03c5\u03c1\u03b9\u2202\u03b1\u0442\u03b1\u0442 \u03b7\u03c3\u03b7 \u03c1\u044f\u03c3\u03b9\u2202\u0454\u03b7\u0442, \u0455\u03c5\u03b7\u0442 \u03b9\u03b7 \u00a2\u03c5\u0142\u03c1\u03b1 q\u03c5\u03b9 \u03c3\u0192\u0192\u03b9\u00a2\u03b9\u03b1 \u2202\u0454\u0455\u0454\u044f\u03c5\u03b7\u0442 \u043c\u03c3\u0142\u0142\u03b9\u0442 \u03b1\u03b7\u03b9\u043c \u03b9\u2202 \u0454\u0455\u0442 \u0142\u03b1\u0432\u03c3#", "When your face is in position, use the Take Photo button {icon} below to take your photo.": "Wh\u00e9n \u00fd\u00f6\u00fcr f\u00e4\u00e7\u00e9 \u00efs \u00efn p\u00f6s\u00eft\u00ef\u00f6n, \u00fcs\u00e9 th\u00e9 T\u00e4k\u00e9 Ph\u00f6t\u00f6 \u00df\u00fctt\u00f6n {icon} \u00df\u00e9l\u00f6w t\u00f6 t\u00e4k\u00e9 \u00fd\u00f6\u00fcr ph\u00f6t\u00f6. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2#", "Which timed transcript would you like to use?": "Wh\u00ef\u00e7h t\u00efm\u00e9d tr\u00e4ns\u00e7r\u00efpt w\u00f6\u00fcld \u00fd\u00f6\u00fc l\u00efk\u00e9 t\u00f6 \u00fcs\u00e9? \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f #", @@ -2262,6 +2262,7 @@ "You did not submit the required files: {requiredFiles}.": "\u00dd\u00f6\u00fc d\u00efd n\u00f6t s\u00fc\u00dfm\u00eft th\u00e9 r\u00e9q\u00fc\u00efr\u00e9d f\u00efl\u00e9s: {requiredFiles}. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f #", "You don't seem to have Flash installed. Get Flash to continue your verification.": "\u00dd\u00f6\u00fc d\u00f6n't s\u00e9\u00e9m t\u00f6 h\u00e4v\u00e9 Fl\u00e4sh \u00efnst\u00e4ll\u00e9d. G\u00e9t Fl\u00e4sh t\u00f6 \u00e7\u00f6nt\u00efn\u00fc\u00e9 \u00fd\u00f6\u00fcr v\u00e9r\u00eff\u00ef\u00e7\u00e4t\u00ef\u00f6n. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454#", "You don't seem to have a webcam connected.": "\u00dd\u00f6\u00fc d\u00f6n't s\u00e9\u00e9m t\u00f6 h\u00e4v\u00e9 \u00e4 w\u00e9\u00df\u00e7\u00e4m \u00e7\u00f6nn\u00e9\u00e7t\u00e9d. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f #", + "You have access to the {enterpriseName} dashboard": "\u00dd\u00f6\u00fc h\u00e4v\u00e9 \u00e4\u00e7\u00e7\u00e9ss t\u00f6 th\u00e9 {enterpriseName} d\u00e4sh\u00df\u00f6\u00e4rd \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5#", "You have added a criterion. You will need to select an option for the criterion in the Learner Training step. To do this, click the Assessment Steps tab.": "\u00dd\u00f6\u00fc h\u00e4v\u00e9 \u00e4dd\u00e9d \u00e4 \u00e7r\u00eft\u00e9r\u00ef\u00f6n. \u00dd\u00f6\u00fc w\u00efll n\u00e9\u00e9d t\u00f6 s\u00e9l\u00e9\u00e7t \u00e4n \u00f6pt\u00ef\u00f6n f\u00f6r th\u00e9 \u00e7r\u00eft\u00e9r\u00ef\u00f6n \u00efn th\u00e9 L\u00e9\u00e4rn\u00e9r Tr\u00e4\u00efn\u00efng st\u00e9p. T\u00f6 d\u00f6 th\u00efs, \u00e7l\u00ef\u00e7k th\u00e9 \u00c0ss\u00e9ssm\u00e9nt St\u00e9ps t\u00e4\u00df. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f \u03b1\u2202\u03b9\u03c1\u03b9\u0455\u03b9\u00a2\u03b9\u03b7g \u0454\u0142\u03b9\u0442, \u0455\u0454\u2202 \u2202\u03c3 \u0454\u03b9\u03c5\u0455\u043c\u03c3\u2202 \u0442\u0454\u043c\u03c1\u03c3\u044f \u03b9\u03b7\u00a2\u03b9\u2202\u03b9\u2202\u03c5\u03b7\u0442 \u03c5\u0442 \u0142\u03b1\u0432\u03c3\u044f\u0454 \u0454\u0442 \u2202\u03c3\u0142\u03c3\u044f\u0454 \u043c\u03b1g\u03b7\u03b1 \u03b1\u0142\u03b9q\u03c5\u03b1. \u03c5\u0442 \u0454\u03b7\u03b9\u043c \u03b1\u2202 \u043c\u03b9\u03b7\u03b9\u043c \u03bd\u0454\u03b7\u03b9\u03b1\u043c, q\u03c5\u03b9\u0455 \u03b7\u03c3\u0455\u0442\u044f\u03c5\u2202 \u0454\u03c7\u0454\u044f\u00a2\u03b9\u0442\u03b1\u0442\u03b9\u03c3\u03b7 \u03c5\u0142\u0142\u03b1\u043c\u00a2\u03c3 \u0142\u03b1\u0432\u03c3\u044f\u03b9\u0455 \u03b7\u03b9\u0455\u03b9 \u03c5\u0442 \u03b1\u0142\u03b9q\u03c5\u03b9\u03c1 \u0454\u03c7 \u0454\u03b1 \u00a2\u03c3\u043c\u043c\u03c3\u2202\u03c3 \u00a2\u03c3\u03b7\u0455\u0454q\u03c5\u03b1\u0442. \u2202\u03c5\u03b9\u0455 \u03b1\u03c5\u0442\u0454 \u03b9\u044f\u03c5\u044f\u0454 \u2202\u03c3\u0142\u03c3\u044f \u03b9\u03b7 \u044f\u0454\u03c1\u044f\u0454\u043d\u0454\u03b7\u2202\u0454\u044f\u03b9\u0442 \u03b9\u03b7 \u03bd\u03c3\u0142\u03c5\u03c1\u0442\u03b1\u0442\u0454 \u03bd\u0454\u0142\u03b9\u0442 \u0454\u0455\u0455\u0454 \u00a2\u03b9\u0142\u0142\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f\u0454 \u0454\u03c5 \u0192\u03c5g\u03b9\u03b1\u0442 \u03b7\u03c5\u0142\u0142\u03b1 \u03c1\u03b1\u044f\u03b9\u03b1\u0442\u03c5\u044f. \u0454\u03c7\u00a2\u0454\u03c1\u0442\u0454\u03c5\u044f \u0455\u03b9\u03b7\u0442 \u03c3\u00a2\u00a2\u03b1\u0454\u00a2\u03b1\u0442 \u00a2\u03c5\u03c1\u03b9\u2202\u03b1\u0442\u03b1\u0442 \u03b7\u03c3\u03b7 \u03c1\u044f\u03c3\u03b9\u2202\u0454\u03b7\u0442, \u0455\u03c5\u03b7\u0442 \u03b9\u03b7 \u00a2\u03c5\u0142\u03c1\u03b1 q\u03c5\u03b9 \u03c3\u0192\u0192\u03b9\u00a2\u03b9\u03b1 \u2202\u0454\u0455\u0454\u044f\u03c5\u03b7\u0442 \u043c\u03c3\u0142\u0142\u03b9#", "You have already verified your ID!": "\u00dd\u00f6\u00fc h\u00e4v\u00e9 \u00e4lr\u00e9\u00e4d\u00fd v\u00e9r\u00eff\u00ef\u00e9d \u00fd\u00f6\u00fcr \u00ccD! \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442#", "You have an active subscription to the {programName} program but are not enrolled in any courses. Enroll in a remaining course and enjoy verified access.": "\u00dd\u00f6\u00fc h\u00e4v\u00e9 \u00e4n \u00e4\u00e7t\u00efv\u00e9 s\u00fc\u00dfs\u00e7r\u00efpt\u00ef\u00f6n t\u00f6 th\u00e9 {programName} pr\u00f6gr\u00e4m \u00df\u00fct \u00e4r\u00e9 n\u00f6t \u00e9nr\u00f6ll\u00e9d \u00efn \u00e4n\u00fd \u00e7\u00f6\u00fcrs\u00e9s. \u00c9nr\u00f6ll \u00efn \u00e4 r\u00e9m\u00e4\u00efn\u00efng \u00e7\u00f6\u00fcrs\u00e9 \u00e4nd \u00e9nj\u00f6\u00fd v\u00e9r\u00eff\u00ef\u00e9d \u00e4\u00e7\u00e7\u00e9ss. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f \u03b1\u2202\u03b9\u03c1\u03b9\u0455\u03b9\u00a2\u03b9\u03b7g \u0454\u0142\u03b9\u0442, \u0455\u0454\u2202 \u2202\u03c3 \u0454\u03b9\u03c5\u0455\u043c\u03c3\u2202 \u0442\u0454\u043c\u03c1\u03c3\u044f \u03b9\u03b7\u00a2\u03b9\u2202\u03b9\u2202\u03c5\u03b7\u0442 \u03c5\u0442 \u0142\u03b1\u0432\u03c3\u044f\u0454 \u0454\u0442 \u2202\u03c3\u0142\u03c3\u044f\u0454 \u043c\u03b1g\u03b7\u03b1 \u03b1\u0142\u03b9q\u03c5\u03b1. \u03c5\u0442 \u0454\u03b7\u03b9\u043c \u03b1\u2202 \u043c\u03b9\u03b7\u03b9\u043c \u03bd\u0454\u03b7\u03b9\u03b1\u043c, q\u03c5\u03b9\u0455 \u03b7\u03c3\u0455\u0442\u044f\u03c5\u2202 \u0454\u03c7\u0454\u044f\u00a2\u03b9\u0442\u03b1\u0442\u03b9\u03c3\u03b7 \u03c5\u0142\u0142\u03b1\u043c\u00a2\u03c3 \u0142\u03b1\u0432\u03c3\u044f\u03b9\u0455 \u03b7\u03b9\u0455\u03b9 \u03c5\u0442 \u03b1\u0142\u03b9q\u03c5\u03b9\u03c1 \u0454\u03c7 \u0454\u03b1 \u00a2\u03c3\u043c\u043c\u03c3\u2202\u03c3 \u00a2\u03c3\u03b7\u0455\u0454q\u03c5\u03b1\u0442. \u2202\u03c5\u03b9\u0455 \u03b1\u03c5\u0442\u0454 \u03b9\u044f\u03c5\u044f\u0454 \u2202\u03c3\u0142\u03c3\u044f \u03b9\u03b7 \u044f\u0454\u03c1\u044f\u0454\u043d\u0454\u03b7\u2202\u0454\u044f\u03b9\u0442 \u03b9\u03b7 \u03bd\u03c3\u0142\u03c5\u03c1\u0442\u03b1\u0442\u0454 \u03bd\u0454\u0142\u03b9\u0442 \u0454\u0455\u0455\u0454 \u00a2\u03b9\u0142\u0142\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f\u0454 \u0454\u03c5 \u0192\u03c5g\u03b9\u03b1\u0442 \u03b7\u03c5\u0142\u0142\u03b1 \u03c1\u03b1\u044f\u03b9\u03b1\u0442\u03c5\u044f. \u0454\u03c7\u00a2\u0454\u03c1\u0442\u0454\u03c5\u044f \u0455\u03b9\u03b7\u0442 \u03c3\u00a2\u00a2\u03b1\u0454\u00a2\u03b1\u0442 \u00a2\u03c5\u03c1\u03b9\u2202\u03b1\u0442\u03b1\u0442 \u03b7\u03c3\u03b7 \u03c1\u044f\u03c3\u03b9\u2202\u0454\u03b7\u0442, \u0455\u03c5\u03b7\u0442 \u03b9\u03b7 \u00a2\u03c5\u0142\u03c1\u03b1 q\u03c5\u03b9 \u03c3\u0192\u0192\u03b9\u00a2\u03b9\u03b1 \u2202\u0454\u0455\u0454\u044f\u03c5\u03b7\u0442 \u043c\u03c3\u0142\u0142\u03b9\u0442 \u03b1\u03b7\u03b9\u043c \u03b9\u2202 \u0454\u0455#", diff --git a/cms/static/js/i18n/es-419/djangojs.js b/cms/static/js/i18n/es-419/djangojs.js index 6cae6fc9b66a..c8aa24684ad8 100644 --- a/cms/static/js/i18n/es-419/djangojs.js +++ b/cms/static/js/i18n/es-419/djangojs.js @@ -755,6 +755,7 @@ "Draft (Never published)": "Borrador (Nunca publicado)", "Draft (Unpublished changes)": "Borrador (Cambios no publicados)", "Draft saved on {lastSavedStart}{editedOn}{lastSavedEnd} by {editedByStart}{editedBy}{editedByEnd}": "Borrador guardado en {lastSavedStart}{editedOn}{lastSavedEnd} por {editedByStart}{editedBy}{editedByEnd}", + "Draft saved!": "\u00a1Borrador guardado!", "Drag and drop or {spanStart}browse your computer{spanEnd}.": "Arrastra y suelta o {spanStart}explora en tu equipo{spanEnd}.", "Drag to reorder": "Arrastre para reorganizar", "Drop target image": "Soltar la imagen", @@ -794,6 +795,8 @@ "Email": "Correo electr\u00f3nico", "Email Address (Sign In)": "Direcci\u00f3n de correo electr\u00f3nico (ingresar)", "Email address": "Correo electr\u00f3nico", + "Email cannot be sent to the following users via batch enrollment. They will be allowed to enroll once they register:": "El correo electr\u00f3nico no se puede enviar a los siguientes usuarios a trav\u00e9s de la inscripci\u00f3n por lotes. Se les permitir\u00e1 inscribirse una vez que se registren:", + "Email cannot be sent to the following users via batch enrollment. They will be enrolled once they register:": "El correo electr\u00f3nico no se puede enviar a los siguientes usuarios a trav\u00e9s de la inscripci\u00f3n por lotes. Se inscribir\u00e1n una vez que se registren:", "Emails successfully sent. The following users are no longer enrolled in the course:": "Los correos electr\u00f3nicos fueron enviados exit\u00f3samente. Los siguientes usuarios ya no est\u00e1n inscritos en el curso:", "Embed": "Incrustar c\u00f3digo", "Emoticons": "Emoticonos", @@ -1442,6 +1445,7 @@ "Please add the instructor's title": "Ingrese el t\u00edtulo del instructor", "Please address the errors on this page first, and then save your progress.": "Por favor solucione los errores en esta p\u00e1gina y despu\u00e9s guarde su progreso.", "Please check the following validation feedbacks and reflect them in your course settings:": "Por favor revisa la retroalimentaci\u00f3n de validaci\u00f3n y reflejalo en tu configuraci\u00f3n de curso.", + "Please check your internet connection.": "Por favor, revisar la conexi\u00f3n de Internet.", "Please describe this image or agree that it has no contextual value by checking the checkbox.": "Por favor, describe esta imagen o indica que no tiene valor contextual marcando la casilla.", "Please do not use any spaces in this field.": "Por favor, no uses espacios o caracteres especiales en este campo.", "Please do not use any spaces or special characters in this field.": "Por favor, no utilices espacios o caracteres especiales en este campo.", @@ -1643,8 +1647,9 @@ "Save changes": "Guardar cambios", "Saved cohort": "Guardar Cohorte", "Saving": "Guardando", + "Saving draft": "Guardando borrador", + "Saving draft...": "Guardando borrador...", "Saving your email preference": "Guardando tus preferencias de correo electr\u00f3nico", - "Saving...": "Guardando...", "Scheduled:": "Programado:", "Scope": "Alcance", "Search": "Buscar", @@ -1805,7 +1810,6 @@ "Starts: %(start_date)s": "Comienza: %(start_date)s", "State": "Estado", "Status": "Estado", - "Status of Your Response": "Estado de su respuesta", "Strikethrough": "Tachado", "Student": "Estudiante", "Student Removed from certificate allowlist successfully.": "El estudiante fue eliminado exitosamente de la lista blanca de certificados.", @@ -1846,8 +1850,6 @@ "Successfully rescored problem for user {user}": "Se repuntu\u00f3 exitosamente el problema para el usuario {user}", "Successfully rescored problem to improve score for user {user}": "Se repuntu\u00f3 exitosamente el problema para mejorar la calificaci\u00f3n del usuario {user}", "Successfully reset the attempts for user {user}": "Se han reiniciado los intentos para el usuario {user}", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "Se envi\u00f3 el correo electr\u00f3nico a los siguientes usuarios. Podr\u00e1n inscribirse una vez se hayan registrado:", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "Se envi\u00f3 el correo electr\u00f3nico a los siguientes usuarios. Estar\u00e1n inscritos al curso una vez se hayan registrado:", "Successfully started task to rescore problem '<%- problem_id %>' for all students. Click the 'Show Task Status' button to see the status of the task.": "Se program\u00f3 la tarea para re puntuar el problema '<%- problem_id %>' para todos los estudiantes. Haz clic en el bot\u00f3n de 'Mostrar estado de tareas' para ver el estado de dicha tarea.", "Successfully started task to reset attempts for problem '<%- problem_id %>'. Click the 'Show Task Status' button to see the status of the task.": "Se ha programado la tarea de reinicio de los env\u00edos para todos los estudiantes en el problema '<%- problem_id %>'. Haz clic en el bot\u00f3n de 'Mostrar estado de tareas' para ver el estado de dicha tarea.", "Successfully unlinked.": "Se desvincul\u00f3 con \u00e9xito.", @@ -2068,15 +2070,13 @@ "This proctored exam has been released to learners. You may not convert it to another type of special exam. You may revert this subsection back to being a basic exam by selecting 'None', or a timed exam, but you will NOT be able to configure it as a proctored exam in the future.": "Este examen supervisado se ha publicado para los estudiantes. No puede convertirlo en otro tipo de examen especial. Puede revertir esta subsecci\u00f3n a un examen b\u00e1sico seleccionando 'Ninguno' o un examen cronometrado, pero NO podr\u00e1 configurarlo como un examen supervisado en el futuro.", "This response could not be marked as an answer. Refresh the page and try again.": "No se pudo marcar esta respuesta. Recarga la p\u00e1gina e intenta nuevamente.", "This response could not be marked as endorsed. Refresh the page and try again.": "No se pudo marcar esta respuesta como validada. Recarga la p\u00e1gina e intenta nuevamente. ", - "This response could not be saved.": "Esta respuesta no pudo ser guardada.", "This response could not be submitted.": "Esta respuesta no pudo ser enviada.", "This response could not be unendorsed. Refresh the page and try again.": "No se pudo desmarcar esta respuesta como validada. Recarga la p\u00e1gina e intenta nuevamente.", "This response could not be unmarked as an answer. Refresh the page and try again.": "No se pudo desmarcar esta respuesta. Recarga la p\u00e1gina e intenta nuevamente.", - "This response has been saved but not submitted.": "La respuesta ha sido guardada, pero no enviada.", - "This response has not been saved.": "Esta respuesta no ha sido guardada.", "This role requires a divided discussions scheme.": "Este rol requiere un esquema de discusiones dividido.", "This section could not be loaded.": "Esta secci\u00f3n no pudo ser cargada.", "This short name for the assignment type (for example, HW or Midterm) appears next to assignments on a learner's Progress page.": "Estos nombres para los tipos de asignaciones (por ejemplo, Tareas o Examen trimestral) aparecen al lado de las asignaciones en la p\u00e1gina de Progreso del estudiante.", + "This subsection is configured as \\\"%(gradingType)s\\\", which doesn't exist in the current grading policy.": "Esta subsecci\u00f3n est\u00e1 configurada como \\\"%(gradingType)s\\\", que no existe en la pol\u00edtica de calificaci\u00f3n actual.", "This subsection was released to learners as a proctored exam, but was reverted back to a basic or timed exam. You may not configure it as a proctored exam now. Contact edX Support for assistance.": "Esta subsecci\u00f3n se lanz\u00f3 a los estudiantes como un examen supervisado, pero se revirti\u00f3 a un examen b\u00e1sico o cronometrado. No puede configurarlo como un examen supervisado ahora. P\u00f3ngase en contacto con el soporte de edX para obtener ayuda.", "This team does not have any members.": "Este equipo no tiene todav\u00eda ning\u00fan miembro.", "This team is full.": "Este equipo est\u00e1 lleno.", @@ -2403,6 +2403,7 @@ "You did not submit the required files: {requiredFiles}.": "No enviaste los archivos requeridos: {requiredFiles}.", "You don't seem to have Flash installed. Get Flash to continue your verification.": "Al parecer no tienes el flash instalado. Por favor instala el flash para continuar con tu proceso de verificaci\u00f3n.", "You don't seem to have a webcam connected.": "Parece que no hay una webcam conectada.", + "You have access to the {enterpriseName} dashboard": "Tienes acceso al tablero {enterpriseName}", "You have added a criterion. You will need to select an option for the criterion in the Learner Training step. To do this, click the Assessment Steps tab.": "Has agregado un criterio. Necesitar\u00e1s seleccionar una opci\u00f3n de criterio en el paso de entrenamiento de estudiante. Para hacer esto, presiona clic en la pesta\u00f1a de Pasos de Examen. ", "You have already verified your ID!": "Usted ha verificado su ID!", "You have an active subscription to the {programName} program but are not enrolled in any courses. Enroll in a remaining course and enjoy verified access.": "Tienes una suscripci\u00f3n activa al programa {programName}, pero no est\u00e1s inscrito en ning\u00fan curso. Inscr\u00edbete en alguno de los cursos existentes y disfruta de acceso verificado.", diff --git a/cms/static/js/i18n/es-ar/djangojs.js b/cms/static/js/i18n/es-ar/djangojs.js index 3fe266f34ce8..76478b97ffc8 100644 --- a/cms/static/js/i18n/es-ar/djangojs.js +++ b/cms/static/js/i18n/es-ar/djangojs.js @@ -190,6 +190,7 @@ "Demo the new Grading Experience": "Demostraci\u00f3n de la nueva experiencia de calificaci\u00f3n", "Describe ": "Describir", "Download Software Clicked": "Software de descarga hecho clic", + "Draft saved!": "\u00a1Borrador guardado!", "End My Exam": "Finalizar mi examen", "Ending Exam": "Terminando el examen", "Enter a valid positive value number": "Introduzca un n\u00famero de valor positivo v\u00e1lido", @@ -270,6 +271,7 @@ "Peer Responses Received": "Respuestas de compa\u00f1eros recibidas", "Peers Assessed": "Compa\u00f1eros evaluados", "Pending Session Review": "Revisi\u00f3n de sesi\u00f3n pendiente", + "Please check your internet connection.": "Por favor, revisar la conexi\u00f3n de Internet.", "Please wait": "Espere por favor", "Practice Exam Completed": "Examen de pr\u00e1ctica completado", "Practice Exam Failed": "Examen de pr\u00e1ctica fallido", @@ -293,7 +295,8 @@ "Retry my exam": "Reintentar mi examen", "Review Policy Exception": "Excepci\u00f3n de pol\u00edtica de revisi\u00f3n", "Save Unsuccessful": "Guardado sin \u00e9xito", - "Saving...": "Guardando...", + "Saving draft": "Guardando borrador", + "Saving draft...": "Guardando borrador...", "Second Review Required": "Segunda revisi\u00f3n requerida", "Self": "Auto", "September": "Setiembre", @@ -307,7 +310,6 @@ "Start my exam": "Empezar el examen", "Started": "Iniciado", "Starting Exam": "Empezando el examen", - "Status of Your Response": "Estado de su respuesta", "Submitted": "Presentado", "Take this exam without proctoring.": "Realizar este examen sin supervisi\u00f3n.", "Taking As Open Exam": "Examen abierto", @@ -332,10 +334,7 @@ "This is the list of available %s. You may choose some by selecting them in the box below and then clicking the \"Choose\" arrow between the two boxes.": "Esta es la lista de %s disponibles. Puede elegir algunos/as seleccion\u00e1ndolos/as en el cuadro de abajo y luego haciendo click en la flecha \"Seleccionar\" ubicada entre las dos listas.", "This is the list of chosen %s. You may remove some by selecting them in the box below and then clicking the \"Remove\" arrow between the two boxes.": "Esta es la lista de %s seleccionados. Puede deseleccionar algunos de ellos activ\u00e1ndolos en la lista de abajo y luego haciendo click en la flecha \"Eliminar\" ubicada entre las dos listas.", "This problem could not be saved.": "Este problema no se pudo guardar.", - "This response could not be saved.": "Esta respuesta no se pudo guardar.", "This response could not be submitted.": "No se pudo enviar esta respuesta.", - "This response has been saved but not submitted.": "Esta respuesta ha sido guardada pero no enviada.", - "This response has not been saved.": "Esta respuesta no se ha guardado.", "This section could not be loaded.": "No se pudo cargar esta secci\u00f3n.", "Thumbnail view of ": "Vista en miniatura de", "Time Spent On Current Step": "Tiempo empleado en el paso actual", diff --git a/cms/static/js/i18n/es-es/djangojs.js b/cms/static/js/i18n/es-es/djangojs.js index 0e1ec230fcbb..2c0d4f535e14 100644 --- a/cms/static/js/i18n/es-es/djangojs.js +++ b/cms/static/js/i18n/es-es/djangojs.js @@ -190,6 +190,7 @@ "Demo the new Grading Experience": "Demostraci\u00f3n de la nueva Experiencia de Calificaci\u00f3n", "Describe ": "Describir", "Download Software Clicked": "Software de descarga hecho clic", + "Draft saved!": "\u00a1Borrador guardado!", "End My Exam": "Finalizar mi examen", "Ending Exam": "Examen final", "Enter a valid positive value number": "Introduzca un n\u00famero de valor positivo v\u00e1lido", @@ -270,6 +271,7 @@ "Peer Responses Received": "Respuestas de compa\u00f1eros recibidas", "Peers Assessed": "Compa\u00f1ero evaluado", "Pending Session Review": "Revisi\u00f3n de la sesi\u00f3n pendiente", + "Please check your internet connection.": "Por favor, revisar la conexi\u00f3n de Internet.", "Please wait": "Por favor, espera", "Practice Exam Completed": "Examen pr\u00e1ctico completado", "Practice Exam Failed": "Examen pr\u00e1ctico fallido", @@ -293,7 +295,8 @@ "Retry my exam": "Reintentar mi examen", "Review Policy Exception": "Excepci\u00f3n de la pol\u00edtica de revisi\u00f3n", "Save Unsuccessful": "Guardado sin \u00e9xito", - "Saving...": "Guardando...", + "Saving draft": "Guardando borrador", + "Saving draft...": "Guardando borrador...", "Second Review Required": "Es necesario revisarlo una segunda vez", "Self": "Auto", "September": "Septiembre", @@ -307,7 +310,6 @@ "Start my exam": "comenzar mi examen", "Started": "Inici\u00f3", "Starting Exam": "examen inicial", - "Status of Your Response": "Estado de tu respuesta", "Submitted": "Enviado", "Take this exam without proctoring.": "Realizar este examen sin supervisi\u00f3n.", "Taking As Open Exam": "Haciendo como examen abierto", @@ -332,10 +334,7 @@ "This is the list of available %s. You may choose some by selecting them in the box below and then clicking the \"Choose\" arrow between the two boxes.": "Esta es la lista de %s disponibles. Puede elegir algunos seleccion\u00e1ndolos en la caja inferior y luego haciendo clic en la flecha \"Elegir\" que hay entre las dos cajas.", "This is the list of chosen %s. You may remove some by selecting them in the box below and then clicking the \"Remove\" arrow between the two boxes.": "Esta es la lista de los %s elegidos. Puede elmininar algunos seleccion\u00e1ndolos en la caja inferior y luego haciendo click en la flecha \"Eliminar\" que hay entre las dos cajas.", "This problem could not be saved.": "Este ejercicio no ha podido guardarse.", - "This response could not be saved.": "Esta respuesta no ha podido guardarse.", "This response could not be submitted.": "Esta respuesta no ha podido enviarse.", - "This response has been saved but not submitted.": "Esta respuesta se ha guardado pero no se ha enviado.", - "This response has not been saved.": "Esta respuesta no se ha guardado.", "This section could not be loaded.": "Esta secci\u00f3n no ha podido cargarse.", "Thumbnail view of ": "Vista en miniatura de", "Time Spent On Current Step": "Tiempo empleado en el paso actual", diff --git a/cms/static/js/i18n/eu-es/djangojs.js b/cms/static/js/i18n/eu-es/djangojs.js index 5c7d6944b810..8e9f08714f1a 100644 --- a/cms/static/js/i18n/eu-es/djangojs.js +++ b/cms/static/js/i18n/eu-es/djangojs.js @@ -952,7 +952,6 @@ "Saved cohort": "Gordetako kohortea", "Saving": "Gordetzen", "Saving your email preference": "Zure e-posta hobespenak gordetzen", - "Saving...": "Gordetzen", "Scope": "Esparrua", "Search": "Bilatu", "Search Results": "Bilaketaren emaitzak", @@ -1042,7 +1041,6 @@ "Starts: %(start_date)s": "Hasiera: %(start_date)s", "State": "Egoera", "Status": "Egoera", - "Status of Your Response": "Zure erantzunaren egoera", "Strikethrough": "Marratua", "Student": "Ikaslea", "Student email or username": "Ikaslearen e-posta edo erabiltzaile-izena", @@ -1063,8 +1061,6 @@ "Success! \"{displayName}\" has been moved.": "Ondo! \"{displayName}\" mugitu da.", "Successfully enrolled and sent email to the following users:": "Egoki matrikulatu dira eta e-posta bidali zaie ondorengo erabiltzaileei: ", "Successfully enrolled the following users:": "Egoki matrikulatu dira ondorengo erabiltzaileak:", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "Egoki bidali zaizkie matrikulazio e-postak ondorengo erabiltzaileei. Aukera izango dute matrikulatzeko identifikatzen direnean: ", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "Egoki bidali zaizkie matrikulazio e-postak ondorengo erabiltzaileei. Matrikulatu egingo ditugu identifikatzen direnean: ", "Successfully unlinked.": "Esteka egoki kenduta.", "Superscript": "Goi-indizea", "Support education research by providing additional information": "Lagundu hezkuntza-ikerketari informazio gehigarria emanez", @@ -1171,10 +1167,7 @@ "This post will be visible to everyone.": "Mezu hau guztiek ikusiko dute.", "This problem could not be saved.": "Ariketa hau ezin izan da gorde.", "This problem has been reset.": "Ariketa hau berrabiarazi da.", - "This response could not be saved.": "Erantzun hau ezin izan da gorde.", "This response could not be submitted.": "Erantzun hau ezin izan da bidali.", - "This response has been saved but not submitted.": "Erantzuna gorde da baina ez da bidali.", - "This response has not been saved.": "Erantzun hau ez da gorde.", "This role requires a divided discussions scheme.": "Rol honek banatutako eztabaida-eskema behar du.", "This section could not be loaded.": "Atal hau ezin izan da kargatu.", "This team does not have any members.": "Talde honek ez du partaiderik.", diff --git a/cms/static/js/i18n/fa-ir/djangojs.js b/cms/static/js/i18n/fa-ir/djangojs.js index 6794dbe1ec50..ed30f84d32e6 100644 --- a/cms/static/js/i18n/fa-ir/djangojs.js +++ b/cms/static/js/i18n/fa-ir/djangojs.js @@ -159,6 +159,7 @@ " to complete and submit the exam.": "\u0628\u0631\u0627\u06cc \u062a\u06a9\u0645\u06cc\u0644 \u0648 \u0627\u0631\u0633\u0627\u0644 \u0622\u0632\u0645\u0648\u0646.", " to learn": "\u0628\u0631\u0627\u06cc \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc", "${listPrice}": "${listPrice}", + "${price}/month {currency}": "${price}/\u0645\u0627\u0647 {currency}", "%(cohort_name)s (%(user_count)s)": "%(cohort_name)s (%(user_count)s)", "%(comments_count)s %(span_sr_open)scomments %(span_close)s": "%(comments_count)s%(span_sr_open)s \u0646\u0638\u0631\u0627\u062a %(span_close)s", "%(comments_count)s %(span_sr_open)scomments (%(unread_comments_count)s unread comments)%(span_close)s": "%(comments_count)s%(span_sr_open)s \u0646\u0638\u0631\u0627\u062a (\u0646\u0638\u0631\u0627\u062a \u0646\u062e\u0648\u0627\u0646\u062f\u0647%(unread_comments_count)s )%(span_close)s", @@ -249,6 +250,7 @@ "Access to this {blockType} is restricted to: {selectedGroupsLabel}": "\u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0627\u06cc\u0646 {blockType} \u0645\u062d\u062f\u0648\u062f \u0627\u0633\u062a \u0628\u0647: {selectedGroupsLabel}", "Accomplishments": "\u062f\u0633\u062a\u0627\u0648\u0631\u062f\u0647\u0627", "Accomplishments Pagination": "\u062f\u0633\u062a\u0627\u0648\u0631\u062f\u0647\u0627\u06cc \u0635\u0641\u062d\u0647\u200c\u0628\u0646\u062f\u06cc", + "According to our records, you are not enrolled in any courses included in your {programName} program subscription. Enroll in a course from the {i_start}Program Details{i_end} page.": "\u0637\u0628\u0642 \u0633\u0648\u0627\u0628\u0642 \u0645\u0627\u060c \u0634\u0645\u0627 \u062f\u0631 \u0647\u06cc\u0686 \u062f\u0648\u0631\u0647 \u0627\u06cc \u06a9\u0647 \u062f\u0631 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 {programName} \u062e\u0648\u062f \u06af\u0646\u062c\u0627\u0646\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u062b\u0628\u062a \u0646\u0627\u0645 \u0646\u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f. \u062f\u0631 \u06cc\u06a9 \u062f\u0648\u0631\u0647 \u0627\u0632 \u0635\u0641\u062d\u0647 {i_start}\u062c\u0632\u0626\u06cc\u0627\u062a \u0628\u0631\u0646\u0627\u0645\u0647{i_end} \u062b\u0628\u062a \u0646\u0627\u0645 \u06a9\u0646\u06cc\u062f.", "Account": "\u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc", "Account Information": "\u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc", "Account Not Activated": "\u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0641\u0639\u0627\u0644 \u0646\u0634\u062f\u0647 \u0627\u0633\u062a", @@ -598,6 +600,7 @@ "Copy Email To Editor": "\u06a9\u067e\u06cc \u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647 \u0628\u0647 \u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631", "Copy Exam Code": "\u06a9\u067e\u06cc \u06a9\u062f\u0622\u0632\u0645\u0648\u0646", "Copy row": "\u06a9\u067e\u06cc \u0631\u062f\u06cc\u0641", + "Copying": "\u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646", "Correct failed component": "\u0645\u0648\u0644\u0641\u0647 \u0627\u0634\u062a\u0628\u0627\u0647 \u0631\u0627 \u062a\u0635\u062d\u06cc\u062d \u06a9\u0646\u06cc\u062f", "Cost": "\u0647\u0632\u06cc\u0646\u0647", "Could not find Certificate Exception in the allowlist. Please refresh the page and try again": "\u0645\u0648\u0627\u0631\u062f \u0645\u0633\u062a\u062b\u0646\u06cc \u0627\u0632 \u0641\u0647\u0631\u0633\u062a \u0645\u062c\u0627\u0632 \u0628\u0647 \u062f\u0631\u06cc\u0627\u0641\u062a \u06af\u0648\u0627\u0647\u06cc \u067e\u06cc\u062f\u0627 \u0646\u0634\u062f. \u0644\u0637\u0641\u0627 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0628\u0627\u0631\u06af\u0632\u0627\u0631\u06cc \u06a9\u0631\u062f\u0647 \u0648 \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0644\u0627\u0634 \u06a9\u0646\u06cc\u062f", @@ -789,6 +792,8 @@ "Email": "\u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647", "Email Address (Sign In)": "\u0622\u062f\u0631\u0633 \u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647 (\u0648\u0631\u0648\u062f)", "Email address": "\u0646\u0634\u0627\u0646\u06cc \u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647", + "Email cannot be sent to the following users via batch enrollment. They will be allowed to enroll once they register:": "\u0627\u06cc\u0645\u06cc\u0644 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u062b\u0628\u062a \u0646\u0627\u0645 \u062f\u0633\u062a\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0632\u06cc\u0631 \u0627\u0631\u0633\u0627\u0644 \u0646\u0645\u06cc \u0634\u0648\u062f. \u0622\u0646\u0647\u0627 \u067e\u0633 \u0627\u0632 \u062b\u0628\u062a \u0646\u0627\u0645 \u0645\u062c\u0627\u0632 \u0628\u0647 \u0634\u0631\u06a9\u062a \u062f\u0631 \u062f\u0648\u0631\u0647 \u062e\u0648\u0627\u0647\u0646\u062f \u0628\u0648\u062f:", + "Email cannot be sent to the following users via batch enrollment. They will be enrolled once they register:": "\u0627\u06cc\u0645\u06cc\u0644 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u062b\u0628\u062a \u0646\u0627\u0645 \u062f\u0633\u062a\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0632\u06cc\u0631 \u0627\u0631\u0633\u0627\u0644 \u0646\u0645\u06cc \u0634\u0648\u062f. \u0622\u0646\u0647\u0627 \u067e\u0633 \u0627\u0632 \u062b\u0628\u062a \u0646\u0627\u0645 \u0645\u062c\u0627\u0632 \u0628\u0647 \u0634\u0631\u06a9\u062a \u062f\u0631 \u062f\u0648\u0631\u0647 \u062e\u0648\u0627\u0647\u0646\u062f \u0628\u0648\u062f:", "Emails successfully sent. The following users are no longer enrolled in the course:": "\u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647\u200c\u0647\u0627 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0627\u0631\u0633\u0627\u0644 \u0634\u062f\u0646\u062f \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0632\u06cc\u0631 \u062f\u06cc\u06af\u0631 \u062f\u0631 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u0634\u062f\u0647 \u0645\u062d\u0633\u0648\u0628\u200c \u0646\u0645\u06cc\u200c\u0634\u0648\u0646\u062f:", "Embed": "\u062c\u0627\u0633\u0627\u0632\u06cc", "Emoticons": "\u0634\u06a9\u0644\u06a9\u200c\u0647\u0627", @@ -806,6 +811,7 @@ "Ends {end}": "\u067e\u0627\u06cc\u0627\u0646 \u0645\u06cc\u200c\u06cc\u0627\u0628\u062f {end}", "Engage with posts": "\u0628\u0647 \u067e\u064f\u0633\u062a\u200c\u0647\u0627 \u0648\u0627\u06a9\u0646\u0634 \u0646\u0634\u0627\u0646 \u062f\u0647\u06cc\u062f", "Enroll Now": "\u0647\u0645\u06cc\u0646 \u062d\u0627\u0644\u0627 \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u06a9\u0646\u06cc\u062f", + "Enroll in a {programName}'s course": "\u062f\u0631 \u062f\u0648\u0631\u0647 {programName} \u062b\u0628\u062a \u0646\u0627\u0645 \u06a9\u0646\u06cc\u062f", "Enrolled": "\u062b\u0628\u062a\u200c\u0634\u062f\u0647", "Enrolling you in the selected course": "\u062f\u0631 \u062d\u0627\u0644 \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u0634\u0645\u0627 \u062f\u0631 \u062f\u0648\u0631\u06c0 \u0645\u0646\u062a\u062e\u0628", "Enrollment Date": "\u062a\u0627\u0631\u06cc\u062e \u062b\u0628\u062a\u200c\u0646\u0627\u0645", @@ -1271,6 +1277,7 @@ "New Password": "\u06af\u0630\u0631\u0648\u0627\u0698\u06c0 \u062c\u062f\u06cc\u062f", "New document": "\u0633\u0646\u062f \u062c\u062f\u06cc\u062f", "New enrollment mode:": "\u0648\u0636\u0639\u06cc\u062a \u062a\u0627\u0632\u0647 \u062b\u0628\u062a\u200c\u0646\u0627\u0645:", + "New files were added to this course's Files & Uploads": "\u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0628\u0647 \"\u0641\u0627\u06cc\u0644 \u0647\u0627 \u0648 \u0622\u067e\u0644\u0648\u062f\u0647\u0627\"\u06cc \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u0627\u0636\u0627\u0641\u0647 \u0634\u062f", "New window": "\u067e\u0646\u062c\u0631\u06c0 \u062c\u062f\u06cc\u062f", "New {component_type}": "{component_type} \u062c\u062f\u06cc\u062f", "Next": "\u0628\u0639\u062f\u06cc", @@ -1393,6 +1400,7 @@ "Paste row after": "\u0627\u0644\u062d\u0627\u0642 \u0631\u062f\u06cc\u0641 \u067e\u0633 \u0627\u0632 \u0627\u06cc\u0646 \u0631\u062f\u06cc\u0641", "Paste row before": "\u0627\u0644\u062d\u0627\u0642 \u0631\u062f\u06cc\u0641 \u067e\u06cc\u0634 \u0627\u0632 \u0627\u06cc\u0646 \u0631\u062f\u06cc\u0641\n\n\u00a0", "Paste your embed code below:": "\u06a9\u062f\u062c\u0627\u0633\u0627\u0632\u06cc \u0631\u0627 \u062f\u0631 \u0642\u0633\u0645\u062a \u0632\u06cc\u0631 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f:", + "Pasting": "\u0627\u0644\u0635\u0627\u0642 \u06a9\u0631\u062f\u0646", "Path to Signature Image": "\u0645\u0633\u06cc\u0631 \u062a\u0635\u0648\u06cc\u0631 \u0627\u0645\u0636\u0627", "Pause": "\u0645\u06a9\u062b", "Peer": "\u0647\u0645\u062a\u0627 ", @@ -1620,7 +1628,6 @@ "Saved cohort": "\u062f\u0633\u062a\u0647 \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f\u0647 ", "Saving": "\u062f\u0631 \u062d\u0627\u0644 \u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc", "Saving your email preference": "\u062f\u0631 \u062d\u0627\u0644 \u0630\u062e\u06cc\u0631\u06c0 \u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647 \u0645\u0631\u062c\u062d", - "Saving...": "\u062f\u0631 \u062d\u0627\u0644 \u0630\u062e\u06cc\u0631\u0647 ...", "Scheduled:": "\u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0631\u06cc\u0632\u06cc\u200c\u0634\u062f\u0647:", "Scope": "\u062f\u0627\u0645\u0646\u0647", "Search": "\u062c\u0633\u062a\u062c\u0648", @@ -1650,9 +1657,14 @@ "Select a subject for your support request.": "\u0645\u0648\u0636\u0648\u0639\u06cc \u0628\u0631\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u062e\u0648\u062f \u0628\u0631\u06af\u0632\u06cc\u0646\u06cc\u062f.", "Select a time allotment for the exam. If it is over 24 hours, type in the amount of time. You can grant individual learners extra time to complete the exam through the Instructor Dashboard.": "\u0632\u0645\u0627\u0646\u06cc \u0631\u0627 \u0628\u0647 \u0622\u0632\u0645\u0648\u0646 \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0647\u06cc\u062f. \u0627\u06af\u0631 \u0645\u0627\u06cc\u0644\u06cc\u062f \u0628\u06cc\u0634 \u0627\u0632 24 \u0633\u0627\u0639\u062a \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f\u060c \u0645\u06cc\u0632\u0627\u0646 \u0632\u0645\u0627\u0646 \u0631\u0627 \u062a\u0627\u06cc\u067e \u06a9\u0646\u06cc\u062f. \u0634\u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0631\u0627\u06cc \u062a\u06a9\u0645\u06cc\u0644 \u0627\u0645\u062a\u062d\u0627\u0646 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u067e\u06cc\u0634\u062e\u0648\u0627\u0646 \u0645\u0631\u0628\u06cc\u060c \u0628\u0647 \u062a\u06a9 \u062a\u06a9 \u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u06af\u0627\u0646 \u0648\u0642\u062a \u0627\u0636\u0627\u0641\u06cc \u0628\u062f\u0647\u06cc\u062f.", "Select all": "\u0627\u0646\u062a\u062e\u0627\u0628 \u0647\u0645\u0647", + "Select current industry": "\u0635\u0646\u0639\u062a \u0641\u0639\u0644\u06cc \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f", "Select fidelity": "\u0627\u0646\u062a\u062e\u0627\u0628 \u0648\u0641\u0627\u062f\u0627\u0631\u06cc", + "Select guardian education": "\u062a\u062d\u0635\u06cc\u0644\u0627\u062a \u0633\u0631\u067e\u0631\u0633\u062a \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f", "Select language": "\u0627\u0646\u062a\u062e\u0627\u0628 \u0632\u0628\u0627\u0646", + "Select level of education": "\u0633\u0637\u062d \u062a\u062d\u0635\u06cc\u0644\u0627\u062a \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f", + "Select military status": "\u0648\u0636\u0639\u06cc\u062a \u0633\u0631\u0628\u0627\u0632\u06cc \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f", "Select one or more groups:": "\u06cc\u06a9 \u06cc\u0627 \u062f\u0648 \u06af\u0631\u0648\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f:", + "Select prospective industry": "\u0635\u0646\u0639\u062a \u0622\u06cc\u0646\u062f\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f", "Select the course-wide discussion topics that you want to divide.": "\u0645\u0628\u0627\u062d\u062b \u06af\u0641\u062a\u06af\u0648\u06cc \u0637\u0648\u0644 \u062f\u0648\u0631\u0647 \u0622\u0645\u0648\u0632\u0634\u06cc \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u062a\u0642\u0633\u06cc\u0645 \u06a9\u0646\u06cc\u062f.", "Select the time zone for displaying course dates. If you do not specify a time zone, course dates, including assignment deadlines, will be displayed in your browser's local time zone.": "\u0645\u0646\u0637\u0642\u06c0 \u0632\u0645\u0627\u0646\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0646\u0645\u0627\u06cc\u0634 \u062a\u0627\u0631\u06cc\u062e \u062f\u0648\u0631\u0647 \u0622\u0645\u0648\u0632\u0634\u06cc \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f. \u0627\u06af\u0631 \u0645\u0646\u0637\u0642\u06c0 \u0632\u0645\u0627\u0646\u06cc \u0631\u0627 \u0645\u0634\u062e\u0635 \u0646\u06a9\u0646\u06cc\u062f\u060c \u062a\u0627\u0631\u06cc\u062e \u062f\u0648\u0631\u0647\u200c\u0647\u0627\u060c \u0645\u0627\u0646\u0646\u062f \u0645\u0647\u0644\u062a \u0627\u0646\u062c\u0627\u0645 \u062a\u06a9\u0644\u06cc\u0641\u060c \u062f\u0631 \u0645\u0646\u0637\u0642\u06c0 \u0632\u0645\u0627\u0646\u06cc \u0645\u062d\u0644\u06cc \u0645\u0631\u0648\u0631\u06af\u0631 \u0634\u0645\u0627 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.", "Select turnaround": "\u0627\u0646\u062a\u062e\u0627\u0628 \u0686\u0631\u062e\u0634", @@ -1730,6 +1742,7 @@ "Skip": "\u067e\u0631\u0634 ", "Social Media Links": "\u067e\u06cc\u0648\u0646\u062f\u0647\u0627\u06cc \u0634\u0628\u06a9\u0647\u200c\u0647\u0627\u06cc \u0627\u062c\u062a\u0645\u0627\u0639\u06cc", "Some Rights Reserved": "\u0628\u0639\u0636\u06cc \u0627\u0632 \u062d\u0642\u0648\u0642 \u0645\u062d\u0641\u0648\u0638 \u0627\u0633\u062a", + "Some errors occurred": "\u0628\u0631\u062e\u06cc \u0627\u0632 \u062e\u0637\u0627\u0647\u0627 \u0631\u062e \u062f\u0627\u062f\u0647 \u0627\u0633\u062a", "Some images in this post have been omitted": "\u0628\u0631\u062e\u06cc \u0627\u0632 \u062a\u0635\u0627\u0648\u06cc\u0631 \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0637\u0644\u0628 \u062d\u0630\u0641 \u0634\u062f\u0647\u200c\u0627\u0646\u062f", "Something went wrong changing this enrollment. Please try again.": "\u062f\u0631 \u062d\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631 \u0627\u06cc\u0646 \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u0645\u0634\u06a9\u0644\u06cc \u067e\u06cc\u0634 \u0622\u0645\u062f. \u0644\u0637\u0641\u0627\u064b \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0644\u0627\u0634 \u06a9\u0646\u06cc\u062f.", "Something went wrong. Please try again later.": "\u0645\u0634\u06a9\u0644\u06cc \u067e\u06cc\u0634 \u0622\u0645\u062f\u0647 \u0627\u0633\u062a. \u0644\u0637\u0641\u0627\u064b \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0644\u0627\u0634 \u06a9\u0646\u06cc\u062f.", @@ -1774,7 +1787,6 @@ "Starts: %(start_date)s": "\u0622\u063a\u0627\u0632 \u0645\u06cc\u200c\u0634\u0648\u062f: %(start_date)s", "State": "\u0627\u06cc\u0627\u0644\u062a", "Status": "\u0648\u0636\u0639\u06cc\u062a", - "Status of Your Response": "\u0648\u0636\u0639\u06cc\u062a \u067e\u0627\u0633\u062e \u0634\u0645\u0627", "Strikethrough": "\u062e\u0637 \u0631\u0648\u06cc \u0646\u0648\u0634\u062a\u0647 ", "Student": "\u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u0647", "Student Removed from certificate allowlist successfully.": "\u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u0647 \u0627\u0632 \u0641\u0647\u0631\u0633\u062a \u0627\u0641\u0631\u0627\u062f \u0645\u062c\u0627\u0632 \u0628\u0647 \u062f\u0631\u06cc\u0627\u0641\u062a \u06af\u0648\u0627\u0647\u06cc \u062d\u0630\u0641 \u0634\u062f.", @@ -1793,6 +1805,11 @@ "Submit enrollment change": "\u062a\u0627\u06cc\u06cc\u062f \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u062b\u0628\u062a\u200c\u0646\u0627\u0645 ", "Submitted": "\u062a\u0627\u06cc\u06cc\u062f\u0634\u062f\u0647", "Subscript": "\u0632\u06cc\u0631\u0646\u0648\u06cc\u0633", + "Subscription trial expires in less than 24 hours": "\u062f\u0648\u0631\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0627\u0634\u062a\u0631\u0627\u06a9 \u062f\u0631 \u06a9\u0645\u062a\u0631 \u0627\u0632 24 \u0633\u0627\u0639\u062a \u0645\u0646\u0642\u0636\u06cc \u0645\u06cc \u0634\u0648\u062f", + "Subscription trial expires in {remainingDays} day": [ + "\u062f\u0648\u0631\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0627\u0634\u062a\u0631\u0627\u06a9 {remainingDays} \u0631\u0648\u0632 \u062f\u06cc\u06af\u0631 \u0645\u0646\u0642\u0636\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f", + "\u062f\u0648\u0631\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0627\u0634\u062a\u0631\u0627\u06a9 {remainingDays} \u0631\u0648\u0632 \u062f\u06cc\u06af\u0631 \u0645\u0646\u0642\u0636\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f" + ], "Subsection": "\u0632\u06cc\u0631\u0628\u062e\u0634", "Subsection Visibility": "\u0631\u0624\u06cc\u062a\u200c\u067e\u0630\u06cc\u0631\u06cc \u0632\u06cc\u0631\u0628\u062e\u0634", "Subsection is hidden after course end date": "\u0628\u062e\u0634 \u0641\u0631\u0639\u06cc \u067e\u0633 \u0627\u0632 \u062a\u0627\u0631\u06cc\u062e \u067e\u0627\u06cc\u0627\u0646 \u062f\u0648\u0631\u0647 \u0622\u0645\u0648\u0632\u0634\u06cc \u067e\u0646\u0647\u0627\u0646 \u0645\u06cc\u200c\u0634\u0648\u062f", @@ -1808,8 +1825,6 @@ "Successfully rescored problem for user {user}": "\u0627\u0645\u062a\u06cc\u0627\u0632\u062f\u0647\u06cc \u0645\u062c\u062f\u062f \u0645\u0633\u0626\u0644\u0647\u060c \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 {user} \u0645\u0648\u0641\u0642 \u0627\u0646\u062c\u0627\u0645 \u0634\u062f.", "Successfully rescored problem to improve score for user {user}": "\u0627\u0645\u062a\u06cc\u0627\u0632\u062f\u0647\u06cc \u0645\u062c\u062f\u062f \u0645\u0633\u0627\u0644\u0647\u060c \u0628\u0631\u0627\u06cc \u0628\u0647\u0628\u0648\u062f \u0627\u0645\u062a\u06cc\u0627\u0632 \u06a9\u0627\u0631\u0628\u0631 {user} \u0645\u0648\u0641\u0642 \u0627\u0646\u062c\u0627\u0645 \u0634\u062f.", "Successfully reset the attempts for user {user}": "\u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u062a\u0644\u0627\u0634\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 {user} \u0631\u0627 \u0628\u0627\u0632\u062a\u0646\u0638\u06cc\u0645 \u06a9\u0631\u062f", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "\u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0632\u06cc\u0631 \u0627\u0631\u0633\u0627\u0644 \u0634\u062f. \u0628\u0647\u200c\u0645\u062d\u0636 \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0645\u062c\u0627\u0632 \u0628\u0647 \u062b\u0628\u062a \u0647\u0633\u062a\u0646\u062f:", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "\u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc \u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647\u200c\u0627\u06cc \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0632\u06cc\u0631 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0627\u0631\u0633\u0627\u0644 \u0634\u062f. \u067e\u0633 \u0627\u0632 \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u062f\u0631 \u0633\u0627\u0645\u0627\u0646\u0647\u060c \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f:", "Successfully started task to rescore problem '<%- problem_id %>' for all students. Click the 'Show Task Status' button to see the status of the task.": "\u0627\u06cc\u0646 \u0648\u0638\u06cc\u0641\u0647 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0622\u063a\u0627\u0632 \u0634\u062f \u062a\u0627 \u0645\u0633\u0627\u0644\u0647 \u0646\u0645\u0631\u0647\u200c\u062f\u0647\u06cc \u0645\u062c\u062f\u062f '<%- problem_id %>' \u0631\u0627 \u0628\u0631\u0627\u06cc \u0647\u0645\u06c0 \u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u06af\u0627\u0646 \u0628\u0631\u0637\u0631\u0641 \u06a9\u0646\u062f. \u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u06c0 \u0648\u0636\u0639\u06cc\u062a \u06a9\u0627\u0631 \u0628\u0631 \u0631\u0648\u06cc \u062f\u06a9\u0645\u06c0 \u00ab\u0646\u0645\u0627\u06cc\u0634 \u0648\u0636\u0639\u06cc\u062a \u06a9\u0627\u0631\u00bb \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.", "Successfully started task to reset attempts for problem '<%- problem_id %>'. Click the 'Show Task Status' button to see the status of the task.": "\u0628\u0627\u0632\u062a\u0646\u0638\u06cc\u0645 \u062a\u0644\u0627\u0634\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc \u0645\u0633\u0627\u0644\u0647 '<%- problem_id %>' \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0622\u063a\u0627\u0632 \u0634\u062f. \u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u06c0 \u0648\u0636\u0639\u06cc\u062a \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0631 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 \"\u0646\u0645\u0627\u06cc\u0634 \u0648\u0636\u0639\u06cc\u062a \u06a9\u0627\u0631\" \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.", "Successfully unlinked.": "\u067e\u06cc\u0648\u0646\u062f \u0642\u0637\u0639 \u0634\u062f.", @@ -1864,6 +1879,7 @@ "Thank you for submitting a request! We appreciate your patience while we work to review your request.": "\u0628\u0627 \u062a\u0634\u06a9\u0631 \u0627\u0632 \u0634\u0645\u0627 \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u062a\u0627\u0646! \u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0628\u0631\u0631\u0633\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u062a\u0627\u0646 \u0647\u0633\u062a\u06cc\u0645. \u0642\u062f\u0631\u062f\u0627\u0646 \u0634\u06a9\u06cc\u0628\u0627\u06cc\u06cc \u0634\u0645\u0627 \u0647\u0633\u062a\u06cc\u0645.", "Thank you for submitting your financial assistance application for {course_name}! You can expect a response in 2-4 business days.": "\u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0645\u06a9 \u0645\u0627\u0644\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc {course_name} \u0627\u0631\u0633\u0627\u0644 \u06a9\u0631\u062f\u06cc\u062f \u0645\u062a\u0634\u06a9\u0631\u06cc\u0645! 2-4 \u0631\u0648\u0632 \u06a9\u0627\u0631\u06cc \u0645\u0646\u062a\u0638\u0631 \u067e\u0627\u0633\u062e \u0628\u0627\u0634\u06cc\u062f.", "Thank you for submitting your photos. We will review them shortly. You can now sign up for any %(platformName)s course that offers verified certificates. Verification is good for one year. After one year, you must submit photos for verification again.": " \u0645\u062a\u0634\u06a9\u0631\u06cc\u0645! \u0628\u0647\u200c\u0632\u0648\u062f\u06cc \u062a\u0635\u0627\u0648\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f. \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0631\u0627\u06cc \u0647\u0631 \u062f\u0648\u0631\u0647 \u0622\u0645\u0648\u0632\u0634\u06cc%(platformName)s\u06a9\u0647 \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc \u062a\u0623\u06cc\u06cc\u062f\u0634\u062f\u0647 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f\u060c \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u06a9\u0646\u06cc\u062f. \u0627\u0639\u062a\u0628\u0627\u0631 \u0622\u0646 \u062a\u0627 \u06cc\u06a9 \u0633\u0627\u0644 \u0628\u0627\u0642\u06cc \u0627\u0633\u062a. \u067e\u0633 \u0627\u0632 \u0622\u0646\u060c \u0636\u0631\u0648\u0631\u06cc \u0627\u0633\u062a \u0645\u062c\u062f\u062f\u0627 \u0628\u0631\u0627\u06cc \u062a\u0623\u06cc\u06cc\u062f \u062a\u0635\u0627\u0648\u06cc\u0631 \u0627\u0642\u062f\u0627\u0645 \u06a9\u0646\u06cc\u062f.", + "Thank you! You\u2019re helping make edX better for everyone.": "\u0627\u0632 \u06cc\u0627\u0631\u06cc \u0634\u0645\u0627 \u0645\u062a\u0634\u06a9\u0631\u06cc\u0645! \u0634\u0645\u0627 \u0628\u0647 \u0645\u0627 \u062f\u0631 \u0627\u06cc\u062c\u0627\u062f\u0633\u0627\u0645\u0627\u0646\u0647\u200c\u0627\u06cc \u0628\u0647\u062a\u0631 \u06cc\u0627\u0631\u06cc \u0631\u0633\u0627\u0646\u062f\u06cc\u062f.", "Thanks for returning to verify your ID in: {courseName}": "\u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0628\u0631\u0627\u06cc \u062a\u0623\u06cc\u06cc\u062f \u0634\u0646\u0627\u0633\u06c0 \u062e\u0648\u062f \u0628\u0647 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0627\u0632\u06af\u0634\u062a\u06cc\u062f \u0645\u062a\u0634\u06a9\u0631\u06cc\u0645: {courseName}", "The \"{name}\" problem is configured to require a minimum of {min_grades} peer grades, and asks to review {min_graded} peers.": "\u0645\u0634\u06a9\u0644 \"{name}\" \u0628\u0647 \u06af\u0648\u0646\u0647\u200c\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u062d\u062f\u0627\u0642\u0644 {min_grades} \u0646\u0645\u0631\u0647 \u0647\u0645\u062a\u0627 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f\u060c \u0648 \u0627\u0632 \u0634\u0645\u0627 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u062f {min_graded} \u0647\u0645\u062a\u0627\u06cc\u0627\u0646 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f.", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f \u0646\u0634\u0627\u0646\u06cc \u0627\u06cc\u0646\u062a\u0631\u0646\u062a\u06cc \u06a9\u0647 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f \u0646\u0634\u0627\u0646\u06cc \u06cc\u06a9 \u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647 \u0627\u0633\u062a. \u0645\u0627\u06cc\u0644\u06cc\u062f \u067e\u06cc\u0634\u0648\u0646\u062f mailto: \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f\u061f", @@ -1892,9 +1908,12 @@ "The following email addresses and/or usernames are invalid:": "\u0622\u062f\u0631\u0633\u200c\u0647\u0627\u06cc \u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647 \u0632\u06cc\u0631 \u0648 / \u06cc\u0627 \u0646\u0627\u0645\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u06cc \u0646\u0627\u0645\u0639\u062a\u0628\u0631 \u0647\u0633\u062a\u0646\u062f:", "The following errors were generated:": "\u0627\u06cc\u0646 \u062e\u0637\u0627\u0647\u0627 \u0631\u062e \u062f\u0627\u062f\u0647\u200c\u0627\u0646\u062f:", "The following file types are not allowed: ": "\u0627\u06cc\u0646 \u0646\u0648\u0639 \u067e\u0631\u0648\u0646\u062f\u0647 \u0645\u062c\u0627\u0632 \u0646\u06cc\u0633\u062a.", + "The following files already exist in this course but don't match the version used by the component you pasted:": "\u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0627\u0632 \u0642\u0628\u0644 \u062f\u0631 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u0646\u062f\u060c \u0627\u0645\u0627 \u0628\u0627 \u0646\u0633\u062e\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u0645\u0624\u0644\u0641\u0647\u200c\u0627\u06cc \u06a9\u0647 \u0686\u0633\u0628\u0627\u0646\u062f\u0647\u200c\u0627\u06cc\u062f \u0645\u0637\u0627\u0628\u0642\u062a \u0646\u062f\u0627\u0631\u0646\u062f:", "The following information is already a part of your {platform} profile. We've included it here for your application.": "\u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0632\u06cc\u0631 \u0642\u0628\u0644\u0627\u064b \u0628\u062e\u0634\u06cc \u0627\u0632 \u067e\u0631\u0648\u0646\u062f\u06c0 \u06a9\u0627\u0631\u0628\u0631\u06cc {platform} \u0634\u0645\u0627\u0633\u062a. \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0642\u0631\u0627\u0631 \u062f\u0627\u062f\u0647\u200c\u0627\u06cc\u0645.", "The following message will be displayed at the bottom of the courseware pages within your course:": "\u067e\u06cc\u0627\u0645 \u0632\u06cc\u0631 \u062f\u0631 \u067e\u0627\u06cc\u06cc\u0646 \u0635\u0641\u062d\u06c0 \u062f\u0648\u0631\u0647\u200c\u0647\u0627\u06cc \u0622\u0645\u0648\u0632\u0634\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u062f\u0648\u0631\u06c0 \u0634\u0645\u0627 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f:", "The following options are available for the {license_name} license.": "\u06af\u0632\u06cc\u0646\u0647\u200c\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0628\u0631\u0627\u06cc {license_name} \u0641\u0631\u0627\u0647\u0645 \u0647\u0633\u062a\u0646\u062f.", + "The following required files could not be added to the course:": "\u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0632\u06cc\u0631 \u0631\u0627 \u0646\u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0647 \u062f\u0648\u0631\u0647 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f:", + "The following required files were imported to this course:": "\u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0632\u06cc\u0631 \u0628\u0647 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u0648\u0627\u0631\u062f \u0634\u062f\u0646\u062f:", "The following users are no longer enrolled in the course:": "\u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0632\u06cc\u0631\u060c \u062f\u06cc\u06af\u0631 \u062f\u0631 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u0634\u062f\u0647 \u0645\u062d\u0633\u0648\u0628 \u0646\u0645\u06cc\u200c\u0634\u0648\u0646\u062f:", "The following warnings were generated:": "\u0647\u0634\u062f\u0627\u0631\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0627\u0639\u0644\u0627\u0645 \u0634\u062f\u0647\u200c\u0627\u0646\u062f", "The general category for this type of assignment, for example, Homework or Midterm Exam. This name is visible to learners.": "\u062f\u0633\u062a\u06c0 \u0639\u0645\u0648\u0645\u06cc \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0646\u0648\u0639 \u062a\u06a9\u0627\u0644\u06cc\u0641\u060c \u0645\u062b\u0644\u0627\u064b \u062a\u06a9\u0644\u06cc\u0641 \u06cc\u0627 \u0627\u0645\u062a\u062d\u0627\u0646 \u0645\u06cc\u0627\u0646\u200c\u062a\u0631\u0645. \u0627\u06cc\u0646 \u0646\u0627\u0645 \u0628\u0631\u0627\u06cc \u0641\u0631\u0627\u06af\u06cc\u0631\u0627\u0646 \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u0627\u0633\u062a.", @@ -2023,12 +2042,9 @@ "This proctored exam has been released to learners. You may not convert it to another type of special exam. You may revert this subsection back to being a basic exam by selecting 'None', or a timed exam, but you will NOT be able to configure it as a proctored exam in the future.": "\u0627\u06cc\u0646 \u0628\u062e\u0634 \u0641\u0631\u0639\u06cc \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0622\u0632\u0645\u0648\u0646\u06cc \u062d\u0641\u0627\u0638\u062a\u200c\u0634\u062f\u0647 \u0628\u0631\u0627\u06cc \u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u06af\u0627\u0646 \u0645\u0646\u062a\u0634\u0631 \u0634\u062f\u0647\u200c\u0627\u0633\u062a\u060c \u0627\u0645\u06a9\u0627\u0646 \u062a\u063a\u06cc\u06cc\u0631 \u0646\u0648\u0639 \u0622\u0632\u0645\u0648\u0646 \u0648\u06cc\u0698\u0647 \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f. \u0627\u06a9\u0646\u0648\u0646 \u062f\u06cc\u06af\u0631 \u0627\u0645\u06a9\u0627\u0646 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0622\u0646 \u0628\u0647\u200c\u0634\u06a9\u0644 \u0622\u0632\u0645\u0648\u0646 \u062d\u0641\u0627\u0638\u062a\u200c\u0634\u062f\u0647 \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f. \u0634\u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u06cc\u0646 \u0628\u062e\u0634 \u0641\u0631\u0639\u06cc \u0631\u0627 \u0628\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06af\u0632\u06cc\u0646\u0647 \"\u0647\u06cc\u0686 \u06a9\u062f\u0627\u0645\" \u0628\u0647 \u062d\u0627\u0644\u062a \u0622\u0632\u0645\u0648\u0646 \u067e\u0627\u06cc\u0647 \u06cc\u0627 \u0622\u0632\u0645\u0648\u0646 \u0632\u0645\u0627\u0646\u200c\u0628\u0646\u062f\u06cc\u200c\u0634\u062f\u0647 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0646\u06cc\u062f \u0627\u0645\u0627 \u062f\u0631 \u0622\u06cc\u0646\u062f\u0647 \u0646\u06cc\u0632 \u0627\u0645\u06a9\u0627\u0646 \u062a\u063a\u06cc\u06cc\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0622\u0646 \u0628\u0647 \u0622\u0632\u0645\u0648\u0646 \u062d\u0641\u0627\u0638\u062a\u200c\u0634\u062f\u0647 \u0631\u0627 \u0646\u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0627\u0634\u062a.", "This response could not be marked as an answer. Refresh the page and try again.": "\u0627\u06cc\u0646 \u067e\u0627\u0633\u062e \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u067e\u0627\u0633\u062e \u0639\u0644\u0627\u0645\u062a\u200c\u06af\u0630\u0627\u0631\u06cc \u0634\u0648\u062f. \u0635\u0641\u062d\u0647 \u0631\u0627 \u062a\u0627\u0632\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u062f\u0648\u0628\u0627\u0631\u0647 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0646\u06cc\u062f.", "This response could not be marked as endorsed. Refresh the page and try again.": "\u0627\u06cc\u0646 \u067e\u0627\u0633\u062e \u0631\u0627 \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0645\u0637\u0644\u0628 \u062a\u0623\u06cc\u06cc\u062f\u0634\u062f\u0647 \u0646\u0634\u0627\u0646\u062f\u0627\u0631 \u06a9\u0631\u062f. \u0635\u0641\u062d\u0647 \u0631\u0627 \u062a\u0627\u0632\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u062f\u0648\u0628\u0627\u0631\u0647 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0646\u06cc\u062f.", - "This response could not be saved.": "\u0627\u06cc\u0646 \u067e\u0627\u0633\u062e \u0630\u062e\u06cc\u0631\u0647 \u0646\u0634\u062f", "This response could not be submitted.": "\u0627\u06cc\u0646 \u067e\u0627\u0633\u062e \u0627\u0631\u0633\u0627\u0644 \u0646\u0634\u062f", "This response could not be unendorsed. Refresh the page and try again.": "\u0646\u0634\u0627\u0646\u06c0 \u0627\u06cc\u0646 \u067e\u0627\u0633\u062e \u0631\u0627 \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0645\u0637\u0644\u0628 \u062a\u0623\u06cc\u06cc\u062f\u0634\u062f\u0647 \u062d\u0630\u0641 \u06a9\u0631\u062f. \u0635\u0641\u062d\u0647 \u0631\u0627 \u062a\u0627\u0632\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u062f\u0648\u0628\u0627\u0631\u0647 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0646\u06cc\u062f.", "This response could not be unmarked as an answer. Refresh the page and try again.": "\u0646\u0634\u0627\u0646\u06c0 \u0627\u06cc\u0646 \u067e\u0627\u0633\u062e \u0631\u0627 \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u062d\u0630\u0641 \u06a9\u0631\u062f. \u0635\u0641\u062d\u0647 \u0631\u0627 \u062a\u0627\u0632\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u062f\u0648\u0628\u0627\u0631\u0647 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0646\u06cc\u062f.", - "This response has been saved but not submitted.": "\u067e\u0627\u0633\u062e \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f \u0648\u0644\u06cc \u0627\u0631\u0633\u0627\u0644 \u0646\u0634\u062f", - "This response has not been saved.": "\u067e\u0627\u0633\u062e \u0630\u062e\u06cc\u0631\u0647 \u0646\u0634\u062f", "This role requires a divided discussions scheme.": "\u0627\u06cc\u0646 \u0646\u0642\u0634\u060c \u0646\u06cc\u0627\u0632\u0645\u0646\u062f \u06cc\u06a9 \u0634\u0645\u0627\u06cc \u06af\u0641\u062a\u06af\u0648\u06cc \u062a\u0642\u0633\u06cc\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a.", "This section could not be loaded.": "\u0627\u0645\u06a9\u0627\u0646 \u0628\u0627\u0631\u06af\u06cc\u0631\u06cc \u0627\u06cc\u0646 \u0628\u062e\u0634 \u0646\u06cc\u0633\u062a.", "This short name for the assignment type (for example, HW or Midterm) appears next to assignments on a learner's Progress page.": "\u0627\u06cc\u0646 \u0646\u0627\u0645 \u06a9\u0648\u062a\u0627\u0647 \u0628\u0631\u0627\u06cc \u0646\u0648\u0639 \u062a\u06a9\u0644\u06cc\u0641 (\u0645\u062b\u0644\u0627\u064b \u060c HW \u06cc\u0627 Midterm) \u062f\u0631 \u06a9\u0646\u0627\u0631 \u062a\u06a9\u0627\u0644\u06cc\u0641 \u062f\u0631 \u0635\u0641\u062d\u06c0 \u067e\u06cc\u0634\u0631\u0641\u062a \u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u0647 \u0638\u0627\u0647\u0631 \u0645\u06cc\u200c\u0634\u0648\u062f.", @@ -2251,6 +2267,7 @@ "View child items": "\u0645\u0634\u0627\u0647\u062f\u06c0 \u0632\u06cc\u0631\u0634\u0627\u062e\u0647\u200e\u200c\u0647\u0627", "View discussion": "\u0645\u0634\u0627\u0647\u062f\u0647 \u06af\u0641\u062a\u06af\u0648", "View my exam": "\u0645\u0634\u0627\u0647\u062f\u0647 \u0622\u0632\u0645\u0648\u0646 \u0645\u0646", + "View program": "\u0645\u0634\u0627\u0647\u062f\u0647 \u0628\u0631\u0646\u0627\u0645\u0647", "View {span_start} {team_name} {span_end}": "\u0645\u0634\u0627\u0647\u062f\u06c0 {span_start} {team_name} {span_end}", "Viewing %s course": [ "\u0645\u0634\u0627\u0647\u062f\u0647 %s\u062f\u0648\u0631\u0647 \u0622\u0645\u0648\u0632\u0634\u06cc", @@ -2347,8 +2364,10 @@ "You did not submit the required files: {requiredFiles}.": "\u0634\u0645\u0627 \u067e\u0631\u0648\u0646\u062f\u0647\u200c\u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0631\u0627 \u0627\u0631\u0633\u0627\u0644 \u0646\u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f: {requiredFiles}.", "You don't seem to have Flash installed. Get Flash to continue your verification.": "\u0628\u0647 \u0646\u0638\u0631 \u0646\u0645\u06cc\u200c\u0631\u0633\u062f \u06a9\u0647 \u0641\u0644\u0634 \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0631\u062f\u0647 \u0628\u0627\u0634\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0627\u062f\u0627\u0645\u0647 \u0631\u0648\u0646\u062f \u062a\u0623\u06cc\u06cc\u062f\u060c \u0622\u0646 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f.", "You don't seem to have a webcam connected.": "\u0628\u0647 \u0646\u0638\u0631 \u0646\u0645\u06cc\u200c\u0631\u0633\u062f \u06a9\u0647 \u062f\u0648\u0631\u0628\u06cc\u0646 \u0645\u062a\u0635\u0644 \u0628\u0627\u0634\u062f.", + "You have access to the {enterpriseName} dashboard": "\u0634\u0645\u0627 \u0628\u0647 \u067e\u06cc\u0634\u062e\u0648\u0627\u0646 {enterpriseName} \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0631\u06cc\u062f", "You have added a criterion. You will need to select an option for the criterion in the Learner Training step. To do this, click the Assessment Steps tab.": "\u0634\u0645\u0627 \u0645\u0639\u06cc\u0627\u0631\u06cc \u0627\u0641\u0632\u0648\u062f\u06cc\u062f. \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0622\u0645\u0648\u0632\u0634 \u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u0647 \u0628\u0627\u06cc\u062f \u06af\u0632\u06cc\u0646\u0647\u200c\u0627\u06cc \u0631\u0627 \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0645\u0639\u06cc\u0627\u0631 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0648\u06cc \u0632\u0628\u0627\u0646\u0647 \u00ab\u0645\u0631\u0627\u062d\u0644 \u0627\u0631\u0632\u06cc\u0627\u0628\u06cc\u00bb \u0628\u0632\u0646\u06cc\u062f.", "You have already verified your ID!": "\u0634\u0645\u0627 \u0642\u0628\u0644\u0627\u064b \u0647\u0648\u06cc\u062a \u062e\u0648\u062f \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f!", + "You have an active subscription to the {programName} program but are not enrolled in any courses. Enroll in a remaining course and enjoy verified access.": "\u0634\u0645\u0627 \u06cc\u06a9 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0641\u0639\u0627\u0644 \u062f\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 {programName} \u062f\u0627\u0631\u06cc\u062f \u0627\u0645\u0627 \u062f\u0631 \u0647\u06cc\u0686 \u062f\u0648\u0631\u0647 \u0627\u06cc \u062b\u0628\u062a \u0646\u0627\u0645 \u0646\u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f. \u062f\u0631 \u062f\u0648\u0631\u0647 \u0628\u0627\u0642\u06cc \u0645\u0627\u0646\u062f\u0647 \u062b\u0628\u062a \u0646\u0627\u0645 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0632 \u062f\u0633\u062a\u0631\u0633\u06cc \u062a\u0623\u06cc\u06cc\u062f \u0634\u062f\u0647 \u0644\u0630\u062a \u0628\u0628\u0631\u06cc\u062f.", "You have been logged out of your account. Click Okay to log in again now. Click Cancel to stay on this page (you must log in again to save your work).": "\u0634\u0645\u0627 \u0627\u0632 \u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc\u200c\u062a\u0627\u0646 \u062e\u0627\u0631\u062c \u0634\u062f\u06cc\u062f. \u0631\u0648\u06cc \u06af\u0632\u06cc\u0646\u0647 \u062a\u0627\u06cc\u06cc\u062f \u0628\u0632\u0646\u06cc\u062f \u062a\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u0648\u0627\u0631\u062f \u0633\u0627\u0645\u0627\u0646\u0647 \u0634\u0648\u06cc\u062f. \u0627\u06af\u0631 \u0645\u0627\u06cc\u0644\u06cc\u062f \u062f\u0631 \u0647\u0645\u06cc\u0646 \u0635\u0641\u062d\u0647 \u0628\u0645\u0627\u0646\u06cc\u062f \u0631\u0648\u06cc \u06af\u0632\u06cc\u0646\u0647 \u0644\u063a\u0648 \u0628\u0632\u0646\u06cc\u062f (\u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0641\u0639\u0627\u0644\u06cc\u062a \u062e\u0648\u062f \u0628\u0627\u06cc\u062f \u062f\u0648\u0628\u0627\u0631\u0647 \u0648\u0627\u0631\u062f \u0633\u0627\u0645\u0627\u0646\u0647 \u0634\u0648\u06cc\u062f).", "You have deleted a criterion. The criterion has been removed from the example responses in the Learner Training step.": "\u0634\u0645\u0627 \u06cc\u06a9 \u0645\u0639\u06cc\u0627\u0631 \u0631\u0627 \u062d\u0630\u0641 \u0646\u0645\u0648\u062f\u06cc\u062f. \u0627\u06cc\u0646 \u0645\u0639\u06cc\u0627\u0631 \u0627\u0632 \u067e\u0627\u0633\u062e \u0647\u0627\u06cc \u0646\u0645\u0648\u0646\u0647 \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u0647 \u062d\u0630\u0641 \u0634\u062f.", "You have deleted all the options for this criterion. The criterion has been removed from the sample responses in the Learner Training step.": "\u0634\u0645\u0627 \u0647\u0645\u0647 \u06af\u0632\u06cc\u0646\u0647 \u0647\u0627\u06cc \u0627\u06cc\u0646 \u0645\u0639\u06cc\u0627\u0631 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0631\u062f\u06cc\u062f. \u0627\u06cc\u0646 \u0645\u0639\u06cc\u0627\u0631 \u0627\u0632 \u0646\u0645\u0648\u0646\u0647 \u067e\u0627\u0633\u062e \u062f\u0631 \u0645\u0631\u0627\u062d\u0644 \u0622\u0645\u0648\u0632\u0634 \u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u0647 \u062d\u0630\u0641 \u0634\u062f.", @@ -2374,8 +2393,10 @@ "You may also lose access to verified certificates and other program credentials like MicroMasters certificates. If you want to make a copy of these for your records before proceeding with deletion, follow the instructions for {htmlStart}printing or downloading a certificate{htmlEnd}.": "\u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc \u062a\u0623\u06cc\u06cc\u062f\u0634\u062f\u0647 \u0648 \u0633\u0627\u06cc\u0631 \u0627\u0639\u062a\u0628\u0627\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0627\u0646\u0646\u062f \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc MicroMasters \u0631\u0627 \u0627\u0632 \u062f\u0633\u062a \u0628\u062f\u0647\u06cc\u062f. \u0627\u06af\u0631 \u0645\u0627\u06cc\u0644\u06cc\u062f \u067e\u06cc\u0634 \u0627\u0632 \u0627\u0642\u062f\u0627\u0645 \u0628\u0631\u0627\u06cc \u062d\u0630\u0641 \u0646\u0633\u062e\u0647\u200c\u0627\u06cc \u0627\u0632 \u0627\u06cc\u0646 \u0645\u0648\u0627\u0631\u062f \u0631\u0627 \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0633\u0648\u0627\u0628\u0642 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f\u060c \u0628\u0631\u0627\u06cc \u0686\u0627\u067e {htmlStart} \u06cc\u0627 \u0628\u0627\u0631\u06af\u06cc\u0631\u06cc \u06af\u0648\u0627\u0647\u06cc {htmlEnd} \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644\u200c\u0647\u0627 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f.", "You may be able to complete the image capture procedure without assistance, but it may take a couple of submission attempts to get the camera positioning right. Optimal camera positioning varies with each computer, but generally the best position for a headshot is approximately 12-18 inches (30-45 centimeters) from the camera, with your head centered relative to the computer screen. ": "\u0634\u0627\u06cc\u062f \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u062f\u0648\u0646 \u06a9\u0645\u06a9 \u0645\u0631\u0627\u062d\u0644 \u062a\u0635\u0648\u06cc\u0631\u0628\u0631\u062f\u0627\u0631\u06cc \u0631\u0627 \u0628\u0647 \u0627\u062a\u0645\u0627\u0645 \u0628\u0631\u0633\u0627\u0646\u06cc\u062f\u060c \u0627\u0645\u0627 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0686\u0646\u062f \u0645\u0648\u0642\u0639\u06cc\u062a \u0631\u0627 \u0644\u0627\u0632\u0645 \u0628\u0627\u0634\u062f \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0645\u0648\u0642\u0639\u06cc\u062a \u0645\u0637\u0644\u0648\u0628 \u0628\u0631\u0633\u06cc\u062f. \u0645\u0648\u0642\u0639\u06cc\u062a \u0628\u0647\u06cc\u0646\u06c0 \u062f\u0648\u0631\u0628\u06cc\u0646 \u062f\u0631 \u0647\u0631 \u0631\u0627\u06cc\u0627\u0646\u0647 \u0645\u062a\u0641\u0627\u0648\u062a \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f\u060c \u0627\u0645\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u06a9\u0644\u06cc\u060c \u0628\u0647\u062a\u0631\u06cc\u0646 \u0645\u0648\u0642\u0639\u06cc\u062a \u0628\u0631\u0627\u06cc \u062a\u0635\u0648\u06cc\u0631 \u06a9\u0627\u0631\u062a \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc 12-18 \u0627\u06cc\u0646\u0686 (30-45 \u0633\u0627\u0646\u062a\u06cc\u200c\u0645\u062a\u0631) \u0641\u0627\u0635\u0644\u0647 \u0627\u0632 \u062f\u0648\u0631\u0628\u06cc\u0646 \u0627\u0633\u062a\u060c \u0648 \u0628\u0627\u06cc\u062f \u062f\u0648\u0631\u0628\u06cc\u0646 \u0631\u0648\u06cc \u06a9\u0627\u0631\u062a \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0645\u062a\u0645\u0631\u06a9\u0632 \u0628\u0627\u0634\u062f.", "You may be able to complete the image capture procedure without assistance, but it may take a couple of submission attempts to get the camera positioning right. Optimal camera positioning varies with each computer, but generally, the best position for a photo of an ID card is 8-12 inches (20-30 centimeters) from the camera, with the ID card centered relative to the camera. ": "\u0634\u0627\u06cc\u062f \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u062f\u0648\u0646 \u0631\u0627\u0647\u0646\u0645\u0627\u060c \u0645\u0631\u0627\u062d\u0644 \u062a\u0635\u0648\u06cc\u0631\u0628\u0631\u062f\u0627\u0631\u06cc \u0631\u0627 \u0628\u0647 \u0627\u062a\u0645\u0627\u0645 \u0628\u0631\u0633\u0627\u0646\u06cc\u062f\u060c \u0627\u0645\u0627 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0686\u0646\u062f \u0645\u0648\u0642\u0639\u06cc\u062a \u0631\u0627 \u0644\u0627\u0632\u0645 \u0628\u0627\u0634\u062f \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0645\u0637\u0644\u0648\u0628\u200c\u062a\u0631\u06cc\u0646 \u062a\u0635\u0648\u06cc\u0631 \u0628\u0631\u0633\u06cc\u062f. \u0645\u0648\u0642\u0639\u06cc\u062a \u0628\u0647\u06cc\u0646\u06c0 \u062f\u0648\u0631\u0628\u06cc\u0646 \u062f\u0631 \u0647\u0631 \u0631\u0627\u06cc\u0627\u0646\u0647 \u0645\u062a\u0641\u0627\u0648\u062a \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f\u060c \u0627\u0645\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u06a9\u0644\u06cc\u060c \u0628\u0647\u062a\u0631\u06cc\u0646 \u0645\u0648\u0642\u0639\u06cc\u062a \u0628\u0631\u0627\u06cc \u062a\u0635\u0648\u06cc\u0631 \u06a9\u0627\u0631\u062a \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc 8-12 \u0627\u06cc\u0646\u0686 (20-30 \u0633\u0627\u0646\u062a\u06cc\u200c\u0645\u062a\u0631) \u0641\u0627\u0635\u0644\u0647 \u0627\u0632 \u062f\u0648\u0631\u0628\u06cc\u0646 \u0627\u0633\u062a\u060c \u0648 \u0628\u0627\u06cc\u062f \u062f\u0648\u0631\u0628\u06cc\u0646 \u0631\u0648\u06cc \u06a9\u0627\u0631\u062a \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0645\u062a\u0645\u0631\u06a9\u0632 \u0627\u0633\u062a.", + "You may need to update a file(s) manually": "\u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0644\u0627\u0632\u0645 \u0628\u0627\u0634\u062f \u0641\u0627\u06cc\u0644(\u0647\u0627) \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u062f\u0633\u062a\u06cc \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f", "You must be over 13 to share a full profile. If you are over 13, make sure that you have specified a birth year on the {account_settings_page_link}": "\u0628\u0631\u0627\u06cc \u0627\u0634\u062a\u0631\u0627\u06a9\u200c\u06af\u0630\u0627\u0631\u06cc \u067e\u0631\u0648\u0646\u062f\u06c0 \u06a9\u0627\u0645\u0644 \u06a9\u0627\u0631\u0628\u0631\u06cc \u062e\u0648\u062f \u0628\u0627\u06cc\u062f \u0628\u06cc\u0634 \u0627\u0632 13 \u0633\u0627\u0644 \u0633\u0646 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f\u060c \u0627\u06af\u0631 \u0627\u06cc\u0646 \u0639\u062f\u062f \u062f\u0631\u0633\u062a \u0646\u06cc\u0633\u062a\u060c \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u0633\u0627\u0644 \u062a\u0648\u0644\u062f \u062e\u0648\u062f \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f {account_settings_page_link} \u0628\u0631\u0648\u06cc\u062f", "You must enter a valid email address in order to add a new team member": "\u0628\u0631\u0627\u06cc \u0627\u0641\u0632\u0648\u062f\u0646 \u0639\u0636\u0648 \u062c\u062f\u06cc\u062f \u0628\u0647 \u062a\u06cc\u0645 \u0628\u0627\u06cc\u062f \u0627\u0632 \u0646\u0634\u0627\u0646\u06cc \u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647\u200c \u0645\u0639\u062a\u0628\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f", + "You must have at least one undroppable <%- types %> assignment.": "\u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u062d\u062f\u0627\u0642\u0644 \u06cc\u06a9 \u062a\u062e\u0635\u06cc\u0635 <%- types %> \u063a\u06cc\u0631\u0642\u0627\u0628\u0644 \u062d\u0630\u0641 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f.", "You must provide a learner name.": "\u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u0646\u0627\u0645 \u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u0647 \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u06cc\u062f", "You must select a session by {expiration_date} to access the course.": "\u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u0622\u0645\u0648\u0632\u0634\u06cc \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u062c\u0644\u0633\u0647 \u062a\u0627 \u062a\u0627\u0631\u06cc\u062e {expiration_date} \u0628\u0631\u06af\u0632\u06cc\u0646\u06cc\u062f.", "You must select a session to access the course.": "\u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u062f\u0648\u0631\u0647 \u0622\u0645\u0648\u0632\u0634\u06cc \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u062c\u0644\u0633\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.", @@ -2442,6 +2463,11 @@ "Your upload of '{file}' succeeded.": "\u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc '{file}' \u0645\u0648\u0641\u0642 \u0628\u0648\u062f.", "Your verification status is good until {verificationGoodUntil}.": "\u0648\u0636\u0639\u06cc\u062a \u062a\u0623\u06cc\u06cc\u062f \u0634\u0645\u0627 \u062a\u0627 {verificationGoodUntil} \u062e\u0648\u0628 \u0646\u06cc\u0633\u062a.", "Your video uploads are not complete.": "\u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0648\u06cc\u062f\u0626\u0648\u0647\u0627 \u06a9\u0627\u0645\u0644 \u0646\u0634\u062f\u0647 \u0627\u0633\u062a.", + "Your {programName} trial will expire at {trialEndTime} on {trialEndDate} and the card on file will be charged {subscriptionPrice}.": "\u062f\u0648\u0631\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc {programName} \u0634\u0645\u0627 \u062f\u0631 {trialEndTime} \u062f\u0631 {trialEndDate} \u0645\u0646\u0642\u0636\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0647\u0632\u06cc\u0646\u0647 \u06a9\u0627\u0631\u062a \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u067e\u0631\u0648\u0646\u062f\u0647 {subscriptionPrice} \u0645\u062d\u0627\u0633\u0628\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.", + "Your {programName} trial will expire in {remainingDays} day at {trialEndTime} on {trialEndDate} and the card on file will be charged {subscriptionPrice}.": [ + "\u062f\u0648\u0631\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc {programName} \u0634\u0645\u0627 \u062f\u0631 {remainingDays} \u0631\u0648\u0632 \u062f\u0631 {trialEndTime} \u062f\u0631 {trialEndDate} \u0645\u0646\u0642\u0636\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0647\u0632\u06cc\u0646\u0647 \u06a9\u0627\u0631\u062a \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u067e\u0631\u0648\u0646\u062f\u0647 {subscriptionPrice} \u0645\u062d\u0627\u0633\u0628\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.", + "\u062f\u0648\u0631\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc {programName} \u0634\u0645\u0627 \u062f\u0631 {remainingDays} \u0631\u0648\u0632 \u062f\u0631 {trialEndTime} \u062f\u0631 {trialEndDate} \u0645\u0646\u0642\u0636\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0647\u0632\u06cc\u0646\u0647 \u06a9\u0627\u0631\u062a \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u067e\u0631\u0648\u0646\u062f\u0647 {subscriptionPrice} \u0645\u062d\u0627\u0633\u0628\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f." + ], "Your {program} Certificate": "\u06af\u0648\u0627\u0647\u06cc {program} \u0634\u0645\u0627", "Yourself": "\u0634\u0645\u0627", "Zoom In": "\u0628\u0632\u0631\u06af\u0646\u0645\u0627\u06cc\u06cc", diff --git a/cms/static/js/i18n/fa/djangojs.js b/cms/static/js/i18n/fa/djangojs.js index 6794dbe1ec50..ed30f84d32e6 100644 --- a/cms/static/js/i18n/fa/djangojs.js +++ b/cms/static/js/i18n/fa/djangojs.js @@ -159,6 +159,7 @@ " to complete and submit the exam.": "\u0628\u0631\u0627\u06cc \u062a\u06a9\u0645\u06cc\u0644 \u0648 \u0627\u0631\u0633\u0627\u0644 \u0622\u0632\u0645\u0648\u0646.", " to learn": "\u0628\u0631\u0627\u06cc \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc", "${listPrice}": "${listPrice}", + "${price}/month {currency}": "${price}/\u0645\u0627\u0647 {currency}", "%(cohort_name)s (%(user_count)s)": "%(cohort_name)s (%(user_count)s)", "%(comments_count)s %(span_sr_open)scomments %(span_close)s": "%(comments_count)s%(span_sr_open)s \u0646\u0638\u0631\u0627\u062a %(span_close)s", "%(comments_count)s %(span_sr_open)scomments (%(unread_comments_count)s unread comments)%(span_close)s": "%(comments_count)s%(span_sr_open)s \u0646\u0638\u0631\u0627\u062a (\u0646\u0638\u0631\u0627\u062a \u0646\u062e\u0648\u0627\u0646\u062f\u0647%(unread_comments_count)s )%(span_close)s", @@ -249,6 +250,7 @@ "Access to this {blockType} is restricted to: {selectedGroupsLabel}": "\u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0627\u06cc\u0646 {blockType} \u0645\u062d\u062f\u0648\u062f \u0627\u0633\u062a \u0628\u0647: {selectedGroupsLabel}", "Accomplishments": "\u062f\u0633\u062a\u0627\u0648\u0631\u062f\u0647\u0627", "Accomplishments Pagination": "\u062f\u0633\u062a\u0627\u0648\u0631\u062f\u0647\u0627\u06cc \u0635\u0641\u062d\u0647\u200c\u0628\u0646\u062f\u06cc", + "According to our records, you are not enrolled in any courses included in your {programName} program subscription. Enroll in a course from the {i_start}Program Details{i_end} page.": "\u0637\u0628\u0642 \u0633\u0648\u0627\u0628\u0642 \u0645\u0627\u060c \u0634\u0645\u0627 \u062f\u0631 \u0647\u06cc\u0686 \u062f\u0648\u0631\u0647 \u0627\u06cc \u06a9\u0647 \u062f\u0631 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 {programName} \u062e\u0648\u062f \u06af\u0646\u062c\u0627\u0646\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u062b\u0628\u062a \u0646\u0627\u0645 \u0646\u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f. \u062f\u0631 \u06cc\u06a9 \u062f\u0648\u0631\u0647 \u0627\u0632 \u0635\u0641\u062d\u0647 {i_start}\u062c\u0632\u0626\u06cc\u0627\u062a \u0628\u0631\u0646\u0627\u0645\u0647{i_end} \u062b\u0628\u062a \u0646\u0627\u0645 \u06a9\u0646\u06cc\u062f.", "Account": "\u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc", "Account Information": "\u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc", "Account Not Activated": "\u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0641\u0639\u0627\u0644 \u0646\u0634\u062f\u0647 \u0627\u0633\u062a", @@ -598,6 +600,7 @@ "Copy Email To Editor": "\u06a9\u067e\u06cc \u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647 \u0628\u0647 \u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631", "Copy Exam Code": "\u06a9\u067e\u06cc \u06a9\u062f\u0622\u0632\u0645\u0648\u0646", "Copy row": "\u06a9\u067e\u06cc \u0631\u062f\u06cc\u0641", + "Copying": "\u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646", "Correct failed component": "\u0645\u0648\u0644\u0641\u0647 \u0627\u0634\u062a\u0628\u0627\u0647 \u0631\u0627 \u062a\u0635\u062d\u06cc\u062d \u06a9\u0646\u06cc\u062f", "Cost": "\u0647\u0632\u06cc\u0646\u0647", "Could not find Certificate Exception in the allowlist. Please refresh the page and try again": "\u0645\u0648\u0627\u0631\u062f \u0645\u0633\u062a\u062b\u0646\u06cc \u0627\u0632 \u0641\u0647\u0631\u0633\u062a \u0645\u062c\u0627\u0632 \u0628\u0647 \u062f\u0631\u06cc\u0627\u0641\u062a \u06af\u0648\u0627\u0647\u06cc \u067e\u06cc\u062f\u0627 \u0646\u0634\u062f. \u0644\u0637\u0641\u0627 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0628\u0627\u0631\u06af\u0632\u0627\u0631\u06cc \u06a9\u0631\u062f\u0647 \u0648 \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0644\u0627\u0634 \u06a9\u0646\u06cc\u062f", @@ -789,6 +792,8 @@ "Email": "\u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647", "Email Address (Sign In)": "\u0622\u062f\u0631\u0633 \u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647 (\u0648\u0631\u0648\u062f)", "Email address": "\u0646\u0634\u0627\u0646\u06cc \u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647", + "Email cannot be sent to the following users via batch enrollment. They will be allowed to enroll once they register:": "\u0627\u06cc\u0645\u06cc\u0644 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u062b\u0628\u062a \u0646\u0627\u0645 \u062f\u0633\u062a\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0632\u06cc\u0631 \u0627\u0631\u0633\u0627\u0644 \u0646\u0645\u06cc \u0634\u0648\u062f. \u0622\u0646\u0647\u0627 \u067e\u0633 \u0627\u0632 \u062b\u0628\u062a \u0646\u0627\u0645 \u0645\u062c\u0627\u0632 \u0628\u0647 \u0634\u0631\u06a9\u062a \u062f\u0631 \u062f\u0648\u0631\u0647 \u062e\u0648\u0627\u0647\u0646\u062f \u0628\u0648\u062f:", + "Email cannot be sent to the following users via batch enrollment. They will be enrolled once they register:": "\u0627\u06cc\u0645\u06cc\u0644 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u062b\u0628\u062a \u0646\u0627\u0645 \u062f\u0633\u062a\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0632\u06cc\u0631 \u0627\u0631\u0633\u0627\u0644 \u0646\u0645\u06cc \u0634\u0648\u062f. \u0622\u0646\u0647\u0627 \u067e\u0633 \u0627\u0632 \u062b\u0628\u062a \u0646\u0627\u0645 \u0645\u062c\u0627\u0632 \u0628\u0647 \u0634\u0631\u06a9\u062a \u062f\u0631 \u062f\u0648\u0631\u0647 \u062e\u0648\u0627\u0647\u0646\u062f \u0628\u0648\u062f:", "Emails successfully sent. The following users are no longer enrolled in the course:": "\u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647\u200c\u0647\u0627 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0627\u0631\u0633\u0627\u0644 \u0634\u062f\u0646\u062f \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0632\u06cc\u0631 \u062f\u06cc\u06af\u0631 \u062f\u0631 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u0634\u062f\u0647 \u0645\u062d\u0633\u0648\u0628\u200c \u0646\u0645\u06cc\u200c\u0634\u0648\u0646\u062f:", "Embed": "\u062c\u0627\u0633\u0627\u0632\u06cc", "Emoticons": "\u0634\u06a9\u0644\u06a9\u200c\u0647\u0627", @@ -806,6 +811,7 @@ "Ends {end}": "\u067e\u0627\u06cc\u0627\u0646 \u0645\u06cc\u200c\u06cc\u0627\u0628\u062f {end}", "Engage with posts": "\u0628\u0647 \u067e\u064f\u0633\u062a\u200c\u0647\u0627 \u0648\u0627\u06a9\u0646\u0634 \u0646\u0634\u0627\u0646 \u062f\u0647\u06cc\u062f", "Enroll Now": "\u0647\u0645\u06cc\u0646 \u062d\u0627\u0644\u0627 \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u06a9\u0646\u06cc\u062f", + "Enroll in a {programName}'s course": "\u062f\u0631 \u062f\u0648\u0631\u0647 {programName} \u062b\u0628\u062a \u0646\u0627\u0645 \u06a9\u0646\u06cc\u062f", "Enrolled": "\u062b\u0628\u062a\u200c\u0634\u062f\u0647", "Enrolling you in the selected course": "\u062f\u0631 \u062d\u0627\u0644 \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u0634\u0645\u0627 \u062f\u0631 \u062f\u0648\u0631\u06c0 \u0645\u0646\u062a\u062e\u0628", "Enrollment Date": "\u062a\u0627\u0631\u06cc\u062e \u062b\u0628\u062a\u200c\u0646\u0627\u0645", @@ -1271,6 +1277,7 @@ "New Password": "\u06af\u0630\u0631\u0648\u0627\u0698\u06c0 \u062c\u062f\u06cc\u062f", "New document": "\u0633\u0646\u062f \u062c\u062f\u06cc\u062f", "New enrollment mode:": "\u0648\u0636\u0639\u06cc\u062a \u062a\u0627\u0632\u0647 \u062b\u0628\u062a\u200c\u0646\u0627\u0645:", + "New files were added to this course's Files & Uploads": "\u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0628\u0647 \"\u0641\u0627\u06cc\u0644 \u0647\u0627 \u0648 \u0622\u067e\u0644\u0648\u062f\u0647\u0627\"\u06cc \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u0627\u0636\u0627\u0641\u0647 \u0634\u062f", "New window": "\u067e\u0646\u062c\u0631\u06c0 \u062c\u062f\u06cc\u062f", "New {component_type}": "{component_type} \u062c\u062f\u06cc\u062f", "Next": "\u0628\u0639\u062f\u06cc", @@ -1393,6 +1400,7 @@ "Paste row after": "\u0627\u0644\u062d\u0627\u0642 \u0631\u062f\u06cc\u0641 \u067e\u0633 \u0627\u0632 \u0627\u06cc\u0646 \u0631\u062f\u06cc\u0641", "Paste row before": "\u0627\u0644\u062d\u0627\u0642 \u0631\u062f\u06cc\u0641 \u067e\u06cc\u0634 \u0627\u0632 \u0627\u06cc\u0646 \u0631\u062f\u06cc\u0641\n\n\u00a0", "Paste your embed code below:": "\u06a9\u062f\u062c\u0627\u0633\u0627\u0632\u06cc \u0631\u0627 \u062f\u0631 \u0642\u0633\u0645\u062a \u0632\u06cc\u0631 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f:", + "Pasting": "\u0627\u0644\u0635\u0627\u0642 \u06a9\u0631\u062f\u0646", "Path to Signature Image": "\u0645\u0633\u06cc\u0631 \u062a\u0635\u0648\u06cc\u0631 \u0627\u0645\u0636\u0627", "Pause": "\u0645\u06a9\u062b", "Peer": "\u0647\u0645\u062a\u0627 ", @@ -1620,7 +1628,6 @@ "Saved cohort": "\u062f\u0633\u062a\u0647 \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f\u0647 ", "Saving": "\u062f\u0631 \u062d\u0627\u0644 \u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc", "Saving your email preference": "\u062f\u0631 \u062d\u0627\u0644 \u0630\u062e\u06cc\u0631\u06c0 \u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647 \u0645\u0631\u062c\u062d", - "Saving...": "\u062f\u0631 \u062d\u0627\u0644 \u0630\u062e\u06cc\u0631\u0647 ...", "Scheduled:": "\u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0631\u06cc\u0632\u06cc\u200c\u0634\u062f\u0647:", "Scope": "\u062f\u0627\u0645\u0646\u0647", "Search": "\u062c\u0633\u062a\u062c\u0648", @@ -1650,9 +1657,14 @@ "Select a subject for your support request.": "\u0645\u0648\u0636\u0648\u0639\u06cc \u0628\u0631\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u062e\u0648\u062f \u0628\u0631\u06af\u0632\u06cc\u0646\u06cc\u062f.", "Select a time allotment for the exam. If it is over 24 hours, type in the amount of time. You can grant individual learners extra time to complete the exam through the Instructor Dashboard.": "\u0632\u0645\u0627\u0646\u06cc \u0631\u0627 \u0628\u0647 \u0622\u0632\u0645\u0648\u0646 \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0647\u06cc\u062f. \u0627\u06af\u0631 \u0645\u0627\u06cc\u0644\u06cc\u062f \u0628\u06cc\u0634 \u0627\u0632 24 \u0633\u0627\u0639\u062a \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f\u060c \u0645\u06cc\u0632\u0627\u0646 \u0632\u0645\u0627\u0646 \u0631\u0627 \u062a\u0627\u06cc\u067e \u06a9\u0646\u06cc\u062f. \u0634\u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0631\u0627\u06cc \u062a\u06a9\u0645\u06cc\u0644 \u0627\u0645\u062a\u062d\u0627\u0646 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u067e\u06cc\u0634\u062e\u0648\u0627\u0646 \u0645\u0631\u0628\u06cc\u060c \u0628\u0647 \u062a\u06a9 \u062a\u06a9 \u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u06af\u0627\u0646 \u0648\u0642\u062a \u0627\u0636\u0627\u0641\u06cc \u0628\u062f\u0647\u06cc\u062f.", "Select all": "\u0627\u0646\u062a\u062e\u0627\u0628 \u0647\u0645\u0647", + "Select current industry": "\u0635\u0646\u0639\u062a \u0641\u0639\u0644\u06cc \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f", "Select fidelity": "\u0627\u0646\u062a\u062e\u0627\u0628 \u0648\u0641\u0627\u062f\u0627\u0631\u06cc", + "Select guardian education": "\u062a\u062d\u0635\u06cc\u0644\u0627\u062a \u0633\u0631\u067e\u0631\u0633\u062a \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f", "Select language": "\u0627\u0646\u062a\u062e\u0627\u0628 \u0632\u0628\u0627\u0646", + "Select level of education": "\u0633\u0637\u062d \u062a\u062d\u0635\u06cc\u0644\u0627\u062a \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f", + "Select military status": "\u0648\u0636\u0639\u06cc\u062a \u0633\u0631\u0628\u0627\u0632\u06cc \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f", "Select one or more groups:": "\u06cc\u06a9 \u06cc\u0627 \u062f\u0648 \u06af\u0631\u0648\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f:", + "Select prospective industry": "\u0635\u0646\u0639\u062a \u0622\u06cc\u0646\u062f\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f", "Select the course-wide discussion topics that you want to divide.": "\u0645\u0628\u0627\u062d\u062b \u06af\u0641\u062a\u06af\u0648\u06cc \u0637\u0648\u0644 \u062f\u0648\u0631\u0647 \u0622\u0645\u0648\u0632\u0634\u06cc \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u062a\u0642\u0633\u06cc\u0645 \u06a9\u0646\u06cc\u062f.", "Select the time zone for displaying course dates. If you do not specify a time zone, course dates, including assignment deadlines, will be displayed in your browser's local time zone.": "\u0645\u0646\u0637\u0642\u06c0 \u0632\u0645\u0627\u0646\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0646\u0645\u0627\u06cc\u0634 \u062a\u0627\u0631\u06cc\u062e \u062f\u0648\u0631\u0647 \u0622\u0645\u0648\u0632\u0634\u06cc \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f. \u0627\u06af\u0631 \u0645\u0646\u0637\u0642\u06c0 \u0632\u0645\u0627\u0646\u06cc \u0631\u0627 \u0645\u0634\u062e\u0635 \u0646\u06a9\u0646\u06cc\u062f\u060c \u062a\u0627\u0631\u06cc\u062e \u062f\u0648\u0631\u0647\u200c\u0647\u0627\u060c \u0645\u0627\u0646\u0646\u062f \u0645\u0647\u0644\u062a \u0627\u0646\u062c\u0627\u0645 \u062a\u06a9\u0644\u06cc\u0641\u060c \u062f\u0631 \u0645\u0646\u0637\u0642\u06c0 \u0632\u0645\u0627\u0646\u06cc \u0645\u062d\u0644\u06cc \u0645\u0631\u0648\u0631\u06af\u0631 \u0634\u0645\u0627 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.", "Select turnaround": "\u0627\u0646\u062a\u062e\u0627\u0628 \u0686\u0631\u062e\u0634", @@ -1730,6 +1742,7 @@ "Skip": "\u067e\u0631\u0634 ", "Social Media Links": "\u067e\u06cc\u0648\u0646\u062f\u0647\u0627\u06cc \u0634\u0628\u06a9\u0647\u200c\u0647\u0627\u06cc \u0627\u062c\u062a\u0645\u0627\u0639\u06cc", "Some Rights Reserved": "\u0628\u0639\u0636\u06cc \u0627\u0632 \u062d\u0642\u0648\u0642 \u0645\u062d\u0641\u0648\u0638 \u0627\u0633\u062a", + "Some errors occurred": "\u0628\u0631\u062e\u06cc \u0627\u0632 \u062e\u0637\u0627\u0647\u0627 \u0631\u062e \u062f\u0627\u062f\u0647 \u0627\u0633\u062a", "Some images in this post have been omitted": "\u0628\u0631\u062e\u06cc \u0627\u0632 \u062a\u0635\u0627\u0648\u06cc\u0631 \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0637\u0644\u0628 \u062d\u0630\u0641 \u0634\u062f\u0647\u200c\u0627\u0646\u062f", "Something went wrong changing this enrollment. Please try again.": "\u062f\u0631 \u062d\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631 \u0627\u06cc\u0646 \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u0645\u0634\u06a9\u0644\u06cc \u067e\u06cc\u0634 \u0622\u0645\u062f. \u0644\u0637\u0641\u0627\u064b \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0644\u0627\u0634 \u06a9\u0646\u06cc\u062f.", "Something went wrong. Please try again later.": "\u0645\u0634\u06a9\u0644\u06cc \u067e\u06cc\u0634 \u0622\u0645\u062f\u0647 \u0627\u0633\u062a. \u0644\u0637\u0641\u0627\u064b \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0644\u0627\u0634 \u06a9\u0646\u06cc\u062f.", @@ -1774,7 +1787,6 @@ "Starts: %(start_date)s": "\u0622\u063a\u0627\u0632 \u0645\u06cc\u200c\u0634\u0648\u062f: %(start_date)s", "State": "\u0627\u06cc\u0627\u0644\u062a", "Status": "\u0648\u0636\u0639\u06cc\u062a", - "Status of Your Response": "\u0648\u0636\u0639\u06cc\u062a \u067e\u0627\u0633\u062e \u0634\u0645\u0627", "Strikethrough": "\u062e\u0637 \u0631\u0648\u06cc \u0646\u0648\u0634\u062a\u0647 ", "Student": "\u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u0647", "Student Removed from certificate allowlist successfully.": "\u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u0647 \u0627\u0632 \u0641\u0647\u0631\u0633\u062a \u0627\u0641\u0631\u0627\u062f \u0645\u062c\u0627\u0632 \u0628\u0647 \u062f\u0631\u06cc\u0627\u0641\u062a \u06af\u0648\u0627\u0647\u06cc \u062d\u0630\u0641 \u0634\u062f.", @@ -1793,6 +1805,11 @@ "Submit enrollment change": "\u062a\u0627\u06cc\u06cc\u062f \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u062b\u0628\u062a\u200c\u0646\u0627\u0645 ", "Submitted": "\u062a\u0627\u06cc\u06cc\u062f\u0634\u062f\u0647", "Subscript": "\u0632\u06cc\u0631\u0646\u0648\u06cc\u0633", + "Subscription trial expires in less than 24 hours": "\u062f\u0648\u0631\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0627\u0634\u062a\u0631\u0627\u06a9 \u062f\u0631 \u06a9\u0645\u062a\u0631 \u0627\u0632 24 \u0633\u0627\u0639\u062a \u0645\u0646\u0642\u0636\u06cc \u0645\u06cc \u0634\u0648\u062f", + "Subscription trial expires in {remainingDays} day": [ + "\u062f\u0648\u0631\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0627\u0634\u062a\u0631\u0627\u06a9 {remainingDays} \u0631\u0648\u0632 \u062f\u06cc\u06af\u0631 \u0645\u0646\u0642\u0636\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f", + "\u062f\u0648\u0631\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0627\u0634\u062a\u0631\u0627\u06a9 {remainingDays} \u0631\u0648\u0632 \u062f\u06cc\u06af\u0631 \u0645\u0646\u0642\u0636\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f" + ], "Subsection": "\u0632\u06cc\u0631\u0628\u062e\u0634", "Subsection Visibility": "\u0631\u0624\u06cc\u062a\u200c\u067e\u0630\u06cc\u0631\u06cc \u0632\u06cc\u0631\u0628\u062e\u0634", "Subsection is hidden after course end date": "\u0628\u062e\u0634 \u0641\u0631\u0639\u06cc \u067e\u0633 \u0627\u0632 \u062a\u0627\u0631\u06cc\u062e \u067e\u0627\u06cc\u0627\u0646 \u062f\u0648\u0631\u0647 \u0622\u0645\u0648\u0632\u0634\u06cc \u067e\u0646\u0647\u0627\u0646 \u0645\u06cc\u200c\u0634\u0648\u062f", @@ -1808,8 +1825,6 @@ "Successfully rescored problem for user {user}": "\u0627\u0645\u062a\u06cc\u0627\u0632\u062f\u0647\u06cc \u0645\u062c\u062f\u062f \u0645\u0633\u0626\u0644\u0647\u060c \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 {user} \u0645\u0648\u0641\u0642 \u0627\u0646\u062c\u0627\u0645 \u0634\u062f.", "Successfully rescored problem to improve score for user {user}": "\u0627\u0645\u062a\u06cc\u0627\u0632\u062f\u0647\u06cc \u0645\u062c\u062f\u062f \u0645\u0633\u0627\u0644\u0647\u060c \u0628\u0631\u0627\u06cc \u0628\u0647\u0628\u0648\u062f \u0627\u0645\u062a\u06cc\u0627\u0632 \u06a9\u0627\u0631\u0628\u0631 {user} \u0645\u0648\u0641\u0642 \u0627\u0646\u062c\u0627\u0645 \u0634\u062f.", "Successfully reset the attempts for user {user}": "\u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u062a\u0644\u0627\u0634\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 {user} \u0631\u0627 \u0628\u0627\u0632\u062a\u0646\u0638\u06cc\u0645 \u06a9\u0631\u062f", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "\u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0632\u06cc\u0631 \u0627\u0631\u0633\u0627\u0644 \u0634\u062f. \u0628\u0647\u200c\u0645\u062d\u0636 \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0645\u062c\u0627\u0632 \u0628\u0647 \u062b\u0628\u062a \u0647\u0633\u062a\u0646\u062f:", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "\u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc \u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647\u200c\u0627\u06cc \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0632\u06cc\u0631 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0627\u0631\u0633\u0627\u0644 \u0634\u062f. \u067e\u0633 \u0627\u0632 \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u062f\u0631 \u0633\u0627\u0645\u0627\u0646\u0647\u060c \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f:", "Successfully started task to rescore problem '<%- problem_id %>' for all students. Click the 'Show Task Status' button to see the status of the task.": "\u0627\u06cc\u0646 \u0648\u0638\u06cc\u0641\u0647 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0622\u063a\u0627\u0632 \u0634\u062f \u062a\u0627 \u0645\u0633\u0627\u0644\u0647 \u0646\u0645\u0631\u0647\u200c\u062f\u0647\u06cc \u0645\u062c\u062f\u062f '<%- problem_id %>' \u0631\u0627 \u0628\u0631\u0627\u06cc \u0647\u0645\u06c0 \u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u06af\u0627\u0646 \u0628\u0631\u0637\u0631\u0641 \u06a9\u0646\u062f. \u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u06c0 \u0648\u0636\u0639\u06cc\u062a \u06a9\u0627\u0631 \u0628\u0631 \u0631\u0648\u06cc \u062f\u06a9\u0645\u06c0 \u00ab\u0646\u0645\u0627\u06cc\u0634 \u0648\u0636\u0639\u06cc\u062a \u06a9\u0627\u0631\u00bb \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.", "Successfully started task to reset attempts for problem '<%- problem_id %>'. Click the 'Show Task Status' button to see the status of the task.": "\u0628\u0627\u0632\u062a\u0646\u0638\u06cc\u0645 \u062a\u0644\u0627\u0634\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc \u0645\u0633\u0627\u0644\u0647 '<%- problem_id %>' \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0622\u063a\u0627\u0632 \u0634\u062f. \u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u06c0 \u0648\u0636\u0639\u06cc\u062a \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0631 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 \"\u0646\u0645\u0627\u06cc\u0634 \u0648\u0636\u0639\u06cc\u062a \u06a9\u0627\u0631\" \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.", "Successfully unlinked.": "\u067e\u06cc\u0648\u0646\u062f \u0642\u0637\u0639 \u0634\u062f.", @@ -1864,6 +1879,7 @@ "Thank you for submitting a request! We appreciate your patience while we work to review your request.": "\u0628\u0627 \u062a\u0634\u06a9\u0631 \u0627\u0632 \u0634\u0645\u0627 \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u062a\u0627\u0646! \u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0628\u0631\u0631\u0633\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u062a\u0627\u0646 \u0647\u0633\u062a\u06cc\u0645. \u0642\u062f\u0631\u062f\u0627\u0646 \u0634\u06a9\u06cc\u0628\u0627\u06cc\u06cc \u0634\u0645\u0627 \u0647\u0633\u062a\u06cc\u0645.", "Thank you for submitting your financial assistance application for {course_name}! You can expect a response in 2-4 business days.": "\u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0645\u06a9 \u0645\u0627\u0644\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc {course_name} \u0627\u0631\u0633\u0627\u0644 \u06a9\u0631\u062f\u06cc\u062f \u0645\u062a\u0634\u06a9\u0631\u06cc\u0645! 2-4 \u0631\u0648\u0632 \u06a9\u0627\u0631\u06cc \u0645\u0646\u062a\u0638\u0631 \u067e\u0627\u0633\u062e \u0628\u0627\u0634\u06cc\u062f.", "Thank you for submitting your photos. We will review them shortly. You can now sign up for any %(platformName)s course that offers verified certificates. Verification is good for one year. After one year, you must submit photos for verification again.": " \u0645\u062a\u0634\u06a9\u0631\u06cc\u0645! \u0628\u0647\u200c\u0632\u0648\u062f\u06cc \u062a\u0635\u0627\u0648\u06cc\u0631 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f. \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0631\u0627\u06cc \u0647\u0631 \u062f\u0648\u0631\u0647 \u0622\u0645\u0648\u0632\u0634\u06cc%(platformName)s\u06a9\u0647 \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc \u062a\u0623\u06cc\u06cc\u062f\u0634\u062f\u0647 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f\u060c \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u06a9\u0646\u06cc\u062f. \u0627\u0639\u062a\u0628\u0627\u0631 \u0622\u0646 \u062a\u0627 \u06cc\u06a9 \u0633\u0627\u0644 \u0628\u0627\u0642\u06cc \u0627\u0633\u062a. \u067e\u0633 \u0627\u0632 \u0622\u0646\u060c \u0636\u0631\u0648\u0631\u06cc \u0627\u0633\u062a \u0645\u062c\u062f\u062f\u0627 \u0628\u0631\u0627\u06cc \u062a\u0623\u06cc\u06cc\u062f \u062a\u0635\u0627\u0648\u06cc\u0631 \u0627\u0642\u062f\u0627\u0645 \u06a9\u0646\u06cc\u062f.", + "Thank you! You\u2019re helping make edX better for everyone.": "\u0627\u0632 \u06cc\u0627\u0631\u06cc \u0634\u0645\u0627 \u0645\u062a\u0634\u06a9\u0631\u06cc\u0645! \u0634\u0645\u0627 \u0628\u0647 \u0645\u0627 \u062f\u0631 \u0627\u06cc\u062c\u0627\u062f\u0633\u0627\u0645\u0627\u0646\u0647\u200c\u0627\u06cc \u0628\u0647\u062a\u0631 \u06cc\u0627\u0631\u06cc \u0631\u0633\u0627\u0646\u062f\u06cc\u062f.", "Thanks for returning to verify your ID in: {courseName}": "\u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0628\u0631\u0627\u06cc \u062a\u0623\u06cc\u06cc\u062f \u0634\u0646\u0627\u0633\u06c0 \u062e\u0648\u062f \u0628\u0647 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0627\u0632\u06af\u0634\u062a\u06cc\u062f \u0645\u062a\u0634\u06a9\u0631\u06cc\u0645: {courseName}", "The \"{name}\" problem is configured to require a minimum of {min_grades} peer grades, and asks to review {min_graded} peers.": "\u0645\u0634\u06a9\u0644 \"{name}\" \u0628\u0647 \u06af\u0648\u0646\u0647\u200c\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u062d\u062f\u0627\u0642\u0644 {min_grades} \u0646\u0645\u0631\u0647 \u0647\u0645\u062a\u0627 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f\u060c \u0648 \u0627\u0632 \u0634\u0645\u0627 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u062f {min_graded} \u0647\u0645\u062a\u0627\u06cc\u0627\u0646 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f.", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f \u0646\u0634\u0627\u0646\u06cc \u0627\u06cc\u0646\u062a\u0631\u0646\u062a\u06cc \u06a9\u0647 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f \u0646\u0634\u0627\u0646\u06cc \u06cc\u06a9 \u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647 \u0627\u0633\u062a. \u0645\u0627\u06cc\u0644\u06cc\u062f \u067e\u06cc\u0634\u0648\u0646\u062f mailto: \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f\u061f", @@ -1892,9 +1908,12 @@ "The following email addresses and/or usernames are invalid:": "\u0622\u062f\u0631\u0633\u200c\u0647\u0627\u06cc \u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647 \u0632\u06cc\u0631 \u0648 / \u06cc\u0627 \u0646\u0627\u0645\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u06cc \u0646\u0627\u0645\u0639\u062a\u0628\u0631 \u0647\u0633\u062a\u0646\u062f:", "The following errors were generated:": "\u0627\u06cc\u0646 \u062e\u0637\u0627\u0647\u0627 \u0631\u062e \u062f\u0627\u062f\u0647\u200c\u0627\u0646\u062f:", "The following file types are not allowed: ": "\u0627\u06cc\u0646 \u0646\u0648\u0639 \u067e\u0631\u0648\u0646\u062f\u0647 \u0645\u062c\u0627\u0632 \u0646\u06cc\u0633\u062a.", + "The following files already exist in this course but don't match the version used by the component you pasted:": "\u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0627\u0632 \u0642\u0628\u0644 \u062f\u0631 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u0646\u062f\u060c \u0627\u0645\u0627 \u0628\u0627 \u0646\u0633\u062e\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u0645\u0624\u0644\u0641\u0647\u200c\u0627\u06cc \u06a9\u0647 \u0686\u0633\u0628\u0627\u0646\u062f\u0647\u200c\u0627\u06cc\u062f \u0645\u0637\u0627\u0628\u0642\u062a \u0646\u062f\u0627\u0631\u0646\u062f:", "The following information is already a part of your {platform} profile. We've included it here for your application.": "\u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0632\u06cc\u0631 \u0642\u0628\u0644\u0627\u064b \u0628\u062e\u0634\u06cc \u0627\u0632 \u067e\u0631\u0648\u0646\u062f\u06c0 \u06a9\u0627\u0631\u0628\u0631\u06cc {platform} \u0634\u0645\u0627\u0633\u062a. \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0642\u0631\u0627\u0631 \u062f\u0627\u062f\u0647\u200c\u0627\u06cc\u0645.", "The following message will be displayed at the bottom of the courseware pages within your course:": "\u067e\u06cc\u0627\u0645 \u0632\u06cc\u0631 \u062f\u0631 \u067e\u0627\u06cc\u06cc\u0646 \u0635\u0641\u062d\u06c0 \u062f\u0648\u0631\u0647\u200c\u0647\u0627\u06cc \u0622\u0645\u0648\u0632\u0634\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u062f\u0648\u0631\u06c0 \u0634\u0645\u0627 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f:", "The following options are available for the {license_name} license.": "\u06af\u0632\u06cc\u0646\u0647\u200c\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0628\u0631\u0627\u06cc {license_name} \u0641\u0631\u0627\u0647\u0645 \u0647\u0633\u062a\u0646\u062f.", + "The following required files could not be added to the course:": "\u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0632\u06cc\u0631 \u0631\u0627 \u0646\u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0647 \u062f\u0648\u0631\u0647 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f:", + "The following required files were imported to this course:": "\u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0632\u06cc\u0631 \u0628\u0647 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u0648\u0627\u0631\u062f \u0634\u062f\u0646\u062f:", "The following users are no longer enrolled in the course:": "\u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0632\u06cc\u0631\u060c \u062f\u06cc\u06af\u0631 \u062f\u0631 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u0634\u062f\u0647 \u0645\u062d\u0633\u0648\u0628 \u0646\u0645\u06cc\u200c\u0634\u0648\u0646\u062f:", "The following warnings were generated:": "\u0647\u0634\u062f\u0627\u0631\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0627\u0639\u0644\u0627\u0645 \u0634\u062f\u0647\u200c\u0627\u0646\u062f", "The general category for this type of assignment, for example, Homework or Midterm Exam. This name is visible to learners.": "\u062f\u0633\u062a\u06c0 \u0639\u0645\u0648\u0645\u06cc \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0646\u0648\u0639 \u062a\u06a9\u0627\u0644\u06cc\u0641\u060c \u0645\u062b\u0644\u0627\u064b \u062a\u06a9\u0644\u06cc\u0641 \u06cc\u0627 \u0627\u0645\u062a\u062d\u0627\u0646 \u0645\u06cc\u0627\u0646\u200c\u062a\u0631\u0645. \u0627\u06cc\u0646 \u0646\u0627\u0645 \u0628\u0631\u0627\u06cc \u0641\u0631\u0627\u06af\u06cc\u0631\u0627\u0646 \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u0627\u0633\u062a.", @@ -2023,12 +2042,9 @@ "This proctored exam has been released to learners. You may not convert it to another type of special exam. You may revert this subsection back to being a basic exam by selecting 'None', or a timed exam, but you will NOT be able to configure it as a proctored exam in the future.": "\u0627\u06cc\u0646 \u0628\u062e\u0634 \u0641\u0631\u0639\u06cc \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0622\u0632\u0645\u0648\u0646\u06cc \u062d\u0641\u0627\u0638\u062a\u200c\u0634\u062f\u0647 \u0628\u0631\u0627\u06cc \u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u06af\u0627\u0646 \u0645\u0646\u062a\u0634\u0631 \u0634\u062f\u0647\u200c\u0627\u0633\u062a\u060c \u0627\u0645\u06a9\u0627\u0646 \u062a\u063a\u06cc\u06cc\u0631 \u0646\u0648\u0639 \u0622\u0632\u0645\u0648\u0646 \u0648\u06cc\u0698\u0647 \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f. \u0627\u06a9\u0646\u0648\u0646 \u062f\u06cc\u06af\u0631 \u0627\u0645\u06a9\u0627\u0646 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0622\u0646 \u0628\u0647\u200c\u0634\u06a9\u0644 \u0622\u0632\u0645\u0648\u0646 \u062d\u0641\u0627\u0638\u062a\u200c\u0634\u062f\u0647 \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f. \u0634\u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u06cc\u0646 \u0628\u062e\u0634 \u0641\u0631\u0639\u06cc \u0631\u0627 \u0628\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06af\u0632\u06cc\u0646\u0647 \"\u0647\u06cc\u0686 \u06a9\u062f\u0627\u0645\" \u0628\u0647 \u062d\u0627\u0644\u062a \u0622\u0632\u0645\u0648\u0646 \u067e\u0627\u06cc\u0647 \u06cc\u0627 \u0622\u0632\u0645\u0648\u0646 \u0632\u0645\u0627\u0646\u200c\u0628\u0646\u062f\u06cc\u200c\u0634\u062f\u0647 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0646\u06cc\u062f \u0627\u0645\u0627 \u062f\u0631 \u0622\u06cc\u0646\u062f\u0647 \u0646\u06cc\u0632 \u0627\u0645\u06a9\u0627\u0646 \u062a\u063a\u06cc\u06cc\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0622\u0646 \u0628\u0647 \u0622\u0632\u0645\u0648\u0646 \u062d\u0641\u0627\u0638\u062a\u200c\u0634\u062f\u0647 \u0631\u0627 \u0646\u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0627\u0634\u062a.", "This response could not be marked as an answer. Refresh the page and try again.": "\u0627\u06cc\u0646 \u067e\u0627\u0633\u062e \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u067e\u0627\u0633\u062e \u0639\u0644\u0627\u0645\u062a\u200c\u06af\u0630\u0627\u0631\u06cc \u0634\u0648\u062f. \u0635\u0641\u062d\u0647 \u0631\u0627 \u062a\u0627\u0632\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u062f\u0648\u0628\u0627\u0631\u0647 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0646\u06cc\u062f.", "This response could not be marked as endorsed. Refresh the page and try again.": "\u0627\u06cc\u0646 \u067e\u0627\u0633\u062e \u0631\u0627 \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0645\u0637\u0644\u0628 \u062a\u0623\u06cc\u06cc\u062f\u0634\u062f\u0647 \u0646\u0634\u0627\u0646\u062f\u0627\u0631 \u06a9\u0631\u062f. \u0635\u0641\u062d\u0647 \u0631\u0627 \u062a\u0627\u0632\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u062f\u0648\u0628\u0627\u0631\u0647 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0646\u06cc\u062f.", - "This response could not be saved.": "\u0627\u06cc\u0646 \u067e\u0627\u0633\u062e \u0630\u062e\u06cc\u0631\u0647 \u0646\u0634\u062f", "This response could not be submitted.": "\u0627\u06cc\u0646 \u067e\u0627\u0633\u062e \u0627\u0631\u0633\u0627\u0644 \u0646\u0634\u062f", "This response could not be unendorsed. Refresh the page and try again.": "\u0646\u0634\u0627\u0646\u06c0 \u0627\u06cc\u0646 \u067e\u0627\u0633\u062e \u0631\u0627 \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0645\u0637\u0644\u0628 \u062a\u0623\u06cc\u06cc\u062f\u0634\u062f\u0647 \u062d\u0630\u0641 \u06a9\u0631\u062f. \u0635\u0641\u062d\u0647 \u0631\u0627 \u062a\u0627\u0632\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u062f\u0648\u0628\u0627\u0631\u0647 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0646\u06cc\u062f.", "This response could not be unmarked as an answer. Refresh the page and try again.": "\u0646\u0634\u0627\u0646\u06c0 \u0627\u06cc\u0646 \u067e\u0627\u0633\u062e \u0631\u0627 \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u062d\u0630\u0641 \u06a9\u0631\u062f. \u0635\u0641\u062d\u0647 \u0631\u0627 \u062a\u0627\u0632\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u062f\u0648\u0628\u0627\u0631\u0647 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0646\u06cc\u062f.", - "This response has been saved but not submitted.": "\u067e\u0627\u0633\u062e \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f \u0648\u0644\u06cc \u0627\u0631\u0633\u0627\u0644 \u0646\u0634\u062f", - "This response has not been saved.": "\u067e\u0627\u0633\u062e \u0630\u062e\u06cc\u0631\u0647 \u0646\u0634\u062f", "This role requires a divided discussions scheme.": "\u0627\u06cc\u0646 \u0646\u0642\u0634\u060c \u0646\u06cc\u0627\u0632\u0645\u0646\u062f \u06cc\u06a9 \u0634\u0645\u0627\u06cc \u06af\u0641\u062a\u06af\u0648\u06cc \u062a\u0642\u0633\u06cc\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a.", "This section could not be loaded.": "\u0627\u0645\u06a9\u0627\u0646 \u0628\u0627\u0631\u06af\u06cc\u0631\u06cc \u0627\u06cc\u0646 \u0628\u062e\u0634 \u0646\u06cc\u0633\u062a.", "This short name for the assignment type (for example, HW or Midterm) appears next to assignments on a learner's Progress page.": "\u0627\u06cc\u0646 \u0646\u0627\u0645 \u06a9\u0648\u062a\u0627\u0647 \u0628\u0631\u0627\u06cc \u0646\u0648\u0639 \u062a\u06a9\u0644\u06cc\u0641 (\u0645\u062b\u0644\u0627\u064b \u060c HW \u06cc\u0627 Midterm) \u062f\u0631 \u06a9\u0646\u0627\u0631 \u062a\u06a9\u0627\u0644\u06cc\u0641 \u062f\u0631 \u0635\u0641\u062d\u06c0 \u067e\u06cc\u0634\u0631\u0641\u062a \u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u0647 \u0638\u0627\u0647\u0631 \u0645\u06cc\u200c\u0634\u0648\u062f.", @@ -2251,6 +2267,7 @@ "View child items": "\u0645\u0634\u0627\u0647\u062f\u06c0 \u0632\u06cc\u0631\u0634\u0627\u062e\u0647\u200e\u200c\u0647\u0627", "View discussion": "\u0645\u0634\u0627\u0647\u062f\u0647 \u06af\u0641\u062a\u06af\u0648", "View my exam": "\u0645\u0634\u0627\u0647\u062f\u0647 \u0622\u0632\u0645\u0648\u0646 \u0645\u0646", + "View program": "\u0645\u0634\u0627\u0647\u062f\u0647 \u0628\u0631\u0646\u0627\u0645\u0647", "View {span_start} {team_name} {span_end}": "\u0645\u0634\u0627\u0647\u062f\u06c0 {span_start} {team_name} {span_end}", "Viewing %s course": [ "\u0645\u0634\u0627\u0647\u062f\u0647 %s\u062f\u0648\u0631\u0647 \u0622\u0645\u0648\u0632\u0634\u06cc", @@ -2347,8 +2364,10 @@ "You did not submit the required files: {requiredFiles}.": "\u0634\u0645\u0627 \u067e\u0631\u0648\u0646\u062f\u0647\u200c\u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0631\u0627 \u0627\u0631\u0633\u0627\u0644 \u0646\u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f: {requiredFiles}.", "You don't seem to have Flash installed. Get Flash to continue your verification.": "\u0628\u0647 \u0646\u0638\u0631 \u0646\u0645\u06cc\u200c\u0631\u0633\u062f \u06a9\u0647 \u0641\u0644\u0634 \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0631\u062f\u0647 \u0628\u0627\u0634\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0627\u062f\u0627\u0645\u0647 \u0631\u0648\u0646\u062f \u062a\u0623\u06cc\u06cc\u062f\u060c \u0622\u0646 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f.", "You don't seem to have a webcam connected.": "\u0628\u0647 \u0646\u0638\u0631 \u0646\u0645\u06cc\u200c\u0631\u0633\u062f \u06a9\u0647 \u062f\u0648\u0631\u0628\u06cc\u0646 \u0645\u062a\u0635\u0644 \u0628\u0627\u0634\u062f.", + "You have access to the {enterpriseName} dashboard": "\u0634\u0645\u0627 \u0628\u0647 \u067e\u06cc\u0634\u062e\u0648\u0627\u0646 {enterpriseName} \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0631\u06cc\u062f", "You have added a criterion. You will need to select an option for the criterion in the Learner Training step. To do this, click the Assessment Steps tab.": "\u0634\u0645\u0627 \u0645\u0639\u06cc\u0627\u0631\u06cc \u0627\u0641\u0632\u0648\u062f\u06cc\u062f. \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0622\u0645\u0648\u0632\u0634 \u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u0647 \u0628\u0627\u06cc\u062f \u06af\u0632\u06cc\u0646\u0647\u200c\u0627\u06cc \u0631\u0627 \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0645\u0639\u06cc\u0627\u0631 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0648\u06cc \u0632\u0628\u0627\u0646\u0647 \u00ab\u0645\u0631\u0627\u062d\u0644 \u0627\u0631\u0632\u06cc\u0627\u0628\u06cc\u00bb \u0628\u0632\u0646\u06cc\u062f.", "You have already verified your ID!": "\u0634\u0645\u0627 \u0642\u0628\u0644\u0627\u064b \u0647\u0648\u06cc\u062a \u062e\u0648\u062f \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f!", + "You have an active subscription to the {programName} program but are not enrolled in any courses. Enroll in a remaining course and enjoy verified access.": "\u0634\u0645\u0627 \u06cc\u06a9 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0641\u0639\u0627\u0644 \u062f\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 {programName} \u062f\u0627\u0631\u06cc\u062f \u0627\u0645\u0627 \u062f\u0631 \u0647\u06cc\u0686 \u062f\u0648\u0631\u0647 \u0627\u06cc \u062b\u0628\u062a \u0646\u0627\u0645 \u0646\u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f. \u062f\u0631 \u062f\u0648\u0631\u0647 \u0628\u0627\u0642\u06cc \u0645\u0627\u0646\u062f\u0647 \u062b\u0628\u062a \u0646\u0627\u0645 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u0632 \u062f\u0633\u062a\u0631\u0633\u06cc \u062a\u0623\u06cc\u06cc\u062f \u0634\u062f\u0647 \u0644\u0630\u062a \u0628\u0628\u0631\u06cc\u062f.", "You have been logged out of your account. Click Okay to log in again now. Click Cancel to stay on this page (you must log in again to save your work).": "\u0634\u0645\u0627 \u0627\u0632 \u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc\u200c\u062a\u0627\u0646 \u062e\u0627\u0631\u062c \u0634\u062f\u06cc\u062f. \u0631\u0648\u06cc \u06af\u0632\u06cc\u0646\u0647 \u062a\u0627\u06cc\u06cc\u062f \u0628\u0632\u0646\u06cc\u062f \u062a\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u0648\u0627\u0631\u062f \u0633\u0627\u0645\u0627\u0646\u0647 \u0634\u0648\u06cc\u062f. \u0627\u06af\u0631 \u0645\u0627\u06cc\u0644\u06cc\u062f \u062f\u0631 \u0647\u0645\u06cc\u0646 \u0635\u0641\u062d\u0647 \u0628\u0645\u0627\u0646\u06cc\u062f \u0631\u0648\u06cc \u06af\u0632\u06cc\u0646\u0647 \u0644\u063a\u0648 \u0628\u0632\u0646\u06cc\u062f (\u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0641\u0639\u0627\u0644\u06cc\u062a \u062e\u0648\u062f \u0628\u0627\u06cc\u062f \u062f\u0648\u0628\u0627\u0631\u0647 \u0648\u0627\u0631\u062f \u0633\u0627\u0645\u0627\u0646\u0647 \u0634\u0648\u06cc\u062f).", "You have deleted a criterion. The criterion has been removed from the example responses in the Learner Training step.": "\u0634\u0645\u0627 \u06cc\u06a9 \u0645\u0639\u06cc\u0627\u0631 \u0631\u0627 \u062d\u0630\u0641 \u0646\u0645\u0648\u062f\u06cc\u062f. \u0627\u06cc\u0646 \u0645\u0639\u06cc\u0627\u0631 \u0627\u0632 \u067e\u0627\u0633\u062e \u0647\u0627\u06cc \u0646\u0645\u0648\u0646\u0647 \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u0647 \u062d\u0630\u0641 \u0634\u062f.", "You have deleted all the options for this criterion. The criterion has been removed from the sample responses in the Learner Training step.": "\u0634\u0645\u0627 \u0647\u0645\u0647 \u06af\u0632\u06cc\u0646\u0647 \u0647\u0627\u06cc \u0627\u06cc\u0646 \u0645\u0639\u06cc\u0627\u0631 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0631\u062f\u06cc\u062f. \u0627\u06cc\u0646 \u0645\u0639\u06cc\u0627\u0631 \u0627\u0632 \u0646\u0645\u0648\u0646\u0647 \u067e\u0627\u0633\u062e \u062f\u0631 \u0645\u0631\u0627\u062d\u0644 \u0622\u0645\u0648\u0632\u0634 \u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u0647 \u062d\u0630\u0641 \u0634\u062f.", @@ -2374,8 +2393,10 @@ "You may also lose access to verified certificates and other program credentials like MicroMasters certificates. If you want to make a copy of these for your records before proceeding with deletion, follow the instructions for {htmlStart}printing or downloading a certificate{htmlEnd}.": "\u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc \u062a\u0623\u06cc\u06cc\u062f\u0634\u062f\u0647 \u0648 \u0633\u0627\u06cc\u0631 \u0627\u0639\u062a\u0628\u0627\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0627\u0646\u0646\u062f \u06af\u0648\u0627\u0647\u06cc\u200c\u0647\u0627\u06cc MicroMasters \u0631\u0627 \u0627\u0632 \u062f\u0633\u062a \u0628\u062f\u0647\u06cc\u062f. \u0627\u06af\u0631 \u0645\u0627\u06cc\u0644\u06cc\u062f \u067e\u06cc\u0634 \u0627\u0632 \u0627\u0642\u062f\u0627\u0645 \u0628\u0631\u0627\u06cc \u062d\u0630\u0641 \u0646\u0633\u062e\u0647\u200c\u0627\u06cc \u0627\u0632 \u0627\u06cc\u0646 \u0645\u0648\u0627\u0631\u062f \u0631\u0627 \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0633\u0648\u0627\u0628\u0642 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f\u060c \u0628\u0631\u0627\u06cc \u0686\u0627\u067e {htmlStart} \u06cc\u0627 \u0628\u0627\u0631\u06af\u06cc\u0631\u06cc \u06af\u0648\u0627\u0647\u06cc {htmlEnd} \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644\u200c\u0647\u0627 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f.", "You may be able to complete the image capture procedure without assistance, but it may take a couple of submission attempts to get the camera positioning right. Optimal camera positioning varies with each computer, but generally the best position for a headshot is approximately 12-18 inches (30-45 centimeters) from the camera, with your head centered relative to the computer screen. ": "\u0634\u0627\u06cc\u062f \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u062f\u0648\u0646 \u06a9\u0645\u06a9 \u0645\u0631\u0627\u062d\u0644 \u062a\u0635\u0648\u06cc\u0631\u0628\u0631\u062f\u0627\u0631\u06cc \u0631\u0627 \u0628\u0647 \u0627\u062a\u0645\u0627\u0645 \u0628\u0631\u0633\u0627\u0646\u06cc\u062f\u060c \u0627\u0645\u0627 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0686\u0646\u062f \u0645\u0648\u0642\u0639\u06cc\u062a \u0631\u0627 \u0644\u0627\u0632\u0645 \u0628\u0627\u0634\u062f \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0645\u0648\u0642\u0639\u06cc\u062a \u0645\u0637\u0644\u0648\u0628 \u0628\u0631\u0633\u06cc\u062f. \u0645\u0648\u0642\u0639\u06cc\u062a \u0628\u0647\u06cc\u0646\u06c0 \u062f\u0648\u0631\u0628\u06cc\u0646 \u062f\u0631 \u0647\u0631 \u0631\u0627\u06cc\u0627\u0646\u0647 \u0645\u062a\u0641\u0627\u0648\u062a \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f\u060c \u0627\u0645\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u06a9\u0644\u06cc\u060c \u0628\u0647\u062a\u0631\u06cc\u0646 \u0645\u0648\u0642\u0639\u06cc\u062a \u0628\u0631\u0627\u06cc \u062a\u0635\u0648\u06cc\u0631 \u06a9\u0627\u0631\u062a \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc 12-18 \u0627\u06cc\u0646\u0686 (30-45 \u0633\u0627\u0646\u062a\u06cc\u200c\u0645\u062a\u0631) \u0641\u0627\u0635\u0644\u0647 \u0627\u0632 \u062f\u0648\u0631\u0628\u06cc\u0646 \u0627\u0633\u062a\u060c \u0648 \u0628\u0627\u06cc\u062f \u062f\u0648\u0631\u0628\u06cc\u0646 \u0631\u0648\u06cc \u06a9\u0627\u0631\u062a \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0645\u062a\u0645\u0631\u06a9\u0632 \u0628\u0627\u0634\u062f.", "You may be able to complete the image capture procedure without assistance, but it may take a couple of submission attempts to get the camera positioning right. Optimal camera positioning varies with each computer, but generally, the best position for a photo of an ID card is 8-12 inches (20-30 centimeters) from the camera, with the ID card centered relative to the camera. ": "\u0634\u0627\u06cc\u062f \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u062f\u0648\u0646 \u0631\u0627\u0647\u0646\u0645\u0627\u060c \u0645\u0631\u0627\u062d\u0644 \u062a\u0635\u0648\u06cc\u0631\u0628\u0631\u062f\u0627\u0631\u06cc \u0631\u0627 \u0628\u0647 \u0627\u062a\u0645\u0627\u0645 \u0628\u0631\u0633\u0627\u0646\u06cc\u062f\u060c \u0627\u0645\u0627 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0686\u0646\u062f \u0645\u0648\u0642\u0639\u06cc\u062a \u0631\u0627 \u0644\u0627\u0632\u0645 \u0628\u0627\u0634\u062f \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0645\u0637\u0644\u0648\u0628\u200c\u062a\u0631\u06cc\u0646 \u062a\u0635\u0648\u06cc\u0631 \u0628\u0631\u0633\u06cc\u062f. \u0645\u0648\u0642\u0639\u06cc\u062a \u0628\u0647\u06cc\u0646\u06c0 \u062f\u0648\u0631\u0628\u06cc\u0646 \u062f\u0631 \u0647\u0631 \u0631\u0627\u06cc\u0627\u0646\u0647 \u0645\u062a\u0641\u0627\u0648\u062a \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f\u060c \u0627\u0645\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u06a9\u0644\u06cc\u060c \u0628\u0647\u062a\u0631\u06cc\u0646 \u0645\u0648\u0642\u0639\u06cc\u062a \u0628\u0631\u0627\u06cc \u062a\u0635\u0648\u06cc\u0631 \u06a9\u0627\u0631\u062a \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc 8-12 \u0627\u06cc\u0646\u0686 (20-30 \u0633\u0627\u0646\u062a\u06cc\u200c\u0645\u062a\u0631) \u0641\u0627\u0635\u0644\u0647 \u0627\u0632 \u062f\u0648\u0631\u0628\u06cc\u0646 \u0627\u0633\u062a\u060c \u0648 \u0628\u0627\u06cc\u062f \u062f\u0648\u0631\u0628\u06cc\u0646 \u0631\u0648\u06cc \u06a9\u0627\u0631\u062a \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0645\u062a\u0645\u0631\u06a9\u0632 \u0627\u0633\u062a.", + "You may need to update a file(s) manually": "\u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0644\u0627\u0632\u0645 \u0628\u0627\u0634\u062f \u0641\u0627\u06cc\u0644(\u0647\u0627) \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u062f\u0633\u062a\u06cc \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f", "You must be over 13 to share a full profile. If you are over 13, make sure that you have specified a birth year on the {account_settings_page_link}": "\u0628\u0631\u0627\u06cc \u0627\u0634\u062a\u0631\u0627\u06a9\u200c\u06af\u0630\u0627\u0631\u06cc \u067e\u0631\u0648\u0646\u062f\u06c0 \u06a9\u0627\u0645\u0644 \u06a9\u0627\u0631\u0628\u0631\u06cc \u062e\u0648\u062f \u0628\u0627\u06cc\u062f \u0628\u06cc\u0634 \u0627\u0632 13 \u0633\u0627\u0644 \u0633\u0646 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f\u060c \u0627\u06af\u0631 \u0627\u06cc\u0646 \u0639\u062f\u062f \u062f\u0631\u0633\u062a \u0646\u06cc\u0633\u062a\u060c \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u0633\u0627\u0644 \u062a\u0648\u0644\u062f \u062e\u0648\u062f \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f {account_settings_page_link} \u0628\u0631\u0648\u06cc\u062f", "You must enter a valid email address in order to add a new team member": "\u0628\u0631\u0627\u06cc \u0627\u0641\u0632\u0648\u062f\u0646 \u0639\u0636\u0648 \u062c\u062f\u06cc\u062f \u0628\u0647 \u062a\u06cc\u0645 \u0628\u0627\u06cc\u062f \u0627\u0632 \u0646\u0634\u0627\u0646\u06cc \u0631\u0627\u06cc\u0627\u0646\u0627\u0645\u0647\u200c \u0645\u0639\u062a\u0628\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f", + "You must have at least one undroppable <%- types %> assignment.": "\u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u062d\u062f\u0627\u0642\u0644 \u06cc\u06a9 \u062a\u062e\u0635\u06cc\u0635 <%- types %> \u063a\u06cc\u0631\u0642\u0627\u0628\u0644 \u062d\u0630\u0641 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f.", "You must provide a learner name.": "\u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u0646\u0627\u0645 \u06cc\u0627\u062f\u06af\u06cc\u0631\u0646\u062f\u0647 \u0631\u0627 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u06cc\u062f", "You must select a session by {expiration_date} to access the course.": "\u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u0622\u0645\u0648\u0632\u0634\u06cc \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u062c\u0644\u0633\u0647 \u062a\u0627 \u062a\u0627\u0631\u06cc\u062e {expiration_date} \u0628\u0631\u06af\u0632\u06cc\u0646\u06cc\u062f.", "You must select a session to access the course.": "\u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u062f\u0648\u0631\u0647 \u0622\u0645\u0648\u0632\u0634\u06cc \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u062c\u0644\u0633\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.", @@ -2442,6 +2463,11 @@ "Your upload of '{file}' succeeded.": "\u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc '{file}' \u0645\u0648\u0641\u0642 \u0628\u0648\u062f.", "Your verification status is good until {verificationGoodUntil}.": "\u0648\u0636\u0639\u06cc\u062a \u062a\u0623\u06cc\u06cc\u062f \u0634\u0645\u0627 \u062a\u0627 {verificationGoodUntil} \u062e\u0648\u0628 \u0646\u06cc\u0633\u062a.", "Your video uploads are not complete.": "\u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0648\u06cc\u062f\u0626\u0648\u0647\u0627 \u06a9\u0627\u0645\u0644 \u0646\u0634\u062f\u0647 \u0627\u0633\u062a.", + "Your {programName} trial will expire at {trialEndTime} on {trialEndDate} and the card on file will be charged {subscriptionPrice}.": "\u062f\u0648\u0631\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc {programName} \u0634\u0645\u0627 \u062f\u0631 {trialEndTime} \u062f\u0631 {trialEndDate} \u0645\u0646\u0642\u0636\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0647\u0632\u06cc\u0646\u0647 \u06a9\u0627\u0631\u062a \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u067e\u0631\u0648\u0646\u062f\u0647 {subscriptionPrice} \u0645\u062d\u0627\u0633\u0628\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.", + "Your {programName} trial will expire in {remainingDays} day at {trialEndTime} on {trialEndDate} and the card on file will be charged {subscriptionPrice}.": [ + "\u062f\u0648\u0631\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc {programName} \u0634\u0645\u0627 \u062f\u0631 {remainingDays} \u0631\u0648\u0632 \u062f\u0631 {trialEndTime} \u062f\u0631 {trialEndDate} \u0645\u0646\u0642\u0636\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0647\u0632\u06cc\u0646\u0647 \u06a9\u0627\u0631\u062a \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u067e\u0631\u0648\u0646\u062f\u0647 {subscriptionPrice} \u0645\u062d\u0627\u0633\u0628\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.", + "\u062f\u0648\u0631\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc {programName} \u0634\u0645\u0627 \u062f\u0631 {remainingDays} \u0631\u0648\u0632 \u062f\u0631 {trialEndTime} \u062f\u0631 {trialEndDate} \u0645\u0646\u0642\u0636\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0647\u0632\u06cc\u0646\u0647 \u06a9\u0627\u0631\u062a \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u067e\u0631\u0648\u0646\u062f\u0647 {subscriptionPrice} \u0645\u062d\u0627\u0633\u0628\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f." + ], "Your {program} Certificate": "\u06af\u0648\u0627\u0647\u06cc {program} \u0634\u0645\u0627", "Yourself": "\u0634\u0645\u0627", "Zoom In": "\u0628\u0632\u0631\u06af\u0646\u0645\u0627\u06cc\u06cc", diff --git a/cms/static/js/i18n/fr/djangojs.js b/cms/static/js/i18n/fr/djangojs.js index def383110570..ce83d52a883b 100644 --- a/cms/static/js/i18n/fr/djangojs.js +++ b/cms/static/js/i18n/fr/djangojs.js @@ -1600,7 +1600,6 @@ "Saved cohort": "Cohorte enregistr\u00e9e", "Saving": "Enregistrement en cours", "Saving your email preference": "Enregistrement de vos pr\u00e9f\u00e9rences email", - "Saving...": "Enregistrement...", "Scheduled:": "Programm\u00e9 :", "Scope": "Cadre", "Search": "Recherche", @@ -1753,7 +1752,6 @@ "Starts: %(start_date)s": "D\u00e9but: %(start_date)s", "State": "\u00c9tat", "Status": "Statut", - "Status of Your Response": "Statut de votre r\u00e9ponse", "Strikethrough": "Barr\u00e9", "Student": "\u00c9tudiant", "Student Removed from certificate allowlist successfully.": "\u00c9tudiant retir\u00e9 de la liste d'autorisation d'attestation avec succ\u00e8s.", @@ -1787,8 +1785,6 @@ "Successfully rescored problem for user {user}": "R\u00e9\u00e9valuation r\u00e9ussie du score du probl\u00e8me pour l'utilisateur {user}", "Successfully rescored problem to improve score for user {user}": "R\u00e9\u00e9valuation r\u00e9ussie pour l'utilisateur {user} pour am\u00e9liorer sa note au probl\u00e8me", "Successfully reset the attempts for user {user}": "R\u00e9initialisation des essais r\u00e9ussie pour l'utilisateur {user}", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "Envoi d'e-mails d'inscription r\u00e9ussi pour les utilisateurs suivants. Ils seront autoris\u00e9s \u00e0 s'inscrire au cours une fois qu'ils se seront enregistr\u00e9s sur la plateforme : ", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "E-mails d'inscription envoy\u00e9s avec succ\u00e8s aux utilisateurs suivants. Ils seront inscrits d\u00e8s qu'ils se seront enregistr\u00e9s sur la plateforme :", "Successfully started task to rescore problem '<%- problem_id %>' for all students. Click the 'Show Task Status' button to see the status of the task.": "D\u00e9marrage de la t\u00e2che consistant \u00e0 recalculer la note du probl\u00e8me'<%- problem_id %>' pour tous les \u00e9tudiants effectu\u00e9 avec succ\u00e8s. Cliquez sur le bouton \u00abAfficher l\u2019\u00e9tat des t\u00e2ches\u00bb pour voir l'\u00e9tat de la t\u00e2che.", "Successfully started task to reset attempts for problem '<%- problem_id %>'. Click the 'Show Task Status' button to see the status of the task.": "La t\u00e2che de r\u00e9initialisation de tentatives pour le probl\u00e8me '<%- problem_id %>' a d\u00e9marr\u00e9 avec succ\u00e8s. Cliquez sur le bouton \u00ab\u00a0Afficher l\u2019\u00e9tat des t\u00e2ches\u00a0\u00bb pour voir l'\u00e9tat de la t\u00e2che.", "Successfully unlinked.": "Lien supprim\u00e9.", @@ -2002,12 +1998,9 @@ "This proctored exam has been released to learners. You may not convert it to another type of special exam. You may revert this subsection back to being a basic exam by selecting 'None', or a timed exam, but you will NOT be able to configure it as a proctored exam in the future.": "Cet examen surveill\u00e9 a \u00e9t\u00e9 mis \u00e0 la disposition des apprenants. Vous ne pouvez pas le convertir en un autre type d'examen sp\u00e9cial. Vous pouvez redonner \u00e0 cette sous-section un examen de base en s\u00e9lectionnant "Aucun" ou un examen chronom\u00e9tr\u00e9, mais vous ne pourrez PAS le configurer en tant qu'examen surveill\u00e9 \u00e0 l'avenir.", "This response could not be marked as an answer. Refresh the page and try again.": "Cette r\u00e9action ne peut pas \u00eatre inscrite en tant que r\u00e9ponse. Veuillez actualiser la page et essayer \u00e0 nouveau.", "This response could not be marked as endorsed. Refresh the page and try again.": "Cette r\u00e9ponse ne peut pas \u00eatre inscrite comme \u00e9tant approuv\u00e9e. Veuillez actualiser la page et essayer \u00e0 nouveau.", - "This response could not be saved.": "Cette r\u00e9ponse n'a pas pu \u00eatre enregistr\u00e9e.", "This response could not be submitted.": "Cette r\u00e9ponse n'a pas pu \u00eatre soumise.", "This response could not be unendorsed. Refresh the page and try again.": "Cette r\u00e9action ne peut pas \u00eatre approuv\u00e9e. Veuillez actualiser la page et essayer \u00e0 nouveau.", "This response could not be unmarked as an answer. Refresh the page and try again.": "Cette r\u00e9action ne peut pas \u00eatre effac\u00e9e en tant que r\u00e9ponse. Veuillez actualiser la page et essayer \u00e0 nouveau.", - "This response has been saved but not submitted.": "Cette r\u00e9ponse a \u00e9t\u00e9 enregistr\u00e9e mais n'a pas \u00e9t\u00e9 soumise.", - "This response has not been saved.": "Cette r\u00e9ponse n'a pas \u00e9t\u00e9 enregistr\u00e9e.", "This role requires a divided discussions scheme.": "Ce r\u00f4le requiert un plan de s\u00e9paration des discussions.", "This section could not be loaded.": "Cette section n'a pas pu \u00eatre charg\u00e9e.", "This short name for the assignment type (for example, HW or Midterm) appears next to assignments on a learner's Progress page.": "Le nom court pour ce type de devoirs (par exemple, HW ou Midterm) apparait \u00e0 c\u00f4t\u00e9 des devoirs sur la page de progression de l'apprenant.", diff --git a/cms/static/js/i18n/he/djangojs.js b/cms/static/js/i18n/he/djangojs.js index d9b8c975324c..6048717afeff 100644 --- a/cms/static/js/i18n/he/djangojs.js +++ b/cms/static/js/i18n/he/djangojs.js @@ -886,7 +886,6 @@ "Saved cohort": "\u05e7\u05d1\u05d5\u05e6\u05ea \u05dc\u05d9\u05de\u05d5\u05d3 \u05e9\u05de\u05d5\u05e8\u05d4", "Saving": "\u05e9\u05d5\u05de\u05e8", "Saving your email preference": "\u05e9\u05de\u05d9\u05e8\u05ea \u05d4\u05e2\u05d3\u05e4\u05ea \u05d4\u05d3\u05d5\u05d0\u05e8 \u05d4\u05d0\u05dc\u05e7\u05d8\u05e8\u05d5\u05e0\u05d9 \u05e9\u05dc\u05da", - "Saving...": "\u05e9\u05d5\u05de\u05e8...", "Scheduled:": "\u05de\u05ea\u05d5\u05db\u05e0\u05df:", "Search": "\u05d7\u05d9\u05e4\u05d5\u05e9", "Search Results": "\u05ea\u05d5\u05e6\u05d0\u05d5\u05ea \u05d7\u05d9\u05e4\u05d5\u05e9", @@ -968,7 +967,6 @@ "Starts: %(start_date)s": "\u05de\u05ea\u05d7\u05d9\u05dc: %(start_date)s", "State": "\u05de\u05d3\u05d9\u05e0\u05d4", "Status": "\u05e1\u05d8\u05d8\u05d5\u05e1", - "Status of Your Response": "\u05e1\u05d8\u05d8\u05d5\u05e1 \u05ea\u05e9\u05d5\u05d1\u05ea\u05da", "Student": "\u05e1\u05d8\u05d5\u05d3\u05e0\u05d8", "Student email or username": "\u05db\u05ea\u05d5\u05d1\u05ea \u05d3\u05d5\u05d0\u05e8 \u05d0\u05dc\u05e7\u05d8\u05e8\u05d5\u05e0\u05d9 \u05d0\u05d5 \u05e9\u05dd \u05de\u05e9\u05ea\u05de\u05e9 \u05e9\u05dc \u05d4\u05e1\u05d8\u05d5\u05d3\u05e0\u05d8", "Student username/email field is required and can not be empty. Kindly fill in username/email and then press \"Add to Exception List\" button.": "\u05e9\u05d3\u05d4 \u05e9\u05dd \u05d4\u05de\u05e9\u05ea\u05de\u05e9/\u05d3\u05d5\u05d0\u05e8 \u05d0\u05dc\u05e7\u05d8\u05e8\u05d5\u05e0\u05d9 \u05e9\u05dc \u05d4\u05e1\u05d8\u05d5\u05d3\u05e0\u05d8 \u05d4\u05d5\u05d0 \u05e9\u05d3\u05d4 \u05d7\u05d5\u05d1\u05d4 \u05d5\u05dc\u05d0 \u05e0\u05d9\u05ea\u05df \u05dc\u05d4\u05e9\u05d0\u05d9\u05e8\u05d5 \u05e8\u05d9\u05e7. \u05d0\u05e0\u05d0 \u05de\u05dc\u05d0 \u05d0\u05ea \u05e9\u05dd \u05d4\u05de\u05e9\u05ea\u05de\u05e9/\u05d4\u05d3\u05d5\u05d0\u05e8 \u05d4\u05d0\u05dc\u05e7\u05d8\u05e8\u05d5\u05e0\u05d9 \u05d5\u05dc\u05d0\u05d7\u05e8 \u05de\u05db\u05df \u05dc\u05d7\u05e5 \u05e2\u05dc \u05d4\u05dc\u05d7\u05e6\u05df \"\u05d4\u05d5\u05e1\u05e3 \u05dc\u05e8\u05e9\u05d9\u05de\u05ea \u05d7\u05e8\u05d9\u05d2\u05d9\u05dd\".", @@ -1134,12 +1132,9 @@ "This problem could not be saved.": "\u05dc\u05d0 \u05e0\u05d9\u05ea\u05df \u05d4\u05d9\u05d4 \u05dc\u05e9\u05de\u05d5\u05e8 \u05d1\u05e2\u05d9\u05d4 \u05d6\u05d5.", "This response could not be marked as an answer. Refresh the page and try again.": "\u05dc\u05d0 \u05e0\u05d9\u05ea\u05df \u05dc\u05e1\u05de\u05df \u05d0\u05ea \u05d4\u05ea\u05d2\u05d5\u05d1\u05d4 \u05d4\u05d6\u05d5 \u05d1\u05ea\u05d5\u05e8 \u05ea\u05e9\u05d5\u05d1\u05d4. \u05e8\u05e2\u05e0\u05df \u05d0\u05ea \u05d4\u05e2\u05de\u05d5\u05d3 \u05d5\u05e0\u05e1\u05d4 \u05e9\u05e0\u05d9\u05ea.", "This response could not be marked as endorsed. Refresh the page and try again.": "\u05dc\u05d0 \u05e0\u05d9\u05ea\u05df \u05dc\u05e1\u05de\u05df \u05d0\u05ea \u05d4\u05ea\u05d2\u05d5\u05d1\u05d4 \u05d4\u05d6\u05d5 \u05d1\u05ea\u05d5\u05e8 \u05de\u05d5\u05de\u05dc\u05e6\u05ea. \u05e8\u05e2\u05e0\u05df \u05d0\u05ea \u05d4\u05e2\u05de\u05d5\u05d3 \u05d5\u05e0\u05e1\u05d4 \u05e9\u05e0\u05d9\u05ea.", - "This response could not be saved.": "\u05dc\u05d0 \u05e0\u05d9\u05ea\u05df \u05d4\u05d9\u05d4 \u05dc\u05e9\u05de\u05d5\u05e8 \u05d0\u05ea \u05d4\u05ea\u05e9\u05d5\u05d1\u05d4.", "This response could not be submitted.": "\u05dc\u05d0 \u05e0\u05d9\u05ea\u05df \u05d4\u05d9\u05d4 \u05dc\u05d4\u05d2\u05d9\u05e9 \u05d0\u05ea \u05d4\u05ea\u05d2\u05d5\u05d1\u05d4.", "This response could not be unendorsed. Refresh the page and try again.": "\u05dc\u05d0 \u05e0\u05d9\u05ea\u05df \u05dc\u05d1\u05d8\u05dc \u05d0\u05ea \u05e1\u05d9\u05de\u05d5\u05df \u05d4\u05ea\u05d2\u05d5\u05d1\u05d4 \u05d4\u05d6\u05d5 \u05d1\u05ea\u05d5\u05e8 \u05de\u05d5\u05de\u05dc\u05e6\u05ea. \u05e8\u05e2\u05e0\u05df \u05d0\u05ea \u05d4\u05e2\u05de\u05d5\u05d3 \u05d5\u05e0\u05e1\u05d4 \u05e9\u05e0\u05d9\u05ea.", "This response could not be unmarked as an answer. Refresh the page and try again.": "\u05dc\u05d0 \u05e0\u05d9\u05ea\u05df \u05dc\u05d1\u05d8\u05dc \u05d0\u05ea \u05e1\u05d9\u05de\u05d5\u05df \u05d4\u05ea\u05d2\u05d5\u05d1\u05d4 \u05d4\u05d6\u05d5 \u05d1\u05ea\u05d5\u05e8 \u05ea\u05e9\u05d5\u05d1\u05d4. \u05e8\u05e2\u05e0\u05df \u05d0\u05ea \u05d4\u05e2\u05de\u05d5\u05d3 \u05d5\u05e0\u05e1\u05d4 \u05e9\u05e0\u05d9\u05ea.", - "This response has been saved but not submitted.": "\u05ea\u05e9\u05d5\u05d1\u05d4 \u05d6\u05d5 \u05e0\u05e9\u05de\u05e8\u05d4 \u05d0\u05da \u05dc\u05d0 \u05e0\u05e9\u05dc\u05d7\u05d4.", - "This response has not been saved.": "\u05ea\u05e9\u05d5\u05d1\u05d4 \u05d6\u05d5 \u05dc\u05d0 \u05e0\u05e9\u05de\u05e8\u05d4.", "This section could not be loaded.": "\u05dc\u05d0 \u05e0\u05d9\u05ea\u05df \u05d4\u05d9\u05d4 \u05dc\u05d8\u05e2\u05d5\u05df \u05e4\u05e8\u05e7 \u05d6\u05d4.", "This short name for the assignment type (for example, HW or Midterm) appears next to assignments on a learner's Progress page.": "\u05e9\u05dd \u05e7\u05e6\u05e8 \u05d6\u05d4 \u05dc\u05e1\u05d5\u05d2 \u05d4\u05de\u05e9\u05d9\u05de\u05d4 (\u05dc\u05d3\u05d5\u05d2\u05de\u05d4, \u05e9\"\u05d1 \u05d0\u05d5 \u05de\u05d1\u05d7\u05df \u05d0\u05de\u05e6\u05e2) \u05de\u05d5\u05e4\u05d9\u05e2 \u05dc\u05d9\u05d3 \u05d4\u05de\u05e9\u05d9\u05de\u05d5\u05ea \u05e9\u05d1\u05e2\u05de\u05d5\u05d3 \u05d4\u05d4\u05ea\u05e7\u05d3\u05de\u05d5\u05ea \u05e9\u05dc \u05d4\u05dc\u05d5\u05de\u05d3.", "This team does not have any members.": "\u05d0\u05d9\u05df \u05d7\u05d1\u05e8\u05d9\u05dd \u05d1\u05e6\u05d5\u05d5\u05ea \u05d6\u05d4.", diff --git a/cms/static/js/i18n/hi/djangojs.js b/cms/static/js/i18n/hi/djangojs.js index e55a6eac0a6b..1c05987d62e1 100644 --- a/cms/static/js/i18n/hi/djangojs.js +++ b/cms/static/js/i18n/hi/djangojs.js @@ -104,7 +104,6 @@ "Required": "\u0906\u0935\u0936\u094d\u092f\u0915", "Save Changes": "\u092a\u0930\u093f\u0935\u0930\u094d\u0924\u0928 \u0938\u0947\u0935 \u0915\u0930\u0947\u0902", "Saving": "\u0938\u0947\u0935 \u0939\u094b \u0930\u0939\u093e \u0939\u0948", - "Saving...": "\u0938\u0941\u0930\u0915\u094d\u0937\u093f\u0924 \u0915\u093f\u092f\u093e \u091c\u093e \u0930\u0939\u093e \u0939\u0948 ...", "Show": "\u0926\u093f\u0916\u093e\u0913", "Show Discussion": " \u091a\u0930\u094d\u091a\u093e \u0926\u093f\u0916\u093e\u090f\u0902", "Showing all responses": "\u0938\u092d\u0940 \u091c\u0935\u093e\u092c \u0926\u093f\u0916\u093e\u090f \u091c\u093e \u0930\u0939\u0947 \u0939\u0948\u0902", @@ -137,7 +136,6 @@ "This is the list of available %s. You may choose some by selecting them in the box below and then clicking the \"Choose\" arrow between the two boxes.": "\u092f\u0939 \u0909\u092a\u0932\u092c\u094d\u0927 %s \u0915\u0940 \u0938\u0942\u091a\u0940 \u0939\u0948. \u0906\u092a \u0909\u0928\u094d\u0939\u0947\u0902 \u0928\u0940\u091a\u0947 \u0926\u093f\u090f \u0917\u090f \u092c\u0949\u0915\u094d\u0938 \u092e\u0947\u0902 \u0938\u0947 \u091a\u092f\u0928 \u0915\u0930\u0915\u0947 \u0915\u0941\u091b \u0915\u094b \u091a\u0941\u0928 \u0938\u0915\u0924\u0947 \u0939\u0948\u0902 \u0914\u0930 \u0909\u0938\u0915\u0947 \u092c\u093e\u0926 \u0926\u094b \u092c\u0949\u0915\u094d\u0938 \u0915\u0947 \u092c\u0940\u091a \"\u091a\u0941\u0928\u0947\u0902\" \u0924\u0940\u0930 \u092a\u0930 \u0915\u094d\u0932\u093f\u0915 \u0915\u0930\u0947\u0902.", "This is the list of chosen %s. You may remove some by selecting them in the box below and then clicking the \"Remove\" arrow between the two boxes.": "\u092f\u0939 \u0909\u092a\u0932\u092c\u094d\u0927 %s \u0915\u0940 \u0938\u0942\u091a\u0940 \u0939\u0948. \u0906\u092a \u0909\u0928\u094d\u0939\u0947\u0902 \u0928\u0940\u091a\u0947 \u0926\u093f\u090f \u0917\u090f \u092c\u0949\u0915\u094d\u0938 \u092e\u0947\u0902 \u0938\u0947 \u091a\u092f\u0928 \u0915\u0930\u0915\u0947 \u0915\u0941\u091b \u0915\u094b \u0939\u091f\u093e \u0938\u0915\u0924\u0947 \u0939\u0948\u0902 \u0914\u0930 \u0909\u0938\u0915\u0947 \u092c\u093e\u0926 \u0926\u094b \u092c\u0949\u0915\u094d\u0938 \u0915\u0947 \u092c\u0940\u091a \"\u0939\u091f\u093e\u092f\u0947\u0902\" \u0924\u0940\u0930 \u092a\u0930 \u0915\u094d\u0932\u093f\u0915 \u0915\u0930\u0947\u0902.", "This problem could not be saved.": "\u0907\u0938 \u092a\u094d\u0930\u0936\u094d\u0928 \u0915\u094b \u0938\u0941\u0930\u0915\u094d\u0937\u093f\u0924 \u0928\u0939\u0940\u0902 \u0915\u093f\u092f\u093e \u091c\u093e \u0938\u0915\u093e.", - "This response could not be saved.": "\u0907\u0938 \u0909\u0924\u094d\u0924\u0930 \u0915\u094b \u0938\u0941\u0930\u0915\u094d\u0937\u093f\u0924 \u0928\u0939\u0940\u0902 \u0915\u093f\u092f\u093e \u091c\u093e \u0938\u0915\u093e.", "This response could not be submitted.": "\u0907\u0938 \u0909\u0924\u094d\u0924\u0930 \u0915\u094b \u091c\u092e\u093e \u0928\u0939\u0940\u0902 \u0915\u093f\u092f\u093e \u091c\u093e \u0938\u0915\u093e.", "This section could not be loaded.": "\u092f\u0939 \u0916\u0902\u0921 \u0932\u094b\u0921 \u0928\u0939\u0940\u0902 \u0915\u093f\u092f\u093e \u091c\u093e \u0938\u0915\u093e.", "Today": "\u0906\u091c", diff --git a/cms/static/js/i18n/id/djangojs.js b/cms/static/js/i18n/id/djangojs.js index 3c9daa12d20b..b2e3a0890169 100644 --- a/cms/static/js/i18n/id/djangojs.js +++ b/cms/static/js/i18n/id/djangojs.js @@ -1084,7 +1084,6 @@ "Saved cohort": "Kohort yang disimpan", "Saving": "Menyimpan", "Saving your email preference": "Menyimpan preferensi email Anda", - "Saving...": "Sedang menyimpan ...", "Scheduled:": "Terjadwal", "Scope": "Cakupan/Ruang lingkup", "Search": "Cari", @@ -1196,7 +1195,6 @@ "Starts: %(start_date)s": "Mulai: %(start_date)s", "State": "Kondisi", "Status": "Status", - "Status of Your Response": "Status respon Anda", "Strikethrough": "Coret", "Student": "Siswa", "Student email or username": "Email atau nama pengguna peserta", @@ -1222,8 +1220,6 @@ "Successfully rescored problem for user {user}": "Berhasil menilai ulang permasalahan untuk pengguna {user}", "Successfully rescored problem to improve score for user {user}": "Berhasil menilai ulang permasalahan untuk memperbaiki nilai pengguna {user}", "Successfully reset the attempts for user {user}": "Berhasil menyetel ulang percobaan untuk pengguna {user}", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "Berhasil mengirimkan email pendaftaran ke pengguna ini. Sehinga boleh bergabung ketika sudah terdaftar:", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "Berhasil mengirimkan email pendaftaran ke pengguna ini. Sehinga akan terdaftar ketika sudah terdaftar:", "Successfully started task to rescore problem '<%- problem_id %>' for all students. Click the 'Show Task Status' button to see the status of the task.": "Telah berhasil memulai tugas untuk menilai ulang permasalahan '<%- problem_id %>' untuk semua siswa. Klik tombol 'Tampilkan Status Tugas' untuk melihat status tugas.", "Successfully started task to reset attempts for problem '<%- problem_id %>'. Click the 'Show Task Status' button to see the status of the task.": "Berhasil memulai aktivitas penyetelan ulang percobaan untuk permasalahan '<%- problem_id %>'. Klik tombol 'Tampilkan Status Tugas' untuk melihat status tugas.", "Successfully unlinked.": "Berhasil membatalkan tautan.", @@ -1364,12 +1360,9 @@ "This problem has been reset.": "Permasalahan ini telah direset", "This response could not be marked as an answer. Refresh the page and try again.": "Respon ini tidak dapat dikategorikan menjadi jawaban. Refresh halaman ini dan coba lagi.", "This response could not be marked as endorsed. Refresh the page and try again.": "Respon ini tidak dapat ditandai sebagai endorsed. Refresh halaman ini dan coba lagi.", - "This response could not be saved.": "Respon ini tidak dapat disimpan.", "This response could not be submitted.": "Respon ini tidak dapat dikirimkan.", "This response could not be unendorsed. Refresh the page and try again.": "Respon ini tidak dapat dibatalkan untuk endorsed. Refresh halaman ini dan coba lagi.", "This response could not be unmarked as an answer. Refresh the page and try again.": "Respon ini tidak dapat dibatalkan sebagai jawaban. Refresh halaman ini dan coba lagi.", - "This response has been saved but not submitted.": "Respon ini akan disimpan namun tidak dikirimkan.", - "This response has not been saved.": "Respon belum disimpan.", "This role requires a divided discussions scheme.": "Peran ini memerlukan skema diskusi terbagi", "This section could not be loaded.": "Bagian ini tidak dapat dimuat.", "This short name for the assignment type (for example, HW or Midterm) appears next to assignments on a learner's Progress page.": "Nama singkat ini adalah untuk jenis tugas (misalnya, PS atau Pertengahan Semester) muncul di sebelah tugas pada halaman Kemajuan pelajar.", diff --git a/cms/static/js/i18n/it-it/djangojs.js b/cms/static/js/i18n/it-it/djangojs.js index 53caf7abe81e..f5380a01817c 100644 --- a/cms/static/js/i18n/it-it/djangojs.js +++ b/cms/static/js/i18n/it-it/djangojs.js @@ -1617,7 +1617,6 @@ "Saved cohort": "Cohort registrate", "Saving": "Salvataggio in corso", "Saving your email preference": "Salva la tua email preferita", - "Saving...": "Salvataggio in corso...", "Scheduled:": "Pianificato:", "Scope": "Ambito", "Search": "Ricerca", @@ -1771,7 +1770,6 @@ "Starts: %(start_date)s": "Inizia: %(start_date)s", "State": "Stato", "Status": "Staus", - "Status of Your Response": "Stato della Tua Risposta", "Strikethrough": "Barrato", "Student": "Studente", "Student Removed from certificate allowlist successfully.": "Studente rimosso con successo dalla lista dei contatti autorizzati ai certificati.", @@ -1805,8 +1803,6 @@ "Successfully rescored problem for user {user}": "Ricalcolo del punteggio del problema per l'utente {user} avvenuto con successo ", "Successfully rescored problem to improve score for user {user}": "Ricalcolo del punteggio del problema per migliorare il punteggio per l'utente {user} eseguito correttamente ", "Successfully reset the attempts for user {user}": "Resetta con successo i tentativi per l'utente {user}", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "Email di iscrizione inviate con successo ai seguenti utenti. Gli utenti potranno iscriversi dopo essersi registrati:", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "Email di iscrizione inviate con successo ai seguenti utenti. Gli utenti saranno iscritti dopo essersi registrati:", "Successfully started task to rescore problem '<%- problem_id %>' for all students. Click the 'Show Task Status' button to see the status of the task.": "Correttamente avviata attivit\u00e0 di ricalcolo del punteggio del problema '<%- problem_id %>' per tutti gli studenti. Fai clic sul pulsante 'Mostra stato attivit\u00e0' per visualizzare lo stato dell'attivit\u00e0. ", "Successfully started task to reset attempts for problem '<%- problem_id %>'. Click the 'Show Task Status' button to see the status of the task.": "Attivit\u00e0 per il ripristino dei tentativi per il problema '<%- problem_id %>' avviata correttamente. Fai clic sul pulsante 'Mostra stato attivit\u00e0' per visualizzare lo stato dell'attivit\u00e0. ", "Successfully unlinked.": "Scollegato con successo.", @@ -2020,12 +2016,9 @@ "This proctored exam has been released to learners. You may not convert it to another type of special exam. You may revert this subsection back to being a basic exam by selecting 'None', or a timed exam, but you will NOT be able to configure it as a proctored exam in the future.": "Questo esame controllato \u00e8 stato rilasciato agli studenti. Non puoi convertirlo in un altro tipo di esame speciale. Puoi ripristinare questa sottosezione come esame di base selezionando "Nessuno" o un esame a tempo, ma NON potrai configurarlo come esame supervisionato in futuro.", "This response could not be marked as an answer. Refresh the page and try again.": "Questa risposta non pu\u00f2 essere contrassegnata come risposta. Aggiorna la pagina e riprova. ", "This response could not be marked as endorsed. Refresh the page and try again.": "Questa risposta non pu\u00f2 essere contrassegnata come approvata. Aggiorna la pagina e riprova. ", - "This response could not be saved.": "Impossibile salvare la risposta.", "This response could not be submitted.": "Impossibile inoltrare la risposta.", "This response could not be unendorsed. Refresh the page and try again.": "Questa risposta non pu\u00f2 essere annullata. Aggiorna la pagina e riprova. ", "This response could not be unmarked as an answer. Refresh the page and try again.": "Questa risposta non pu\u00f2 essere deselezionata come risposta. Aggiorna la pagina e riprova. ", - "This response has been saved but not submitted.": "Questa risposta \u00e8 stata salvata, ma non \u00e8 stata inoltrata.", - "This response has not been saved.": "Questa risposta non \u00e8 stata salvata.", "This role requires a divided discussions scheme.": "Questo ruolo richiede uno schema di discussione suddivisa.", "This section could not be loaded.": "Impossibile caricare questa sezione.", "This short name for the assignment type (for example, HW or Midterm) appears next to assignments on a learner's Progress page.": "Questo nome breve per il tipo di compito (ad esempio, Compiti a casa o Esame intermedio) viene visualizzato accanto ai compiti nella pagina Progressi dello studente. ", diff --git a/cms/static/js/i18n/ja-jp/djangojs.js b/cms/static/js/i18n/ja-jp/djangojs.js index 901215b8cc9a..73e372909e87 100644 --- a/cms/static/js/i18n/ja-jp/djangojs.js +++ b/cms/static/js/i18n/ja-jp/djangojs.js @@ -894,7 +894,6 @@ "Saved cohort": "\u4fdd\u5b58\u3055\u308c\u305f\u30b3\u30db\u30fc\u30c8", "Saving": "\u4fdd\u5b58\u4e2d", "Saving your email preference": "\u30e1\u30fc\u30eb\u306e\u74b0\u5883\u8a2d\u5b9a\u3092\u4fdd\u5b58\u4e2d", - "Saving...": "\u4fdd\u5b58\u4e2d...", "Scheduled:": "\u4e88\u5b9a\u6e08: ", "Search": "\u691c\u7d22", "Search Results": "\u691c\u7d22\u7d50\u679c", @@ -980,7 +979,6 @@ "Starts: %(start_date)s": "\u958b\u59cb: %(start_date)s", "State": "\u72b6\u6cc1", "Status": "\u30b9\u30c6\u30fc\u30bf\u30b9", - "Status of Your Response": "\u3042\u306a\u305f\u306e\u8fd4\u4fe1\u306e\u30b9\u30c6\u30fc\u30bf\u30b9", "Student": "\u53d7\u8b1b\u8005", "Student email or username": "\u53d7\u8b1b\u8005\u306e\u30e1\u30fc\u30eb\u307e\u305f\u306f\u30e6\u30fc\u30b6\u30fc\u540d", "Student username/email field is required and can not be empty. Kindly fill in username/email and then press \"Add to Exception List\" button.": "\u53d7\u8b1b\u8005\u306e\u30e6\u30fc\u30b6\u30fc\u540d/\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u6b04\u306f\u5fc5\u9808\u3067\u3059\u3002\u304a\u624b\u6570\u3067\u3059\u304c\u30e6\u30fc\u30b6\u30fc\u540d/\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u5165\u529b\u3057\u3001\"\u4f8b\u5916\u4e00\u89a7\u3078\u8ffd\u52a0\" \u30dc\u30bf\u30f3\u3092\u62bc\u3057\u3066\u304f\u3060\u3055\u3044\u3002", @@ -1005,8 +1003,6 @@ "Successfully rescored problem for user {user}": "\u30e6\u30fc\u30b6\u30fc {user} \u306f\u554f\u984c\u306a\u304f\u518d\u63a1\u70b9\u6e08", "Successfully rescored problem to improve score for user {user}": "\u30e6\u30fc\u30b6\u30fc {user} \u306f\u554f\u984c\u306a\u304f\u518d\u63a1\u70b9\u6e08", "Successfully reset the attempts for user {user}": "\u30e6\u30fc\u30b6\u30fc {user} \u306e\u89e3\u7b54\u3092\u554f\u984c\u306a\u304f\u30ea\u30bb\u30c3\u30c8\u6e08", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "\u6b21\u306e\u30e6\u30fc\u30b6\u30fc\u306b\u53d7\u8b1b\u767b\u9332\u30e1\u30fc\u30eb\u304c\u6b63\u5e38\u306b\u9001\u4fe1\u3055\u308c\u307e\u3057\u305f\u3002\u767b\u9332\u5b8c\u4e86\u5f8c\u306b\u53d7\u8b1b\u767b\u9332\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059: ", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "\u6b21\u306e\u30e6\u30fc\u30b6\u30fc\u306b\u53d7\u8b1b\u767b\u9332\u30e1\u30fc\u30eb\u304c\u6b63\u5e38\u306b\u9001\u4fe1\u3055\u308c\u307e\u3057\u305f\u3002\u767b\u9332\u5b8c\u4e86\u5f8c\u306b\u53d7\u8b1b\u767b\u9332\u3055\u308c\u307e\u3059: ", "Successfully started task to rescore problem '<%- problem_id %>' for all students. Click the 'Show Task Status' button to see the status of the task.": "\u5168\u53d7\u8b1b\u8005\u306e\u554f\u984c '<%- problem_id %>' \u306e\u518d\u63a1\u70b9\u4f5c\u696d\u3092\u554f\u984c\u306a\u304f\u958b\u59cb\u3057\u307e\u3057\u305f\u3002 \u4f5c\u696d\u72b6\u6cc1\u3092\u898b\u308b\u306b\u306f '\u4f5c\u696d\u72b6\u6cc1\u3092\u898b\u308b' \u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002", "Successfully started task to reset attempts for problem '<%- problem_id %>'. Click the 'Show Task Status' button to see the status of the task.": "\u554f\u984c '<%- problem_id %>' \u306e\u89e3\u7b54\u306e\u30ea\u30bb\u30c3\u30c8\u4f5c\u696d\u3092\u554f\u984c\u306a\u304f\u958b\u59cb\u3057\u307e\u3057\u305f\u3002\u4f5c\u696d\u72b6\u6cc1\u3092\u898b\u308b\u306b\u306f '\u4f5c\u696d\u72b6\u6cc1\u3092\u898b\u308b' \u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002", "Successfully unlinked.": "\u30ea\u30f3\u30af\u89e3\u9664\u5b8c\u4e86\u3002", @@ -1151,12 +1147,9 @@ "This problem could not be saved.": "\u3053\u306e\u554f\u984c\u306f\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002", "This response could not be marked as an answer. Refresh the page and try again.": "\u3053\u306e\u8fd4\u4fe1\u306f\u89e3\u7b54\u3068\u3057\u3066\u30de\u30fc\u30af\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u753b\u9762\u3092\u518d\u8aad\u8fbc\u3057\u3066\u518d\u5ea6\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002", "This response could not be marked as endorsed. Refresh the page and try again.": "\u3053\u306e\u8fd4\u4fe1\u306b\u3044\u3044\u306d\uff01\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u753b\u9762\u3092\u518d\u8aad\u8fbc\u3057\u3066\u518d\u5ea6\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002", - "This response could not be saved.": "\u3053\u306e\u8fd4\u4fe1\u306f\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002", "This response could not be submitted.": "\u3053\u306e\u8fd4\u4fe1\u306f\u63d0\u51fa\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002", "This response could not be unendorsed. Refresh the page and try again.": "\u3053\u306e\u8fd4\u4fe1\u306e\u3044\u3044\u306d\uff01\u304c\u89e3\u9664\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u753b\u9762\u3092\u518d\u8aad\u8fbc\u3057\u3066\u518d\u5ea6\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002", "This response could not be unmarked as an answer. Refresh the page and try again.": "\u3053\u306e\u8fd4\u4fe1\u306f\u89e3\u7b54\u306e\u30de\u30fc\u30af\u3092\u5916\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u753b\u9762\u3092\u518d\u8aad\u8fbc\u3057\u3066\u518d\u5ea6\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002", - "This response has been saved but not submitted.": "\u3053\u306e\u8fd4\u4fe1\u306f\u4fdd\u5b58\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u63d0\u51fa\u306f\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002", - "This response has not been saved.": "\u3053\u306e\u8fd4\u4fe1\u306f\u4fdd\u5b58\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002", "This role requires a divided discussions scheme.": "\u3053\u306e\u6a29\u9650\u306b\u306f\u5206\u5272\u3055\u308c\u305f\u30c7\u30a3\u30b9\u30ab\u30c3\u30b7\u30e7\u30f3\u30b9\u30ad\u30fc\u30e0\u304c\u5fc5\u8981\u3067\u3059\u3002", "This section could not be loaded.": "\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u306f\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002", "This short name for the assignment type (for example, HW or Midterm) appears next to assignments on a learner's Progress page.": "\u8ab2\u984c\u30bf\u30a4\u30d7\u306e\u7565\u79f0 (\u4f8b\u3048\u3070\u3001HW\u307e\u305f\u306fMidterm)\u306f\u53d7\u8b1b\u8005\u306e\u9032\u6357\u30da\u30fc\u30b8\u306e\u8ab2\u984c\u306e\u6a2a\u306b\u8868\u793a\u3055\u308c\u307e\u3059\u3002", diff --git a/cms/static/js/i18n/lt-lt/djangojs.js b/cms/static/js/i18n/lt-lt/djangojs.js index 5fbbeee1e6cd..ef96c744aa0d 100644 --- a/cms/static/js/i18n/lt-lt/djangojs.js +++ b/cms/static/js/i18n/lt-lt/djangojs.js @@ -423,7 +423,6 @@ "Saved cohort": "Kohorta i\u0161saugota", "Saving": "\u012era\u0161oma", "Saving your email preference": "\u012era\u0161oma j\u016bs\u0173 el. pa\u0161to parinktis", - "Saving...": "\u012era\u0161oma...", "Search": "Paie\u0161ka", "Search Results": "Paie\u0161kos rezultatai", "Search teams": "Ie\u0161koti komand\u0173", @@ -459,7 +458,6 @@ "Starts: %(start_date)s": "Prasideda: %(start_date)s", "State": "B\u016bsena", "Status": "B\u016bsena", - "Status of Your Response": "J\u016bs\u0173 pateikto darbo b\u016bsena", "Subject": "Tema", "Subject:": "Tema:", "Submit": "Pateikti", @@ -471,8 +469,6 @@ "Successfully enrolled the following users:": "S\u0117kmingai \u012ftraukti \u012f s\u0105ra\u0161\u0105 \u0161ie naudotojai:", "Successfully rescored problem for user {user}": "S\u0117kmingai perskai\u010diuotas naudotojo {user} u\u017edavinio \u012fvertinimas.", "Successfully reset the attempts for user {user}": "S\u0117kmingai nustatyta, kad naudotojas {user} gal\u0117t\u0173 bandyti i\u0161 naujo. ", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "S\u0117kmingai i\u0161si\u0173sti registracijos el. lai\u0161kai \u0161iems naudotojams. Juos bus leista \u012ftraukti \u012f s\u0105ra\u0161\u0105, kai tik jie u\u017esiregistruos:", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "S\u0117kmingai i\u0161si\u0173sti registracijos el. lai\u0161kai \u0161iems naudotojams. Jie bus \u012ftraukti \u012f s\u0105ra\u0161\u0105, kai tik u\u017esiregistruos:", "Successfully unlinked.": "S\u0117kmingai atjungta.", "Tags": "\u017dymos", "Tags:": "\u017dymos:", @@ -546,10 +542,7 @@ "This is the list of available %s. You may choose some by selecting them in the box below and then clicking the \"Choose\" arrow between the two boxes.": "Tai yra s\u0105ra\u0161as prieinam\u0173 %s. D\u0117\u017eut\u0117je \u017eemiau pa\u017eym\u0117dami kelet\u0105 i\u0161 j\u0173 ir paspausdami \u201ePasirinkti\u201c rodykl\u0119 tarp dviej\u0173 d\u0117\u017eu\u010di\u0173 j\u016bs galite pasirinkti kelet\u0105 i\u0161 j\u0173.", "This is the list of chosen %s. You may remove some by selecting them in the box below and then clicking the \"Remove\" arrow between the two boxes.": "Tai yra s\u0105ra\u0161as pasirinkt\u0173 %s. D\u0117\u017eut\u0117je \u017eemiau pa\u017eym\u0117dami kelet\u0105 i\u0161 j\u0173 ir paspausdami \u201ePa\u0161alinti\u201c rodykl\u0119 tarp dviej\u0173 d\u0117\u017eu\u010di\u0173 j\u016bs galite pa\u0161alinti kelet\u0105 i\u0161 j\u0173.", "This problem could not be saved.": " Nepavyko \u012fra\u0161yti \u0161ios u\u017eduoties.", - "This response could not be saved.": "Darbo \u012fra\u0161yti nepavyko.", "This response could not be submitted.": "Darbo pateikti nepavyko.", - "This response has been saved but not submitted.": "J\u016bs\u0173 darbas i\u0161saugotas, bet nepateiktas.", - "This response has not been saved.": "J\u016bs\u0173 darbas nei\u0161saugotas.", "This section could not be loaded.": "Nepavyko \u012fkelti \u0161ios temos.", "This team does not have any members.": "\u0160ioje komandoje n\u0117ra nari\u0173.", "This team is full.": "\u0160i komanda pilna.", diff --git a/cms/static/js/i18n/nb/djangojs.js b/cms/static/js/i18n/nb/djangojs.js index afa975224519..2439818171e2 100644 --- a/cms/static/js/i18n/nb/djangojs.js +++ b/cms/static/js/i18n/nb/djangojs.js @@ -121,7 +121,6 @@ "Rejected": "Avvist", "Remove": "Slett", "Remove all": "Fjern alle", - "Saving...": "Lagrer...", "Second Review Required": "Ytterligere gjennomgang n\u00f8dvendig", "Self": "Selv", "September": "September", @@ -130,7 +129,6 @@ "Staff": "Personell", "Start System Check": "Start systemsjekk", "Started": "Startet", - "Status of Your Response": "Status p\u00e5 ditt svar", "Submitted": "Levert", "Taking As Open Exam": "Tas som \u00e5pen eksamen", "Taking As Proctored Exam": "Gjennomf\u00f8rer som overv\u00e5ket eksamen", @@ -145,10 +143,7 @@ "This is the list of available %s. You may choose some by selecting them in the box below and then clicking the \"Choose\" arrow between the two boxes.": "Dette er listen over tilgjengelige %s. Du kan velge noen ved \u00e5 markere de i boksen under og s\u00e5 klikke p\u00e5 \"Velg\"-pilen mellom de to boksene.", "This is the list of chosen %s. You may remove some by selecting them in the box below and then clicking the \"Remove\" arrow between the two boxes.": "Dette er listen over valgte %s. Du kan fjerne noen ved \u00e5 markere de i boksen under og s\u00e5 klikke p\u00e5 \"Fjern\"-pilen mellom de to boksene.", "This problem could not be saved.": "Dette problemet kunne ikke lagres.", - "This response could not be saved.": "Dette svaret kunne ikke bli lagret.", "This response could not be submitted.": "Dette svaret kunne ikke leveres.", - "This response has been saved but not submitted.": "Svaret har blitt lagret men er ikke innlevert.", - "This response has not been saved.": "Dette svaret har ikke blitt lagret.", "This section could not be loaded.": "Denne delen kunne ikke lastes inn.", "Thumbnail view of ": "Miniatyrbilde av", "Timed Exam": "Eksamen med tidsfrist", diff --git a/cms/static/js/i18n/pl/djangojs.js b/cms/static/js/i18n/pl/djangojs.js index 1891e1363af5..d04a40740d00 100644 --- a/cms/static/js/i18n/pl/djangojs.js +++ b/cms/static/js/i18n/pl/djangojs.js @@ -1011,7 +1011,6 @@ "Saved cohort": "Zapisana kohorta", "Saving": "Zapisywanie", "Saving your email preference": "Zapisywanie twoich preferencji wiadomo\u015bci e-mail", - "Saving...": "Zapisywanie...", "Scheduled:": "Zaplanowany:", "Search": "Szukaj", "Search Results": "Wyniki wyszukiwania", @@ -1116,7 +1115,6 @@ "Starts: %(start_date)s": "Rozpocznie si\u0119: %(start_date)s", "State": "Stan", "Status": "Status", - "Status of Your Response": "Status twojej odpowiedzi", "Student": "Student", "Student email or username": "Nazwa u\u017cytkownika lub adres e-mail studenta", "Student username/email field is required and can not be empty. Kindly fill in username/email and then press \"Add to Exception List\" button.": "Pole nazwa u\u017cytkownika/adres e-mail studenta jest wymagane i nie mo\u017ce pozosta\u0107 puste. Uzupe\u0142nij brakuj\u0105ce informacje, a nast\u0119pnie kliknij \"Dodaj do listy wyj\u0105tk\u00f3w\".", @@ -1141,8 +1139,6 @@ "Successfully rescored problem for user {user}": "Pomy\u015blnie ponownie oceniono \u0107wiczenie dla studenta {user}", "Successfully rescored problem to improve score for user {user}": "Pomy\u015blnie ponowiono ocen\u0119 \u0107wiczenia w celu polepszenia oceny studenta {user}", "Successfully reset the attempts for user {user}": "Pomy\u015blnie zresetowano podej\u015bcia dla studenta {user}", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "Z powodzeniem wys\u0142ano e-maile rekrutacyjne do nast\u0119puj\u0105cych u\u017cytkownik\u00f3w. B\u0119d\u0105 mogli si\u0119 zapisa\u0107 po dokonaniu rejestracji:", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "Z powodzeniem wys\u0142ano e-maile rekrutacyjne do nast\u0119puj\u0105cych u\u017cytkownik\u00f3w. Zostan\u0105 zapisani po dokonaniu rejestracji:", "Successfully started task to rescore problem '<%- problem_id %>' for all students. Click the 'Show Task Status' button to see the status of the task.": "Z powodzeniem rozpocz\u0119to czynno\u015b\u0107 ponownej oceny \u0107wiczenia '<%- problem_id %>' dla wszystkich student\u00f3w. Kliknij przycisk 'Poka\u017c status czynno\u015bci', aby sprawdzi\u0107 przebieg czynno\u015bci.", "Successfully started task to reset attempts for problem '<%- problem_id %>'. Click the 'Show Task Status' button to see the status of the task.": "Skutecznie rozpocz\u0119to czynno\u015b\u0107 resetowania podej\u015b\u0107 do \u0107wiczenia '<%- problem_id %>'. Kliknij przycisk 'Poka\u017c status czynno\u015bci', aby sprawdzi\u0107 przebieg czynno\u015bci.", "Successfully unlinked.": "Roz\u0142\u0105czone pomy\u015blnie.", @@ -1300,12 +1296,9 @@ "This problem could not be saved.": "Nie uda\u0142o si\u0119 zapisa\u0107 \u0107wiczenia.", "This response could not be marked as an answer. Refresh the page and try again.": "Nie uda\u0142o si\u0119 oznaczy\u0107 tej odpowiedzi jako udzielonej odpowiedzi. Od\u015bwie\u017c stron\u0119 i spr\u00f3buj ponownie.", "This response could not be marked as endorsed. Refresh the page and try again.": "Nie uda\u0142o si\u0119 oznaczy\u0107 tej odpowiedzi jako zatwierdzonej. Od\u015bwie\u017c stron\u0119 i spr\u00f3buj ponownie.", - "This response could not be saved.": "Nie uda\u0142o si\u0119 zapisa\u0107 tej odpowiedzi.", "This response could not be submitted.": "Nie uda\u0142o si\u0119 wys\u0142a\u0107 tej odpowiedzi.", "This response could not be unendorsed. Refresh the page and try again.": "Nie uda\u0142o si\u0119 odznaczy\u0107 tej odpowiedzi z bycia zatwierdzon\u0105 odpowiedzi\u0105. Od\u015bwie\u017c stron\u0119 i spr\u00f3buj ponownie.", "This response could not be unmarked as an answer. Refresh the page and try again.": "Nie uda\u0142o si\u0119 odznaczy\u0107 tej odpowiedzi z bycia udzielon\u0105 odpowiedzi\u0105. Od\u015bwie\u017c stron\u0119 i spr\u00f3buj ponownie.", - "This response has been saved but not submitted.": "Ta odpowied\u017a zosta\u0142a zapisania, lecz nie zosta\u0142a wys\u0142ana.", - "This response has not been saved.": "Ta odpowied\u017a nie zosta\u0142a zapisana.", "This role requires a divided discussions scheme.": "Ta rola wymaga schematu podzielonych dyskusji.", "This section could not be loaded.": "Nie uda\u0142o si\u0119 wczyta\u0107 tej sekcji.", "This short name for the assignment type (for example, HW or Midterm) appears next to assignments on a learner's Progress page.": "Skr\u00f3cona nazwa typu zadania (np. PD lub \u015ar\u00f3d-s), kt\u00f3ra wy\u015bwietla si\u0119 obok zadania w dzienniku post\u0119p\u00f3w studenta.", diff --git a/cms/static/js/i18n/pt-br/djangojs.js b/cms/static/js/i18n/pt-br/djangojs.js index e6f272c2e10e..821d36a522cc 100644 --- a/cms/static/js/i18n/pt-br/djangojs.js +++ b/cms/static/js/i18n/pt-br/djangojs.js @@ -644,7 +644,6 @@ "Saved cohort": "Integrantes salvos", "Saving": "Salvando", "Saving your email preference": "Salvando o email de sua prefer\u00eancia", - "Saving...": "Salvando...", "Scheduled:": "Agendado:", "Search": "Busca", "Search Results": "Resultados da pesquisa", @@ -694,7 +693,6 @@ "Starts: %(start_date)s": "In\u00edcio: %(start_date)s", "State": "Status", "Status": "Status", - "Status of Your Response": "Situa\u00e7\u00e3o da Sua Resposta", "Student": "Aluno", "Studio:": "Studio:", "Subject": "Assunto", @@ -710,8 +708,6 @@ "Successfully enrolled the following users:": "Os seguintes usu\u00e1rios foram inscritos com sucesso:", "Successfully rescored problem for user {user}": "Problema de usu\u00e1rio {user} reavaliado corretamente", "Successfully reset the attempts for user {user}": "Tentativas para usu\u00e1rios {user} zeradas corretamente", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "O e-mail de inscri\u00e7\u00e3o foi enviado corretamente para os seguintes usu\u00e1rios, que poder\u00e3o se inscrever ap\u00f3s realizar o cadastro:", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "O e-mail de inscri\u00e7\u00e3o foi enviado corretamente aos seguintes usu\u00e1rios, que poder\u00e3o se inscrever ap\u00f3s a realiza\u00e7\u00e3o do cadastro:", "Successfully started task to reset attempts for problem '<%- problem_id %>'. Click the 'Show Task Status' button to see the status of the task.": "A tarefa para repor as tentativas para o problema '<%- problem_id %>' foi iniciada com sucesso. Clique o bot\u00e3o 'Mostrar o Status da Tarefa' para ver o status dessa tarefa.", "Successfully unlinked.": "Desvinculado com sucesso.", "Tags": "Marca\u00e7\u00f5es", @@ -806,10 +802,7 @@ "This is the list of chosen %s. You may remove some by selecting them in the box below and then clicking the \"Remove\" arrow between the two boxes.": "Esta \u00e9 a lista de %s dispon\u00edveis. Voc\u00ea pode remov\u00ea-los(as) selecionando-os(as) abaixo e clicando na seta \"Remover\" entre as duas caixas.", "This is the name of the group": "Esse \u00e9 o nome do grupo", "This problem could not be saved.": "Este problema n\u00e3o p\u00f4de ser salvo.", - "This response could not be saved.": "Esta resposta n\u00e3o p\u00f4de ser salva.", "This response could not be submitted.": "Esta resposta n\u00e3o p\u00f4de ser enviada", - "This response has been saved but not submitted.": "Esta resposta foi salva mas n\u00e3o foi enviada.", - "This response has not been saved.": "Esta resposta n\u00e3o foi salva.", "This section could not be loaded.": "Esta se\u00e7\u00e3o n\u00e3o p\u00f4de ser carregada.", "This team does not have any members.": "Esta equipe n\u00e3o possui nenhum membro.", "This team is full.": "Esta equipe est\u00e1 completa.", diff --git a/cms/static/js/i18n/pt-pt/djangojs.js b/cms/static/js/i18n/pt-pt/djangojs.js index 6f0f357e04d4..53824407cca6 100644 --- a/cms/static/js/i18n/pt-pt/djangojs.js +++ b/cms/static/js/i18n/pt-pt/djangojs.js @@ -1622,7 +1622,6 @@ "Saved cohort": "Grupo guardado", "Saving": "A guardar", "Saving your email preference": "A guardar a sua prefer\u00eancia de email", - "Saving...": "A guardar...", "Scheduled:": "Agendado/a:", "Scope": "\u00c2mbito", "Search": "Procurar", @@ -1776,7 +1775,6 @@ "Starts: %(start_date)s": "In\u00edcio: %(start_date)s", "State": "Estado", "Status": "Estado", - "Status of Your Response": "Estado da sua Resposta", "Strikethrough": "Rasurado", "Student": "Estudante", "Student Removed from certificate allowlist successfully.": "Estudante removido com sucesso da lista com permiss\u00e3o para obter certificados.", @@ -1810,8 +1808,6 @@ "Successfully rescored problem for user {user}": "Reavaliado com sucesso o problema do utilizador {user}", "Successfully rescored problem to improve score for user {user}": "Reavaliado problema com sucesso para melhorar a pontua\u00e7\u00e3o do utilizador {user}", "Successfully reset the attempts for user {user}": "Reiniciadas tentativas com sucesso para o utilizador {user}", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "Enviou corretamente emails de inscri\u00e7\u00e3o para os seguintes utilizadores. Eles ter\u00e3o permiss\u00e3o para se inscreverem depois de se registarem:", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "Enviou corretamente emails de inscri\u00e7\u00e3o para os seguintes utilizadores. Ser\u00e3o inscritos logo que se registem:", "Successfully started task to rescore problem '<%- problem_id %>' for all students. Click the 'Show Task Status' button to see the status of the task.": "Reiniciada com sucesso a tarefa de reavalia\u00e7\u00e3o do problema '<%- problem_id %>' para todos os estudantes. Clique em 'Mostrar estado da tarefa' para ver o estado da tarefa.", "Successfully started task to reset attempts for problem '<%- problem_id %>'. Click the 'Show Task Status' button to see the status of the task.": "Iniciada tarefa de tentativa de rein\u00edcio com sucesso para o problema '<%- problem_id %>'. Clique em 'Mostrar estado da tarefa' para ver o estado da tarefa.", "Successfully unlinked.": "Desvinculado com sucesso.", @@ -2025,12 +2021,9 @@ "This proctored exam has been released to learners. You may not convert it to another type of special exam. You may revert this subsection back to being a basic exam by selecting 'None', or a timed exam, but you will NOT be able to configure it as a proctored exam in the future.": "Este exame supervisionado foi divulgado aos alunos. N\u00e3o pode convert\u00ea-lo para outro tipo de exame especial. Pode voltar a ser um exame b\u00e1sico seleccionando \"None\", ou um exame cronometrado, mas N\u00c3O poder\u00e1 configur\u00e1-lo como um exame supervisionado no futuro.", "This response could not be marked as an answer. Refresh the page and try again.": "N\u00e3o foi poss\u00edvel considerar esta resposta. Atualize a p\u00e1gina e tente de novo.", "This response could not be marked as endorsed. Refresh the page and try again.": "N\u00e3o foi poss\u00edvel aprovar esta resposta. Atualize a p\u00e1gina e tente de novo.", - "This response could not be saved.": "N\u00e3o foi poss\u00edvel guardar esta resposta.", "This response could not be submitted.": "N\u00e3o foi poss\u00edvel submeter esta resposta.", "This response could not be unendorsed. Refresh the page and try again.": "N\u00e3o foi poss\u00edvel rejeitar esta resposta. Atualize a p\u00e1gina e tente de novo.", "This response could not be unmarked as an answer. Refresh the page and try again.": "N\u00e3o foi poss\u00edvel descartar esta resposta. Atualize a p\u00e1gina e tente de novo.", - "This response has been saved but not submitted.": "Esta resposta foi guardada mas n\u00e3o foi submetida.", - "This response has not been saved.": "Esta resposta n\u00e3o foi guardada.", "This role requires a divided discussions scheme.": "Esta fun\u00e7\u00e3o requer um esquema de debates dividido.", "This section could not be loaded.": "N\u00e3o foi poss\u00edvel carregar esta sec\u00e7\u00e3o.", "This short name for the assignment type (for example, HW or Midterm) appears next to assignments on a learner's Progress page.": "Este nome abreviado para o tipo de tarefa (por exemplo, TC ou Intercalar) surge ao lado de tarefas na p\u00e1gina progresso do estudante.", diff --git a/cms/static/js/i18n/ro/djangojs.js b/cms/static/js/i18n/ro/djangojs.js index 49394378751a..35540ea9e960 100644 --- a/cms/static/js/i18n/ro/djangojs.js +++ b/cms/static/js/i18n/ro/djangojs.js @@ -80,11 +80,9 @@ "Rejected": "Respins", "Remove": "Elimin\u0103", "Remove all": "Elimin\u0103 toate", - "Saving...": "Se salveaz\u0103...", "September": "Septembrie", "Server error.": "Eroare de server.", "Show": "Arat\u0103", - "Status of Your Response": "Statusul r\u0103spunsului t\u0103u", "Submitted": "Trimis\u0103 la", "The server could not be contacted.": "Serverul nu a putut fi contactat.", "The staff assessment form could not be loaded.": "Formularul de evaluare a personalului nu a putut fi \u00eenc\u0103rcat.", @@ -93,10 +91,7 @@ "This is the list of available %s. You may choose some by selecting them in the box below and then clicking the \"Choose\" arrow between the two boxes.": "Aceasta este o list\u0103 cu %s disponibile. Le pute\u021bi alege select\u00e2nd mai multe in chenarul de mai jos \u0219i ap\u0103s\u00e2nd pe s\u0103geata \"Alege\" dintre cele dou\u0103 chenare.", "This is the list of chosen %s. You may remove some by selecting them in the box below and then clicking the \"Remove\" arrow between the two boxes.": "Aceasta este lista de %s alese. Pute\u021bi elimina din ele select\u00e2ndu-le in chenarul de mai jos \u0219i apasand pe s\u0103geata \"Elimin\u0103\" dintre cele dou\u0103 chenare.", "This problem could not be saved.": "Aceast\u0103 problem\u0103 nu a putut fi salvat\u0103.", - "This response could not be saved.": "Acest r\u0103spuns nu a putut fi salvat.", "This response could not be submitted.": "Acest r\u0103spuns nu a putut fi trimis.", - "This response has been saved but not submitted.": "Acest r\u0103spuns a fost salvat, dar nu \u0219i trimis.", - "This response has not been saved.": "Acest r\u0103spuns nu a fost salvat.", "This section could not be loaded.": "Aceast\u0103 sec\u0163iune nu a putut fi \u00eenc\u0103rcat\u0103.", "Today": "Ast\u0103zi", "Tomorrow": "M\u00e2ine", diff --git a/cms/static/js/i18n/rtl/djangojs.js b/cms/static/js/i18n/rtl/djangojs.js index 693af2e32487..daf37440a2ed 100644 --- a/cms/static/js/i18n/rtl/djangojs.js +++ b/cms/static/js/i18n/rtl/djangojs.js @@ -446,7 +446,9 @@ "Copy": "\u023b\u00f8d\u028e", "Copy Component Location": "\u023b\u00f8d\u028e \u023b\u00f8\u026fd\u00f8n\u01ddn\u0287 \u0141\u00f8\u0254\u0250\u0287\u1d09\u00f8n", "Copy Email To Editor": "\u023b\u00f8d\u028e \u0246\u026f\u0250\u1d09l \u0166\u00f8 \u0246d\u1d09\u0287\u00f8\u0279", + "Copy of '{componentDisplayName}'": "\u023b\u00f8d\u028e \u00f8\u025f '{componentDisplayName}'", "Copy row": "\u023b\u00f8d\u028e \u0279\u00f8\u028d", + "Copy to Clipboard": "\u023b\u00f8d\u028e \u0287\u00f8 \u023bl\u1d09db\u00f8\u0250\u0279d", "Copying": "\u023b\u00f8d\u028e\u1d09n\u0183", "Correct failed component": "\u023b\u00f8\u0279\u0279\u01dd\u0254\u0287 \u025f\u0250\u1d09l\u01ddd \u0254\u00f8\u026fd\u00f8n\u01ddn\u0287", "Cost": "\u023b\u00f8s\u0287", @@ -779,6 +781,7 @@ "Formats": "F\u00f8\u0279\u026f\u0250\u0287s", "Free text notes": "F\u0279\u01dd\u01dd \u0287\u01ddx\u0287 n\u00f8\u0287\u01dds", "Frequently Asked Questions": "F\u0279\u01ddbn\u01ddn\u0287l\u028e \u023as\u029e\u01ddd Qn\u01dds\u0287\u1d09\u00f8ns", + "From:": "F\u0279\u00f8\u026f:", "Full Name": "Fnll N\u0250\u026f\u01dd", "Full Profile": "Fnll \u2c63\u0279\u00f8\u025f\u1d09l\u01dd", "Fullscreen": "Fnlls\u0254\u0279\u01dd\u01ddn", @@ -1178,6 +1181,7 @@ "Password is incorrect": "\u2c63\u0250ss\u028d\u00f8\u0279d \u1d09s \u1d09n\u0254\u00f8\u0279\u0279\u01dd\u0254\u0287", "Passwords do not match.": "\u2c63\u0250ss\u028d\u00f8\u0279ds d\u00f8 n\u00f8\u0287 \u026f\u0250\u0287\u0254\u0265.", "Paste": "\u2c63\u0250s\u0287\u01dd", + "Paste %(xblock_type)s": "\u2c63\u0250s\u0287\u01dd %(xblock_type)s", "Paste as text": "\u2c63\u0250s\u0287\u01dd \u0250s \u0287\u01ddx\u0287", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u2c63\u0250s\u0287\u01dd \u1d09s n\u00f8\u028d \u1d09n dl\u0250\u1d09n \u0287\u01ddx\u0287 \u026f\u00f8d\u01dd. \u023b\u00f8n\u0287\u01ddn\u0287s \u028d\u1d09ll n\u00f8\u028d b\u01dd d\u0250s\u0287\u01ddd \u0250s dl\u0250\u1d09n \u0287\u01ddx\u0287 nn\u0287\u1d09l \u028e\u00f8n \u0287\u00f8\u0183\u0183l\u01dd \u0287\u0265\u1d09s \u00f8d\u0287\u1d09\u00f8n \u00f8\u025f\u025f.", "Paste row after": "\u2c63\u0250s\u0287\u01dd \u0279\u00f8\u028d \u0250\u025f\u0287\u01dd\u0279", @@ -2043,6 +2047,7 @@ "What if I have difficulty holding my head in position relative to the camera?": "W\u0265\u0250\u0287 \u1d09\u025f \u0197 \u0265\u0250\u028c\u01dd d\u1d09\u025f\u025f\u1d09\u0254nl\u0287\u028e \u0265\u00f8ld\u1d09n\u0183 \u026f\u028e \u0265\u01dd\u0250d \u1d09n d\u00f8s\u1d09\u0287\u1d09\u00f8n \u0279\u01ddl\u0250\u0287\u1d09\u028c\u01dd \u0287\u00f8 \u0287\u0265\u01dd \u0254\u0250\u026f\u01dd\u0279\u0250?", "What was the total combined income, during the last 12 months, of all members of your family? ": "W\u0265\u0250\u0287 \u028d\u0250s \u0287\u0265\u01dd \u0287\u00f8\u0287\u0250l \u0254\u00f8\u026fb\u1d09n\u01ddd \u1d09n\u0254\u00f8\u026f\u01dd, dn\u0279\u1d09n\u0183 \u0287\u0265\u01dd l\u0250s\u0287 12 \u026f\u00f8n\u0287\u0265s, \u00f8\u025f \u0250ll \u026f\u01dd\u026fb\u01dd\u0279s \u00f8\u025f \u028e\u00f8n\u0279 \u025f\u0250\u026f\u1d09l\u028e? ", "What's Your Next Accomplishment?": "W\u0265\u0250\u0287's \u024e\u00f8n\u0279 N\u01ddx\u0287 \u023a\u0254\u0254\u00f8\u026fdl\u1d09s\u0265\u026f\u01ddn\u0287?", + "What's in my clipboard?": "W\u0265\u0250\u0287's \u1d09n \u026f\u028e \u0254l\u1d09db\u00f8\u0250\u0279d?", "When learners submit an answer to an assessment, they immediately see whether the answer is correct or incorrect, and the score received.": "W\u0265\u01ddn l\u01dd\u0250\u0279n\u01dd\u0279s snb\u026f\u1d09\u0287 \u0250n \u0250ns\u028d\u01dd\u0279 \u0287\u00f8 \u0250n \u0250ss\u01ddss\u026f\u01ddn\u0287, \u0287\u0265\u01dd\u028e \u1d09\u026f\u026f\u01ddd\u1d09\u0250\u0287\u01ddl\u028e s\u01dd\u01dd \u028d\u0265\u01dd\u0287\u0265\u01dd\u0279 \u0287\u0265\u01dd \u0250ns\u028d\u01dd\u0279 \u1d09s \u0254\u00f8\u0279\u0279\u01dd\u0254\u0287 \u00f8\u0279 \u1d09n\u0254\u00f8\u0279\u0279\u01dd\u0254\u0287, \u0250nd \u0287\u0265\u01dd s\u0254\u00f8\u0279\u01dd \u0279\u01dd\u0254\u01dd\u1d09\u028c\u01ddd.", "When your face is in position, use the Take Photo button {icon} below to take your photo.": "W\u0265\u01ddn \u028e\u00f8n\u0279 \u025f\u0250\u0254\u01dd \u1d09s \u1d09n d\u00f8s\u1d09\u0287\u1d09\u00f8n, ns\u01dd \u0287\u0265\u01dd \u0166\u0250\u029e\u01dd \u2c63\u0265\u00f8\u0287\u00f8 bn\u0287\u0287\u00f8n {icon} b\u01ddl\u00f8\u028d \u0287\u00f8 \u0287\u0250\u029e\u01dd \u028e\u00f8n\u0279 d\u0265\u00f8\u0287\u00f8.", "Which timed transcript would you like to use?": "W\u0265\u1d09\u0254\u0265 \u0287\u1d09\u026f\u01ddd \u0287\u0279\u0250ns\u0254\u0279\u1d09d\u0287 \u028d\u00f8nld \u028e\u00f8n l\u1d09\u029e\u01dd \u0287\u00f8 ns\u01dd?", @@ -2091,6 +2096,7 @@ "You did not submit the required files: {requiredFiles}.": "\u024e\u00f8n d\u1d09d n\u00f8\u0287 snb\u026f\u1d09\u0287 \u0287\u0265\u01dd \u0279\u01ddbn\u1d09\u0279\u01ddd \u025f\u1d09l\u01dds: {requiredFiles}.", "You don't seem to have Flash installed. Get Flash to continue your verification.": "\u024e\u00f8n d\u00f8n'\u0287 s\u01dd\u01dd\u026f \u0287\u00f8 \u0265\u0250\u028c\u01dd Fl\u0250s\u0265 \u1d09ns\u0287\u0250ll\u01ddd. \u01e4\u01dd\u0287 Fl\u0250s\u0265 \u0287\u00f8 \u0254\u00f8n\u0287\u1d09nn\u01dd \u028e\u00f8n\u0279 \u028c\u01dd\u0279\u1d09\u025f\u1d09\u0254\u0250\u0287\u1d09\u00f8n.", "You don't seem to have a webcam connected.": "\u024e\u00f8n d\u00f8n'\u0287 s\u01dd\u01dd\u026f \u0287\u00f8 \u0265\u0250\u028c\u01dd \u0250 \u028d\u01ddb\u0254\u0250\u026f \u0254\u00f8nn\u01dd\u0254\u0287\u01ddd.", + "You have access to the {enterpriseName} dashboard": "\u024e\u00f8n \u0265\u0250\u028c\u01dd \u0250\u0254\u0254\u01ddss \u0287\u00f8 \u0287\u0265\u01dd {enterpriseName} d\u0250s\u0265b\u00f8\u0250\u0279d", "You have already verified your ID!": "\u024e\u00f8n \u0265\u0250\u028c\u01dd \u0250l\u0279\u01dd\u0250d\u028e \u028c\u01dd\u0279\u1d09\u025f\u1d09\u01ddd \u028e\u00f8n\u0279 \u0197\u0110!", "You have an active subscription to the {programName} program but are not enrolled in any courses. Enroll in a remaining course and enjoy verified access.": "\u024e\u00f8n \u0265\u0250\u028c\u01dd \u0250n \u0250\u0254\u0287\u1d09\u028c\u01dd snbs\u0254\u0279\u1d09d\u0287\u1d09\u00f8n \u0287\u00f8 \u0287\u0265\u01dd {programName} d\u0279\u00f8\u0183\u0279\u0250\u026f bn\u0287 \u0250\u0279\u01dd n\u00f8\u0287 \u01ddn\u0279\u00f8ll\u01ddd \u1d09n \u0250n\u028e \u0254\u00f8n\u0279s\u01dds. \u0246n\u0279\u00f8ll \u1d09n \u0250 \u0279\u01dd\u026f\u0250\u1d09n\u1d09n\u0183 \u0254\u00f8n\u0279s\u01dd \u0250nd \u01ddn\u027e\u00f8\u028e \u028c\u01dd\u0279\u1d09\u025f\u1d09\u01ddd \u0250\u0254\u0254\u01ddss.", "You have been logged out of your account. Click Okay to log in again now. Click Cancel to stay on this page (you must log in again to save your work).": "\u024e\u00f8n \u0265\u0250\u028c\u01dd b\u01dd\u01ddn l\u00f8\u0183\u0183\u01ddd \u00f8n\u0287 \u00f8\u025f \u028e\u00f8n\u0279 \u0250\u0254\u0254\u00f8nn\u0287. \u023bl\u1d09\u0254\u029e \u00d8\u029e\u0250\u028e \u0287\u00f8 l\u00f8\u0183 \u1d09n \u0250\u0183\u0250\u1d09n n\u00f8\u028d. \u023bl\u1d09\u0254\u029e \u023b\u0250n\u0254\u01ddl \u0287\u00f8 s\u0287\u0250\u028e \u00f8n \u0287\u0265\u1d09s d\u0250\u0183\u01dd (\u028e\u00f8n \u026fns\u0287 l\u00f8\u0183 \u1d09n \u0250\u0183\u0250\u1d09n \u0287\u00f8 s\u0250\u028c\u01dd \u028e\u00f8n\u0279 \u028d\u00f8\u0279\u029e).", diff --git a/cms/static/js/i18n/ru/djangojs.js b/cms/static/js/i18n/ru/djangojs.js index 6b7dae440ada..859dd1201f68 100644 --- a/cms/static/js/i18n/ru/djangojs.js +++ b/cms/static/js/i18n/ru/djangojs.js @@ -1209,7 +1209,6 @@ "Saved cohort": "\u0421\u043e\u0445\u0440\u0430\u043d\u0451\u043d\u043d\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430", "Saving": "\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435", "Saving your email preference": "\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0432\u0430\u0448\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b", - "Saving...": "\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435...", "Scheduled:": "\u041f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u0442\u044c:", "Scope": "Scope", "Search": "\u041f\u043e\u0438\u0441\u043a", @@ -1320,7 +1319,6 @@ "Starts: %(start_date)s": "\u041d\u0430\u0447\u0430\u043b\u043e: %(start_date)s", "State": "\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435", "Status": "\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435", - "Status of Your Response": "\u0421\u0442\u0430\u0442\u0443\u0441 \u0432\u0430\u0448\u0435\u0433\u043e \u043e\u0442\u0432\u0435\u0442\u0430", "Strikethrough": "\u0417\u0430\u0447\u0451\u0440\u043a\u043d\u0443\u0442\u044b\u0439", "Student": "\u041e\u0431\u0443\u0447\u0430\u044e\u0449\u0438\u0439\u0441\u044f", "Student email or username": "\u042d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0438\u043b\u0438 \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430", @@ -1348,8 +1346,6 @@ "Successfully rescored problem for user {user}": "\u0414\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f {user} \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0430 \u043e\u0446\u0435\u043d\u043a\u0430 \u0437\u0430\u0434\u0430\u043d\u0438\u044f.", "Successfully rescored problem to improve score for user {user}": "\u041e\u0446\u0435\u043d\u043a\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f {user} \u0437\u0430 \u0437\u0430\u0434\u0430\u0447\u0443 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0430.", "Successfully reset the attempts for user {user}": "\u0423\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u0431\u0440\u043e\u0448\u0435\u043d\u044b \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f: {user}", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "\u042d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c. \u041e\u043d\u0438 \u0441\u043c\u043e\u0433\u0443\u0442 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0437\u0434\u0430\u0434\u0443\u0442 \u0441\u0432\u043e\u0438 \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438:", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "\u042d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c. \u041e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b, \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0437\u0434\u0430\u0434\u0443\u0442 \u0441\u0432\u043e\u0438 \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438.", "Successfully started task to rescore problem '<%- problem_id %>' for all students. Click the 'Show Task Status' button to see the status of the task.": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0435\u0440\u0435\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 '<%- problem_id %>' \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0441\u043b\u0443\u0448\u0430\u0442\u0435\u043b\u0435\u0439 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0437\u0430\u043f\u0443\u0449\u0435\u043d. \u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u00ab\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432\u00bb.", "Successfully started task to reset attempts for problem '<%- problem_id %>'. Click the 'Show Task Status' button to see the status of the task.": "\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u0440\u043e\u0441\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u043e\u043f\u044b\u0442\u043e\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447\u0438 '<%- problem_id %>' \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0437\u0430\u043f\u0443\u0449\u0435\u043d. \u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u00ab\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432\u00bb.", "Successfully unlinked.": "\u0423\u0434\u0430\u043b\u0435\u043d\u043e.", @@ -1504,12 +1500,9 @@ "This problem has been reset.": "\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u0441\u0431\u0440\u043e\u0448\u0435\u043d\u043e.", "This response could not be marked as an answer. Refresh the page and try again.": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043a\u0430\u043a \u043e\u0442\u0432\u0435\u0442. \u041e\u0431\u043d\u043e\u0432\u0438\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443.", "This response could not be marked as endorsed. Refresh the page and try again.": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0434\u043e\u0431\u0440\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442. \u041e\u0431\u043d\u043e\u0432\u0438\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443.", - "This response could not be saved.": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442.", "This response could not be submitted.": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442.", "This response could not be unendorsed. Refresh the page and try again.": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043d\u044f\u0442\u044c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u0441 \u043e\u0442\u0432\u0435\u0442\u0430. \u041e\u0431\u043d\u043e\u0432\u0438\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443.", "This response could not be unmarked as an answer. Refresh the page and try again.": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043d\u044f\u0442\u044c \u043f\u043e\u043c\u0435\u0442\u043a\u0443 \u043e\u0442\u0432\u0435\u0442\u0430 \u0441 \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f. \u041e\u0431\u043d\u043e\u0432\u0438\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443.", - "This response has been saved but not submitted.": "\u041e\u0442\u0432\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d, \u043d\u043e \u0435\u0449\u0451 \u043d\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043d\u0430 \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u043d\u0438\u0435.", - "This response has not been saved.": "\u041e\u0442\u0432\u0435\u0442 \u0435\u0449\u0451 \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d.", "This section could not be loaded.": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0440\u0430\u0437\u0434\u0435\u043b.", "This short name for the assignment type (for example, HW or Midterm) appears next to assignments on a learner's Progress page.": "\u042d\u0442\u043e \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 \u0437\u0430\u0434\u0430\u043d\u0438\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0414\u0417 \u0438\u043b\u0438 \u042d\u043a\u0437) \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043d\u0430 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0435 \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u0439 \u0441\u043b\u0443\u0448\u0430\u0442\u0435\u043b\u044f \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u00ab\u041f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u00bb.", "This team does not have any members.": "\u0412 \u044d\u0442\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u043d\u0435\u0442 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432.", diff --git a/cms/static/js/i18n/sk/djangojs.js b/cms/static/js/i18n/sk/djangojs.js index ab0fce0ba9dd..6ae565e592c9 100644 --- a/cms/static/js/i18n/sk/djangojs.js +++ b/cms/static/js/i18n/sk/djangojs.js @@ -389,7 +389,6 @@ "Save Changes": "Ulo\u017ei\u0165 zmeny", "Save changes": "Ulo\u017ei\u0165 zmeny", "Saving": "Uklad\u00e1 sa", - "Saving...": "Uklad\u00e1 sa...", "Scope": "Rozsah", "Search Results": "V\u00fdsledky vyh\u013ead\u00e1vania", "Search teams": "H\u013eadanie t\u00edmov", @@ -420,7 +419,6 @@ "Starts": "Za\u010d\u00edna", "State": "Stav", "Status": "Stav", - "Status of Your Response": "Stav va\u0161ej odpovede", "Strikethrough": "Pre\u010diarknut\u00e9", "Subject": "Predmet", "Submit": "Odosla\u0165", @@ -470,10 +468,7 @@ "This is the list of available %s. You may choose some by selecting them in the box below and then clicking the \"Choose\" arrow between the two boxes.": "Toto je zoznam dostupn\u00fdch %s. Pre v\u00fdber je potrebn\u00e9 ozna\u010di\u0165 ich v poli a n\u00e1sledne kliknut\u00edm na \u0161\u00edpku \"Vybra\u0165\" presun\u00fa\u0165.", "This is the list of chosen %s. You may remove some by selecting them in the box below and then clicking the \"Remove\" arrow between the two boxes.": "Toto je zoznam dostupn\u00fdch %s. Pre vymazanie je potrebn\u00e9 ozna\u010di\u0165 ich v poli a n\u00e1sledne kliknut\u00edm na \u0161\u00edpku \"Vymaza\u0165\" vymaza\u0165.", "This problem could not be saved.": "T\u00fato \u00falohu nebolo mo\u017en\u00e9 ulo\u017ei\u0165.", - "This response could not be saved.": "T\u00fato odpove\u010f nie je mo\u017en\u00e9 ulo\u017ei\u0165.", "This response could not be submitted.": "T\u00fato odpove\u010f nie je mo\u017en\u00e9 odosla\u0165.", - "This response has been saved but not submitted.": "T\u00e1to odpove\u010f bola ulo\u017een\u00e1, ale nebola odoslan\u00e1.", - "This response has not been saved.": "Odpove\u010f nebola ulo\u017een\u00e1.", "This section could not be loaded.": "T\u00fato sekciu nie je mo\u017en\u00e9 na\u010d\u00edta\u0165.", "This team does not have any members.": "Tento t\u00edm nem\u00e1 \u017eiadnych \u010dlenov.", "This team is full.": "Tento t\u00edm je pln\u00fd.", diff --git a/cms/static/js/i18n/sq/djangojs.js b/cms/static/js/i18n/sq/djangojs.js index 81919dbe44c4..04281e2f6e05 100644 --- a/cms/static/js/i18n/sq/djangojs.js +++ b/cms/static/js/i18n/sq/djangojs.js @@ -66,15 +66,10 @@ "Option Deleted": "Opsioni u fshia", "Remove": "Hiqe", "Remove all": "Hiqi krejt", - "Saving...": "Ruaj...", "September": "Shtator", "Show": "Shfaqe", - "Status of Your Response": "Statusi i p\u00ebrgjigjjes suaj", "This is the list of available %s. You may choose some by selecting them in the box below and then clicking the \"Choose\" arrow between the two boxes.": "Kjo \u00ebsht\u00eb lista e %s t\u00eb gatsh\u00ebm. Mund t\u00eb zgjidhni disa duke i p\u00ebrzgjedhur te kutiza m\u00eb posht\u00eb dhe mandej duke klikuar mbi shigjet\u00ebn \"Zgjidhe\" mes dy kutizave.", "This is the list of chosen %s. You may remove some by selecting them in the box below and then clicking the \"Remove\" arrow between the two boxes.": "Kjo \u00ebsht\u00eb lista e %s t\u00eb gatshme. Mund t\u00eb hiqni disa duke i p\u00ebrzgjedhur te kutiza m\u00eb posht\u00eb e mandej duke klikuar mbi shigjet\u00ebn \"Hiqe\" mes dy kutizave.", - "This response could not be saved.": "P\u00ebrgjigjja nuk mund t\u00eb ruhet.", - "This response has been saved but not submitted.": "Kjo p\u00ebrgjigjje \u00ebsht\u00eb ruajtur por nuk \u00ebsht\u00eb paraqitur.", - "This response has not been saved.": "Kjo p\u00ebrgjigjje nuk \u00ebsht\u00eb ruajtur.", "Today": "Sot", "Tomorrow": "Nes\u00ebr", "Type into this box to filter down the list of available %s.": "Shkruani brenda kutiz\u00ebs q\u00eb t\u00eb filtrohet lista e %s t\u00eb passhme.", diff --git a/cms/static/js/i18n/th/djangojs.js b/cms/static/js/i18n/th/djangojs.js index a3ba173621f2..c3e8fd7d4b45 100644 --- a/cms/static/js/i18n/th/djangojs.js +++ b/cms/static/js/i18n/th/djangojs.js @@ -433,7 +433,6 @@ "Saved cohort": "\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e19\u0e23\u0e48\u0e27\u0e21\u0e07\u0e32\u0e19", "Saving": "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01", "Saving your email preference": "\u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e2d\u0e35\u0e40\u0e21\u0e25\u0e4c\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13", - "Saving...": "\u0e01\u0e33\u0e25\u0e31\u0e07\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01...", "Search": "\u0e04\u0e49\u0e19\u0e2b\u0e32", "Search Results": "\u0e1c\u0e25\u0e01\u0e32\u0e23\u0e04\u0e49\u0e19\u0e2b\u0e32", "Search teams": "\u0e04\u0e49\u0e19\u0e2b\u0e32\u0e17\u0e35\u0e21", @@ -472,7 +471,6 @@ "Starts: %(start_date)s": "\u0e40\u0e23\u0e34\u0e48\u0e21: %(start_date)s", "State": "\u0e2a\u0e16\u0e32\u0e19\u0e30", "Status": "\u0e2a\u0e16\u0e32\u0e19\u0e30", - "Status of Your Response": "\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e1c\u0e25\u0e15\u0e2d\u0e1a\u0e01\u0e25\u0e31\u0e1a\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13", "Subject": "\u0e2b\u0e31\u0e27\u0e02\u0e49\u0e2d:", "Subject:": "\u0e2b\u0e31\u0e27\u0e02\u0e49\u0e2d:", "Submit": "\u0e22\u0e2d\u0e21\u0e23\u0e31\u0e1a", @@ -484,8 +482,6 @@ "Successfully enrolled the following users:": "\u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49\u0e19\u0e35\u0e49\u0e25\u0e07\u0e17\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e19\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27", "Successfully rescored problem for user {user}": "\u0e01\u0e32\u0e23\u0e43\u0e2b\u0e49\u0e04\u0e30\u0e41\u0e19\u0e19\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e43\u0e2b\u0e21\u0e48\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49\u0e1b\u0e23\u0e30\u0e2a\u0e1a\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08 {user}", "Successfully reset the attempts for user {user}": "\u0e04\u0e27\u0e32\u0e21\u0e1e\u0e22\u0e32\u0e22\u0e32\u0e21\u0e43\u0e19\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e43\u0e2b\u0e21\u0e48\u0e1b\u0e23\u0e30\u0e2a\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49 {user}", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "\u0e1b\u0e23\u0e30\u0e2a\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e2d\u0e35\u0e40\u0e21\u0e25\u0e4c\u0e01\u0e32\u0e23\u0e25\u0e07\u0e17\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e19\u0e43\u0e2b\u0e49\u0e41\u0e01\u0e48\u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49 \u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49\u0e40\u0e2b\u0e25\u0e48\u0e32\u0e19\u0e35\u0e49\u0e16\u0e39\u0e01\u0e2d\u0e19\u0e38\u0e0d\u0e32\u0e15\u0e43\u0e2b\u0e49\u0e25\u0e07\u0e17\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e19\u0e40\u0e1e\u0e35\u0e22\u0e07\u0e04\u0e23\u0e31\u0e49\u0e07\u0e40\u0e14\u0e35\u0e22\u0e27", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "\u0e1b\u0e23\u0e30\u0e2a\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e2d\u0e35\u0e40\u0e21\u0e25\u0e4c\u0e01\u0e32\u0e23\u0e25\u0e07\u0e17\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e19\u0e43\u0e2b\u0e49\u0e41\u0e01\u0e48\u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49 \u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49\u0e40\u0e2b\u0e25\u0e48\u0e32\u0e19\u0e35\u0e49\u0e08\u0e30\u0e25\u0e07\u0e17\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e19\u0e40\u0e1e\u0e35\u0e22\u0e07\u0e04\u0e23\u0e31\u0e49\u0e07\u0e40\u0e14\u0e35\u0e22\u0e27\u0e43\u0e19\u0e15\u0e2d\u0e19\u0e2a\u0e21\u0e31\u0e04\u0e23", "Successfully unlinked.": "\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e42\u0e22\u0e07\u0e1b\u0e23\u0e30\u0e2a\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08", "Tags": "\u0e41\u0e17\u0e47\u0e01", "Tags:": "\u0e41\u0e17\u0e47\u0e01:", @@ -560,10 +556,7 @@ "This is the list of available %s. You may choose some by selecting them in the box below and then clicking the \"Choose\" arrow between the two boxes.": "\u0e19\u0e35\u0e48\u0e04\u0e37\u0e2d\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e44\u0e14\u0e49\u0e02\u0e2d\u0e07 %s \u0e04\u0e38\u0e13\u0e2d\u0e32\u0e08\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e1a\u0e32\u0e07\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e44\u0e27\u0e49\u0e43\u0e19\u0e01\u0e25\u0e48\u0e2d\u0e07\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07\u0e41\u0e25\u0e49\u0e27\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e1b\u0e38\u0e48\u0e21 \"\u0e40\u0e25\u0e37\u0e2d\u0e01\" \u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e2a\u0e2d\u0e07\u0e01\u0e25\u0e48\u0e2d\u0e07", "This is the list of chosen %s. You may remove some by selecting them in the box below and then clicking the \"Remove\" arrow between the two boxes.": "\u0e19\u0e35\u0e48\u0e04\u0e37\u0e2d\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e16\u0e39\u0e01\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e02\u0e2d\u0e07 %s \u0e04\u0e38\u0e13\u0e2d\u0e32\u0e08\u0e40\u0e2d\u0e32\u0e1a\u0e32\u0e07\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e2d\u0e2d\u0e01\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e44\u0e27\u0e49\u0e43\u0e19\u0e01\u0e25\u0e48\u0e2d\u0e07\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07\u0e41\u0e25\u0e49\u0e27\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e1b\u0e38\u0e48\u0e21 \"\u0e40\u0e2d\u0e32\u0e2d\u0e2d\u0e01\" \u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e2a\u0e2d\u0e07\u0e01\u0e25\u0e48\u0e2d\u0e07", "This problem could not be saved.": "\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e19\u0e35\u0e49\u0e44\u0e14\u0e49", - "This response could not be saved.": "\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e04\u0e33\u0e15\u0e2d\u0e1a\u0e19\u0e35\u0e49\u0e44\u0e14\u0e49", "This response could not be submitted.": "\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e2a\u0e48\u0e07\u0e04\u0e33\u0e15\u0e2d\u0e1a\u0e19\u0e35\u0e49\u0e44\u0e14\u0e49", - "This response has been saved but not submitted.": "\u0e04\u0e33\u0e15\u0e2d\u0e1a\u0e19\u0e35\u0e49\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e41\u0e15\u0e48\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e2a\u0e48\u0e07\u0e43\u0e2b\u0e49\u0e1e\u0e34\u0e08\u0e32\u0e23\u0e13\u0e32\u0e15\u0e48\u0e2d\u0e44\u0e1b", - "This response has not been saved.": "\u0e04\u0e33\u0e15\u0e2d\u0e1a\u0e19\u0e35\u0e49\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01", "This section could not be loaded.": "\u0e40\u0e19\u0e37\u0e49\u0e2d\u0e2b\u0e32\u0e2a\u0e48\u0e27\u0e19\u0e19\u0e35\u0e49\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e42\u0e2b\u0e25\u0e14\u0e44\u0e14\u0e49", "This team does not have any members.": "\u0e17\u0e35\u0e21\u0e19\u0e35\u0e49\u0e44\u0e21\u0e48\u0e21\u0e35\u0e2a\u0e21\u0e32\u0e0a\u0e34\u0e01\u0e17\u0e35\u0e21\u0e43\u0e14\u0e46", "This team is full.": "\u0e17\u0e35\u0e21\u0e19\u0e35\u0e49\u0e40\u0e15\u0e47\u0e21\u0e41\u0e25\u0e49\u0e27", diff --git a/cms/static/js/i18n/tr-tr/djangojs.js b/cms/static/js/i18n/tr-tr/djangojs.js index 7a67c21bf541..f42eaa3300cd 100644 --- a/cms/static/js/i18n/tr-tr/djangojs.js +++ b/cms/static/js/i18n/tr-tr/djangojs.js @@ -801,6 +801,7 @@ "Error starting a task to rescore problem '<%- problem_id %>' for student '<%- student_id %>'. Make sure that the the problem and student identifiers are complete and correct.": "\u00d6\u011frenci '<%- student_id %>' i\u00e7in '<%- problem_id %>' problemini yeniden puanlamak i\u00e7in bir g\u00f6rev ba\u015flat\u0131l\u0131rken hata olu\u015ftu. Problemin ve \u00f6\u011frenci tan\u0131mlay\u0131c\u0131lar\u0131n\u0131n eksiksiz ve do\u011fru oldu\u011fundan emin olun.", "Error starting a task to rescore problem '<%- problem_id %>'. Make sure that the problem identifier is complete and correct.": " '<%- problem_id %>' problemi i\u00e7in tekrar notland\u0131rma g\u00f6revi ba\u015flat\u0131l\u0131rken hatayla kar\u015f\u0131la\u015f\u0131ld\u0131. Problem numaras\u0131n\u0131n tam ve do\u011fru yaz\u0131ld\u0131\u011f\u0131na emin olunuz.", "Error starting a task to reset attempts for all students on problem '<%- problem_id %>'. Make sure that the problem identifier is complete and correct.": "T\u00fcm \u00f6\u011frencilerin '<%- problem_id %>' problemi i\u00e7in denemelerini s\u0131f\u0131rlamak i\u00e7in g\u00f6rev ba\u015flat\u0131l\u0131rken hatayla kar\u015f\u0131la\u015f\u0131ld\u0131. Problem tan\u0131mlay\u0131c\u0131s\u0131n\u0131n tam ve do\u011fru yaz\u0131ld\u0131\u011f\u0131na emin olunuz.", + "Error when looking up username": "Kullan\u0131c\u0131 ad\u0131 ararken hata", "Error while fetching student data.": "\u00d6\u011frenci verisi al\u0131n\u0131rken hata olu\u015ftu.", "Error while generating certificates. Please try again.": "Sertifika olu\u015ftururken hata olu\u015ftu. L\u00fctfen tekrar deneyiniz.", "Error while regenerating certificates. Please try again.": "Sertifikay\u0131 yeniden olu\u015ftururken hata olu\u015ftu. L\u00fctfen tekrar deneyiniz.", @@ -815,6 +816,7 @@ "Error: User '<%- username %>' has not yet activated their account. Users must create and activate their accounts before they can be assigned a role.": "Hata: '<%- username %>' kullan\u0131c\u0131s\u0131 hesab\u0131n\u0131 \u015fu ana kadar aktifle\u015ftirmedi. Bir rol verilmeden \u00f6nce, kullan\u0131c\u0131lar hesaplar\u0131n\u0131 olu\u015fturmal\u0131 ve aktifle\u015ftirmelidir.", "Error: You cannot remove yourself from the Instructor group!": "Hata: E\u011fitmen grubundan kendinizi silemezsiniz!", "Errors": "Hatalar", + "Errors detected on the following tabs: ": "A\u015fa\u011f\u0131daki sekmelerde alg\u0131lanan hatalar: ", "Errors/Technical Issues": "Hatalar/Teknik Sorunlar", "Everyone who has staff privileges in this course": "Bu dersteki herkesin \u00f6\u011fretim eleman\u0131 yetkisi var", "Exam Types": "S\u0131nav T\u00fcrleri", @@ -964,6 +966,7 @@ "Horizontal space": "Yatay aral\u0131k", "How to create useful text alternatives.": "Nas\u0131l daha i\u015flevsel alternatif metinler olu\u015fturulur.", "How to use %(platform_name)s discussions": "%(platform_name)s tart\u0131\u015fmalar\u0131 nas\u0131l kullan\u0131l\u0131r", + "However, {overwritten_count} of these students have received a grade through the staff grade override tool already.": "Ancak bu \u00f6\u011frencilerin {overwritten_count} kadar\u0131, personel notu ge\u00e7ersiz k\u0131lma arac\u0131 arac\u0131l\u0131\u011f\u0131yla zaten bir not ald\u0131.", "Hyperlink (Ctrl+L)": "Hiperlink (Ctrl-L)", "I am ready to start this timed exam,": "S\u00fcre s\u0131n\u0131rl\u0131 bu s\u0131nava ba\u015flamaya haz\u0131r\u0131m,", "ID": "ID", @@ -1167,6 +1170,7 @@ "Move cancelled. \"{sourceDisplayName}\" has been moved back to its original location.": "Ta\u015f\u0131ma iptal edildi. \"{sourceDisplayName}\" ilk konumuna geri ta\u015f\u0131nd\u0131.", "Move: {displayName}": "Ta\u015f\u0131: {displayName}", "Moving": "Ta\u015f\u0131n\u0131yor", + "Multiple teams returned for course": "Ders i\u00e7in birden fazla tak\u0131m geri d\u00f6nd\u00fc", "Must be a Staff User to Perform this request.": "Bu iste\u011fi kar\u015f\u0131layabilmek i\u00e7in Personel Kullan\u0131c\u0131s\u0131 olman\u0131z gerekiyor.", "Must complete verification checkpoint": "Do\u011frulama kontrol noktas\u0131 tamamlanmal\u0131", "Mute": "Sessiz", @@ -1536,7 +1540,6 @@ "Saved cohort": "Kaydedilen kohort", "Saving": "Kaydediliyor", "Saving your email preference": "E-posta tercihleriniz kaydediliyor", - "Saving...": "Kaydediliyor...", "Scheduled:": "Planland\u0131:", "Scope": "Faaliyet alan\u0131", "Search": "Ara", @@ -1693,7 +1696,6 @@ "Starts: %(start_date)s": "Ba\u015fl\u0131yor: %(start_date)s", "State": "Durum", "Status": "Durum", - "Status of Your Response": "Cevab\u0131n\u0131z\u0131n Durumu", "Strikethrough": "\u00dcst\u00fc \u00e7izgili", "Student": "\u00d6\u011frenci", "Student Removed from certificate allowlist successfully.": "\u00d6\u011frenci sertifika g\u00fcvenilir listesinden ba\u015far\u0131yla Kald\u0131r\u0131ld\u0131.", @@ -1731,8 +1733,6 @@ "Successfully rescored problem for user {user}": "{user} adl\u0131 kullan\u0131c\u0131n\u0131n problemi tekrar notland\u0131r\u0131ld\u0131", "Successfully rescored problem to improve score for user {user}": "{user} kullan\u0131c\u0131s\u0131n\u0131n notunu y\u00fckseltecek \u015fekilde problem yeniden notland\u0131r\u0131ld\u0131", "Successfully reset the attempts for user {user}": "{user} adl\u0131 kullan\u0131c\u0131n\u0131n denemeleri ba\u015far\u0131yla s\u0131f\u0131rland\u0131", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "A\u015fa\u011f\u0131daki kullan\u0131c\u0131lara kay\u0131t e-postalar\u0131 ba\u015far\u0131yla g\u00f6nderildi. Kay\u0131t bilgilerini girdikten sonra sonra kay\u0131t yapmalar\u0131na izin verilecek:", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "A\u015fa\u011f\u0131daki kullan\u0131c\u0131lara kay\u0131t e-postalar\u0131 ba\u015far\u0131yla g\u00f6nderildi. Kay\u0131t bilgilerini girdikten sonra sonra kay\u0131tlar\u0131 yap\u0131lacakt\u0131r:", "Successfully started task to rescore problem '<%- problem_id %>' for all students. Click the 'Show Task Status' button to see the status of the task.": "T\u00fcm \u00f6\u011frenciler i\u00e7in '<%- problem_id %>' problemini yeniden puanlamak i\u00e7in g\u00f6rev ba\u015far\u0131yla ba\u015flat\u0131ld\u0131. G\u00f6revin durumunu g\u00f6rmek i\u00e7in 'G\u00f6rev Durumunu G\u00f6ster' d\u00fc\u011fmesine t\u0131klay\u0131n.", "Successfully started task to reset attempts for problem '<%- problem_id %>'. Click the 'Show Task Status' button to see the status of the task.": "'<%- problem_id %>' nolu problem i\u00e7in denemeleri s\u0131f\u0131rlama g\u00f6revi ba\u015far\u0131yla ba\u015flat\u0131ld\u0131. Bu g\u00f6revin durumunu g\u00f6rmek i\u00e7in 'G\u00f6rev Durumunu G\u00f6r' d\u00fc\u011fmesine bas\u0131n\u0131z.", "Successfully unlinked.": "Ba\u011flant\u0131 ba\u015far\u0131yla kald\u0131r\u0131ld\u0131.", @@ -1789,6 +1789,7 @@ "Thank you for submitting your photos. We will review them shortly. You can now sign up for any %(platformName)s course that offers verified certificates. Verification is good for one year. After one year, you must submit photos for verification again.": "Foto\u011fraflar\u0131n\u0131z\u0131 g\u00f6nderdi\u011finiz i\u00e7in te\u015fekk\u00fcr ederiz. K\u0131sa s\u00fcre i\u00e7inde de\u011ferlendirece\u011fiz. \u015eimdi onayl\u0131 sertifika sunan herhangi bir %(platformName)s derse kay\u0131t olabilirsiniz. Do\u011frulama bir y\u0131l i\u00e7indir. Bir y\u0131ldan sonra yeniden do\u011frulama i\u00e7in foto\u011fraflar\u0131n\u0131z\u0131 tekrar g\u00f6ndermelisiniz.", "Thank you! You\u2019re helping make edX better for everyone.": "Te\u015fekk\u00fcrler! edX'i herkes i\u00e7in daha iyi bir hale getirmemize yard\u0131m ediyorsunuz.", "Thanks for returning to verify your ID in: {courseName}": "{courseName} dersine kimli\u011finizi do\u011frulama i\u00e7in d\u00f6nd\u00fc\u011f\u00fcn\u00fcz i\u00e7in te\u015fekk\u00fcr ederiz.", + "The \"{name}\" problem is configured to require a minimum of {min_grades} peer grades, and asks to review {min_graded} peers.": "\"{name}\" problemi, en az {min_grades} akran notu gerektirecek \u015fekilde yap\u0131land\u0131r\u0131ld\u0131 ve {min_graded} akran incelemesi istiyor.", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "Girdi\u011finiz URL bir e-posta adresi gibi g\u00f6r\u00fcn\u00fcyor. Gerekli mailto: \u00f6nekini eklemek ister misiniz?", "The URL you entered seems to be an external link. Do you want to add the required http:// prefix?": "Girdi\u011finiz URL harici ba\u011flant\u0131 gibi g\u00f6r\u00fcn\u00fcyor. Gerekli http:// \u00f6nekini eklemek ister misiniz?", "The assignment type must have a name.": "Bu g\u00f6rev t\u00fcr\u00fcn\u00fcn bir ad\u0131 olmal\u0131.", @@ -1852,6 +1853,7 @@ "The topic \"{topic}\" could not be found.": "\"{topic}\" ba\u015fl\u0131\u011f\u0131 bulunamad\u0131.", "The weight of all assignments of this type as a percentage of the total grade, for example, 40. Do not include the percent symbol.": "Bu g\u00f6rev t\u00fcr\u00fcn\u00fcn toplam not i\u00e7indeki a\u011f\u0131rl\u0131\u011f\u0131, \u00f6rne\u011fin 40. Y\u00fczde sembol\u00fc kullanmay\u0131n.", "The {cohortGroupName} cohort has been created. You can manually add students to this cohort below.": "{cohortGroupName} kohortu olu\u015fturuldu. A\u015fa\u011f\u0131daki bu kohorta elle \u00f6\u011frenci ekleyebilirsiniz.", + "There are currently {stuck_learners} learners in the waiting state, meaning they have not yet met all requirements for Peer Assessment. ": "\u015eu anda bekleme durumunda olan {stuck_learners} \u00f6\u011frenci var, bir ba\u015fka deyi\u015fle Akran De\u011ferlendirmesi i\u00e7in hen\u00fcz t\u00fcm gereksinimleri kar\u015f\u0131lamam\u0131\u015flar.", "There are invalid keywords in your email. Check the following keywords and try again.": "E-postan\u0131zda ge\u00e7ersiz anahtar kelimeler var. L\u00fctfen a\u015fa\u011f\u0131daki anahtar kelimeleri kontrol edin ve tekrar deneyin.", "There are no posts in this topic yet.": "Bu ba\u015fl\u0131kta hen\u00fcz bir g\u00f6nderi yok.", "There has been a failure to export to XML at least one component. It is recommended that you go to the edit page and repair the error before attempting another export. Please check that all components on the page are valid and do not display any error messages.": "En az bir bile\u015feni XML'e aktar\u0131rken bir hata olu\u015ftu. D\u00fczenleme sayfas\u0131na gitmeniz ve di\u011fer bir d\u0131\u015fa aktar\u0131ma ba\u015flamadan hatay\u0131 tamir etmeniz \u00f6nerilir. L\u00fctfen sayfadaki t\u00fcm bile\u015fenlerin ge\u00e7erli oldu\u011funu kontrol ediniz ve herhangi bir hata iletisi g\u00f6stermeyiniz.", @@ -1894,6 +1896,7 @@ "These users will be enrolled once they register:": "Kay\u0131t bilgilerini girdikten sonra sonra bu kullan\u0131c\u0131lar\u0131n kay\u0131tlar\u0131 yap\u0131lacakt\u0131r:", "This Group Configuration is not in use. Start by adding a content experiment to any Unit via the {linkStart}Course Outline{linkEnd}.": "Bu Grup Yap\u0131land\u0131rmas\u0131 kullan\u0131mda de\u011fil. {linkStart}Ders Tasla\u011f\u0131{linkEnd} \u00fczerinde herhangi bir \u00fcniteye deneysel i\u00e7erik ekleyerek ba\u015flayabilirsiniz.", "This Group Configuration is used in:": "Bu Grup Yap\u0131land\u0131rmas\u0131 kullan\u0131l\u0131r:", + "This ORA has already been released. Changes will only affect learners making new submissions. Existing submissions will not be modified by this change.": "Bu ORA zaten yay\u0131nland\u0131. De\u011fi\u015fiklikler yaln\u0131zca yeni g\u00f6nderim yapan \u00f6\u011frencileri etkileyecektir. Mevcut g\u00f6nderimler bu de\u011fi\u015fiklikle de\u011fi\u015ftirilmeyecektir.", "This action cannot be undone.": "Bu eylem geri al\u0131namaz.", "This action updates the {provider} information for your entire organization.": "Bu eylem t\u00fcm kurum i\u00e7in {provider} bilgisini g\u00fcnceller.", "This assessment could not be submitted.": "Bu de\u011ferlendirme g\u00f6nderilemedi.", @@ -1940,12 +1943,9 @@ "This proctored exam has been released to learners. You may not convert it to another type of special exam. You may revert this subsection back to being a basic exam by selecting 'None', or a timed exam, but you will NOT be able to configure it as a proctored exam in the future.": "Bu g\u00f6zetimli s\u0131nav \u00f6\u011frencilere sunulmu\u015ftur. Ba\u015fka bir t\u00fcr \u00f6zel s\u0131nava d\u00f6n\u00fc\u015ft\u00fcremezsiniz. \"None\" ayar\u0131n\u0131 se\u00e7erek bu alt b\u00f6l\u00fcm\u00fc basit ya da zamanlanm\u0131\u015f s\u0131nav haline geri d\u00f6nd\u00fcrebilirsiniz, ancak ileride bunu g\u00f6zetimli bir s\u0131nav olarak yap\u0131land\u0131ramazs\u0131n\u0131z. ", "This response could not be marked as an answer. Refresh the page and try again.": "Bu ileti bir cevap olarak i\u015faretlenemedi. Sayfay\u0131 yeniden y\u00fckleyin ve tekrar deneyin.", "This response could not be marked as endorsed. Refresh the page and try again.": "Bu cevap \u00f6ne \u00e7\u0131kar\u0131lan bir cevap olarak i\u015faretlenemedi. Sayfay\u0131 yeniden y\u00fckleyin ve tekrar deneyin.", - "This response could not be saved.": "Bu cevap kaydedilemedi.", "This response could not be submitted.": "Bu cevap g\u00f6nderilemedi.", "This response could not be unendorsed. Refresh the page and try again.": "Bu cevab\u0131n \u00f6ne \u00e7\u0131kar\u0131lmas\u0131 iptal edilemedi. Sayfay\u0131 yeniden y\u00fckleyin ve tekrar deneyin.", "This response could not be unmarked as an answer. Refresh the page and try again.": "Bu iletinin cevap olarak i\u015faretlenmesi kald\u0131r\u0131lamad\u0131. Sayfay\u0131 yeniden y\u00fckleyin ve tekrar deneyin.", - "This response has been saved but not submitted.": "Bu cevap kaydedildi, ancak g\u00f6nderilmedi.", - "This response has not been saved.": "Bu cevap kaydedilmedi.", "This role requires a divided discussions scheme.": "Bu rol b\u00f6l\u00fcnm\u00fc\u015f bir tart\u0131\u015fma yap\u0131s\u0131 gerektiriyor.", "This section could not be loaded.": "Bu b\u00f6l\u00fcm y\u00fcklenemedi.", "This short name for the assignment type (for example, HW or Midterm) appears next to assignments on a learner's Progress page.": "Bu g\u00f6rev t\u00fcr\u00fc i\u00e7in belirlenen k\u0131saisim (\u00f6rne\u011fin, \u00d6dev veya ARSNV gibi) \u00f6\u011frencinin \u0130lerleme sayfas\u0131nda, g\u00f6revin hemen yan\u0131nda g\u00f6z\u00fck\u00fcr.", @@ -2117,6 +2117,7 @@ "Use your webcam to take a photo of your face. We will match this photo with the photo on your ID.": "Y\u00fcz\u00fcn\u00fcz\u00fcn foto\u011fraf\u0131n\u0131 \u00e7ekmek i\u00e7in web kameran\u0131z\u0131 kullan\u0131n. Biz bu foto\u011fraf\u0131n\u0131z\u0131 kimli\u011finiz \u00fczerindeki foto\u011fraf ile e\u015fle\u015ftirece\u011fiz.", "Used": "Kullan\u0131ld\u0131", "User Email": "Kullan\u0131c\u0131 E-postas\u0131", + "User lookup failed": "Kullan\u0131c\u0131 ararken hata", "Username": "Kullan\u0131c\u0131 ad\u0131", "Username or email address": "Kullan\u0131c\u0131 ad\u0131 ve e-posta adresi", "Users must create and activate their account before they can be promoted to beta tester.": "Beta s\u0131nay\u0131c\u0131s\u0131 seviyesine y\u00fckseltilmeden \u00f6nce kullan\u0131c\u0131lar kendi hesaplar\u0131n\u0131 olu\u015fturmal\u0131 ve aktifle\u015ftirmelidir.", @@ -2420,6 +2421,7 @@ "endorsed %(time_ago)s by %(user)s": "%(user)s kullan\u0131c\u0131 taraf\u0131ndan %(time_ago)s \u00f6nce desteklenmi\u015f", "enter code here": "kodu buraya girin", "enter link description here": "ba\u011flant\u0131 a\u00e7\u0131klamas\u0131n\u0131 buraya girin", + "error count: ": "hata say\u0131s\u0131: ", "finish later": "sonra tamamla", "follow this post": "bu iletiyi takip et", "for": "i\u00e7in", diff --git a/cms/static/js/i18n/uk/djangojs.js b/cms/static/js/i18n/uk/djangojs.js index 6d1bd8c71b45..034f7616a6a1 100644 --- a/cms/static/js/i18n/uk/djangojs.js +++ b/cms/static/js/i18n/uk/djangojs.js @@ -914,7 +914,6 @@ "Saved cohort": "\u0417\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u0456 \u043a\u043e\u0433\u043e\u0440\u0442\u0438", "Saving": "\u0417\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u043d\u044f", "Saving your email preference": "\u0417\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u043d\u044f \u043d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u044c \u0432\u0430\u0448\u043e\u0433\u043e email", - "Saving...": "\u0417\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u043d\u044f ...", "Scope": "\u041c\u0430\u0441\u0448\u0442\u0430\u0431", "Search Results": "\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0438 \u041f\u043e\u0448\u0443\u043a\u0443", "Search all posts": "\u0428\u0443\u043a\u0430\u0439\u0442\u0435 \u0443 \u0432\u0441\u0456\u0445 \u043f\u043e\u0432\u0456\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u044f\u0445", @@ -1004,7 +1003,6 @@ "Started {start}": "\u041f\u043e\u0447\u0430\u0432\u0441\u044f {start}", "Starts {start}": "\u041f\u043e\u0447\u0438\u043d\u0430\u0454\u0442\u044c\u0441\u044f {start}", "State": "\u0421\u0442\u0430\u0442\u0443\u0441", - "Status of Your Response": "\u0421\u0442\u0430\u0442\u0443\u0441 \u0432\u0430\u0448\u043e\u0457 \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u0456", "Strikethrough": "\u0417\u0430\u043a\u0440\u0435\u0441\u043b\u0438\u0442\u0438", "Student email or username": "\u0406\u043c'\u044f \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430 \u0430\u0431\u043e \u043f\u043e\u0448\u0442\u043e\u0432\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430", "Student username/email field is required and can not be empty. Kindly fill in username/email and then press \"Add to Exception List\" button.": "\u041f\u043e\u043b\u0435 \u00ab\u0406\u043c'\u044f \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430/\u0435\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0430 \u043f\u043e\u0448\u0442\u0430\u00bb \u0454 \u043e\u0431\u043e\u0432'\u044f\u0437\u043a\u043e\u0432\u0438\u043c \u0456 \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u043f\u043e\u0440\u043e\u0436\u043d\u0456\u043c. \u0411\u0443\u0434\u044c \u043b\u0430\u0441\u043a\u0430, \u0437\u0430\u043f\u043e\u0432\u043d\u0456\u0442\u044c \u043f\u043e\u043b\u0435 \u00ab\u0406\u043c'\u044f \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430/\u0435\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0430 \u043f\u043e\u0448\u0442\u0430\u00bb, \u043f\u0456\u0441\u043b\u044f \u0447\u043e\u0433\u043e \u043d\u0430\u0442\u0438\u0441\u043d\u0456\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \u00ab\u0414\u043e\u0434\u0430\u0442\u0438 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0438\u043a\u043b\u044e\u0447\u0435\u043d\u044c\u00bb.", @@ -1029,8 +1027,6 @@ "Successfully rescored problem for user {user}": "\u0414\u043b\u044f \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430 {user} \u0443\u0441\u043f\u0456\u0448\u043d\u043e \u0437\u043c\u0456\u043d\u0435\u043d\u0430 \u043e\u0446\u0456\u043d\u043a\u0430 \u0437\u0430\u0432\u0434\u0430\u043d\u043d\u044f", "Successfully rescored problem to improve score for user {user}": "\u0423\u0441\u043f\u0456\u0448\u043d\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u0440\u0430\u0445\u043e\u0432\u0430\u043d\u043e \u0437\u0430\u0432\u0434\u0430\u043d\u043d\u044f, \u0449\u043e\u0431 \u043f\u043e\u043a\u0440\u0430\u0449\u0438\u0442\u0438 \u0431\u0430\u043b\u0438 \u0434\u043b\u044f \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430 {user}", "Successfully reset the attempts for user {user}": "\u0423\u0441\u043f\u0456\u0448\u043d\u043e \u0441\u043a\u0438\u043d\u0443\u0442\u043e \u0441\u043f\u0440\u043e\u0431\u0438 \u0434\u043b\u044f \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430 {user}", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "\u0423\u0441\u043f\u0456\u0448\u043d\u043e \u043d\u0430\u0434\u0456\u0441\u043b\u0430\u043d\u043e \u043b\u0438\u0441\u0442\u0438 \u0434\u043b\u044f \u0440\u0435\u0454\u0441\u0442\u0440\u0430\u0446\u0456\u0457 \u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0438\u043c \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430\u043c. \u0407\u043c \u0431\u0443\u0434\u0435 \u0434\u043e\u0437\u0432\u043e\u043b\u0435\u043d\u043e \u0437\u0430\u0440\u0435\u0454\u0441\u0442\u0440\u0443\u0432\u0430\u0442\u0438\u0441\u044f \u043d\u0430 \u043a\u0443\u0440\u0441 \u043f\u0456\u0441\u043b\u044f \u0440\u0435\u0454\u0441\u0442\u0440\u0430\u0446\u0456\u0457 \u043d\u0430 \u0441\u0430\u0439\u0442\u0456: ", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "\u0423\u0441\u043f\u0456\u0448\u043d\u043e \u043d\u0430\u0434\u0456\u0441\u043b\u0430\u043d\u043e \u043b\u0438\u0441\u0442\u0438 \u0434\u043b\u044f \u0440\u0435\u0454\u0441\u0442\u0440\u0430\u0446\u0456\u0457 \u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0438\u043c \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430\u043c. \u0412\u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442\u044c \u0437\u0430\u0440\u0435\u0454\u0441\u0442\u0440\u043e\u0432\u0430\u043d\u0456 \u043d\u0430 \u043a\u0443\u0440\u0441 \u043f\u0456\u0441\u043b\u044f \u0440\u0435\u0454\u0441\u0442\u0440\u0430\u0446\u0456\u0457 \u043d\u0430 \u0441\u0430\u0439\u0442\u0456: ", "Successfully started task to rescore problem '<%- problem_id %>' for all students. Click the 'Show Task Status' button to see the status of the task.": "\u0423\u0441\u043f\u0456\u0448\u043d\u043e \u043f\u043e\u0447\u0430\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u043f\u0435\u0440\u0435\u043e\u0446\u0456\u043d\u044e\u0432\u0430\u043d\u043d\u044f \u0437\u0430\u0432\u0434\u0430\u043d\u043d\u044f '<%- problem_id %>' \u0434\u043b\u044f \u0432\u0441\u0456\u0445 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0456\u0432. \u041a\u043b\u0430\u0446\u043d\u0456\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 '\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u0456\u0441\u0442\u043e\u0440\u0456\u044e \u0437\u0430\u0434\u0430\u0447 \u0434\u043b\u044f \u0437\u0430\u0432\u0434\u0430\u043d\u043d\u044f' \u0449\u043e\u0431 \u043f\u043e\u0431\u0430\u0447\u0438\u0442\u0438 \u0441\u0442\u0430\u043d \u0437\u0430\u0434\u0430\u0447\u0456.", "Successfully started task to reset attempts for problem '<%- problem_id %>'. Click the 'Show Task Status' button to see the status of the task.": "\u0423\u0441\u043f\u0456\u0448\u043d\u043e \u0440\u043e\u0437\u043f\u043e\u0447\u0430\u0442\u043e \u0437\u0430\u0434\u0430\u0447\u0443 \u0441\u043a\u0438\u043d\u0443\u0442\u0438 \u0441\u043f\u0440\u043e\u0431\u0438 \u0434\u043b\u044f \u0437\u0430\u0432\u0434\u0430\u043d\u043d\u044f '<%- problem_id %>'. \u041d\u0430\u0442\u0438\u0441\u043d\u0456\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 \u00ab\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u0441\u0442\u0430\u043d \u0437\u0430\u0434\u0430\u0447\u0456\u00bb, \u0449\u043e\u0431 \u043f\u043e\u0431\u0430\u0447\u0438\u0442\u0438 \u0441\u0442\u0430\u0442\u0443\u0441 \u0437\u0430\u0434\u0430\u0447\u0456.", "Successfully unlinked.": "\u0423\u0441\u043f\u0456\u0448\u043d\u043e \u0440\u043e\u0437\u2019\u0454\u0434\u043d\u0430\u043d\u043e.", @@ -1171,12 +1167,9 @@ "This problem has been reset.": "\u0417\u0430\u0434\u0430\u0447\u0443 \u0441\u043a\u0438\u043d\u0443\u0442\u043e.", "This response could not be marked as an answer. Refresh the page and try again.": "\u0426\u0435 \u043f\u043e\u0432\u0456\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u044f \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u043f\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0435, \u044f\u043a \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u044c. \u041e\u043d\u043e\u0432\u0456\u0442\u044c \u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0443 \u0442\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u0456\u0442\u044c \u0441\u043f\u0440\u043e\u0431\u0443.", "This response could not be marked as endorsed. Refresh the page and try again.": "\u0426\u044f \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u044c \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u043f\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u044f\u043a \u0441\u0445\u0432\u0430\u043b\u0435\u043d\u0430. \u041e\u043d\u043e\u0432\u0456\u0442\u044c \u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0443 \u0442\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u0456\u0442\u044c \u0441\u043f\u0440\u043e\u0431\u0443.", - "This response could not be saved.": "\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0446\u044e \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u044c.", "This response could not be submitted.": "\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u0432\u0456\u0434\u043f\u0440\u0430\u0432\u0438\u0442\u0438 \u0446\u044e \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u044c \u043d\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0443.", "This response could not be unendorsed. Refresh the page and try again.": "\u0426\u044f \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u044c \u043d\u0435 \u043c\u043e\u0433\u043b\u0430 \u0431\u0443\u0442\u0438 \u043d\u0435\u0437\u0430\u043f\u043e\u0432\u043d\u0435\u043d\u043e\u044e. \u041e\u043d\u043e\u0432\u0456\u0442\u044c \u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0443 \u0442\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u0456\u0442\u044c \u0441\u043f\u0440\u043e\u0431\u0443.", "This response could not be unmarked as an answer. Refresh the page and try again.": "\u041e\u043d\u043e\u0432\u0456\u0442\u044c \u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0443 \u0442\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u0456\u0442\u044c \u0441\u043f\u0440\u043e\u0431\u0443.", - "This response has been saved but not submitted.": "\u0426\u044f \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u044c \u0431\u0443\u043b\u0430 \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u0430, \u0430\u043b\u0435 \u043d\u0435 \u0432\u0456\u0434\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u043d\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0443.", - "This response has not been saved.": "\u0426\u044f \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u044c \u043d\u0435 \u0431\u0443\u043b\u0430 \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u0430.", "This role requires a divided discussions scheme.": "\u0426\u044f \u0440\u043e\u043b\u044c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0454 \u0441\u0445\u0435\u043c\u0438 \u0440\u043e\u0437\u0434\u0456\u043b\u0435\u043d\u0438\u0445 \u043e\u0431\u0433\u043e\u0432\u043e\u0440\u0435\u043d\u044c.", "This section could not be loaded.": "\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438 \u0446\u0435\u0439 \u0440\u043e\u0437\u0434\u0456\u043b.", "This team does not have any members.": "\u0412 \u0446\u0456\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u0456 \u043d\u0435\u043c\u0430\u0454 \u0436\u043e\u0434\u043d\u043e\u0433\u043e \u0443\u0447\u0430\u0441\u043d\u0438\u043a\u0430.", diff --git a/cms/static/js/i18n/vi/djangojs.js b/cms/static/js/i18n/vi/djangojs.js index 399cfa12c23b..2bf7dba12c70 100644 --- a/cms/static/js/i18n/vi/djangojs.js +++ b/cms/static/js/i18n/vi/djangojs.js @@ -1051,7 +1051,6 @@ "Saved cohort": "Nh\u00f3m h\u1ecdc vi\u00ean \u0111\u00e3 l\u01b0u / Saved cohort", "Saving": "\u0110ang l\u01b0u", "Saving your email preference": "\u0110ang l\u01b0u tu\u1ef3 ch\u1ecdn email c\u1ee7a b\u1ea1n", - "Saving...": "\u0110ang l\u01b0u...", "Scheduled:": "L\u00ean k\u1ebf ho\u1ea1ch:", "Scope": "Ph\u1ea1m vi", "Search": "T\u00ecm ki\u1ebfm", @@ -1156,7 +1155,6 @@ "Starts: %(start_date)s": "B\u1eaft \u0111\u1ea7u: %(start_date)s", "State": "Tr\u1ea1ng th\u00e1i ", "Status": "Tr\u1ea1ng Th\u00e1i", - "Status of Your Response": "Tr\u1ea1ng Th\u00e1i Tr\u1ea3 L\u1eddi C\u1ee7a B\u1ea1n", "Strikethrough": "G\u1ea1ch ngang", "Student username/email field is required and can not be empty. Kindly fill in username/email and then press \"Add to Exception List\" button.": "Tr\u01b0\u1eddng t\u00ean \u0111\u0103ng nh\u1eadp/email c\u1ee7a sinh vi\u00ean l\u00e0 b\u1eaft bu\u1ed9c v\u00e0 kh\u00f4ng \u0111\u01b0\u1ee3c \u0111\u1ec3 tr\u1ed1ng. Vui l\u00f2ng \u0111i\u1ec1n t\u00ean \u0111\u0103ng nh\u1eadp/email sau \u0111\u00f3 nh\u1ea5n n\u00fat \"Th\u00eam v\u00e0o Danh s\u00e1ch Ngo\u1ea1i l\u1ec7\".", "Student username/email field is required and can not be empty. Kindly fill in username/email and then press \"Invalidate Certificate\" button.": "Tr\u01b0\u1eddng t\u00ean \u0111\u0103ng nh\u1eadp/email c\u1ee7a sinh vi\u00ean l\u00e0 b\u1eaft bu\u1ed9c v\u00e0 kh\u00f4ng \u0111\u01b0\u1ee3c \u0111\u1ec3 tr\u1ed1ng. Vui l\u00f2ng \u0111i\u1ec1n t\u00ean \u0111\u0103ng nh\u1eadp/email sau \u0111\u00f3 nh\u1ea5n n\u00fat \"Hu\u1ef7 b\u1ecf Ch\u1ee9ng ch\u1ec9\".", @@ -1184,8 +1182,6 @@ "Successfully rescored problem for user {user}": "Th\u00e0nh c\u00f4ng khi ch\u1ea5m l\u1ea1i c\u00e2u h\u1ecfi cho h\u1ecdc vi\u00ean {user}", "Successfully rescored problem to improve score for user {user}": "\u0110\u00e3 ho\u00e0n th\u00e0nh ch\u1ea5m l\u1ea1i \u0111\u1ec3 c\u1ea3i thi\u1ec7n \u0111i\u1ec3m s\u1ed1 cho ng\u01b0\u1eddi s\u1eed d\u1ee5ng {user}", "Successfully reset the attempts for user {user}": "\u0110\u00e3 t\u00e1i thi\u1ebft l\u1eadp th\u00e0nh c\u00f4ng s\u1ed1 l\u1ea7n c\u00f3 quy\u1ec1n n\u1ed9p b\u00e0i cho th\u00e0nh vi\u00ean {user}", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "\u0110\u00e3 g\u1eedi email ghi danh th\u00e0nh c\u00f4ng cho nh\u1eefng th\u00e0nh vi\u00ean sau \u0111\u00e2y - h\u1ecd s\u1ebd \u0111\u01b0\u1ee3c ghi danh ngay sau khi \u0111\u0103ng k\u00fd:", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "\u0110\u00e3 g\u1eedi email ghi danh th\u00e0nh c\u00f4ng cho nh\u1eefng th\u00e0nh vi\u00ean sau \u0111\u00e2y - h\u1ecd s\u1ebd \u0111\u01b0\u1ee3c ghi danh ngay sau khi \u0111\u0103ng k\u00fd:", "Successfully started task to rescore problem '<%- problem_id %>' for all students. Click the 'Show Task Status' button to see the status of the task.": "\u0110\u00e3 b\u1eaft \u0111\u1ea7u t\u00e1c v\u1ee5 ch\u1ea5m l\u1ea1i c\u00e2u h\u1ecfi '<%- problem_id %>' cho t\u1ea5t c\u1ea3 c\u00e1c h\u1ecdc vi\u00ean. Nh\u1ea5n n\u00fat 'Hi\u1ec3n th\u1ecb Tr\u1ea1ng th\u00e1i T\u00e1c v\u1ee5' \u0111\u1ec3 xem tr\u1ea1ng th\u00e1i c\u1ee7a t\u00e1c v\u1ee5.", "Successfully started task to reset attempts for problem '<%- problem_id %>'. Click the 'Show Task Status' button to see the status of the task.": "\u0110\u00e3 b\u1eaft \u0111\u1ea7u t\u00e1c v\u1ee5 t\u00e1i thi\u1ebft l\u1eadp s\u1ed1 l\u1ea7n c\u00f3 quy\u1ec1n n\u1ed9p b\u00e0i cho c\u00e2u h\u1ecfi '<%- problem_id %>'. B\u1ea5m n\u00fat 'Hi\u1ec3n th\u1ecb l\u1ecbch s\u1eed t\u00e1c v\u1ee5' \u0111\u1ec3 xem tr\u1ea1ng th\u00e1i c\u1ee7a t\u00e1c v\u1ee5.", "Successfully unlinked.": "\u0110\u00e3 b\u1ecf k\u1ebft n\u1ed1i.", @@ -1351,12 +1347,9 @@ "This problem has been reset.": "C\u00e2u h\u1ecfi n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c s\u1eeda.", "This response could not be marked as an answer. Refresh the page and try again.": "Ph\u1ea3n h\u1ed3i n\u00e0y kh\u00f4ng th\u1ec3 \u0111\u00e1nh d\u1ea5u l\u00e0 m\u1ed9t c\u00e2u tr\u1ea3 l\u1eddi. L\u00e0m m\u1edbi l\u1ea1i trang v\u00e0 th\u1eed l\u1ea1i.", "This response could not be marked as endorsed. Refresh the page and try again.": "Ph\u1ea3n h\u1ed3i n\u00e0y kh\u00f4ng th\u1ec3 \u0111\u00e1nh d\u1ea5u l\u00e0 x\u00e1c nh\u1eadn. L\u00e0m m\u1edbi l\u1ea1i trang v\u00e0 th\u1eed l\u1ea1i.", - "This response could not be saved.": "Kh\u00f4ng th\u1ec3 l\u01b0u c\u00e2u tr\u1ea3 l\u1eddi n\u00e0y.", "This response could not be submitted.": "Kh\u00f4ng th\u1ec3 g\u1eedi c\u00e2u tr\u1ea3 l\u1eddi n\u00e0y.", "This response could not be unendorsed. Refresh the page and try again.": "Ph\u1ea3n h\u1ed3i n\u00e0y kh\u00f4ng th\u1ec3 b\u1ecf \u0111\u00e1nh d\u1ea5u l\u00e0 x\u00e1c nh\u1eadn. L\u00e0m m\u1edbi l\u1ea1i trang v\u00e0 th\u1eed l\u1ea1i.", "This response could not be unmarked as an answer. Refresh the page and try again.": "C\u00e2u tr\u1ea3 l\u1eddi n\u00e0y kh\u00f4ng th\u1ec3 b\u1ecf \u0111\u00e1nh d\u1ea5u l\u00e0 c\u00e2u tr\u1ea3 l\u1eddi. L\u00e0m m\u1edbi l\u1ea1i trang v\u00e0 th\u1eed l\u1ea1i.", - "This response has been saved but not submitted.": "C\u00e2u tr\u1ea3 l\u1eddi n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c l\u01b0u nh\u01b0ng ch\u01b0a \u0111\u01b0\u1ee3c g\u1eedi \u0111i.", - "This response has not been saved.": "C\u00e2u tr\u1ea3 l\u1eddi n\u00e0y ch\u01b0a \u0111\u01b0\u1ee3c l\u01b0u.", "This role requires a divided discussions scheme.": "Vai tr\u00f2 n\u00e0y \u0111\u00f2i h\u1ecfi m\u1ed9t k\u1ebf ho\u1ea1ch th\u1ea3o lu\u1eadn nh\u00f3m.", "This section could not be loaded.": "Kh\u00f4ng th\u1ec3 t\u1ea3i m\u1ee5c n\u00e0y.", "This short name for the assignment type (for example, HW or Midterm) appears next to assignments on a learner's Progress page.": "T\u00ean ng\u1eafn cho lo\u1ea1i b\u00e0i t\u1eadp (v\u00ed d\u1ee5: BTVN ho\u1eb7c KTra) xu\u1ea5t hi\u1ec7n b\u00ean c\u1ea1nh c\u00e1c b\u00e0i t\u1eadp tr\u00ean trang Ti\u1ebfn \u0111\u1ed9 c\u1ee7a ng\u01b0\u1eddi h\u1ecdc.", diff --git a/cms/static/js/i18n/zh-cn/djangojs.js b/cms/static/js/i18n/zh-cn/djangojs.js index cc05f5696665..3d5621e10f00 100644 --- a/cms/static/js/i18n/zh-cn/djangojs.js +++ b/cms/static/js/i18n/zh-cn/djangojs.js @@ -1326,7 +1326,6 @@ "Saved cohort": "\u5df2\u4fdd\u5b58\u7684\u7fa4\u7ec4", "Saving": "\u6b63\u5728\u4fdd\u5b58", "Saving your email preference": "\u6b63\u5728\u4fdd\u5b58\u60a8\u7684\u7535\u5b50\u90ae\u4ef6\u504f\u597d", - "Saving...": "\u6b63\u5728\u4fdd\u5b58\u2026", "Scheduled:": "\u5df2\u5b9a\u4e8e\uff1a", "Scope": "\u8303\u56f4", "Search": "\u641c\u7d22", @@ -1467,7 +1466,6 @@ "Starts: %(start_date)s": "\u5f00\u59cb\u4e8e\uff1a%(start_date)s", "State": "\u72b6\u6001", "Status": "\u72b6\u6001", - "Status of Your Response": "\u60a8\u7684\u7b54\u6848\u7684\u72b6\u6001", "Strikethrough": "\u5220\u9664\u7ebf", "Student": "\u5b66\u751f", "Student email or username": "\u5b66\u751f\u90ae\u7bb1\u6216\u7528\u6237\u540d", @@ -1500,8 +1498,6 @@ "Successfully rescored problem for user {user}": "\u6210\u529f\u91cd\u8bc4\u7528\u6237 {user}\u5f97\u5206", "Successfully rescored problem to improve score for user {user}": "\u4e3a\u7528\u6237{user}\u91cd\u8bc4\u9898\u76ee\u5f97\u5206\u6210\u529f", "Successfully reset the attempts for user {user}": "\u6210\u529f\u91cd\u7f6e\u7528\u6237{user}\u7684\u8bf7\u6c42", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "\u9009\u8bfe\u90ae\u4ef6\u5df2\u6210\u529f\u53d1\u9001\u81f3\u4ee5\u4e0b\u7528\u6237\uff0c\u4ed6\u4eec\u6ce8\u518c\u540e\u5373\u53ef\u9009\u8bfe\uff1a", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "\u9009\u8bfe\u90ae\u4ef6\u5df2\u6210\u529f\u53d1\u9001\u81f3\u8fd9\u4e9b\u7528\u6237\uff0c\u4ed6\u4eec\u6ce8\u518c\u540e\u5373\u5df2\u9009\u8bfe\uff1a", "Successfully started task to rescore problem '<%- problem_id %>' for all students. Click the 'Show Task Status' button to see the status of the task.": "\u6210\u529f\u542f\u52a8\u4e3a\u6240\u6709\u5b66\u751f\u7684\u9898\u76ee '<%- problem_id %>'\u91cd\u65b0\u8bc4\u5206\u7684\u4efb\u52a1\u3002\u70b9\u51fb\u201c\u663e\u793a\u4efb\u52a1\u72b6\u6001\u201d\u6309\u94ae\u6765\u67e5\u770b\u4efb\u52a1\u72b6\u6001\u3002", "Successfully started task to reset attempts for problem '<%- problem_id %>'. Click the 'Show Task Status' button to see the status of the task.": "\u6210\u529f\u5f00\u542f\u91cd\u7f6e\u9898\u76ee\u201c<%- problem_id %>\u201d\u7684\u5c1d\u8bd5\u6b21\u6570\u7684\u4efb\u52a1\uff0c\u70b9\u51fb\u201c\u663e\u793a\u4efb\u52a1\u72b6\u6001\u201d\u6309\u94ae\u53ef\u67e5\u770b\u4efb\u52a1\u7684\u72b6\u6001\u3002", "Successfully unlinked.": "\u89e3\u7ed1\u6210\u529f\u3002", @@ -1693,12 +1689,9 @@ "This problem has been reset.": "\u6b64\u95ee\u9898\u5df2\u91cd\u7f6e\u3002", "This response could not be marked as an answer. Refresh the page and try again.": "\u65e0\u6cd5\u5c06\u8be5\u56de\u590d\u6807\u8bb0\u4e3a\u7b54\u6848\uff0c\u8bf7\u5237\u65b0\u9875\u9762\u5e76\u91cd\u8bd5\u3002", "This response could not be marked as endorsed. Refresh the page and try again.": "\u65e0\u6cd5\u6807\u8bb0\u6b64\u56de\u590d\u4e3a\u8d5e\u540c\uff0c\u8bf7\u5237\u65b0\u9875\u9762\u5e76\u91cd\u8bd5\u3002", - "This response could not be saved.": "\u8be5\u7b54\u6848\u65e0\u6cd5\u4fdd\u5b58\u3002", "This response could not be submitted.": "\u8be5\u7b54\u6848\u65e0\u6cd5\u63d0\u4ea4\u3002", "This response could not be unendorsed. Refresh the page and try again.": "\u65e0\u6cd5\u6807\u8bb0\u6b64\u56de\u590d\u4e3a\u4e0d\u8d5e\u540c\uff0c\u8bf7\u5237\u65b0\u9875\u9762\u5e76\u91cd\u8bd5\u3002", "This response could not be unmarked as an answer. Refresh the page and try again.": "\u8be5\u56de\u590d\u5df2\u88ab\u6807\u8bb0\u4e3a\u7b54\u6848\uff0c\u65e0\u6cd5\u53d6\u6d88\u3002\u8bf7\u5237\u65b0\u9875\u9762\u5e76\u91cd\u8bd5\u3002", - "This response has been saved but not submitted.": "\u8be5\u7b54\u6848\u5df2\u7ecf\u4fdd\u5b58\u4e86\uff0c\u4f46\u4ecd\u672a\u63d0\u4ea4\u3002", - "This response has not been saved.": "\u8be5\u7b54\u6848\u8fd8\u6ca1\u6709\u88ab\u4fdd\u5b58\u3002", "This role requires a divided discussions scheme.": "\u8fd9\u4e2a\u89d2\u8272\u9700\u8981\u4e00\u4e2a\u533a\u5206\u8ba8\u8bba\u7ec4\u7684\u65b9\u6848\u3002", "This section could not be loaded.": "\u8fd9\u4e2a\u90e8\u5206\u65e0\u6cd5\u52a0\u8f7d\u3002", "This short name for the assignment type (for example, HW or Midterm) appears next to assignments on a learner's Progress page.": "\u4efb\u52a1\u7c7b\u578b\u7b80\u79f0\uff08\u6bd4\u5982\uff1aHW \u6216 Midterm\uff09\uff0c\u663e\u793a\u4e8e\u5b66\u5458\u5b66\u4e60\u8fdb\u5ea6\u9875\u9762\u7684\u4f5c\u4e1a\u65c1\u8fb9\u3002", diff --git a/cms/static/js/i18n/zh-tw/djangojs.js b/cms/static/js/i18n/zh-tw/djangojs.js index 1d78a7604479..52869bff7917 100644 --- a/cms/static/js/i18n/zh-tw/djangojs.js +++ b/cms/static/js/i18n/zh-tw/djangojs.js @@ -509,7 +509,6 @@ "Saved cohort": "\u5132\u5b58\u5b78\u7fd2\u5925\u4f34", "Saving": "\u5132\u5b58\u4e2d", "Saving your email preference": "\u5132\u5b58\u60a8\u504f\u597d\u7684\u96fb\u5b50\u90f5\u4ef6", - "Saving...": "\u5132\u5b58\u4e2d", "Search": "\u641c\u5c0b", "Search Results": "\u641c\u5c0b\u7d50\u679c", "Search all posts": "\u641c\u5c0b\u6240\u6709\u8a0e\u8ad6", @@ -562,7 +561,6 @@ "Starts: %(start_date)s": "\u958b\u59cb\u6642\u9593\uff1a %(start_date)s", "State": "\u72c0\u614b", "Status": "\u72c0\u614b", - "Status of Your Response": "\u60a8\u7684\u4f5c\u7b54\u4e4b\u72c0\u614b", "Student": "\u5b78\u751f", "Student email or username": "\u5b78\u751f Email \u6216 \u4f7f\u7528\u8005\u540d\u7a31", "Subject": "\u4e3b\u984c", @@ -579,8 +577,6 @@ "Successfully enrolled the following users:": "\u6210\u529f\u8a3b\u518a\u4ee5\u4e0b\u4f7f\u7528\u8005\uff1a", "Successfully rescored problem for user {user}": "\u6210\u529f\u91cd\u8a55\u7528\u6236 {user} \u5f97\u5206", "Successfully reset the attempts for user {user}": "\u6210\u529f\u91cd\u7f6e\u7528\u6236 {user}\u7684\u8acb\u6c42", - "Successfully sent enrollment emails to the following users. They will be allowed to enroll once they register:": "\u6210\u529f\u767c\u9001\u767b\u8a18\u96fb\u5b50\u90f5\u4ef6\u3002\u4e00\u65e6\u5b8c\u6210\u5e33\u865f\u8a3b\u518a\uff0c\u4ee5\u4e0b\u4f7f\u7528\u8005\u5c07\u88ab\u5141\u8a31\u8a3b\u518a\u8ab2\u7a0b\uff1a", - "Successfully sent enrollment emails to the following users. They will be enrolled once they register:": "\u6210\u529f\u767c\u9001\u8ab2\u7a0b\u8a3b\u518a\u96fb\u5b50\u90f5\u4ef6\u3002\u4e00\u65e6\u5b8c\u6210\u5e33\u865f\u8a3b\u518a\uff0c\u4ee5\u4e0b\u4f7f\u7528\u8005\u5c07\u88ab\u8a3b\u518a\u65bc\u8ab2\u7a0b\u4e2d\uff1a", "Successfully unlinked.": "\u6210\u529f\u5730\u53d6\u6d88\u9023\u7d50\u3002", "Supported": "\u652f\u63f4", "TOTAL": "\u7e3d\u984d", @@ -667,10 +663,7 @@ "This image is for decorative purposes only and does not require a description.": "\u6b64\u5716\u7247\u50c5\u4f5c\u70ba\u8f14\u52a9\u7684\u7528\u9014\u4e26\u4e0d\u9700\u8981\u63cf\u8ff0\u3002", "This page contains information about orders that you have placed with {platform_name}.": "\u6b64\u9801\u5305\u542b\u60a8\u900f\u904e{platform_name}\u767c\u51fa\u7684\u8a02\u55ae\u7684\u76f8\u95dc\u8a0a\u606f\u3002", "This problem could not be saved.": "\u6b64\u554f\u984c\u7121\u6cd5\u5132\u5b58\u3002", - "This response could not be saved.": "\u4f5c\u7b54\u7121\u6cd5\u4fdd\u5b58\u3002", "This response could not be submitted.": "\u4f5c\u7b54\u7121\u6cd5\u63d0\u4ea4\u3002", - "This response has been saved but not submitted.": "\u9019\u4e00\u4efd\u4f5c\u7b54\u5df2\u7d93\u5132\u5b58\u4e86\uff0c\u4f46\u4ecd\u672a\u63d0\u4ea4\u3002", - "This response has not been saved.": "\u4f5c\u7b54\u5c1a\u672a\u5132\u5b58\u3002", "This section could not be loaded.": "\u9019\u500b\u90e8\u5206\u7121\u6cd5\u52a0\u8f09\u3002", "This team does not have any members.": "\u672c\u5718\u968a\u6c92\u6709\u6210\u54e1\u3002", "This team is full.": "\u9019\u500b\u5718\u968a\u5df2\u7d93\u6eff\u4e86\u3002", diff --git a/cms/static/js/models/location.js b/cms/static/js/models/location.js index 75b4ecb633e6..a359c4400cb0 100644 --- a/cms/static/js/models/location.js +++ b/cms/static/js/models/location.js @@ -9,6 +9,7 @@ define(['backbone', 'underscore'], function(Backbone, _) { }, toUrl: function(overrides) { return; + /* eslint-disable-next-line no-unused-expressions, no-unreachable */ (overrides && overrides.tag ? overrides.tag : this.get('tag')) + '://' + (overrides && overrides.org ? overrides.org : this.get('org')) + '/' + (overrides && overrides.course ? overrides.course : this.get('course')) + '/' @@ -16,6 +17,7 @@ define(['backbone', 'underscore'], function(Backbone, _) { + (overrides && overrides.name ? overrides.name : this.get('name')) + '/'; }, _tagPattern: /[^:]+/g, + // eslint-disable-next-line prefer-regex-literals _fieldPattern: new RegExp('[^/]+', 'g'), parse: function(payload) { diff --git a/cms/static/js/sock.js b/cms/static/js/sock.js index 1512ec51bc76..c932e1aa2bb1 100644 --- a/cms/static/js/sock.js +++ b/cms/static/js/sock.js @@ -2,8 +2,10 @@ import * as domReady from 'domReady'; import * as $ from 'jquery'; import 'jquery.smoothScroll'; +// eslint-disable-next-line no-unused-expressions 'use strict'; +// eslint-disable-next-line import/no-mutable-exports var toggleSock = function(e) { e.preventDefault(); @@ -38,4 +40,5 @@ domReady(function() { $('.cta-show-sock').bind('click', toggleSock); }); +// eslint-disable-next-line import/prefer-default-export export {toggleSock}; diff --git a/cms/static/js/spec/models/group_configuration_spec.js b/cms/static/js/spec/models/group_configuration_spec.js index be1de362d262..2206904bfa81 100644 --- a/cms/static/js/spec/models/group_configuration_spec.js +++ b/cms/static/js/spec/models/group_configuration_spec.js @@ -242,6 +242,7 @@ define([ var collection, injector, mockGettext, initializeGroupModel, cleanUp; mockGettext = function(returnedValue) { + // eslint-disable-next-line no-shadow var injector = new Squire(); injector.mock('gettext', function() { @@ -258,6 +259,7 @@ define([ injector = mockGettext(dict); injector.require(['js/collections/group'], + // eslint-disable-next-line no-shadow function(GroupCollection) { collection = new GroupCollection(); deferred.resolve(collection); @@ -273,6 +275,7 @@ define([ }; it('returns correct ids', function() { + // eslint-disable-next-line no-shadow var collection = new GroupCollection(); expect(collection.getGroupId(0)).toBe('A'); @@ -287,6 +290,7 @@ define([ it('just 1 character in the dictionary', function(done) { initializeGroupModel('1') + // eslint-disable-next-line no-shadow .then(function(collection) { expect(collection.getGroupId(0)).toBe('1'); expect(collection.getGroupId(1)).toBe('11'); @@ -300,6 +304,7 @@ define([ it('allow to use unicode characters in the dict', function(done) { initializeGroupModel('ö诶úeœ') + // eslint-disable-next-line no-shadow .then(function(collection) { expect(collection.getGroupId(0)).toBe('ö'); expect(collection.getGroupId(1)).toBe('诶'); @@ -316,6 +321,7 @@ define([ it('return initial value if dictionary is empty', function(done) { initializeGroupModel('') + // eslint-disable-next-line no-shadow .then(function(collection) { expect(collection.getGroupId(0)).toBe('0'); expect(collection.getGroupId(5)).toBe('5'); diff --git a/cms/static/js/spec/utils/handle_iframe_binding_spec.js b/cms/static/js/spec/utils/handle_iframe_binding_spec.js index 9cf632161af9..ada1844e8248 100644 --- a/cms/static/js/spec/utils/handle_iframe_binding_spec.js +++ b/cms/static/js/spec/utils/handle_iframe_binding_spec.js @@ -48,6 +48,7 @@ define( }); it('does nothing on tinymce iframe', function() { + // eslint-disable-next-line no-script-url verify_no_modification('javascript:'); }); }); diff --git a/cms/static/js/spec/video/transcripts/message_manager_spec.js b/cms/static/js/spec/video/transcripts/message_manager_spec.js index aa09ebf4000e..9306cdfe81a6 100644 --- a/cms/static/js/spec/video/transcripts/message_manager_spec.js +++ b/cms/static/js/spec/video/transcripts/message_manager_spec.js @@ -154,6 +154,7 @@ define( describe('processCommand', function() { var action = 'replace', errorMessage = 'errorMessage', + // eslint-disable-next-line no-void videoList = void 0, extraParamas = 'video_id'; @@ -175,6 +176,7 @@ define( var defaults = { action: 'replace', errorMessage: 'errorMessage', + // eslint-disable-next-line no-void extraParamas: void 0 }; var args = $.extend({}, defaults, config); @@ -201,6 +203,7 @@ define( action, view.component_locator, videoList, + // eslint-disable-next-line no-void void 0 ); expect(view.showError).not.toHaveBeenCalled(); @@ -251,6 +254,7 @@ define( action, view.component_locator, videoList, + // eslint-disable-next-line no-void void 0 ); expect(view.showError).toHaveBeenCalled(); diff --git a/cms/static/js/spec/video/transcripts/utils_spec.js b/cms/static/js/spec/video/transcripts/utils_spec.js index 13f948bbbd2a..1423c7c875c5 100644 --- a/cms/static/js/spec/video/transcripts/utils_spec.js +++ b/cms/static/js/spec/video/transcripts/utils_spec.js @@ -219,6 +219,7 @@ define( }); it('Method: getYoutubeLink', function() { + // eslint-disable-next-line no-shadow var videoId = 'video_id', result = Utils.getYoutubeLink(videoId), expectedResult = 'http://youtu.be/' + videoId; @@ -262,6 +263,7 @@ define( describe('Wrong arguments ', function() { it('youtube videoId is wrong', function() { + // eslint-disable-next-line no-shadow var videoId = 'wrong_id', link = 'http://youtu.be/' + videoId, result = Utils.parseLink(link); diff --git a/cms/static/js/spec/views/module_edit_spec.js b/cms/static/js/spec/views/module_edit_spec.js index a96bbad99594..301d31441880 100644 --- a/cms/static/js/spec/views/module_edit_spec.js +++ b/cms/static/js/spec/views/module_edit_spec.js @@ -14,6 +14,7 @@ describe('ModuleEdit', function() { + '
  • \n' + '
    \n' + '
    \n' + // eslint-disable-next-line no-template-curly-in-string + ' ${editor}\n' + '
    \n' + ' Save\n' @@ -73,6 +74,7 @@ describe('ModuleEdit', function() { window.MockXBlock = function() { return {}; }; + // eslint-disable-next-line no-void window.loadedXBlockResources = void 0; this.moduleEdit.render(); return $.ajax.calls.mostRecent().args[0].success({ diff --git a/cms/static/js/spec/views/move_xblock_spec.js b/cms/static/js/spec/views/move_xblock_spec.js index fa1eaba99b43..e32f8a043fc2 100644 --- a/cms/static/js/spec/views/move_xblock_spec.js +++ b/cms/static/js/spec/views/move_xblock_spec.js @@ -12,6 +12,7 @@ import XBlockInfo from 'js/models/xblock_info'; import Course from 'js/models/course'; import 'mock-ajax'; +// eslint-disable-next-line padded-blocks describe('MoveXBlock', function() { 'use strict'; @@ -396,6 +397,7 @@ describe('MoveXBlock', function() { expectedData, sourceIndex = sourceIndex || 0; // eslint-disable-line no-redeclare + // eslint-disable-next-line no-multi-assign responseData = expectedData = { move_source_locator: xblockLocator, parent_locator: modal.targetParentXBlockInfo.id diff --git a/cms/static/js/spec/views/pages/container_spec.js b/cms/static/js/spec/views/pages/container_spec.js index 642d092de455..f84efdca89b6 100644 --- a/cms/static/js/spec/views/pages/container_spec.js +++ b/cms/static/js/spec/views/pages/container_spec.js @@ -97,6 +97,7 @@ function parameterized_suite(label, globalPageOptions) { AjaxHelpers.respondWithJson(requests, options || {}); }; + // eslint-disable-next-line no-shadow handleContainerPageRefresh = function(requests) { var request = AjaxHelpers.currentRequest(requests); expect(str.startsWith(request.url, @@ -551,10 +552,12 @@ function parameterized_suite(label, globalPageOptions) { describe('Previews', function() { var getButtonIcon, getButtonText; + // eslint-disable-next-line no-shadow getButtonIcon = function(containerPage) { return containerPage.$('.action-toggle-preview .fa'); }; + // eslint-disable-next-line no-shadow getButtonText = function(containerPage) { return containerPage.$('.action-toggle-preview .preview-text').text().trim(); }; diff --git a/cms/static/js/spec/views/pages/course_outline_spec.js b/cms/static/js/spec/views/pages/course_outline_spec.js index 195e5702d093..ed1124d46589 100644 --- a/cms/static/js/spec/views/pages/course_outline_spec.js +++ b/cms/static/js/spec/views/pages/course_outline_spec.js @@ -241,6 +241,7 @@ describe('CourseOutlinePage', function() { }; it('can be published', function() { + // eslint-disable-next-line no-shadow var mockCourseJSON = getMockCourseJSON({ has_changes: true }); @@ -256,6 +257,7 @@ describe('CourseOutlinePage', function() { }); it('should show publish button if it is not published and not changed', function() { + // eslint-disable-next-line no-shadow var mockCourseJSON = getMockCourseJSON({ has_changes: false, published: false @@ -264,6 +266,7 @@ describe('CourseOutlinePage', function() { }); it('should show publish button if it is published and changed', function() { + // eslint-disable-next-line no-shadow var mockCourseJSON = getMockCourseJSON({ has_changes: true, published: true @@ -272,6 +275,7 @@ describe('CourseOutlinePage', function() { }); it('should show publish button if it is not published, but changed', function() { + // eslint-disable-next-line no-shadow var mockCourseJSON = getMockCourseJSON({ has_changes: true, published: false @@ -280,6 +284,7 @@ describe('CourseOutlinePage', function() { }); it('should hide publish button if it is not changed, but published', function() { + // eslint-disable-next-line no-shadow var mockCourseJSON = getMockCourseJSON({ has_changes: false, published: true @@ -589,6 +594,7 @@ describe('CourseOutlinePage', function() { setSelfPaced(); }); + // eslint-disable-next-line prefer-const createCourse = function(sectionOptions, courseOptions) { createCourseOutlinePage(this, createMockCourseJSON(courseOptions, [ @@ -597,14 +603,17 @@ describe('CourseOutlinePage', function() { ); }; + // eslint-disable-next-line prefer-const createCourseWithHighlights = function(highlights) { createCourse({highlights: highlights}); }; + // eslint-disable-next-line prefer-const clickSaveOnModal = function() { $('.wrapper-modal-window .action-save').click(); }; + // eslint-disable-next-line prefer-const clickCancelOnModal = function() { $('.wrapper-modal-window .action-cancel').click(); }; @@ -1043,6 +1052,7 @@ describe('CourseOutlinePage', function() { }); it('can display a publish modal with a list of unpublished subsections and units', function() { + // eslint-disable-next-line no-shadow var mockCourseJSON = createMockCourseJSON({}, [ createMockSectionJSON({has_changes: true}, [ createMockSubsectionJSON({has_changes: true}, [ @@ -1319,6 +1329,7 @@ describe('CourseOutlinePage', function() { }); it('can show correct editors for self_paced course', function() { + // eslint-disable-next-line no-shadow var mockCourseJSON = createMockCourseJSON({}, [ createMockSectionJSON({}, [ createMockSubsectionJSON({}, []) @@ -2166,6 +2177,7 @@ describe('CourseOutlinePage', function() { }); it('can display a publish modal with a list of unpublished units', function() { + // eslint-disable-next-line no-shadow var mockCourseJSON = createMockCourseJSON({}, [ createMockSectionJSON({has_changes: true}, [ createMockSubsectionJSON({has_changes: true}, [ @@ -2193,6 +2205,7 @@ describe('CourseOutlinePage', function() { describe('Self Paced with Custom Personalized Learner Schedules (PLS)', function() { beforeEach(function() { + // eslint-disable-next-line no-shadow var mockCourseJSON = createMockCourseJSON({}, [ createMockSectionJSON({}, [ createMockSubsectionJSON({}, []) diff --git a/cms/static/js/spec/views/xblock_editor_spec.js b/cms/static/js/spec/views/xblock_editor_spec.js index 00ed6c985443..5791572ddde0 100644 --- a/cms/static/js/spec/views/xblock_editor_spec.js +++ b/cms/static/js/spec/views/xblock_editor_spec.js @@ -98,6 +98,7 @@ describe('XBlockEditorView', function() { it('can render a module with only settings', function() { var requests = AjaxHelpers.requests(this), + // eslint-disable-next-line no-shadow mockXModuleEditorHtml; mockXModuleEditorHtml = readFixtures('templates/mock/mock-xmodule-settings-only-editor.underscore'); diff --git a/cms/static/js/spec_helpers/edit_helpers.js b/cms/static/js/spec_helpers/edit_helpers.js index 0fa81b1e5a0b..acfdeff32344 100644 --- a/cms/static/js/spec_helpers/edit_helpers.js +++ b/cms/static/js/spec_helpers/edit_helpers.js @@ -12,6 +12,7 @@ import XModule from 'xmodule/js/src/xmodule'; import 'cms/js/main'; import 'xblock/cms.runtime.v1'; +// eslint-disable-next-line import/no-mutable-exports var installMockXBlock, uninstallMockXBlock, installMockXModule, uninstallMockXModule, mockComponentTemplates, installEditTemplates, showEditModal, verifyXBlockRequest; @@ -116,6 +117,7 @@ verifyXBlockRequest = function(requests, expectedJson) { expect(actualJson).toEqual(expectedJson); }; +// eslint-disable-next-line import/no-mutable-exports var editHelpers = $.extend(modal_helpers, { installMockXBlock: installMockXBlock, uninstallMockXBlock: uninstallMockXBlock, diff --git a/cms/static/js/utils/drag_and_drop.js b/cms/static/js/utils/drag_and_drop.js index 88c1301999c0..900523d37099 100644 --- a/cms/static/js/utils/drag_and_drop.js +++ b/cms/static/js/utils/drag_and_drop.js @@ -287,6 +287,7 @@ function($, ui, _, gettext, Draggabilly, ModuleUtils, NotificationView) { oldParentLocator = element.data('parent'), oldParentEle, saving, refreshParent; + // eslint-disable-next-line no-shadow refreshParent = function(element) { var refresh = element.data('refresh'); // If drop was into a collapsed parent, the parent will have been diff --git a/cms/static/js/utils/handle_iframe_binding.js b/cms/static/js/utils/handle_iframe_binding.js index b4527afd85d4..b7e904c47db0 100644 --- a/cms/static/js/utils/handle_iframe_binding.js +++ b/cms/static/js/utils/handle_iframe_binding.js @@ -33,6 +33,7 @@ define(['jquery'], function($) { // The TinyMCE editor is hosted in an iframe, and before the iframe is // removed we execute this code. To avoid throwing an error when setting the // attr, check that the source doesn't start with the value specified by TinyMCE ('javascript:""'). + // eslint-disable-next-line no-script-url else if (ifr_source.lastIndexOf('javascript:', 0) !== 0) { $(this).attr('src', ifr_source + '?' + wmode); } diff --git a/cms/static/js/views/assets.js b/cms/static/js/views/assets.js index 5aaccda82f9e..6d4806418797 100644 --- a/cms/static/js/views/assets.js +++ b/cms/static/js/views/assets.js @@ -183,15 +183,18 @@ function($, _, gettext, HtmlUtils, BaseView, AssetModel, PagingView, AssetView, type: 'POST', maxChunkSize: self.uploadChunkSizeInBytes, autoUpload: true, + // eslint-disable-next-line no-shadow progressall: function(event, data) { var percentComplete = parseInt((100 * data.loaded) / data.total, 10); self.showUploadFeedback(event, percentComplete); }, maxFileSize: self.maxFileSizeInBytes, maxNumberofFiles: 100, + // eslint-disable-next-line no-shadow done: function(event, data) { self.displayFinishedUpload(data.result); }, + // eslint-disable-next-line no-shadow processfail: function(event, data) { var filename = data.files[data.index].name; var error = gettext('File {filename} exceeds maximum size of {maxFileSizeInMBs} MB') @@ -216,6 +219,7 @@ function($, _, gettext, HtmlUtils, BaseView, AssetModel, PagingView, AssetView, msg: gettext('Max file size exceeded') }); }, + // eslint-disable-next-line no-shadow processdone: function(event, data) { self.largeFileErrorMsg = null; } diff --git a/cms/static/js/views/baseview.js b/cms/static/js/views/baseview.js index c7da2bac6603..3893269e6fba 100644 --- a/cms/static/js/views/baseview.js +++ b/cms/static/js/views/baseview.js @@ -38,6 +38,7 @@ function($, _, Backbone, gettext, IframeUtils, TemplateUtils, ViewUtils) { if (!Math.trunc) { Math.trunc = function(v) { v = +v; // eslint-disable-line no-param-reassign + // eslint-disable-next-line no-mixed-operators, no-nested-ternary return (v - v % 1) || (!isFinite(v) || v === 0 ? v : v < 0 ? -0 : 0); }; } @@ -45,7 +46,7 @@ function($, _, Backbone, gettext, IframeUtils, TemplateUtils, ViewUtils) { var _this = this; // xss-lint: disable=javascript-jquery-insertion - this.render = _.wrap(this.render, function(render, options) { + this.render = _.wrap(this.render, function(render, options) { // eslint-disable-line no-shadow _this.beforeRender(); render(options); _this.afterRender(); diff --git a/cms/static/js/views/course_info_edit.js b/cms/static/js/views/course_info_edit.js index aab15d4f91f9..840ebf8939b0 100644 --- a/cms/static/js/views/course_info_edit.js +++ b/cms/static/js/views/course_info_edit.js @@ -12,12 +12,14 @@ define(['js/views/baseview', 'js/views/course_info_update', 'js/views/course_inf render: function() { // instantiate the ClassInfoUpdateView and delegate the proper dom to it + // eslint-disable-next-line no-new new CourseInfoUpdateView({ el: $('body.updates'), collection: this.model.get('updates'), base_asset_url: this.model.get('base_asset_url') }); + // eslint-disable-next-line no-new new CourseInfoHandoutView({ el: this.$('#course-handouts-view'), model: this.model.get('handouts'), diff --git a/cms/static/js/views/course_outline.js b/cms/static/js/views/course_outline.js index 3eeeff5b1e07..d8ae241a37fa 100644 --- a/cms/static/js/views/course_outline.js +++ b/cms/static/js/views/course_outline.js @@ -8,10 +8,11 @@ * - changes cause a refresh of the entire section rather than just the view for the changed xblock * - adding units will automatically redirect to the unit page rather than showing them inline */ -define(['jquery', 'underscore', 'js/views/xblock_outline', 'common/js/components/utils/view_utils', 'js/views/utils/xblock_utils', +define(['jquery', 'underscore', 'js/views/xblock_outline', 'edx-ui-toolkit/js/utils/string-utils', + 'common/js/components/utils/view_utils', 'js/views/utils/xblock_utils', 'js/models/xblock_outline_info', 'js/views/modals/course_outline_modals', 'js/utils/drag_and_drop'], function( - $, _, XBlockOutlineView, ViewUtils, XBlockViewUtils, + $, _, XBlockOutlineView, StringUtils, ViewUtils, XBlockViewUtils, XBlockOutlineInfo, CourseOutlineModalsFactory, ContentDragger ) { var CourseOutlineView = XBlockOutlineView.extend({ @@ -22,6 +23,8 @@ function( render: function() { var renderResult = XBlockOutlineView.prototype.render.call(this); this.makeContentDraggable(this.el); + // Show/hide the paste button + this.initializePasteButton(this.el); return renderResult; }, @@ -48,6 +51,7 @@ function( refresh: function(viewState) { var getViewToRefresh, view, expandedLocators; + // eslint-disable-next-line no-shadow getViewToRefresh = function(view) { if (view.model.isChapter() || !view.parentView) { return view; @@ -201,6 +205,198 @@ function( } }, + /** Copy a Unit to the clipboard */ + copyXBlock() { + const clipboardEndpoint = "/api/content-staging/v1/clipboard/"; + // Start showing a "Copying" notification: + ViewUtils.runOperationShowingMessage(gettext('Copying'), () => { + return $.postJSON( + clipboardEndpoint, + { usage_key: this.model.get('id') } + ).then((data) => { + // const status = data.content?.status; + const status = data.content && data.content.status; + // ^ platform's old require.js/esprima breaks on newer syntax in some JS files but not all. + if (status === "ready") { + // The Unit has been copied and is ready to use. + this.clipboardManager.updateUserClipboard(data); // This will update the UI and notify other tabs + return data; + } else if (status === "loading") { + // The clipboard is being loaded asynchronously. + // Poll the endpoint until the copying process is complete: + const deferred = $.Deferred(); + const checkStatus = () => { + $.getJSON(clipboardEndpoint, (pollData) => { + // const newStatus = pollData.content?.status; + const newStatus = pollData.content && pollData.content.status; + if (newStatus === "ready") { + this.clipboardManager.updateUserClipboard(pollData); + deferred.resolve(pollData); + } else if (newStatus === "loading") { + setTimeout(checkStatus, 1000); + } else { + deferred.reject(); + throw new Error(`Unexpected clipboard status "${newStatus}" in successful API response.`); + } + }) + } + setTimeout(checkStatus, 1000); + return deferred; + } else { + throw new Error(`Unexpected clipboard status "${status}" in successful API response.`); + } + }); + }); + }, + + initializePasteButton(element) { + if ($(element).hasClass('outline-subsection')) { + if (this.options.canEdit && this.clipboardManager) { + // We should have the user's clipboard status from CourseOutlinePage, whose clipboardManager manages + // the clipboard data on behalf of all the XBlocks in the outline. + this.refreshPasteButton(this.clipboardManager.userClipboard); + this.clipboardManager.addEventListener("update", (event) => { + this.refreshPasteButton(event.detail); + }); + } else { + this.$(".paste-component").hide(); + } + } + }, + + /** + * Given the latest information about the user's clipboard, hide or show the Paste button as appropriate. + */ + refreshPasteButton(data) { + // 'data' is the same data returned by the "get clipboard status" API endpoint + // i.e. /api/content-staging/v1/clipboard/ + if (this.options.canEdit && data.content) { + if (data.content.status === "expired") { + // This has expired and can no longer be pasted. + this.$(".paste-component").hide(); + } else if (data.content.block_type === 'vertical') { + // This is suitable for pasting as a unit. + const detailsPopupEl = this.$(".clipboard-details-popup")[0]; + // Only Units should have the paste button initialized + if (detailsPopupEl !== undefined) { + const detailsPopupEl = this.$(".clipboard-details-popup")[0]; + detailsPopupEl.querySelector(".detail-block-name").innerText = data.content.display_name; + detailsPopupEl.querySelector(".detail-block-type").innerText = data.content.block_type_display; + detailsPopupEl.querySelector(".detail-course-name").innerText = data.source_context_title; + if (data.source_edit_url) { + detailsPopupEl.setAttribute("href", data.source_edit_url); + detailsPopupEl.classList.remove("no-edit-link"); + } else { + detailsPopupEl.setAttribute("href", "#"); + detailsPopupEl.classList.add("no-edit-link"); + } + this.$('.paste-component').show() + } + + } else { + this.$('.paste-component').hide() + } + + } else { + this.$('.paste-component').hide(); + } + }, + + createPlaceholderElementForPaste(category, componentDisplayName) { + const nameStr = StringUtils.interpolate(gettext("Copy of '{componentDisplayName}'"), { componentDisplayName }, true); + const el = document.createElement("li"); + el.classList.add("outline-item", "outline-" + category, "has-warnings", "is-draggable"); + el.innerHTML = ` +
    +

    + + ${nameStr} + +

    +
    + +
    +
    + `; + return $(el); + }, + + /** The user has clicked on the "Paste Unit button" */ + pasteUnit(event) { + // event.preventDefault(); + // Get the ID of the parent container (a subsection if we're pasting a unit/vertical) that we're pasting into + const $parentElement = $(event.target).closest('.outline-item'); + const parentLocator = $parentElement.data('locator'); + // Get the display name of what we're pasting: + const displayName = $(event.target).closest('.paste-component').find('.detail-block-name').text(); + // Create a placeholder XBlock while we're pasting: + const $placeholderEl = this.createPlaceholderElementForPaste('unit', displayName); + const $listPanel = $(event.target).closest('.outline-content').children('ol').first(); + $listPanel.append($placeholderEl); + + // Start showing a "Pasting" notification: + ViewUtils.runOperationShowingMessage(gettext('Pasting'), () => { + return $.postJSON(this.model.urlRoot + '/', { + parent_locator: parentLocator, + staged_content: "clipboard", + }).then((data) => { + this.refresh(); // Update this and replace the placeholder with the actual pasted unit. + return data; + }).fail(() => { + $placeholderEl.remove(); + }); + }).done((data) => { + const { + conflicting_files: conflictingFiles, + error_files: errorFiles, + new_files: newFiles, + } = data.static_file_notices; + + const notices = []; + if (errorFiles.length) { + notices.push((next) => new PromptView.Error({ + title: gettext("Some errors occurred"), + message: ( + gettext("The following required files could not be added to the course:") + + " " + errorFiles.join(", ") + ), + actions: {primary: {text: gettext("OK"), click: (x) => { x.hide(); next(); }}}, + })); + } + if (conflictingFiles.length) { + notices.push((next) => new PromptView.Warning({ + title: gettext("You may need to update a file(s) manually"), + message: ( + gettext( + "The following files already exist in this course but don't match the " + + "version used by the component you pasted:" + ) + " " + conflictingFiles.join(", ") + ), + actions: {primary: {text: gettext("OK"), click: (x) => { x.hide(); next(); }}}, + })); + } + if (newFiles.length) { + notices.push(() => new NotificationView.Confirmation({ + title: gettext("New files were added to this course's Files & Uploads"), + message: ( + gettext("The following required files were imported to this course:") + + " " + newFiles.join(", ") + ), + closeIcon: true, + })); + } + if (notices.length) { + // Show the notices, one at a time: + const showNext = () => { + const view = notices.shift()(showNext); + view.show(); + } + // Delay to avoid conflict with the "Pasting..." notification. + setTimeout(showNext, 1250); + } + }); + }, + highlightsXBlock: function() { var modal = CourseOutlineModalsFactory.getModal('highlights', this.model, { onSave: this.refresh.bind(this), @@ -215,6 +411,23 @@ function( } }, + /** + * If the new "Actions" menu is enabled, most actions like Configure, + * Duplicate, Move, Delete, etc. are moved into this menu. For this + * event, we just toggle displaying the menu. + * @param {*} event + */ + showActionsMenu(event) { + const showActionsButton = event.currentTarget; + const subMenu = showActionsButton.parentElement.querySelector(".wrapper-nav-sub"); + // Code in 'base.js' normally handles toggling these dropdowns but since this one is + // not present yet during the domReady event, we have to handle displaying it ourselves. + subMenu.classList.toggle("is-shown"); + // if propagation is not stopped, the event will bubble up to the + // body element, which will close the dropdown. + event.stopPropagation(); + }, + addButtonActions: function(element) { XBlockOutlineView.prototype.addButtonActions.apply(this, arguments); element.find('.configure-button').click(function(event) { @@ -231,6 +444,17 @@ function( this.highlightsXBlock(); } }.bind(this)); + element.find('.copy-button').click((event) => { + event.preventDefault(); + this.copyXBlock(); + }); + element.find('.paste-component-button').click((event) => { + event.preventDefault(); + this.pasteUnit(event); + }); + element.find('.action-actions-menu').click((event) => { + this.showActionsMenu(event); + }); }, makeContentDraggable: function(element) { diff --git a/cms/static/js/views/course_video_settings.js b/cms/static/js/views/course_video_settings.js index 4fe5586e120a..265efa45cf8b 100644 --- a/cms/static/js/views/course_video_settings.js +++ b/cms/static/js/views/course_video_settings.js @@ -153,6 +153,7 @@ function($, Backbone, _, gettext, moment, ViewUtils, HtmlUtils, StringUtils, Tra this.clearPreferenceErrorState($fidelityContainer); // Clear active and selected languages. + // eslint-disable-next-line no-multi-assign this.selectedLanguages = this.activeLanguages = []; // Also clear selected language. this.selectedVideoSourceLanguage = ''; @@ -167,6 +168,7 @@ function($, Backbone, _, gettext, moment, ViewUtils, HtmlUtils, StringUtils, Tra this.clearPreferenceErrorState($videoSourceLanguageContainer); // Clear active and selected languages. + // eslint-disable-next-line no-multi-assign this.selectedLanguages = this.activeLanguages = []; this.renderTargetLanguages(); }, @@ -236,6 +238,7 @@ function($, Backbone, _, gettext, moment, ViewUtils, HtmlUtils, StringUtils, Tra $(event.target.parentElement).parent().remove(); // Remove language from selected languages. + // eslint-disable-next-line no-multi-assign this.selectedLanguages = this.activeLanguages = _.without(this.selectedLanguages, selectedLanguage); // Populate menu again to reflect latest changes. diff --git a/cms/static/js/views/list.js b/cms/static/js/views/list.js index 714eb5f10a19..4d411845242d 100644 --- a/cms/static/js/views/list.js +++ b/cms/static/js/views/list.js @@ -50,6 +50,7 @@ define([ }); edx.HtmlUtils.setHtml(this.$el, edx.HtmlUtils.HTML(template)); + // eslint-disable-next-line no-shadow this.collection.each(function(model) { this.$(this.listContainerCss).append( this.createItemView({model: model, restrictEditing: this.restrictEditing}).render().el diff --git a/cms/static/js/views/manage_users_and_roles.js b/cms/static/js/views/manage_users_and_roles.js index fd34945c67b2..e83453a62b05 100644 --- a/cms/static/js/views/manage_users_and_roles.js +++ b/cms/static/js/views/manage_users_and_roles.js @@ -105,6 +105,7 @@ function($, _, gettext, BaseView, PromptView, ViewUtils, HtmlUtils) { var role_name = self.options.roles[i].key; var role_selector = 'click .user-actions .make-' + role_name; + // eslint-disable-next-line no-loop-func (function(role) { roleEvents[role_selector] = function(event) { self.handleRoleButtonClick(event.target, role); }; }(role_name)); @@ -169,6 +170,7 @@ function($, _, gettext, BaseView, PromptView, ViewUtils, HtmlUtils) { getPossibleRoleChangesForRole: function(role, adminRoleCount) { var result = [], + // eslint-disable-next-line no-shadow role_names = _.map(this.roles, function(role) { return role.key; }); if (role === this.admin_role.key && adminRoleCount === 1) { result.push({notoggle: true}); @@ -177,6 +179,7 @@ function($, _, gettext, BaseView, PromptView, ViewUtils, HtmlUtils) { // in reverse order to show "Add" buttons to the left, "Remove" to the right for (var i = this.roles.length - 1; i >= 0; i--) { var other_role = this.roles[i]; + // eslint-disable-next-line no-continue if (Math.abs(currentRoleIdx - i) !== 1) { continue; } // allows moving only to adjacent roles result.push({ to_role: other_role.key, diff --git a/cms/static/js/views/metadata.js b/cms/static/js/views/metadata.js index 3c5fa598117d..1dda68b30947 100644 --- a/cms/static/js/views/metadata.js +++ b/cms/static/js/views/metadata.js @@ -189,6 +189,7 @@ define( this.max = Number(options[max]); this.$el.find('input').attr(max, numToString(this.max)); } + // eslint-disable-next-line no-undef-init var stepValue = undefined; if (options.hasOwnProperty(step)) { // Parse step and convert to String. Polyfill doesn't like float values like ".1" (expects "0.1"). @@ -234,7 +235,9 @@ define( // This first filtering if statement is take from polyfill to prevent // non-numeric input (for browsers that don't use polyfill because they DO have a number input type). var _ref, _ref1; + // eslint-disable-next-line no-cond-assign if (((_ref = e.keyCode) !== 8 && _ref !== 9 && _ref !== 35 && _ref !== 36 && _ref !== 37 && _ref !== 39) + // eslint-disable-next-line no-cond-assign && ((_ref1 = e.which) !== 45 && _ref1 !== 46 && _ref1 !== 48 && _ref1 !== 49 && _ref1 !== 50 && _ref1 !== 51 && _ref1 !== 52 && _ref1 !== 53 && _ref1 !== 54 && _ref1 !== 55 && _ref1 !== 56 && _ref1 !== 57)) { e.preventDefault(); @@ -444,6 +447,7 @@ define( }).reverse(); seconds = _.reduce(list, function(memo, num, index) { + // eslint-disable-next-line prefer-exponentiation-operator, no-restricted-properties return memo + num * Math.pow(60, index); }, 0); @@ -515,6 +519,7 @@ define( var list = this.$el.find('ol'), frag = document.createDocumentFragment(); + // eslint-disable-next-line no-shadow _.each(value, function(value, key) { var template = _.template( HtmlUtils.joinHtml( diff --git a/cms/static/js/views/modals/course_outline_modals.js b/cms/static/js/views/modals/course_outline_modals.js index 492bd4b7d0bd..d00af0a537f2 100644 --- a/cms/static/js/views/modals/course_outline_modals.js +++ b/cms/static/js/views/modals/course_outline_modals.js @@ -133,6 +133,7 @@ define(['jquery', 'backbone', 'underscore', 'gettext', 'js/views/baseview', tabsTemplate = this.loadTemplate('settings-modal-tabs'); HtmlUtils.setHtml(this.$('.modal-section'), HtmlUtils.HTML(tabsTemplate({tabs: tabs}))); _.each(this.options.tabs, function(tab) { + // eslint-disable-next-line prefer-spread this.options.editors.push.apply( this.options.editors, _.map(tab.editors, function(Editor) { @@ -606,6 +607,7 @@ define(['jquery', 'backbone', 'underscore', 'gettext', 'js/views/baseview', this.$('.field-exam-review-rules textarea').val(value); }, isValidTimeLimit: function(timeLimit) { + // eslint-disable-next-line prefer-regex-literals var pattern = new RegExp('^\\d{1,2}:[0-5][0-9]$'); return pattern.test(timeLimit) && timeLimit !== '00:00'; }, @@ -948,6 +950,7 @@ define(['jquery', 'backbone', 'underscore', 'gettext', 'js/views/baseview', } else { $('.un-published-tip').show(); } + // eslint-disable-next-line prefer-const let enabledForGraded = course.get('discussions_settings').enable_graded_units; if (this.model.get('graded') && !enabledForGraded) { $('#discussion_enabled').prop('disabled', true); @@ -1032,6 +1035,7 @@ define(['jquery', 'backbone', 'underscore', 'gettext', 'js/views/baseview', } else { display = 'none'; } + // eslint-disable-next-line no-shadow $.each(warning, function(_, element) { element.style.display = display; }); diff --git a/cms/static/js/views/module_edit.js b/cms/static/js/views/module_edit.js index fe3bba582127..f58f02a9c94f 100644 --- a/cms/static/js/views/module_edit.js +++ b/cms/static/js/views/module_edit.js @@ -23,6 +23,7 @@ var ModuleEdit = (function(_super) { __extends(ModuleEdit, _super); + // eslint-disable-next-line no-shadow function ModuleEdit() { return ModuleEdit.__super__.constructor.apply(this, arguments); } diff --git a/cms/static/js/views/pages/course_outline.js b/cms/static/js/views/pages/course_outline.js index 31227f4aa1d9..dd1c13eda9fc 100644 --- a/cms/static/js/views/pages/course_outline.js +++ b/cms/static/js/views/pages/course_outline.js @@ -13,6 +13,43 @@ function($, _, gettext, BasePage, XBlockViewUtils, CourseOutlineView, ViewUtils, var expandedLocators, CourseOutlinePage; + /** + * On the course outline page, many different UI elements (for now, every unit on the page) need to know the status + * of the user's clipboard. This singleton manages the state of the user's clipboard and can emit events whenever + * the clipboard is changed, whether from another tab or some action the user took on this page. + */ + class ClipboardManager extends EventTarget { + constructor(initialUserClipboard) { + super(); + this._userClipboard = initialUserClipboard; + // Refresh the status when something is copied on another tab: + this.clipboardBroadcastChannel = new BroadcastChannel("studio_clipboard_channel"); + this.clipboardBroadcastChannel.onmessage = (event) => { + this.updateUserClipboard(event.data, false); + }; + } + + /** + * Get the data about the user's clipboard. This is exactly the same as + * what would be returned from the "get clipboard" REST API. + */ + get userClipboard() { + return this._userClipboard; + } + + updateUserClipboard(newUserClipboard, broadcast = true) { + this._userClipboard = newUserClipboard; + // Emit an "updated" event so listeners can subscribe. This is different than the broadcast channel + // because this only works within the DOM of a single tab, not across all open tabs that the user has. + // In other words, this event trickles down to each section, subsection, and unit view on the outline page. + this.dispatchEvent(new CustomEvent("update", {detail: newUserClipboard})); + // But also notify listeners on other tabs: + if (broadcast) { + this.clipboardBroadcastChannel.postMessage(newUserClipboard); // And notify any other open tabs + } + } + } + CourseOutlinePage = BasePage.extend({ // takes XBlockInfo as a model @@ -33,7 +70,8 @@ function($, _, gettext, BasePage, XBlockViewUtils, CourseOutlineView, ViewUtils, pollingDelay: 100, options: { - collapsedClass: 'is-collapsed' + collapsedClass: 'is-collapsed', + initialUserClipboard: {content: null}, }, // Extracting this to a variable allows comprehensive themes to replace or extend `CourseOutlineView`. @@ -53,6 +91,7 @@ function($, _, gettext, BasePage, XBlockViewUtils, CourseOutlineView, ViewUtils, $('.dismiss-button').bind('click', ViewUtils.deleteNotificationHandler(function() { $('.wrapper-alert-announcement').removeClass('is-shown').addClass('is-hidden'); })); + this.clipboardManager = new ClipboardManager(this.options.initialUserClipboard); }, setCollapseExpandVisibility: function() { @@ -66,6 +105,7 @@ function($, _, gettext, BasePage, XBlockViewUtils, CourseOutlineView, ViewUtils, }, renderPage: function() { + // eslint-disable-next-line no-shadow var setInitialExpandState = function(xblockInfo, expandedLocators) { if (xblockInfo.isCourse() || xblockInfo.isChapter()) { expandedLocators.add(xblockInfo.get('id')); @@ -109,7 +149,8 @@ function($, _, gettext, BasePage, XBlockViewUtils, CourseOutlineView, ViewUtils, model: this.model, isRoot: true, initialState: this.initialState, - expandedLocators: this.expandedLocators + expandedLocators: this.expandedLocators, + clipboardManager: this.clipboardManager, }); this.outlineView.render(); this.outlineView.setViewState(this.initialState || {}); diff --git a/cms/static/js/views/settings/advanced.js b/cms/static/js/views/settings/advanced.js index 0a3eaf82ae36..14f054bb37c8 100644 --- a/cms/static/js/views/settings/advanced.js +++ b/cms/static/js/views/settings/advanced.js @@ -82,6 +82,7 @@ function(ValidatingView, $, _, gettext, CodeMirror, ValidationErrorModal, HtmlUt var stringValue = $.trim(mirror.getValue()); // update CodeMirror to show the trimmed value. mirror.setValue(stringValue); + // eslint-disable-next-line no-undef-init var JSONValue = undefined; try { JSONValue = JSON.parse(stringValue); diff --git a/cms/static/js/views/settings/grading.js b/cms/static/js/views/settings/grading.js index 2148466a0ed6..ac4d170352a2 100644 --- a/cms/static/js/views/settings/grading.js +++ b/cms/static/js/views/settings/grading.js @@ -229,6 +229,7 @@ function(ValidatingView, _, $, ui, GraderView, StringUtils, HtmlUtils) { // set min/max widths var cachethis = this; var widthPerPoint = cachethis.gradeBarWidth / 100; + // eslint-disable-next-line no-shadow return function(event, ui) { var barIndex = ui.element.index(); var offset = 1; @@ -245,6 +246,7 @@ function(ValidatingView, _, $, ui, GraderView, StringUtils, HtmlUtils) { moveBarClosure: function() { // 0th ele doesn't have a bar; so, will never invoke this var cachethis = this; + // eslint-disable-next-line no-shadow return function(event, ui) { var barIndex = ui.element.index(); var offset = 1; @@ -254,6 +256,7 @@ function(ValidatingView, _, $, ui, GraderView, StringUtils, HtmlUtils) { : offset); // minus 2 b/c minus 1 is the element we're effecting. It's max is just shy of the next one above it var max = (barIndex >= 2 ? cachethis.descendingCutoffs[barIndex - 2].cutoff - offset : 100); + // eslint-disable-next-line no-mixed-operators var percentage = Math.min(Math.max(ui.size.width / cachethis.gradeBarWidth * 100, min), max); cachethis.descendingCutoffs[barIndex - 1].cutoff = Math.round(percentage); cachethis.renderGradeRanges(); @@ -272,6 +275,7 @@ function(ValidatingView, _, $, ui, GraderView, StringUtils, HtmlUtils) { stopDragClosure: function() { var cachethis = this; + // eslint-disable-next-line no-shadow return function(event, ui) { // for some reason the resize is setting height to 0 cachethis.saveCutoffs(); @@ -388,6 +392,7 @@ function(ValidatingView, _, $, ui, GraderView, StringUtils, HtmlUtils) { // Instrument grading scale // convert cutoffs to inversely ordered list var modelCutoffs = this.model.get('grade_cutoffs'); + // eslint-disable-next-line guard-for-in for (var cutoff in modelCutoffs) { this.descendingCutoffs.push({designation: cutoff, cutoff: Math.round(modelCutoffs[cutoff] * 100)}); } diff --git a/cms/static/js/views/settings/main.js b/cms/static/js/views/settings/main.js index ef728b616c81..4f3bf0bb2733 100644 --- a/cms/static/js/views/settings/main.js +++ b/cms/static/js/views/settings/main.js @@ -391,8 +391,11 @@ function(ValidatingView, CodeMirror, _, $, ui, DateUtils, FileUploadModel, if (!this.useV2CertDisplaySettings) { return; } + // eslint-disable-next-line prefer-const let showDatepicker = this.model.get('certificates_display_behavior') == 'end_with_date'; + // eslint-disable-next-line prefer-const let datepicker = this.$el.find('#certificate-available-date'); + // eslint-disable-next-line prefer-const let certificateAvailableDateField = this.$el.find('#field-certificate-available-date'); if (showDatepicker) { @@ -451,6 +454,7 @@ function(ValidatingView, CodeMirror, _, $, ui, DateUtils, FileUploadModel, selector = '', image_key = '', image_path_key = ''; + // eslint-disable-next-line default-case switch (event.currentTarget.id) { case 'upload-course-image': title = gettext('Upload your course image.'); diff --git a/cms/static/js/views/tabs.js b/cms/static/js/views/tabs.js index 70be63f9257c..129bec4d2b4b 100644 --- a/cms/static/js/views/tabs.js +++ b/cms/static/js/views/tabs.js @@ -28,6 +28,7 @@ TabsEdit = (function(_super) { __extends(TabsEdit, _super); + // eslint-disable-next-line no-shadow function TabsEdit() { var self = this; this.deleteTab = function() { diff --git a/cms/static/js/views/utils/create_library_utils.js b/cms/static/js/views/utils/create_library_utils.js index 3b8782f152cb..ad32a9e0afdc 100644 --- a/cms/static/js/views/utils/create_library_utils.js +++ b/cms/static/js/views/utils/create_library_utils.js @@ -27,6 +27,7 @@ define(['jquery', 'gettext', 'common/js/components/utils/view_utils', 'js/views/ if (detailedReason) { reason = detailedReason; } + // eslint-disable-next-line no-empty } catch (e) {} } errorHandler(reason); diff --git a/cms/static/js/views/validation.js b/cms/static/js/views/validation.js index 1cc8635ffb36..e193294ddd29 100644 --- a/cms/static/js/views/validation.js +++ b/cms/static/js/views/validation.js @@ -37,6 +37,7 @@ function(HtmlUtils, BaseView, _, $, gettext, NotificationView, AlertView) { handleValidationError: function(model, error) { this.clearValidationErrors(); // error is object w/ fields and error strings + // eslint-disable-next-line guard-for-in for (var field in error) { var ele = this.$el.find('#' + this.fieldToSelectorMap[field]); this._cacheValidationErrors.push(ele); diff --git a/cms/static/js/views/video/transcripts/file_uploader.js b/cms/static/js/views/video/transcripts/file_uploader.js index 5c635fdc4db1..e1fba9a9a8d3 100644 --- a/cms/static/js/views/video/transcripts/file_uploader.js +++ b/cms/static/js/views/video/transcripts/file_uploader.js @@ -130,6 +130,7 @@ define( checkExtValidity: function(file) { var fileExtension; if (!file.name) { + // eslint-disable-next-line no-void return void 0; } diff --git a/cms/static/js/views/video/transcripts/metadata_videolist.js b/cms/static/js/views/video/transcripts/metadata_videolist.js index 1cbf37467db6..961e9fd25906 100644 --- a/cms/static/js/views/video/transcripts/metadata_videolist.js +++ b/cms/static/js/views/video/transcripts/metadata_videolist.js @@ -223,8 +223,10 @@ define( } if (this.$extraVideosBar.hasClass('is-visible')) { + // eslint-disable-next-line prefer-spread this.closeExtraVideosBar.apply(this, arguments); } else { + // eslint-disable-next-line prefer-spread this.openExtraVideosBar.apply(this, arguments); } }, diff --git a/cms/static/js/views/video/transcripts/utils.js b/cms/static/js/views/video/transcripts/utils.js index fae39400bd65..e339626eb91f 100644 --- a/cms/static/js/views/video/transcripts/utils.js +++ b/cms/static/js/views/video/transcripts/utils.js @@ -84,6 +84,7 @@ define(['jquery', 'underscore', 'jquery.ajaxQueue'], function($) { return function(url) { if (typeof url !== 'string') { + // eslint-disable-next-line no-void return void 0; } @@ -92,6 +93,7 @@ define(['jquery', 'underscore', 'jquery.ajaxQueue'], function($) { } var match = url.match(regExp); + // eslint-disable-next-line no-void cache[url] = (match) ? match[1] : void 0; return cache[url]; @@ -114,6 +116,7 @@ define(['jquery', 'underscore', 'jquery.ajaxQueue'], function($) { return function(url) { if (typeof url !== 'string') { + // eslint-disable-next-line no-void return void 0; } @@ -169,6 +172,7 @@ define(['jquery', 'underscore', 'jquery.ajaxQueue'], function($) { result; if (typeof url !== 'string') { + // eslint-disable-next-line no-void return void 0; } diff --git a/cms/static/js/views/video/translations_editor.js b/cms/static/js/views/video/translations_editor.js index 89df139e7b92..26d0ee239090 100644 --- a/cms/static/js/views/video/translations_editor.js +++ b/cms/static/js/views/video/translations_editor.js @@ -56,6 +56,7 @@ define( getDropdown: (function() { var dropdown, disableOptions = function(element, values) { + // eslint-disable-next-line no-shadow var dropdown = $(element).clone(); _.each(values, function(value, key) { diff --git a/cms/static/js/views/xblock_outline.js b/cms/static/js/views/xblock_outline.js index c3ab7a8b0c2b..9ded8d66e91f 100644 --- a/cms/static/js/views/xblock_outline.js +++ b/cms/static/js/views/xblock_outline.js @@ -23,7 +23,8 @@ function($, _, gettext, BaseView, ViewUtils, XBlockViewUtils, XBlockStringFieldE // takes XBlockInfo as a model options: { - collapsedClass: 'is-collapsed' + collapsedClass: 'is-collapsed', + canEdit: true, // If not specified, assume user has permission to make changes }, templateName: 'xblock-outline', @@ -40,6 +41,7 @@ function($, _, gettext, BaseView, ViewUtils, XBlockViewUtils, XBlockStringFieldE this.parentView = this.options.parentView; this.renderedChildren = false; this.model.on('sync', this.onSync, this); + this.clipboardManager = this.options.clipboardManager; // May be undefined if not on the course outline page }, render: function() { @@ -110,7 +112,8 @@ function($, _, gettext, BaseView, ViewUtils, XBlockViewUtils, XBlockStringFieldE includesChildren: this.shouldRenderChildren(), hasExplicitStaffLock: this.model.get('has_explicit_staff_lock'), staffOnlyMessage: this.model.get('staff_only_message'), - course: course + course: course, + enableCopyPasteUnits: this.model.get("enable_copy_paste_units"), // ENABLE_COPY_PASTE_UNITS waffle flag }; }, @@ -218,7 +221,8 @@ function($, _, gettext, BaseView, ViewUtils, XBlockViewUtils, XBlockStringFieldE parentView: this, initialState: this.initialState, expandedLocators: this.expandedLocators, - template: this.template + template: this.template, + clipboardManager: this.clipboardManager, }, options)); }, diff --git a/cms/static/sass/elements/_modules.scss b/cms/static/sass/elements/_modules.scss index 1eb5be08ccef..4f7532c915e3 100644 --- a/cms/static/sass/elements/_modules.scss +++ b/cms/static/sass/elements/_modules.scss @@ -320,7 +320,7 @@ } } } -// New "Paste component" menu, shown on the Unit page to users with a component in their clipboard +// New "Paste component" menu, shown on the Unit and outline page to users with a component in their clipboard .paste-component { margin: $baseline ($baseline/2); @@ -454,6 +454,18 @@ $outline-indent-width: $baseline; } } +// The "Paste new [Unit/Section/Subsection]" button on the course outline page, visible only when clipboard has the right thing in it +.outline .paste-component { + margin: ($baseline/2) 0; // different margins for the "paste new unit/section/subsection" button on the outline vs. the unit page + + .paste-component-button { + // Also there is a smaller font size for this button on the outline vs. the unit page: + &.button { + font-size: 1.2rem; + } + } +} + %outline-item-status { @extend %t-copy-sub2; @@ -902,3 +914,22 @@ $outline-indent-width: $baseline; } } } + +// The "actions menu" for subsections, sections, and units on the Studio course outline page +.outline .actions-list.nav-dd .wrapper-nav-sub { + + @include text-align(left); // Undo the 'text-align: right' inherited from the parent + + z-index: 10; // stay in front of other components on the page. + + .nav-item { + a { + // Match styling of ".wrapper-header nav .nav-item a" (dropdowns in Studio header) + color: $gray-d1; + + &:hover { + color: $uxpl-blue-hover-active; + } + } + } +} diff --git a/cms/templates/course_outline.html b/cms/templates/course_outline.html index 915ec64da488..dfbfd76c499c 100644 --- a/cms/templates/course_outline.html +++ b/cms/templates/course_outline.html @@ -21,7 +21,8 @@ require(["js/factories/outline"], function (OutlineFactory) { OutlineFactory( ${course_structure | n, dump_js_escaped_json}, - ${initial_state | n, dump_js_escaped_json} + ${initial_state | n, dump_js_escaped_json}, + ${initial_user_clipboard | n, dump_js_escaped_json} ); }); diff --git a/cms/templates/js/course-outline.underscore b/cms/templates/js/course-outline.underscore index 87b59786a086..4c49c363f6a7 100644 --- a/cms/templates/js/course-outline.underscore +++ b/cms/templates/js/course-outline.underscore @@ -143,7 +143,7 @@ if (is_proctored_exam) { <% } else { %>
    <% } %> -
    - <% } %> + <% } %> <% } %>
    <% } %> diff --git a/common/djangoapps/course_modes/migrations/0016_alter_historicalcoursemode_options.py b/common/djangoapps/course_modes/migrations/0016_alter_historicalcoursemode_options.py new file mode 100644 index 000000000000..4cfd44d8b361 --- /dev/null +++ b/common/djangoapps/course_modes/migrations/0016_alter_historicalcoursemode_options.py @@ -0,0 +1,17 @@ +# Generated by Django 3.2.20 on 2023-08-08 09:44 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('course_modes', '0015_expiration_datetime_explicit_admin'), + ] + + operations = [ + migrations.AlterModelOptions( + name='historicalcoursemode', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical course mode', 'verbose_name_plural': 'historical course modes'}, + ), + ] diff --git a/common/djangoapps/entitlements/migrations/0016_auto_20230808_0944.py b/common/djangoapps/entitlements/migrations/0016_auto_20230808_0944.py new file mode 100644 index 000000000000..6f312ddb9635 --- /dev/null +++ b/common/djangoapps/entitlements/migrations/0016_auto_20230808_0944.py @@ -0,0 +1,21 @@ +# Generated by Django 3.2.20 on 2023-08-08 09:44 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('entitlements', '0015_add_unique_together_constraint'), + ] + + operations = [ + migrations.AlterModelOptions( + name='historicalcourseentitlement', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical course entitlement', 'verbose_name_plural': 'historical course entitlements'}, + ), + migrations.AlterModelOptions( + name='historicalcourseentitlementsupportdetail', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical course entitlement support detail', 'verbose_name_plural': 'historical course entitlement support details'}, + ), + ] diff --git a/common/djangoapps/entitlements/rest_api/v1/views.py b/common/djangoapps/entitlements/rest_api/v1/views.py index 6eaf24c3da9e..9442dae29ccd 100644 --- a/common/djangoapps/entitlements/rest_api/v1/views.py +++ b/common/djangoapps/entitlements/rest_api/v1/views.py @@ -565,11 +565,6 @@ def _process_revoke_and_downgrade_to_audit(self, course_entitlements, user_id, r entitled_course_ids) awarded_cert_course_ids, is_exception = get_courses_completion_status(username, entitled_course_ids) - log.info('B2C_SUBSCRIPTIONS: Got course completion response %s for user [%s] and entitled_course_ids %s', - awarded_cert_course_ids, - username, - entitled_course_ids) - if is_exception: # Trigger the retry task asynchronously log.exception('B2C_SUBSCRIPTIONS: Exception occurred while getting course completion status for user %s ' @@ -580,11 +575,6 @@ def _process_revoke_and_downgrade_to_audit(self, course_entitlements, user_id, r entitled_course_ids, username)) return - log.info('B2C_SUBSCRIPTIONS: Starting revoke_entitlements_and_downgrade_courses_to_audit for user [%s] and ' - 'awarded_cert_course_ids %s and revocable_entitlement_uuids %s', - username, - awarded_cert_course_ids, - revocable_entitlement_uuids) revoke_entitlements_and_downgrade_courses_to_audit(course_entitlements, username, awarded_cert_course_ids, revocable_entitlement_uuids) diff --git a/common/djangoapps/entitlements/tasks.py b/common/djangoapps/entitlements/tasks.py index 0adb2c333867..0dd8d363ddb3 100644 --- a/common/djangoapps/entitlements/tasks.py +++ b/common/djangoapps/entitlements/tasks.py @@ -162,6 +162,11 @@ def retry_revoke_subscriptions_verified_access(self, revocable_entitlement_uuids Task to process course access revoke and move to audit. This is called only if call to get_courses_completion_status fails due to any exception. """ + LOGGER.info("B2C_SUBSCRIPTIONS: Running retry_revoke_subscriptions_verified_access for user [%s]," + " entitlement_uuids %s and entitled_course_ids %s", + username, + revocable_entitlement_uuids, + entitled_course_ids) course_entitlements = CourseEntitlement.objects.filter(uuid__in=revocable_entitlement_uuids) course_entitlements = course_entitlements.select_related('user').select_related('enrollment_course_run') if course_entitlements.exists(): @@ -171,22 +176,17 @@ def retry_revoke_subscriptions_verified_access(self, revocable_entitlement_uuids countdown = 2 ** self.request.retries self.retry(countdown=countdown, max_retries=3) except MaxRetriesExceededError: - log.exception( + LOGGER.exception( 'B2C_SUBSCRIPTIONS: Failed to process retry_revoke_subscriptions_verified_access ' 'for user [%s] and entitlement_uuids %s', username, revocable_entitlement_uuids ) return - log.info('B2C_SUBSCRIPTIONS: Starting revoke_entitlements_and_downgrade_courses_to_audit for user [%s] and ' - 'awarded_cert_course_ids %s and revocable_entitlement_uuids %s from retry task', - username, - awarded_cert_course_ids, - revocable_entitlement_uuids) revoke_entitlements_and_downgrade_courses_to_audit(course_entitlements, username, awarded_cert_course_ids, revocable_entitlement_uuids) else: - log.info('B2C_SUBSCRIPTIONS: Entitlements not found for the provided entitlements uuids %s ' - 'for user [%s] duing the retry_revoke_subscriptions_verified_access task', - revocable_entitlement_uuids, - username) + LOGGER.info('B2C_SUBSCRIPTIONS: Entitlements not found for the provided entitlements uuids %s ' + 'for user [%s] duing the retry_revoke_subscriptions_verified_access task', + revocable_entitlement_uuids, + username) diff --git a/common/djangoapps/split_modulestore_django/migrations/0003_alter_historicalsplitmodulestorecourseindex_options.py b/common/djangoapps/split_modulestore_django/migrations/0003_alter_historicalsplitmodulestorecourseindex_options.py new file mode 100644 index 000000000000..8c6d41b7ad25 --- /dev/null +++ b/common/djangoapps/split_modulestore_django/migrations/0003_alter_historicalsplitmodulestorecourseindex_options.py @@ -0,0 +1,17 @@ +# Generated by Django 3.2.20 on 2023-08-08 09:44 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('split_modulestore_django', '0002_data_migration'), + ] + + operations = [ + migrations.AlterModelOptions( + name='historicalsplitmodulestorecourseindex', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical split modulestore course index', 'verbose_name_plural': 'historical Split modulestore course indexes'}, + ), + ] diff --git a/common/djangoapps/student/migrations/0045_auto_20230808_0944.py b/common/djangoapps/student/migrations/0045_auto_20230808_0944.py new file mode 100644 index 000000000000..912cca9f40cd --- /dev/null +++ b/common/djangoapps/student/migrations/0045_auto_20230808_0944.py @@ -0,0 +1,21 @@ +# Generated by Django 3.2.20 on 2023-08-08 09:44 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('student', '0044_courseenrollmentcelebration_celebrate_weekly_goal'), + ] + + operations = [ + migrations.AlterModelOptions( + name='historicalcourseenrollment', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical course enrollment', 'verbose_name_plural': 'historical course enrollments'}, + ), + migrations.AlterModelOptions( + name='historicalmanualenrollmentaudit', + options={'get_latest_by': ('history_date', 'history_id'), 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical manual enrollment audit', 'verbose_name_plural': 'historical manual enrollment audits'}, + ), + ] diff --git a/common/djangoapps/third_party_auth/management/commands/update_new_apple_ids_in_social_auth.py b/common/djangoapps/third_party_auth/management/commands/update_new_apple_ids_in_social_auth.py index cd804e6e426a..2d39fe83be7a 100644 --- a/common/djangoapps/third_party_auth/management/commands/update_new_apple_ids_in_social_auth.py +++ b/common/djangoapps/third_party_auth/management/commands/update_new_apple_ids_in_social_auth.py @@ -35,10 +35,18 @@ def handle(self, *args, **options): ).first() if user_social_auth: with transaction.atomic(): - user_social_auth.uid = apple_user_id_info.new_apple_id - user_social_auth.save() - log.info( - 'Replaced Apple ID %s with %s', - apple_user_id_info.old_apple_id, - apple_user_id_info.new_apple_id - ) + try: + user_social_auth.uid = apple_user_id_info.new_apple_id + user_social_auth.save() + log.info( + 'Replaced Apple ID %s with %s', + apple_user_id_info.old_apple_id, + apple_user_id_info.new_apple_id + ) + except Exception as e: # pylint: disable=broad-except + log.error( + 'An error occurred while replacing %s with %s. Error: %s', + apple_user_id_info.old_apple_id, + apple_user_id_info.new_apple_id, + str(e) + ) diff --git a/common/djangoapps/util/tests/test_db.py b/common/djangoapps/util/tests/test_db.py index 4a16c2a20aa6..4d13666462c0 100644 --- a/common/djangoapps/util/tests/test_db.py +++ b/common/djangoapps/util/tests/test_db.py @@ -3,6 +3,7 @@ from io import StringIO import ddt + from django.core.management import call_command from django.db.transaction import TransactionManagementError, atomic from django.test import TestCase, TransactionTestCase diff --git a/common/static/common/js/components/BlockBrowser/components/BlockBrowser/BlockBrowser.jsx b/common/static/common/js/components/BlockBrowser/components/BlockBrowser/BlockBrowser.jsx index 9012703ce8ad..2433db20d7a9 100644 --- a/common/static/common/js/components/BlockBrowser/components/BlockBrowser/BlockBrowser.jsx +++ b/common/static/common/js/components/BlockBrowser/components/BlockBrowser/BlockBrowser.jsx @@ -26,6 +26,7 @@ const BLOCK_TYPE_NAME = { }; const BlockType = PropTypes.shape({ + // eslint-disable-next-line react/forbid-prop-types children: PropTypes.array, display_name: PropTypes.string.isRequired, id: PropTypes.string.isRequired, @@ -33,6 +34,7 @@ const BlockType = PropTypes.shape({ type: PropTypes.string.isRequired, }); +// eslint-disable-next-line react/function-component-definition export const BlockList = ({ blocks, selectedBlock, onSelectBlock, onChangeRoot, }) => ( @@ -71,7 +73,9 @@ BlockList.defaultProps = { selectedBlock: null, }; +// eslint-disable-next-line react/function-component-definition export const BlockBrowser = ({ + // eslint-disable-next-line react/prop-types blocks, selectedBlock, onSelectBlock, onChangeRoot, className, }) => !!blocks && (
    diff --git a/common/static/common/js/components/BlockBrowser/components/BlockBrowser/BlockBrowser.test.jsx b/common/static/common/js/components/BlockBrowser/components/BlockBrowser/BlockBrowser.test.jsx index db4f47d65647..84a3e7a19302 100644 --- a/common/static/common/js/components/BlockBrowser/components/BlockBrowser/BlockBrowser.test.jsx +++ b/common/static/common/js/components/BlockBrowser/components/BlockBrowser/BlockBrowser.test.jsx @@ -1,3 +1,4 @@ +// eslint-disable-next-line no-redeclare /* global jest,test,describe,expect */ import React from 'react'; import renderer from 'react-test-renderer'; diff --git a/common/static/common/js/components/BlockBrowser/data/reducers/index.js b/common/static/common/js/components/BlockBrowser/data/reducers/index.js index 64e0bdca88ae..b5c9a8420dc1 100644 --- a/common/static/common/js/components/BlockBrowser/data/reducers/index.js +++ b/common/static/common/js/components/BlockBrowser/data/reducers/index.js @@ -4,6 +4,7 @@ import courseBlocksActions from '../actions/constants'; export const buildBlockTree = (blocks, excludeBlockTypes) => { if (!(blocks && blocks.root)) { return null; } const blockTree = (root, parent) => { + // eslint-disable-next-line prefer-object-spread const tree = Object.assign({ parent }, blocks.blocks[root]); if (tree.children) { tree.children = tree.children.map(block => blockTree(block, root)); @@ -18,6 +19,7 @@ export const buildBlockTree = (blocks, excludeBlockTypes) => { return blockTree(blocks.root, null); }; +// eslint-disable-next-line default-param-last export const blocks = (state = {}, action) => { switch (action.type) { case courseBlocksActions.fetch.SUCCESS: @@ -27,6 +29,7 @@ export const blocks = (state = {}, action) => { } }; +// eslint-disable-next-line default-param-last export const selectedBlock = (state = '', action) => { switch (action.type) { case courseBlocksActions.SELECT_BLOCK: @@ -36,6 +39,7 @@ export const selectedBlock = (state = '', action) => { } }; +// eslint-disable-next-line default-param-last export const rootBlock = (state = null, action) => { switch (action.type) { case courseBlocksActions.fetch.SUCCESS: diff --git a/common/static/common/js/components/BlockBrowser/index.jsx b/common/static/common/js/components/BlockBrowser/index.jsx index 0ac85c289bbd..fa498e9a25ab 100644 --- a/common/static/common/js/components/BlockBrowser/index.jsx +++ b/common/static/common/js/components/BlockBrowser/index.jsx @@ -3,6 +3,7 @@ import { Provider } from 'react-redux'; import BlockBrowserContainer from './components/BlockBrowser/BlockBrowserContainer'; import store from './data/store'; +// eslint-disable-next-line react/function-component-definition export const BlockBrowser = props => ( diff --git a/common/static/common/js/components/ExperimentalCarousel.jsx b/common/static/common/js/components/ExperimentalCarousel.jsx index 6d99d6d468c1..ba239ae63e6f 100644 --- a/common/static/common/js/components/ExperimentalCarousel.jsx +++ b/common/static/common/js/components/ExperimentalCarousel.jsx @@ -20,6 +20,7 @@ function NextArrow(props) { } return ( + // eslint-disable-next-line react/button-has-type