Compare commits
68 Commits
open-relea
...
Ali-Abbas/
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
141518f890 | ||
|
|
78ada8ce34 | ||
|
|
194e61380c | ||
|
|
fa36e20de9 | ||
|
|
61cf386ee6 | ||
|
|
445cd15d9a | ||
|
|
db1cf48257 | ||
|
|
942d471097 | ||
|
|
1a769a4e70 | ||
|
|
b5cb2af513 | ||
|
|
6666c0df83 | ||
|
|
fa60d7d234 | ||
|
|
78cce21f10 | ||
|
|
e21c2a63e7 | ||
|
|
514792786d | ||
|
|
5ef2f1ba4f | ||
|
|
b986849c85 | ||
|
|
f8565c30d1 | ||
|
|
3a7e103317 | ||
|
|
f977e14ea6 | ||
|
|
ab4f1864f2 | ||
|
|
6e4d4c479c | ||
|
|
d74532f988 | ||
|
|
d577bc79f7 | ||
|
|
43ab328545 | ||
|
|
3ddfdf34d0 | ||
|
|
b751d41caf | ||
|
|
4f4b28e6f5 | ||
|
|
038bd117e1 | ||
|
|
7bb31a9aa0 | ||
|
|
b2f59fc3a1 | ||
|
|
60b63944bd | ||
|
|
2893a9e698 | ||
|
|
de4d0fb7f2 | ||
|
|
ca7254c3b0 | ||
|
|
6095869271 | ||
|
|
8fe67f918f | ||
|
|
b28e58e7cd | ||
|
|
a1436c3266 | ||
|
|
9b5e85a236 | ||
|
|
fe1388666a | ||
|
|
a07d6f9b80 | ||
|
|
3e685be116 | ||
|
|
0bb5f50917 | ||
|
|
49357a4e87 | ||
|
|
33ba1cdd08 | ||
|
|
7012fa82c9 | ||
|
|
7b418ff6e3 | ||
|
|
cc349faeb2 | ||
|
|
455ca15af9 | ||
|
|
f992331bf4 | ||
|
|
4158231d7a | ||
|
|
2fa46ab00e | ||
|
|
adade6e48d | ||
|
|
06aea1ff68 | ||
|
|
054304902f | ||
|
|
ba9bddbda1 | ||
|
|
706d69aeca | ||
|
|
6d3ed03cac | ||
|
|
21a35cde82 | ||
|
|
66f85ee17e | ||
|
|
140cfc1639 | ||
|
|
26906d45f7 | ||
|
|
a753170cb7 | ||
|
|
690140ce46 | ||
|
|
6764a9766c | ||
|
|
c646b88543 | ||
|
|
b1d11119db |
2
.env
2
.env
@@ -30,3 +30,5 @@ ENTERPRISE_MARKETING_URL=''
|
||||
ENTERPRISE_MARKETING_UTM_SOURCE=''
|
||||
ENTERPRISE_MARKETING_UTM_CAMPAIGN=''
|
||||
ENTERPRISE_MARKETING_FOOTER_UTM_MEDIUM=''
|
||||
APP_ID=''
|
||||
MFE_CONFIG_API_URL=''
|
||||
|
||||
@@ -36,3 +36,5 @@ ENTERPRISE_MARKETING_URL='http://example.com'
|
||||
ENTERPRISE_MARKETING_UTM_SOURCE='example.com'
|
||||
ENTERPRISE_MARKETING_UTM_CAMPAIGN='example.com Referral'
|
||||
ENTERPRISE_MARKETING_FOOTER_UTM_MEDIUM='Footer'
|
||||
APP_ID=''
|
||||
MFE_CONFIG_API_URL=''
|
||||
|
||||
@@ -4,9 +4,14 @@ const config = createConfig('eslint', {
|
||||
rules: {
|
||||
'import/no-named-as-default': 'off',
|
||||
'import/no-named-as-default-member': 'off',
|
||||
'import/no-import-module-exports': 'off',
|
||||
'import/no-self-import': 'off',
|
||||
'spaced-comment': ['error', 'always', { 'block': { 'exceptions': ['*'] } }],
|
||||
'react-hooks/rules-of-hooks': 'off',
|
||||
"react/forbid-prop-types": ["error", { "forbid": ["any", "array"] }], // arguable object proptype is use when I do not care about the shape of the object
|
||||
'no-import-assign': 'off',
|
||||
'no-promise-executor-return': 'off',
|
||||
'import/no-cycle': 'off',
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
6
.github/CODEOWNERS
vendored
Normal file
6
.github/CODEOWNERS
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
# Code owners for frontend-app-ora-grading
|
||||
|
||||
# These owners will be the default owners for everything in
|
||||
# the repo. Unless a later match takes precedence, they will
|
||||
# be requested for review when someone opens a pull request.
|
||||
* @edx/content-aurora
|
||||
19
.github/workflows/add-depr-ticket-to-depr-board.yml
vendored
Normal file
19
.github/workflows/add-depr-ticket-to-depr-board.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
# Run the workflow that adds new tickets that are either:
|
||||
# - labelled "DEPR"
|
||||
# - title starts with "[DEPR]"
|
||||
# - body starts with "Proposal Date" (this is the first template field)
|
||||
# to the org-wide DEPR project board
|
||||
|
||||
name: Add newly created DEPR issues to the DEPR project board
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [opened]
|
||||
|
||||
jobs:
|
||||
routeissue:
|
||||
uses: openedx/.github/.github/workflows/add-depr-ticket-to-depr-board.yml@master
|
||||
secrets:
|
||||
GITHUB_APP_ID: ${{ secrets.GRAPHQL_AUTH_APP_ID }}
|
||||
GITHUB_APP_PRIVATE_KEY: ${{ secrets.GRAPHQL_AUTH_APP_PEM }}
|
||||
SLACK_BOT_TOKEN: ${{ secrets.SLACK_ISSUE_BOT_TOKEN }}
|
||||
20
.github/workflows/add-remove-label-on-comment.yml
vendored
Normal file
20
.github/workflows/add-remove-label-on-comment.yml
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
# This workflow runs when a comment is made on the ticket
|
||||
# If the comment starts with "label: " it tries to apply
|
||||
# the label indicated in rest of comment.
|
||||
# If the comment starts with "remove label: ", it tries
|
||||
# to remove the indicated label.
|
||||
# Note: Labels are allowed to have spaces and this script does
|
||||
# not parse spaces (as often a space is legitimate), so the command
|
||||
# "label: really long lots of words label" will apply the
|
||||
# label "really long lots of words label"
|
||||
|
||||
name: Allows for the adding and removing of labels via comment
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
add_remove_labels:
|
||||
uses: openedx/.github/.github/workflows/add-remove-label-on-comment.yml@master
|
||||
|
||||
15
.github/workflows/ci.yml
vendored
15
.github/workflows/ci.yml
vendored
@@ -11,17 +11,16 @@ on:
|
||||
jobs:
|
||||
tests:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
node: [12, 14, 16]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
uses: actions/checkout@v3
|
||||
- name: Setup Nodejs Env
|
||||
run: echo "NODE_VER=`cat .nvmrc`" >> $GITHUB_ENV
|
||||
- name: Setup Nodejs
|
||||
uses: actions/setup-node@v2
|
||||
uses: actions/setup-node@v3
|
||||
# Because of node 18 bug (https://github.com/nodejs/node/issues/47563), Pinning node version 18.15 until the next release of node
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
node-version: 18.15
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
@@ -39,7 +38,7 @@ jobs:
|
||||
run: npm run build
|
||||
|
||||
- name: Run Coverage
|
||||
uses: codecov/codecov-action@v2
|
||||
uses: codecov/codecov-action@v3
|
||||
|
||||
- name: Send failure notification
|
||||
if: ${{ failure() }}
|
||||
|
||||
2
.github/workflows/lockfileversion-check.yml
vendored
2
.github/workflows/lockfileversion-check.yml
vendored
@@ -10,4 +10,4 @@ on:
|
||||
|
||||
jobs:
|
||||
version-check:
|
||||
uses: openedx/.github/.github/workflows/lockfileversion-check.yml@master
|
||||
uses: openedx/.github/.github/workflows/lockfileversion-check-v3.yml@master
|
||||
|
||||
12
.github/workflows/self-assign-issue.yml
vendored
Normal file
12
.github/workflows/self-assign-issue.yml
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
# This workflow runs when a comment is made on the ticket
|
||||
# If the comment starts with "assign me" it assigns the author to the
|
||||
# ticket (case insensitive)
|
||||
|
||||
name: Assign comment author to ticket if they say "assign me"
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
self_assign_by_comment:
|
||||
uses: openedx/.github/.github/workflows/self-assign-issue.yml@master
|
||||
30
Makefile
30
Makefile
@@ -3,18 +3,17 @@ npm-install-%: ## install specified % npm package
|
||||
git add package.json
|
||||
|
||||
transifex_resource = frontend-app-ora-grading
|
||||
transifex_langs = "ar,fr,es_419,zh_CN"
|
||||
transifex_langs = "ar,fr,es_419,zh_CN,fr_CA,it_IT,pt_PT,de_DE,uk,ru,hi"
|
||||
|
||||
intl_imports = ./node_modules/.bin/intl-imports.js
|
||||
transifex_utils = ./node_modules/.bin/transifex-utils.js
|
||||
i18n = ./src/i18n
|
||||
transifex_input = $(i18n)/transifex_input.json
|
||||
tx_url1 = https://www.transifex.com/api/2/project/edx-platform/resource/$(transifex_resource)/translation/en/strings/
|
||||
tx_url2 = https://www.transifex.com/api/2/project/edx-platform/resource/$(transifex_resource)/source/
|
||||
|
||||
# This directory must match .babelrc .
|
||||
transifex_temp = ./temp/babel-plugin-react-intl
|
||||
|
||||
NPM_TESTS=build i18n_extract lint test is-es5
|
||||
NPM_TESTS=build i18n_extract lint test
|
||||
|
||||
.PHONY: test
|
||||
test: $(addprefix test.npm.,$(NPM_TESTS)) ## validate ci suite
|
||||
@@ -49,15 +48,30 @@ push_translations:
|
||||
# Pushing strings to Transifex...
|
||||
tx push -s
|
||||
# Fetching hashes from Transifex...
|
||||
./node_modules/reactifex/bash_scripts/get_hashed_strings.sh $(tx_url1)
|
||||
./node_modules/@edx/reactifex/bash_scripts/get_hashed_strings_v3.sh
|
||||
# Writing out comments to file...
|
||||
$(transifex_utils) $(transifex_temp) --comments
|
||||
$(transifex_utils) $(transifex_temp) --comments --v3-scripts-path
|
||||
# Pushing comments to Transifex...
|
||||
./node_modules/reactifex/bash_scripts/put_comments.sh $(tx_url2)
|
||||
./node_modules/@edx/reactifex/bash_scripts/put_comments_v3.sh
|
||||
|
||||
ifeq ($(OPENEDX_ATLAS_PULL),)
|
||||
# Pulls translations from Transifex.
|
||||
pull_translations:
|
||||
tx pull -f --mode reviewed --languages=$(transifex_langs)
|
||||
tx pull -t -f --mode reviewed --languages=$(transifex_langs)
|
||||
else
|
||||
# Experimental: OEP-58 Pulls translations using atlas
|
||||
pull_translations:
|
||||
rm -rf src/i18n/messages
|
||||
mkdir src/i18n/messages
|
||||
cd src/i18n/messages \
|
||||
&& atlas pull --filter=$(transifex_langs) \
|
||||
translations/frontend-component-footer/src/i18n/messages:frontend-component-footer \
|
||||
translations/frontend-component-header/src/i18n/messages:frontend-component-header \
|
||||
translations/paragon/src/i18n/messages:paragon \
|
||||
translations/frontend-app-ora-grading/src/i18n/messages:frontend-app-ora-grading
|
||||
|
||||
$(intl_imports) frontend-component-footer frontend-component-header paragon frontend-app-ora-grading
|
||||
endif
|
||||
|
||||
# This target is used by CI.
|
||||
validate-no-uncommitted-package-lock-changes:
|
||||
|
||||
21
README.md
21
README.md
@@ -1,21 +0,0 @@
|
||||
# frontend-app-ora-grading
|
||||
|
||||
The ORA Staff Grading App is a microfrontend (MFE) staff grading experience for Open Response Assessments (ORAs). This experience was designed to streamline the grading process and enable richer previews of submission content.
|
||||
|
||||
When enabled, ORAs with a staff grading step will link to this new MFE when clicking "Grade Available Responses" from the ORA or link in the instructor dashboard.
|
||||
|
||||
## Quickstart
|
||||
|
||||
To start the MFE and enable the feature in LMS:
|
||||
|
||||
1. Start the MFE with `npm run start`. Take a note of the path/port (defaults to `http://localhost:1993`).
|
||||
|
||||
2. Add the route root to `edx-platform` settings: In `edx-platform/lms/envs/private.py` or similar, add `ORA_GRADING_MICROFRONTEND_URL = 'http://localhost:1993'`
|
||||
|
||||
3. Enable the feature: In Django Admin go to django-waffle > Flags and add/enable a new flag called `openresponseassessment.enhanced_staff_grader`.
|
||||
|
||||
From there, visit the new experience by going to the Instructor Dashboard > Open Responses or an ORA with a Staff Graded Step and click a link to begin grading.
|
||||
|
||||
## Resources
|
||||
|
||||
See the [ORA Staff Grading](https://edx.readthedocs.io/projects/edx-partner-course-staff/en/latest/exercises_tools/open_response_assessments/ORA_Staff_Grading.html#ora-staff-grading) section on ReadTheDocs for usage information.
|
||||
202
README.rst
Normal file
202
README.rst
Normal file
@@ -0,0 +1,202 @@
|
||||
frontend-app-ora-grading
|
||||
########################
|
||||
|
||||
|ci-badge| |codecov-badge| |doc-badge| |license-badge| |status-badge|
|
||||
|
||||
Purpose
|
||||
*******
|
||||
|
||||
The ORA Staff Grading App is a micro-frontend (MFE) staff grading experience
|
||||
for Open Response Assessments (ORAs). This experience was designed to
|
||||
streamline the grading process and enable richer previews of submission content
|
||||
and, eventually, replace on-platform grading workflows for ORA.
|
||||
|
||||
When enabled, ORAs with a staff grading step will link to this new MFE when
|
||||
clicking "Grade Available Responses" from the ORA or link in the instructor
|
||||
dashboard.
|
||||
|
||||
The ORA Staff Grader depends on the `lms/djangoapps/ora_staff_grader
|
||||
<https://github.com/openedx/edx-platform/tree/master/lms/djangoapps/ora_staff_grader>`_
|
||||
app in ``edx-platform``.
|
||||
|
||||
Getting Started
|
||||
***************
|
||||
|
||||
Developing
|
||||
==========
|
||||
|
||||
One Time Setup
|
||||
--------------
|
||||
|
||||
First, clone the repo, install code prerequisites, and start the app.
|
||||
|
||||
.. code-block::
|
||||
|
||||
# Clone the repository
|
||||
git clone git@github.com:openedx/frontend-app-ora-grading.git
|
||||
cd frontend-app-ora-grading
|
||||
|
||||
# Install prerequisites
|
||||
npm install
|
||||
|
||||
# Start the MFE
|
||||
npm run start
|
||||
|
||||
The app will, by default, run on `http://localhost:1993` unless otherwise
|
||||
specified in ``.env.development:PORT`` and ``.env.development:BASE_URL``.
|
||||
|
||||
Next, enable the ORA Grading micro-frontend in `edx-platform`
|
||||
|
||||
#. Add the path to the ORA Grading app in `edx-platform`:
|
||||
|
||||
#. Go to your environment settings (e.g. `edx-platform/lms/envs/private.py`)
|
||||
|
||||
#. Add the environment variable, ``ORA_GRADING_MICROFRONTEND_URL`` pointing
|
||||
to the ORA Grading app location (e.g. ``http://localhost:1993``).
|
||||
|
||||
#. Start / restart the ``edx-platform`` ``lms``.
|
||||
|
||||
#. Enable the ORA Grading feature in Django Admin.
|
||||
|
||||
#. Go to Django Admin (`{lms-root}/admin`)
|
||||
|
||||
#. Navigate to ``django-waffle`` > ``Flags`` and click ``add/enable a new
|
||||
flag``.
|
||||
|
||||
#. Add a new flag called ``openresponseassessment.enhanced_staff_grader``
|
||||
and enable it.
|
||||
|
||||
From there, visit an Open Response Assessment with a Staff Graded Step and
|
||||
click the "View and grade responses" button to begin grading in the ORA Staff
|
||||
Grader experience.
|
||||
|
||||
|
||||
Making Changes
|
||||
--------------
|
||||
|
||||
Get / install the latest code:
|
||||
|
||||
.. code-block::
|
||||
|
||||
# Grab the latest code
|
||||
git checkout master
|
||||
git pull
|
||||
|
||||
# Install/update the dev requirements
|
||||
npm install
|
||||
|
||||
|
||||
Before committing:
|
||||
|
||||
.. code-block::
|
||||
|
||||
# Make a new branch for your changes
|
||||
git checkout -b <your_github_username>/<short_description>
|
||||
|
||||
# Using your favorite editor, edit the code to make your change.
|
||||
|
||||
# Run your new tests
|
||||
npm test
|
||||
|
||||
# Commit all your changes
|
||||
git commit ...
|
||||
git push
|
||||
|
||||
# Open a PR and ask for review.
|
||||
|
||||
Deploying
|
||||
=========
|
||||
|
||||
This component follows the standard deploy process for MFEs. For details, see
|
||||
the `MFE production deployment guide`_
|
||||
|
||||
.. _MFE production deployment guide: https://openedx.github.io/frontend-platform/#production-deployment-strategy
|
||||
|
||||
Getting Help
|
||||
************
|
||||
|
||||
Documentation
|
||||
=============
|
||||
|
||||
See `ORA Staff Grading on ReadTheDocs`_ for more in-depth usage information.
|
||||
|
||||
.. _ORA Staff Grading on ReadTheDocs: https://edx.readthedocs.io/projects/edx-partner-course-staff/en/latest/exercises_tools/open_response_assessments/ORA_Staff_Grading.html#ora-staff-grading
|
||||
|
||||
More Help
|
||||
=========
|
||||
|
||||
If you're having trouble, we have discussion forums at
|
||||
https://discuss.openedx.org where you can connect with others in the community.
|
||||
|
||||
Our real-time conversations are on Slack. You can request a `Slack
|
||||
invitation`_, then join our `community Slack workspace`_.
|
||||
|
||||
For anything non-trivial, the best path is to open an issue in this repository
|
||||
with as many details about the issue you are facing as you can provide.
|
||||
|
||||
https://github.com/openedx/frontend-app-ora-grading/issues
|
||||
|
||||
For more information about these options, see the `Getting Help`_ page.
|
||||
|
||||
.. _Slack invitation: https://openedx.org/slack
|
||||
.. _community Slack workspace: https://openedx.slack.com/
|
||||
.. _Getting Help: https://openedx.org/getting-help
|
||||
|
||||
License
|
||||
*******
|
||||
|
||||
The code in this repository is licensed under the GNU Affero General Public
|
||||
License v3.0 unless otherwise noted.
|
||||
|
||||
Please see `LICENSE <LICENSE>`_ for details.
|
||||
|
||||
Contributing
|
||||
************
|
||||
|
||||
This project is currently only accepting bug fixes, security fixes, and
|
||||
maintenance work. New features should be discussed in advance with the owning
|
||||
team and added to the public roadmap or they may not be accepted. You can start
|
||||
a conversation by creating a new issue on this repo summarizing your feature
|
||||
idea.
|
||||
|
||||
Please read `How To Contribute <https://openedx.org/r/how-to-contribute>`_ for
|
||||
details.
|
||||
|
||||
The Open edX Code of Conduct
|
||||
****************************
|
||||
|
||||
All community members are expected to follow the `Open edX Code of Conduct`_.
|
||||
|
||||
.. _Open edX Code of Conduct: https://openedx.org/code-of-conduct/
|
||||
|
||||
People
|
||||
******
|
||||
|
||||
The assigned maintainers for this component and other project details may be
|
||||
found in `Backstage`_. Backstage pulls this data from the ``catalog-info.yaml``
|
||||
file in this repo.
|
||||
|
||||
.. _Backstage: https://open-edx-backstage.herokuapp.com/catalog/default/component/frontend-app-ora-grading
|
||||
|
||||
Reporting Security Issues
|
||||
*************************
|
||||
|
||||
Please do not report security issues in public. Please email security@openedx.org.
|
||||
|
||||
.. |ci-badge| image:: https://github.com/openedx/frontend-app-ora-grading/actions/workflows/ci.yml/badge.svg
|
||||
:target: https://github.com/openedx/frontend-app-ora-grading/actions/workflows/ci.yml
|
||||
:alt: CI
|
||||
|
||||
.. |codecov-badge| image:: https://codecov.io/github/openedx/frontend-app-ora-grading/coverage.svg?branch=master
|
||||
:target: https://codecov.io/github/openedx/frontend-app-ora-grading?branch=master
|
||||
:alt: Codecov
|
||||
|
||||
.. |doc-badge| image:: https://readthedocs.org/projects/frontend-app-ora-grading/badge/?version=latest
|
||||
:target: https://edx.readthedocs.io/projects/edx-partner-course-staff/en/latest/exercises_tools/open_response_assessments/ORA_Staff_Grading.html
|
||||
:alt: Documentation
|
||||
|
||||
.. |license-badge| image:: https://img.shields.io/github/license/openedx/frontend-app-ora-grading.svg
|
||||
:target: https://github.com/openedx/frontend-app-ora-grading/blob/master/LICENSE
|
||||
:alt: License
|
||||
|
||||
.. |status-badge| image:: https://img.shields.io/badge/Status-Maintained-brightgreen
|
||||
19
catalog-info.yaml
Normal file
19
catalog-info.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
# 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: 'frontend-app-ora-grading'
|
||||
description: "Frontend grading experience for Open Response Assessments (ORAs)"
|
||||
links:
|
||||
- url: "https://ora-grading.edx.org"
|
||||
title: "Production Site"
|
||||
icon: "Web"
|
||||
- url: "https://ora-grading.stage.edx.org"
|
||||
title: "Stage Site"
|
||||
icon: "Web"
|
||||
spec:
|
||||
owner: group:content-aurora
|
||||
type: 'website'
|
||||
lifecycle: 'production'
|
||||
43935
package-lock.json
generated
43935
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
43
package.json
43
package.json
@@ -8,8 +8,6 @@
|
||||
},
|
||||
"scripts": {
|
||||
"build": "fedx-scripts webpack",
|
||||
"coveralls": "cat ./coverage/lcov.info | coveralls",
|
||||
"is-es5": "es-check es5 ./dist/*.js",
|
||||
"i18n_extract": "BABEL_ENV=i18n fedx-scripts babel src --quiet > /dev/null",
|
||||
"lint": "fedx-scripts eslint --ext .jsx,.js src/",
|
||||
"lint-fix": "fedx-scripts eslint --fix --ext .jsx,.js src/",
|
||||
@@ -27,21 +25,21 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@edx/brand": "npm:@edx/brand-edx.org@^2.0.3",
|
||||
"@edx/frontend-component-footer": "^11.1.1",
|
||||
"@edx/frontend-component-header": "^3.1.1",
|
||||
"@edx/frontend-platform": "^2.4.0",
|
||||
"@edx/paragon": "^19.9.0",
|
||||
"@edx/frontend-component-footer": "^12.0.0",
|
||||
"@edx/frontend-component-header": "^4.2.2",
|
||||
"@edx/frontend-platform": "^4.6.1",
|
||||
"@edx/paragon": "^20.30.0",
|
||||
"@fortawesome/fontawesome-svg-core": "^1.2.36",
|
||||
"@fortawesome/free-brands-svg-icons": "^5.15.4",
|
||||
"@fortawesome/free-solid-svg-icons": "^5.15.4",
|
||||
"@fortawesome/react-fontawesome": "^0.1.15",
|
||||
"@fortawesome/react-fontawesome": "^0.2.0",
|
||||
"@redux-beacon/segment": "^1.1.0",
|
||||
"@reduxjs/toolkit": "^1.6.1",
|
||||
"@testing-library/user-event": "^13.5.0",
|
||||
"@testing-library/user-event": "^14.0.0",
|
||||
"@zip.js/zip.js": "^2.4.6",
|
||||
"axios": "^0.21.4",
|
||||
"axios": "^0.27.0",
|
||||
"classnames": "^2.3.1",
|
||||
"core-js": "3.16.2",
|
||||
"core-js": "3.31.1",
|
||||
"dompurify": "^2.3.1",
|
||||
"email-prop-type": "^3.0.1",
|
||||
"enzyme": "^3.11.0",
|
||||
@@ -49,42 +47,43 @@
|
||||
"file-saver": "^2.0.5",
|
||||
"filesize": "^8.0.6",
|
||||
"font-awesome": "4.7.0",
|
||||
"history": "5.0.1",
|
||||
"history": "5.3.0",
|
||||
"html-react-parser": "^1.3.0",
|
||||
"lodash": "^4.17.21",
|
||||
"moment": "^2.29.3",
|
||||
"prop-types": "15.7.2",
|
||||
"query-string": "7.0.1",
|
||||
"prop-types": "15.8.1",
|
||||
"query-string": "7.1.3",
|
||||
"react": "^16.14.0",
|
||||
"react-dom": "^16.14.0",
|
||||
"react-helmet": "^6.1.0",
|
||||
"react-intl": "^5.20.9",
|
||||
"react-pdf": "^5.5.0",
|
||||
"react-redux": "^7.2.4",
|
||||
"react-router": "5.2.0",
|
||||
"react-router-dom": "5.2.0",
|
||||
"react-router": "5.3.4",
|
||||
"react-router-dom": "5.3.4",
|
||||
"react-router-redux": "^5.0.0-alpha.9",
|
||||
"redux": "4.1.1",
|
||||
"redux": "4.2.1",
|
||||
"redux-beacon": "^2.1.0",
|
||||
"redux-devtools-extension": "2.13.9",
|
||||
"redux-logger": "3.0.6",
|
||||
"redux-thunk": "2.3.0",
|
||||
"redux-thunk": "2.4.2",
|
||||
"regenerator-runtime": "^0.13.9",
|
||||
"reselect": "^4.0.0",
|
||||
"util": "^0.12.4",
|
||||
"whatwg-fetch": "^3.6.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@edx/frontend-build": "^11.0.2",
|
||||
"@edx/browserslist-config": "^1.2.0",
|
||||
"@edx/frontend-build": "^12.9.0-alpha.1",
|
||||
"@edx/reactifex": "^2.1.1",
|
||||
"@testing-library/jest-dom": "^5.14.1",
|
||||
"@testing-library/react": "^12.1.0",
|
||||
"@testing-library/react": "^12.1.5",
|
||||
"axios-mock-adapter": "^1.20.0",
|
||||
"codecov": "^3.8.3",
|
||||
"enzyme-adapter-react-16": "^1.15.6",
|
||||
"es-check": "^6.0.0",
|
||||
"fetch-mock": "^9.11.0",
|
||||
"husky": "^7.0.0",
|
||||
"identity-obj-proxy": "^3.0.0",
|
||||
"jest": "27.0.6",
|
||||
"jest": "29.6.1",
|
||||
"jest-expect-message": "^1.0.2",
|
||||
"react-dev-utils": "^12.0.1",
|
||||
"react-test-renderer": "^16.14.0",
|
||||
|
||||
34
renovate.json
Normal file
34
renovate.json
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"extends": [
|
||||
"config:base",
|
||||
"schedule:weekly",
|
||||
":automergeLinters",
|
||||
":automergeMinor",
|
||||
":automergeTesters",
|
||||
":enableVulnerabilityAlerts",
|
||||
":rebaseStalePrs",
|
||||
":semanticCommits",
|
||||
":updateNotScheduled"
|
||||
],
|
||||
"packageRules": [
|
||||
{
|
||||
"matchDepTypes": [
|
||||
"devDependencies"
|
||||
],
|
||||
"matchUpdateTypes": [
|
||||
"lockFileMaintenance",
|
||||
"minor",
|
||||
"patch",
|
||||
"pin"
|
||||
],
|
||||
"automerge": true
|
||||
},
|
||||
{
|
||||
"matchPackagePatterns": ["@edx", "@openedx"],
|
||||
"matchUpdateTypes": ["minor", "patch"],
|
||||
"automerge": true
|
||||
}
|
||||
],
|
||||
"timezone": "America/New_York",
|
||||
"schedule": ["before 11pm"]
|
||||
}
|
||||
@@ -13,10 +13,12 @@ import CTA from 'containers/CTA';
|
||||
import ListView from 'containers/ListView';
|
||||
|
||||
import './App.scss';
|
||||
import Head from './components/Head';
|
||||
|
||||
export const App = ({ courseMetadata, isEnabled }) => (
|
||||
<Router>
|
||||
<div>
|
||||
<Head />
|
||||
<Header
|
||||
courseTitle={courseMetadata.title}
|
||||
courseNumber={courseMetadata.number}
|
||||
|
||||
@@ -25,6 +25,7 @@ jest.mock('@edx/frontend-component-footer', () => 'Footer');
|
||||
jest.mock('containers/DemoWarning', () => 'DemoWarning');
|
||||
jest.mock('containers/CTA', () => 'CTA');
|
||||
jest.mock('containers/ListView', () => 'ListView');
|
||||
jest.mock('components/Head', () => 'Head');
|
||||
|
||||
const logo = 'fakeLogo.png';
|
||||
let el;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
exports[`App router component snapshot: disabled (show demo warning) 1`] = `
|
||||
<BrowserRouter>
|
||||
<div>
|
||||
<Head />
|
||||
<Header
|
||||
courseNumber="course-number"
|
||||
courseOrg="course-org"
|
||||
@@ -23,6 +24,7 @@ exports[`App router component snapshot: disabled (show demo warning) 1`] = `
|
||||
exports[`App router component snapshot: enabled 1`] = `
|
||||
<BrowserRouter>
|
||||
<div>
|
||||
<Head />
|
||||
<Header
|
||||
courseNumber="course-number"
|
||||
courseOrg="course-org"
|
||||
|
||||
@@ -7,29 +7,17 @@ exports[`app registry subscribe: APP_INIT_ERROR. snapshot: displays an ErrorPag
|
||||
`;
|
||||
|
||||
exports[`app registry subscribe: APP_READY. links App to root element 1`] = `
|
||||
<IntlProvider
|
||||
defaultFormats={Object {}}
|
||||
defaultLocale="en"
|
||||
fallbackOnEmptyString={true}
|
||||
formats={Object {}}
|
||||
locale="en"
|
||||
messages={Object {}}
|
||||
onError={[Function]}
|
||||
onWarn={[Function]}
|
||||
textComponent={Symbol(react.fragment)}
|
||||
>
|
||||
<AppProvider
|
||||
store={
|
||||
Object {
|
||||
"dispatch": [Function],
|
||||
"getState": [Function],
|
||||
"replaceReducer": [Function],
|
||||
"subscribe": [Function],
|
||||
Symbol(Symbol.observable): [Function],
|
||||
}
|
||||
<AppProvider
|
||||
store={
|
||||
Object {
|
||||
"dispatch": [Function],
|
||||
"getState": [Function],
|
||||
"replaceReducer": [Function],
|
||||
"subscribe": [Function],
|
||||
Symbol(Symbol.observable): [Function],
|
||||
}
|
||||
>
|
||||
<App />
|
||||
</AppProvider>
|
||||
</IntlProvider>
|
||||
}
|
||||
>
|
||||
<App />
|
||||
</AppProvider>
|
||||
`;
|
||||
|
||||
@@ -81,13 +81,12 @@ describe('Text file preview hooks', () => {
|
||||
});
|
||||
});
|
||||
describe('onError', () => {
|
||||
it('calls get on the passed url when it changes', async (done) => {
|
||||
it('calls get on the passed url when it changes', async () => {
|
||||
axios.get.mockReturnValueOnce(Promise.reject(
|
||||
{ response: { status: testValue } },
|
||||
));
|
||||
await hooks.fetchFile({ ...props, setContent: state.setState.content });
|
||||
expect(props.onError).toHaveBeenCalledWith(testValue);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -26,7 +26,7 @@ export const FileInfo = ({ onClick, children }) => (
|
||||
)}
|
||||
>
|
||||
<Button
|
||||
size="small"
|
||||
size="sm"
|
||||
variant="tertiary"
|
||||
onClick={onClick}
|
||||
iconAfter={InfoOutline}
|
||||
|
||||
@@ -21,7 +21,7 @@ exports[`File Preview Card component snapshot 1`] = `
|
||||
<Button
|
||||
iconAfter={[MockFunction icons.InfoOutline]}
|
||||
onClick={[MockFunction this.props.onClick]}
|
||||
size="small"
|
||||
size="sm"
|
||||
variant="tertiary"
|
||||
>
|
||||
<FormattedMessage
|
||||
|
||||
14
src/components/Head/__snapshots__/index.test.jsx.snap
Normal file
14
src/components/Head/__snapshots__/index.test.jsx.snap
Normal file
@@ -0,0 +1,14 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Head snapshot 1`] = `
|
||||
<Helmet>
|
||||
<title>
|
||||
ORA staff grading | site-name
|
||||
</title>
|
||||
<link
|
||||
href="favicon-url"
|
||||
rel="shortcut icon"
|
||||
type="image/x-icon"
|
||||
/>
|
||||
</Helmet>
|
||||
`;
|
||||
20
src/components/Head/index.jsx
Normal file
20
src/components/Head/index.jsx
Normal file
@@ -0,0 +1,20 @@
|
||||
import React from 'react';
|
||||
import { Helmet } from 'react-helmet';
|
||||
import { useIntl } from '@edx/frontend-platform/i18n';
|
||||
import { getConfig } from '@edx/frontend-platform';
|
||||
|
||||
import messages from './messages';
|
||||
|
||||
const Head = () => {
|
||||
const { formatMessage } = useIntl();
|
||||
return (
|
||||
<Helmet>
|
||||
<title>
|
||||
{formatMessage(messages.PageTitle, { siteName: getConfig().SITE_NAME })}
|
||||
</title>
|
||||
<link rel="shortcut icon" href={getConfig().FAVICON_URL} type="image/x-icon" />
|
||||
</Helmet>
|
||||
);
|
||||
};
|
||||
|
||||
export default Head;
|
||||
25
src/components/Head/index.test.jsx
Normal file
25
src/components/Head/index.test.jsx
Normal file
@@ -0,0 +1,25 @@
|
||||
import React from 'react';
|
||||
import { getConfig } from '@edx/frontend-platform';
|
||||
import { shallow } from 'enzyme';
|
||||
import Head from '.';
|
||||
|
||||
jest.mock('react-helmet', () => ({
|
||||
Helmet: 'Helmet',
|
||||
}));
|
||||
|
||||
jest.mock('@edx/frontend-platform', () => ({
|
||||
getConfig: () => ({
|
||||
SITE_NAME: 'site-name',
|
||||
FAVICON_URL: 'favicon-url',
|
||||
}),
|
||||
}));
|
||||
|
||||
describe('Head', () => {
|
||||
it('snapshot', () => {
|
||||
const el = shallow(<Head />);
|
||||
expect(el).toMatchSnapshot();
|
||||
|
||||
expect(el.find('title').text()).toContain(getConfig().SITE_NAME);
|
||||
expect(el.find('link').prop('href')).toEqual(getConfig().FAVICON_URL);
|
||||
});
|
||||
});
|
||||
11
src/components/Head/messages.js
Normal file
11
src/components/Head/messages.js
Normal file
@@ -0,0 +1,11 @@
|
||||
import { defineMessages } from '@edx/frontend-platform/i18n';
|
||||
|
||||
const messages = defineMessages({
|
||||
PageTitle: {
|
||||
id: 'PageTitle',
|
||||
defaultMessage: 'ORA staff grading | {siteName}',
|
||||
description: 'Title tag',
|
||||
},
|
||||
});
|
||||
|
||||
export default messages;
|
||||
@@ -1,16 +0,0 @@
|
||||
const configuration = {
|
||||
// BASE_URL: process.env.BASE_URL,
|
||||
LMS_BASE_URL: process.env.LMS_BASE_URL,
|
||||
// LOGIN_URL: process.env.LOGIN_URL,
|
||||
// LOGOUT_URL: process.env.LOGOUT_URL,
|
||||
// CSRF_TOKEN_API_PATH: process.env.CSRF_TOKEN_API_PATH,
|
||||
// REFRESH_ACCESS_TOKEN_ENDPOINT: process.env.REFRESH_ACCESS_TOKEN_ENDPOINT,
|
||||
// DATA_API_BASE_URL: process.env.DATA_API_BASE_URL,
|
||||
// SECURE_COOKIES: process.env.NODE_ENV !== 'development',
|
||||
// SEGMENT_KEY: process.env.SEGMENT_KEY,
|
||||
// ACCESS_TOKEN_COOKIE_NAME: process.env.ACCESS_TOKEN_COOKIE_NAME,
|
||||
};
|
||||
|
||||
const features = {};
|
||||
|
||||
export { configuration, features };
|
||||
@@ -33,27 +33,25 @@ export class RadioCriterion extends React.Component {
|
||||
isInvalid,
|
||||
} = this.props;
|
||||
return (
|
||||
<>
|
||||
<Form.RadioSet name={config.name} value={data}>
|
||||
{config.options.map((option) => (
|
||||
<Form.Radio
|
||||
className="criteria-option"
|
||||
key={option.name}
|
||||
value={option.name}
|
||||
description={intl.formatMessage(messages.optionPoints, { points: option.points })}
|
||||
onChange={this.onChange}
|
||||
disabled={!isGrading}
|
||||
>
|
||||
{option.label}
|
||||
</Form.Radio>
|
||||
))}
|
||||
{isInvalid && (
|
||||
<Form.Control.Feedback type="invalid" className="feedback-error-msg">
|
||||
{intl.formatMessage(messages.rubricSelectedError)}
|
||||
</Form.Control.Feedback>
|
||||
)}
|
||||
</Form.RadioSet>
|
||||
</>
|
||||
<Form.RadioSet name={config.name} value={data}>
|
||||
{config.options.map((option) => (
|
||||
<Form.Radio
|
||||
className="criteria-option"
|
||||
key={option.name}
|
||||
value={option.name}
|
||||
description={intl.formatMessage(messages.optionPoints, { points: option.points })}
|
||||
onChange={this.onChange}
|
||||
disabled={!isGrading}
|
||||
>
|
||||
{option.label}
|
||||
</Form.Radio>
|
||||
))}
|
||||
{isInvalid && (
|
||||
<Form.Control.Feedback type="invalid" className="feedback-error-msg">
|
||||
{intl.formatMessage(messages.rubricSelectedError)}
|
||||
</Form.Control.Feedback>
|
||||
)}
|
||||
</Form.RadioSet>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,91 +1,85 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Radio Criterion Container snapshot is grading 1`] = `
|
||||
<React.Fragment>
|
||||
<Form.RadioSet
|
||||
name="random name"
|
||||
value="selected radio option"
|
||||
<Form.RadioSet
|
||||
name="random name"
|
||||
value="selected radio option"
|
||||
>
|
||||
<Form.Radio
|
||||
className="criteria-option"
|
||||
description="1 points"
|
||||
disabled={false}
|
||||
onChange={[MockFunction this.onChange]}
|
||||
value="option name"
|
||||
>
|
||||
<Form.Radio
|
||||
className="criteria-option"
|
||||
description="1 points"
|
||||
disabled={false}
|
||||
onChange={[MockFunction this.onChange]}
|
||||
value="option name"
|
||||
>
|
||||
this label
|
||||
</Form.Radio>
|
||||
<Form.Radio
|
||||
className="criteria-option"
|
||||
description="2 points"
|
||||
disabled={false}
|
||||
onChange={[MockFunction this.onChange]}
|
||||
value="option name 2"
|
||||
>
|
||||
this label 2
|
||||
</Form.Radio>
|
||||
</Form.RadioSet>
|
||||
</React.Fragment>
|
||||
this label
|
||||
</Form.Radio>
|
||||
<Form.Radio
|
||||
className="criteria-option"
|
||||
description="2 points"
|
||||
disabled={false}
|
||||
onChange={[MockFunction this.onChange]}
|
||||
value="option name 2"
|
||||
>
|
||||
this label 2
|
||||
</Form.Radio>
|
||||
</Form.RadioSet>
|
||||
`;
|
||||
|
||||
exports[`Radio Criterion Container snapshot is not grading 1`] = `
|
||||
<React.Fragment>
|
||||
<Form.RadioSet
|
||||
name="random name"
|
||||
value="selected radio option"
|
||||
<Form.RadioSet
|
||||
name="random name"
|
||||
value="selected radio option"
|
||||
>
|
||||
<Form.Radio
|
||||
className="criteria-option"
|
||||
description="1 points"
|
||||
disabled={true}
|
||||
onChange={[MockFunction this.onChange]}
|
||||
value="option name"
|
||||
>
|
||||
<Form.Radio
|
||||
className="criteria-option"
|
||||
description="1 points"
|
||||
disabled={true}
|
||||
onChange={[MockFunction this.onChange]}
|
||||
value="option name"
|
||||
>
|
||||
this label
|
||||
</Form.Radio>
|
||||
<Form.Radio
|
||||
className="criteria-option"
|
||||
description="2 points"
|
||||
disabled={true}
|
||||
onChange={[MockFunction this.onChange]}
|
||||
value="option name 2"
|
||||
>
|
||||
this label 2
|
||||
</Form.Radio>
|
||||
</Form.RadioSet>
|
||||
</React.Fragment>
|
||||
this label
|
||||
</Form.Radio>
|
||||
<Form.Radio
|
||||
className="criteria-option"
|
||||
description="2 points"
|
||||
disabled={true}
|
||||
onChange={[MockFunction this.onChange]}
|
||||
value="option name 2"
|
||||
>
|
||||
this label 2
|
||||
</Form.Radio>
|
||||
</Form.RadioSet>
|
||||
`;
|
||||
|
||||
exports[`Radio Criterion Container snapshot radio contain invalid response 1`] = `
|
||||
<React.Fragment>
|
||||
<Form.RadioSet
|
||||
name="random name"
|
||||
value="selected radio option"
|
||||
<Form.RadioSet
|
||||
name="random name"
|
||||
value="selected radio option"
|
||||
>
|
||||
<Form.Radio
|
||||
className="criteria-option"
|
||||
description="1 points"
|
||||
disabled={false}
|
||||
onChange={[MockFunction this.onChange]}
|
||||
value="option name"
|
||||
>
|
||||
<Form.Radio
|
||||
className="criteria-option"
|
||||
description="1 points"
|
||||
disabled={false}
|
||||
onChange={[MockFunction this.onChange]}
|
||||
value="option name"
|
||||
>
|
||||
this label
|
||||
</Form.Radio>
|
||||
<Form.Radio
|
||||
className="criteria-option"
|
||||
description="2 points"
|
||||
disabled={false}
|
||||
onChange={[MockFunction this.onChange]}
|
||||
value="option name 2"
|
||||
>
|
||||
this label 2
|
||||
</Form.Radio>
|
||||
<Form.Control.Feedback
|
||||
className="feedback-error-msg"
|
||||
type="invalid"
|
||||
>
|
||||
Rubric selection is required
|
||||
</Form.Control.Feedback>
|
||||
</Form.RadioSet>
|
||||
</React.Fragment>
|
||||
this label
|
||||
</Form.Radio>
|
||||
<Form.Radio
|
||||
className="criteria-option"
|
||||
description="2 points"
|
||||
disabled={false}
|
||||
onChange={[MockFunction this.onChange]}
|
||||
value="option name 2"
|
||||
>
|
||||
this label 2
|
||||
</Form.Radio>
|
||||
<Form.Control.Feedback
|
||||
className="feedback-error-msg"
|
||||
type="invalid"
|
||||
>
|
||||
Rubric selection is required
|
||||
</Form.Control.Feedback>
|
||||
</Form.RadioSet>
|
||||
`;
|
||||
|
||||
@@ -22,7 +22,7 @@ export const ListViewBreadcrumb = ({ courseId, oraName }) => (
|
||||
</Hyperlink>
|
||||
<p className="py-4">
|
||||
<span className="h3">{oraName}</span>
|
||||
<Hyperlink className="align-middle" destination={urls.ora(courseId, locationId)}>
|
||||
<Hyperlink className="align-middle" destination={urls.ora(courseId, locationId())}>
|
||||
<Icon src={Launch} className="d-inline-block" />
|
||||
</Hyperlink>
|
||||
</p>
|
||||
|
||||
@@ -50,7 +50,7 @@ describe('ListViewBreadcrumb component', () => {
|
||||
test('ora destination', () => {
|
||||
expect(
|
||||
el.find(Hyperlink).at(1).props().destination,
|
||||
).toEqual(urls.ora(props.courseId, constants.locationId));
|
||||
).toEqual(urls.ora(props.courseId, constants.locationId()));
|
||||
});
|
||||
});
|
||||
describe('mapStateToProps', () => {
|
||||
|
||||
@@ -52,7 +52,7 @@ export class SubmissionsTable extends React.Component {
|
||||
formatDate = ({ value }) => {
|
||||
const date = new Date(moment(value));
|
||||
return date.toLocaleString();
|
||||
}
|
||||
};
|
||||
|
||||
formatGrade = ({ value: score }) => (
|
||||
score === null ? '-' : `${score.pointsEarned}/${score.pointsPossible}`
|
||||
@@ -65,7 +65,7 @@ export class SubmissionsTable extends React.Component {
|
||||
handleViewAllResponsesClick = (data) => () => {
|
||||
const getsubmissionUUID = (row) => row.original.submissionUUID;
|
||||
this.props.loadSelectionForReview(data.map(getsubmissionUUID));
|
||||
}
|
||||
};
|
||||
|
||||
render() {
|
||||
if (!this.props.listData.length) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { getConfig } from '@edx/frontend-platform';
|
||||
|
||||
export const routePath = `${getConfig().PUBLIC_PATH}:courseId`;
|
||||
export const locationId = window.location.pathname.slice(1);
|
||||
export const routePath = () => `${getConfig().PUBLIC_PATH}:courseId`;
|
||||
export const locationId = () => window.location.pathname.replace(getConfig().PUBLIC_PATH, '');
|
||||
|
||||
@@ -4,7 +4,7 @@ import * as constants from './app';
|
||||
jest.unmock('./app');
|
||||
|
||||
jest.mock('@edx/frontend-platform', () => {
|
||||
const PUBLIC_PATH = 'test-public-path';
|
||||
const PUBLIC_PATH = '/test-public-path/';
|
||||
return {
|
||||
getConfig: () => ({ PUBLIC_PATH }),
|
||||
PUBLIC_PATH,
|
||||
@@ -13,12 +13,12 @@ jest.mock('@edx/frontend-platform', () => {
|
||||
|
||||
describe('app constants', () => {
|
||||
test('route path draws from public path and adds courseId', () => {
|
||||
expect(constants.routePath).toEqual(`${platform.PUBLIC_PATH}:courseId`);
|
||||
expect(constants.routePath()).toEqual(`${platform.PUBLIC_PATH}:courseId`);
|
||||
});
|
||||
test('locationId returns trimmed pathname', () => {
|
||||
const old = window.location;
|
||||
window.location = { pathName: '/somePath.jpg' };
|
||||
expect(constants.locationId).toEqual(window.location.pathname.slice(1));
|
||||
window.location = { pathName: `${platform.PUBLIC_PATH}somePath.jpg` };
|
||||
expect(constants.locationId()).toEqual(window.location.pathname.replace(platform.PUBLIC_PATH, ''));
|
||||
window.location = old;
|
||||
});
|
||||
});
|
||||
|
||||
@@ -32,7 +32,7 @@ validation.criteria = createSelector(
|
||||
criterion.feedback === feedbackRequirement.required
|
||||
&& gradingData.criteria[index].feedback === ''
|
||||
),
|
||||
selectedOption: gradingData.criteria[index].selectedOption !== '',
|
||||
selectedOption: rubricConfig.criteria[index].options.length === 0 || gradingData.criteria[index].selectedOption !== '',
|
||||
})),
|
||||
);
|
||||
|
||||
|
||||
@@ -64,8 +64,8 @@ describe('validation grading selectors unit tests', () => {
|
||||
expect(preSelectors).toEqual([selected.gradingData, appSelectors.rubric.config]);
|
||||
});
|
||||
describe('returned object', () => {
|
||||
const feedbackOptional = { feedback: feedbackRequirement.optional };
|
||||
const feedbackRequired = { feedback: feedbackRequirement.required };
|
||||
const feedbackOptional = { feedback: feedbackRequirement.optional, options: [1] };
|
||||
const feedbackRequired = { feedback: feedbackRequirement.required, options: [1] };
|
||||
describe('feedback', () => {
|
||||
const validFeedback = { feedback: 'Fair' };
|
||||
const emptyFeedback = { feedback: '' };
|
||||
@@ -85,6 +85,14 @@ describe('validation grading selectors unit tests', () => {
|
||||
);
|
||||
expect(output.map(({ selectedOption }) => selectedOption)).toEqual([true, false]);
|
||||
});
|
||||
it('returns true criteria options are empty', () => {
|
||||
const emptyOptionsFeedback = { ...feedbackOptional, options: [] };
|
||||
const output = cb(
|
||||
{ criteria: [{ selectedOption: '' }, { selectedOption: 'Invalid' }] },
|
||||
{ criteria: [emptyOptionsFeedback, emptyOptionsFeedback] },
|
||||
);
|
||||
expect(output.map(({ selectedOption }) => selectedOption)).toEqual([true, true]);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -29,9 +29,7 @@ export const listData = createSelector(
|
||||
},
|
||||
);
|
||||
|
||||
export const isEmptySubmissionData = createSelector(
|
||||
[module.listData], (data) => data.length === 0,
|
||||
);
|
||||
export const isEmptySubmissionData = createSelector([module.listData], (data) => data.length === 0);
|
||||
|
||||
export default StrictDict({
|
||||
...simpleSelectors,
|
||||
|
||||
@@ -15,7 +15,7 @@ import * as module from './app';
|
||||
*/
|
||||
export const initialize = () => (dispatch) => {
|
||||
dispatch(initializeApp({
|
||||
locationId,
|
||||
locationId: locationId(),
|
||||
onSuccess: (response) => {
|
||||
dispatch(actions.app.loadIsEnabled(response.isEnabled));
|
||||
dispatch(actions.app.loadOraMetadata(response.oraMetadata));
|
||||
|
||||
@@ -25,7 +25,7 @@ describe('app thunkActions', () => {
|
||||
[[dispatchedAction]] = dispatch.mock.calls;
|
||||
});
|
||||
it('dispatches initializeApp with locationId and onSuccess', () => {
|
||||
expect(dispatchedAction.initializeApp.locationId).toEqual(locationId);
|
||||
expect(dispatchedAction.initializeApp.locationId).toEqual(locationId());
|
||||
expect(typeof dispatchedAction.initializeApp.onSuccess).toEqual('function');
|
||||
});
|
||||
describe('on success', () => {
|
||||
|
||||
@@ -47,7 +47,7 @@ export const zipFiles = async (files, blobs, username) => {
|
||||
}
|
||||
|
||||
const zipFile = await zipWriter.close();
|
||||
const zipName = `${username}-${locationId}.zip`;
|
||||
const zipName = `${username}-${locationId()}.zip`;
|
||||
FileSaver.saveAs(zipFile, zipName);
|
||||
};
|
||||
|
||||
|
||||
@@ -32,8 +32,8 @@ import {
|
||||
* }
|
||||
*/
|
||||
const initializeApp = () => get(
|
||||
stringifyUrl(urls.oraInitializeUrl, {
|
||||
[paramKeys.oraLocation]: locationId,
|
||||
stringifyUrl(urls.oraInitializeUrl(), {
|
||||
[paramKeys.oraLocation]: locationId(),
|
||||
}),
|
||||
).then(response => response.data);
|
||||
|
||||
@@ -48,8 +48,8 @@ const initializeApp = () => get(
|
||||
* }
|
||||
*/
|
||||
const fetchSubmission = (submissionUUID) => get(
|
||||
stringifyUrl(urls.fetchSubmissionUrl, {
|
||||
[paramKeys.oraLocation]: locationId,
|
||||
stringifyUrl(urls.fetchSubmissionUrl(), {
|
||||
[paramKeys.oraLocation]: locationId(),
|
||||
[paramKeys.submissionUUID]: submissionUUID,
|
||||
}),
|
||||
).then(response => response.data);
|
||||
@@ -61,8 +61,8 @@ const fetchSubmission = (submissionUUID) => get(
|
||||
* }
|
||||
*/
|
||||
const fetchSubmissionFiles = (submissionUUID) => get(
|
||||
stringifyUrl(urls.fetchSubmissionFilesUrl, {
|
||||
[paramKeys.oraLocation]: locationId,
|
||||
stringifyUrl(urls.fetchSubmissionFilesUrl(), {
|
||||
[paramKeys.oraLocation]: locationId(),
|
||||
[paramKeys.submissionUUID]: submissionUUID,
|
||||
}),
|
||||
).then(response => response.data);
|
||||
@@ -78,8 +78,8 @@ const fetchSubmissionFiles = (submissionUUID) => get(
|
||||
* }
|
||||
*/
|
||||
const fetchSubmissionStatus = (submissionUUID) => get(
|
||||
stringifyUrl(urls.fetchSubmissionStatusUrl, {
|
||||
[paramKeys.oraLocation]: locationId,
|
||||
stringifyUrl(urls.fetchSubmissionStatusUrl(), {
|
||||
[paramKeys.oraLocation]: locationId(),
|
||||
[paramKeys.submissionUUID]: submissionUUID,
|
||||
}),
|
||||
).then(response => response.data);
|
||||
@@ -89,8 +89,8 @@ const fetchSubmissionStatus = (submissionUUID) => get(
|
||||
* @param {string} submissionUUID
|
||||
*/
|
||||
const lockSubmission = (submissionUUID) => post(
|
||||
stringifyUrl(urls.fetchSubmissionLockUrl, {
|
||||
[paramKeys.oraLocation]: locationId,
|
||||
stringifyUrl(urls.fetchSubmissionLockUrl(), {
|
||||
[paramKeys.oraLocation]: locationId(),
|
||||
[paramKeys.submissionUUID]: submissionUUID,
|
||||
}),
|
||||
).then(response => response.data);
|
||||
@@ -100,8 +100,8 @@ const lockSubmission = (submissionUUID) => post(
|
||||
* @param {string} submissionUUID
|
||||
*/
|
||||
const unlockSubmission = (submissionUUID) => client().delete(
|
||||
stringifyUrl(urls.fetchSubmissionLockUrl, {
|
||||
[paramKeys.oraLocation]: locationId,
|
||||
stringifyUrl(urls.fetchSubmissionLockUrl(), {
|
||||
[paramKeys.oraLocation]: locationId(),
|
||||
[paramKeys.submissionUUID]: submissionUUID,
|
||||
}),
|
||||
).then(response => response.data);
|
||||
@@ -112,8 +112,8 @@ const unlockSubmission = (submissionUUID) => client().delete(
|
||||
*/
|
||||
const batchUnlockSubmissions = (submissionUUIDs) => post(
|
||||
stringifyUrl(
|
||||
urls.batchUnlockSubmissionsUrl,
|
||||
{ [paramKeys.oraLocation]: locationId },
|
||||
urls.batchUnlockSubmissionsUrl(),
|
||||
{ [paramKeys.oraLocation]: locationId() },
|
||||
),
|
||||
{ submissionUUIDs },
|
||||
).then(response => response.data);
|
||||
@@ -123,8 +123,8 @@ const batchUnlockSubmissions = (submissionUUIDs) => post(
|
||||
* @param {object} gradeData - full grading submission data
|
||||
*/
|
||||
const updateGrade = (submissionUUID, gradeData) => post(
|
||||
stringifyUrl(urls.updateSubmissionGradeUrl, {
|
||||
[paramKeys.oraLocation]: locationId,
|
||||
stringifyUrl(urls.updateSubmissionGradeUrl(), {
|
||||
[paramKeys.oraLocation]: locationId(),
|
||||
[paramKeys.submissionUUID]: submissionUUID,
|
||||
}),
|
||||
gradeData,
|
||||
|
||||
@@ -13,7 +13,7 @@ jest.mock('./utils', () => ({
|
||||
}));
|
||||
|
||||
jest.mock('data/constants/app', () => ({
|
||||
locationId: 'test-location-id',
|
||||
locationId: () => 'test-location-id',
|
||||
}));
|
||||
|
||||
const gradeData = 'test-grade-data';
|
||||
@@ -37,10 +37,10 @@ const testAPI = ({
|
||||
...otherExpected
|
||||
},
|
||||
}) => {
|
||||
it(`returns ${method}(${urlKey}) with correct args and reoslves with response data`, () => (
|
||||
it(`returns ${method}(${urlKey}) with correct args and resolves with response data`, () => (
|
||||
promise.then((data) => {
|
||||
expect(data[method]).toEqual({
|
||||
url: stringifyUrl(urls[urlKey], urlParams),
|
||||
url: stringifyUrl(urls[urlKey](), urlParams),
|
||||
...otherExpected,
|
||||
});
|
||||
})
|
||||
@@ -54,7 +54,7 @@ describe('lms service api methods', () => {
|
||||
method: methodKeys.get,
|
||||
expected: {
|
||||
urlKey: urlKeys.oraInitializeUrl,
|
||||
urlParams: { [paramKeys.oraLocation]: locationId },
|
||||
urlParams: { [paramKeys.oraLocation]: locationId() },
|
||||
},
|
||||
});
|
||||
});
|
||||
@@ -65,7 +65,7 @@ describe('lms service api methods', () => {
|
||||
expected: {
|
||||
urlKey: urlKeys.fetchSubmissionUrl,
|
||||
urlParams: {
|
||||
[paramKeys.oraLocation]: locationId,
|
||||
[paramKeys.oraLocation]: locationId(),
|
||||
[paramKeys.submissionUUID]: submissionUUID,
|
||||
},
|
||||
},
|
||||
@@ -78,7 +78,7 @@ describe('lms service api methods', () => {
|
||||
expected: {
|
||||
urlKey: urlKeys.fetchSubmissionFilesUrl,
|
||||
urlParams: {
|
||||
[paramKeys.oraLocation]: locationId,
|
||||
[paramKeys.oraLocation]: locationId(),
|
||||
[paramKeys.submissionUUID]: submissionUUID,
|
||||
},
|
||||
},
|
||||
@@ -91,7 +91,7 @@ describe('lms service api methods', () => {
|
||||
expected: {
|
||||
urlKey: urlKeys.fetchSubmissionStatusUrl,
|
||||
urlParams: {
|
||||
[paramKeys.oraLocation]: locationId,
|
||||
[paramKeys.oraLocation]: locationId(),
|
||||
[paramKeys.submissionUUID]: submissionUUID,
|
||||
},
|
||||
},
|
||||
@@ -104,7 +104,7 @@ describe('lms service api methods', () => {
|
||||
expected: {
|
||||
urlKey: urlKeys.fetchSubmissionLockUrl,
|
||||
urlParams: {
|
||||
[paramKeys.oraLocation]: locationId,
|
||||
[paramKeys.oraLocation]: locationId(),
|
||||
[paramKeys.submissionUUID]: submissionUUID,
|
||||
},
|
||||
},
|
||||
@@ -117,7 +117,7 @@ describe('lms service api methods', () => {
|
||||
expected: {
|
||||
urlKey: urlKeys.fetchSubmissionLockUrl,
|
||||
urlParams: {
|
||||
[paramKeys.oraLocation]: locationId,
|
||||
[paramKeys.oraLocation]: locationId(),
|
||||
[paramKeys.submissionUUID]: submissionUUID,
|
||||
},
|
||||
},
|
||||
@@ -130,7 +130,7 @@ describe('lms service api methods', () => {
|
||||
expected: {
|
||||
urlKey: urlKeys.batchUnlockSubmissionsUrl,
|
||||
urlParams: {
|
||||
[paramKeys.oraLocation]: locationId,
|
||||
[paramKeys.oraLocation]: locationId(),
|
||||
},
|
||||
data: { submissionUUIDs },
|
||||
},
|
||||
@@ -143,7 +143,7 @@ describe('lms service api methods', () => {
|
||||
expected: {
|
||||
urlKey: urlKeys.updateSubmissionGradeUrl,
|
||||
urlParams: {
|
||||
[paramKeys.oraLocation]: locationId,
|
||||
[paramKeys.oraLocation]: locationId(),
|
||||
[paramKeys.submissionUUID]: submissionUUID,
|
||||
},
|
||||
data: gradeData,
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
import { StrictDict } from 'utils';
|
||||
import { configuration } from 'config';
|
||||
import { getConfig } from '@edx/frontend-platform';
|
||||
|
||||
const baseUrl = `${configuration.LMS_BASE_URL}`;
|
||||
const baseUrl = () => getConfig().LMS_BASE_URL;
|
||||
|
||||
const api = `${baseUrl}/api/`;
|
||||
const baseEsgUrl = `${api}ora_staff_grader/`;
|
||||
const api = () => `${baseUrl()}/api/`;
|
||||
const baseEsgUrl = () => `${api()}ora_staff_grader/`;
|
||||
|
||||
const oraInitializeUrl = `${baseEsgUrl}initialize`;
|
||||
const fetchSubmissionUrl = `${baseEsgUrl}submission`;
|
||||
const fetchSubmissionFilesUrl = `${baseEsgUrl}submission/files`;
|
||||
const fetchSubmissionStatusUrl = `${baseEsgUrl}submission/status`;
|
||||
const fetchSubmissionLockUrl = `${baseEsgUrl}submission/lock`;
|
||||
const batchUnlockSubmissionsUrl = `${baseEsgUrl}submission/batch/unlock`;
|
||||
const updateSubmissionGradeUrl = `${baseEsgUrl}submission/grade`;
|
||||
const oraInitializeUrl = () => `${baseEsgUrl()}initialize`;
|
||||
const fetchSubmissionUrl = () => `${baseEsgUrl()}submission`;
|
||||
const fetchSubmissionFilesUrl = () => `${baseEsgUrl()}submission/files`;
|
||||
const fetchSubmissionStatusUrl = () => `${baseEsgUrl()}submission/status`;
|
||||
const fetchSubmissionLockUrl = () => `${baseEsgUrl()}submission/lock`;
|
||||
const batchUnlockSubmissionsUrl = () => `${baseEsgUrl()}submission/batch/unlock`;
|
||||
const updateSubmissionGradeUrl = () => `${baseEsgUrl()}submission/grade`;
|
||||
|
||||
const course = (courseId) => `${baseUrl}/courses/${courseId}`;
|
||||
const course = (courseId) => `${baseUrl()}/courses/${courseId}`;
|
||||
|
||||
const openResponse = (courseId) => (
|
||||
`${course(courseId)}/instructor#view-open_response_assessment`
|
||||
|
||||
37
src/i18n/index.js
Normal file
37
src/i18n/index.js
Normal file
@@ -0,0 +1,37 @@
|
||||
import { messages as footerMessages } from '@edx/frontend-component-footer';
|
||||
import { messages as headerMesssages } from '@edx/frontend-component-header';
|
||||
import { messages as paragonMessages } from '@edx/paragon';
|
||||
|
||||
import arMessages from './messages/ar.json';
|
||||
// no need to import en messages-- they are in the defaultMessage field
|
||||
import es419Messages from './messages/es_419.json';
|
||||
import frMessages from './messages/fr.json';
|
||||
import zhcnMessages from './messages/zh_CN.json';
|
||||
import dedeMessages from './messages/de_DE.json';
|
||||
import frcaMessages from './messages/fr_CA.json';
|
||||
import hiMessages from './messages/hi.json';
|
||||
import ititMessages from './messages/it_IT.json';
|
||||
import ptptMessages from './messages/pt_PT.json';
|
||||
import ruMessages from './messages/ru.json';
|
||||
import ukMessages from './messages/uk.json';
|
||||
|
||||
const appMessages = {
|
||||
ar: arMessages,
|
||||
'es-419': es419Messages,
|
||||
fr: frMessages,
|
||||
'zh-cn': zhcnMessages,
|
||||
'de-de': dedeMessages,
|
||||
'fr-ca': frcaMessages,
|
||||
hi: hiMessages,
|
||||
'it-it': ititMessages,
|
||||
'pt-pt': ptptMessages,
|
||||
ru: ruMessages,
|
||||
uk: ukMessages,
|
||||
};
|
||||
|
||||
export default [
|
||||
headerMesssages,
|
||||
footerMessages,
|
||||
paragonMessages,
|
||||
appMessages,
|
||||
];
|
||||
@@ -1,14 +0,0 @@
|
||||
import arMessages from './messages/ar.json';
|
||||
// no need to import en messages-- they are in the defaultMessage field
|
||||
import es419Messages from './messages/es_419.json';
|
||||
import frMessages from './messages/fr.json';
|
||||
import zhcnMessages from './messages/zh_CN.json';
|
||||
|
||||
const messages = {
|
||||
ar: arMessages,
|
||||
'es-419': es419Messages,
|
||||
fr: frMessages,
|
||||
'zh-cn': zhcnMessages,
|
||||
};
|
||||
|
||||
export default messages;
|
||||
@@ -1,104 +1,105 @@
|
||||
{
|
||||
"ora-grading.demoAlert.warningMessage": "Grade submission is disabled in the Demo mode of the new ORA Staff Grader.",
|
||||
"ora-grading.demoAlert.confirm": "Confirm",
|
||||
"ora-grading.demoAlert.title": "Demo submit prevented",
|
||||
"ora-grading.FilePopoverContent.filePopoverNameTitle": "File Name",
|
||||
"ora-grading.FilePopoverCellContent.filePopoverDescriptionTitle": "File Description",
|
||||
"ora-grading.FilePopoverCellContent.fileSizeTitle": "File Size",
|
||||
"ora-grading.InfoPopover.fileInfo": "File info",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.retryButton": "Retry",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.fileNotFound": "File not found",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.unknownError": "Unknown errors",
|
||||
"ora-grading.InfoPopover.alt-text": "Display more info",
|
||||
"ora-grading.CriterionFeedback.addCommentsLabel": "Add comments",
|
||||
"ora-grading.CriterionFeedback.commentsLabel": "Comments",
|
||||
"ora-grading.CriterionFeedback.optional": "(Optional)",
|
||||
"ora-grading.RadioCriterion.optionPoints": "{points} points",
|
||||
"ora-grading.RadioCriterion.rubricSelectedError": "Rubric selection is required",
|
||||
"ora-grading.CriterionFeedback.criterionFeedbackError": "The feedback is required",
|
||||
"ora-grading.CTA.feedbackMessage": "Thanks for using the new ORA staff grading experience. ",
|
||||
"ora-grading.CTA.linkMessage": "Provide some feedback",
|
||||
"ora-grading.CTA.letUsKnowMessage": " and let us know what you think!",
|
||||
"ora-grading.ReviewModal.demoHeading": "Demo Mode",
|
||||
"ora-grading.ReviewModal.demoMessage": "You are demoing the new ORA staff grading experience. You will be unable to submit grades until you activate the feature. This will become the default grading experience on May 9th (05/09/2022). To opt-in early, or opt-out, please contact Partner Support.",
|
||||
"ora-grading.ListView.ListViewBreadcrumbs.backToResponses": "Back to all open responses",
|
||||
"ora-grading.ListView.noResultsFoundTitle": "Nothing here yet",
|
||||
"ora-grading.ListView.noResultsFoundBody": "When learners submit responses, they will appear here",
|
||||
"ora-grading.ListView.viewAllResponses": "View all responses",
|
||||
"ora-grading.ListView.viewSelectedResponses": "View selected responses ({value})",
|
||||
"ora-grading.ListView.tableHeaders.username": "Username",
|
||||
"ora-grading.ListView.tableHeaders.teamName": "Team name",
|
||||
"ora-grading.ListView.tableHeaders.learnerSubmissionDate": "Learner submission date",
|
||||
"ora-grading.ListView.tableHeaders.teamSubmissionDate": "Team submission date",
|
||||
"ora-grading.ListView.tableHeaders.grade": "Grade",
|
||||
"ora-grading.ListView.tableHeaders.gradingStatus": "Grading status",
|
||||
"ora-grading.ListView.loadErrorHeading": "Error loading submissions",
|
||||
"ora-grading.ListView.loadErrorMessage1": "An error occurred while loading the submissions for this response. Try reloading the page or going {backToResponses}.",
|
||||
"ora-grading.ListView.backToResponsesLowercase": "back to all Open Responses",
|
||||
"ora-grading.ListView.reloadSubmissions": "Reload submissions",
|
||||
"ora-grading.ListView.loadingResponses": "Loading responses",
|
||||
"ora-grading.ResponseDisplay.FilePopoverCell.filePopoverNameTitle": "File Name",
|
||||
"ora-grading.ResponseDisplay.FilePopoverCell.filePopoverDescriptionTitle": "File Description",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tableNameHeader": "Name",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tableExtensionHeader": "File Extension",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tablePopoverHeader": "File Metadata",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloadFiles": "Download files",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloading": "Downloading",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloaded": "Downloaded!",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.retryDownload": "Retry download",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.submissionFile": "Submission Files",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.fileSizeExceed": "Exceeded the allow download size",
|
||||
"ora-grading.ReviewActions.overrideConfirmTitle": "Are you sure you want to override this grade?",
|
||||
"ora-grading.ReviewActions.overrideConfirmWarning": "This cannot be undone. The learner may have already received their grade.",
|
||||
"ora-grading.ReviewActions.overrideConfirmContinue": "Continue grade override",
|
||||
"ora-grading.ReviewActions.StartGradingButton.startGrading": "Start grading",
|
||||
"ora-grading.ReviewActions.StartGradingButton.overrideGrade": "Override grade",
|
||||
"ora-grading.ReviewActions.StartGradingButton.stopGrading": "Stop grading this response",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.override.title": "Are you sure you want to stop grade override?",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.title": "Are you sure you want to stop grading this response?",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.warning": "Your progress will be lost.",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.override.confirmText": "Stop grade override",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.confirmText": "Cancel grading",
|
||||
"ora-grading.ReviewActions.goBack": "Go back",
|
||||
"ora-grading.ReviewActions.loadPrevious": "Load previous submission",
|
||||
"ora-grading.ReviewActions.loadNext": "Load next submission",
|
||||
"ora-grading.ReviewActions.navigationLabel": "{current} of {total}",
|
||||
"ora-grading.ReviewActions.pointsDisplay": "Score: {pointsEarned}/{pointsPossible}",
|
||||
"ora-grading.ReviewActions.hideRubric": "Hide Rubric",
|
||||
"ora-grading.ReviewActions.showRubric": "Show Rubric",
|
||||
"ora-grading.ReviewModal.closeReviewConfirm.title": "Are you sure you want to close this modal?",
|
||||
"ora-grading.ReviewModal.closeReviewConfirmWarning": "This cannot be undone. This will discard unsaved work and stop this grading process.",
|
||||
"ora-grading.ReviewModal.goBack": "Go back",
|
||||
"ora-grading.ReviewModal.CloseReviewConfirmModal.confirmText": "Close Modal",
|
||||
"ora-grading.ReviewModal.loadingResponse": "Loading response",
|
||||
"ora-grading.ReviewModal.demoTitleMessage": "Grading Demo",
|
||||
"ora-grading.ReviewModal.loadErrorHeading": "Error loading submissions",
|
||||
"ora-grading.ReviewModal.loadErrorMessage1": "An error occurred while loading this submission. Try reloading this submission.",
|
||||
"ora-grading.ReviewModal.reloadSubmission": "Reload submission",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.heading": "Grade not submitted",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.Content": "We're sorry, something went wrong when we tried to submit this grade. Please try again.",
|
||||
"ora-grading.ReviewModal.resubmitGrade": "Resubmit grate",
|
||||
"ora-grading.ReviewModal.dismiss": "Dismiss",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Heading": "Error submitting grade",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Content": "It looks like someone else got here first! Your grade submission has been rejected",
|
||||
"ora-grading.ReviewModal.errorLockContestedHeading": "The lock owned by another user",
|
||||
"ora-grading.ReviewModal.errorLockContested": "The lock owned by another user",
|
||||
"ora-grading.ReviewModal.errorLockBadRequestHeading": "Invalid request. Please check your input.",
|
||||
"ora-grading.ReviewModal.errorLockBadRequest": "Invalid request. Please check your input.",
|
||||
"ora-grading.ReviewModal.errorDownloadFailed": "Couldn't download files",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedContent": "We're sorry, something went wrong when we tried to download these files. Please try again.",
|
||||
"ora-grading.ReviewModal.errorRetryDownload": "Retry download",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedFiles": "Failed files:",
|
||||
"ora-grading.Rubric.gradeSubmitted": "Grade Submitted",
|
||||
"ora-grading.Rubric.rubric": "Rubric",
|
||||
"ora-grading.Rubric.submitGrade": "Submit grade",
|
||||
"ora-grading.Rubric.submittingGrade": "Submitting grade",
|
||||
"ora-grading.Rubric.overallComments": "Overall comments",
|
||||
"ora-grading.Rubric.addComments": "Add comments (Optional)",
|
||||
"ora-grading.Rubric.comments": "Comments (Optional)",
|
||||
"ora-grading.RubricFeedback.error": "The overall feedback is required",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.ungraded": "Ungraded",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.locked": "Currently being graded by someone else",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.graded": "Grading Completed",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.inProgress": "You are currently grading this response"
|
||||
"ora-grading.demoAlert.warningMessage": "إرسال الدرجات معطّل في الوضع التجريبي لمصحح الإجابات المفتوحة الجديد ﻷعضاء الطاقم..",
|
||||
"ora-grading.demoAlert.confirm": "تأكيد",
|
||||
"ora-grading.demoAlert.title": "تم منع الإرسال التجريبي",
|
||||
"ora-grading.FilePopoverContent.filePopoverNameTitle": "اسم الملف",
|
||||
"ora-grading.FilePopoverCellContent.filePopoverDescriptionTitle": "وصف الملف",
|
||||
"ora-grading.FilePopoverCellContent.fileSizeTitle": "حجم الملف",
|
||||
"ora-grading.InfoPopover.fileInfo": "معلومات الملف",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.retryButton": "إعادة المحاولة",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.fileNotFound": "الملف غير موجود",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.unknownError": "أخطاء غير معروفة",
|
||||
"PageTitle": "مصحح الإجابات المفتوحة ﻷعضاء الطاقم | {siteName}",
|
||||
"ora-grading.InfoPopover.alt-text": "عرض مزيد من المعلومات",
|
||||
"ora-grading.CriterionFeedback.addCommentsLabel": "إضافة تعليقات",
|
||||
"ora-grading.CriterionFeedback.commentsLabel": "التعليقات",
|
||||
"ora-grading.CriterionFeedback.optional": "(اختياري)",
|
||||
"ora-grading.RadioCriterion.optionPoints": "{points} نقطة",
|
||||
"ora-grading.RadioCriterion.rubricSelectedError": "اختيار سلم التنقيط",
|
||||
"ora-grading.CriterionFeedback.criterionFeedbackError": "التعليق مطلوب",
|
||||
"ora-grading.CTA.feedbackMessage": "نشكرك على استخدام التجربة الجديدة لتصحيح الإجابات المفتوحة ﻷعضاء الطاقم.",
|
||||
"ora-grading.CTA.linkMessage": "قدّم بعض الملاحظات",
|
||||
"ora-grading.CTA.letUsKnowMessage": " و دعنا نعرف رأيك!",
|
||||
"ora-grading.ReviewModal.demoHeading": "الوضع التجريبي",
|
||||
"ora-grading.ReviewModal.demoMessage": "أنت تستعرض التجربة الجديدة لتصحيح الإجابات المفتوحة ﻷعضاء الطاقم. لن تستطيع إرسال درجات حتى تقوم بتنشيط الميزة. ستصبح تجربة التصحيح هذه هي الافتراضية اعتبارًا من 9 مايو (05/09/2022). للاشتراك مبكرًا أو الانسحاب، يرجى الاتصال بدعم الشركاء.",
|
||||
"ora-grading.ListView.ListViewBreadcrumbs.backToResponses": "رجوع إلى جميع الإجابات المفتوحة",
|
||||
"ora-grading.ListView.noResultsFoundTitle": "لا شيء هنا بعد",
|
||||
"ora-grading.ListView.noResultsFoundBody": "ستظهر هنا إجابات المتعلمين غتدما يرسلونها",
|
||||
"ora-grading.ListView.viewAllResponses": "عرض جميع الإجابات",
|
||||
"ora-grading.ListView.viewSelectedResponses": "عرض الردود المحددة ({value})",
|
||||
"ora-grading.ListView.tableHeaders.username": "اسم المستخدم",
|
||||
"ora-grading.ListView.tableHeaders.teamName": "اسم الفريق",
|
||||
"ora-grading.ListView.tableHeaders.learnerSubmissionDate": "تاريخ إرسال المتعلّم",
|
||||
"ora-grading.ListView.tableHeaders.teamSubmissionDate": "تاريخ إرسال الفريق",
|
||||
"ora-grading.ListView.tableHeaders.grade": "الدرجة",
|
||||
"ora-grading.ListView.tableHeaders.gradingStatus": "وضع الدرجات",
|
||||
"ora-grading.ListView.loadErrorHeading": "خطأ أثناء تحميل الإجابات",
|
||||
"ora-grading.ListView.loadErrorMessage1": "حدث خطأ أثناء تحميل عمليات الإرسال لهذه الاستجابة. حاول إعادة تحميل الصفحة أو الانتقال إلى {backToResponses}.",
|
||||
"ora-grading.ListView.backToResponsesLowercase": "العودة إلى جميع الردود المفتوحة",
|
||||
"ora-grading.ListView.reloadSubmissions": "إعادة تحميل الإجابات",
|
||||
"ora-grading.ListView.loadingResponses": "تحميل الإرسالات",
|
||||
"ora-grading.ResponseDisplay.FilePopoverCell.filePopoverNameTitle": "اسم الملف",
|
||||
"ora-grading.ResponseDisplay.FilePopoverCell.filePopoverDescriptionTitle": "وصف الملف",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tableNameHeader": "الاسم",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tableExtensionHeader": "نسق الملف",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tablePopoverHeader": "البيانات الوصفية للملف",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloadFiles": "تحميل الملفات",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloading": "التحميل جارٍ",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloaded": "تم التحميل!",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.retryDownload": "تكرار محاولة التحميل",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.submissionFile": "ملفات الإجابة",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.fileSizeExceed": "تم تجاوز حجم التحميلات المسموح به",
|
||||
"ora-grading.ReviewActions.overrideConfirmTitle": "هل أنت من رغبتك في تبديل هذه الدرجة؟",
|
||||
"ora-grading.ReviewActions.overrideConfirmWarning": "لا يمكن التراجع عن هذا. قد يكون المتعلم قد اطّلع على درجته.",
|
||||
"ora-grading.ReviewActions.overrideConfirmContinue": "متابعة تبديل الدرجة",
|
||||
"ora-grading.ReviewActions.StartGradingButton.startGrading": "ابدأ التنقيط",
|
||||
"ora-grading.ReviewActions.StartGradingButton.overrideGrade": "تبديل الدرجة",
|
||||
"ora-grading.ReviewActions.StartGradingButton.stopGrading": "التوقف عن تنقيط هذه الإجابة",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.override.title": "هل أنت متأكد من رغبتك في العدول عن تبديل الدرجة؟",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.title": "هل أنت متأكد من رغبتك في العدول عن تنقيط هذه الاستجابة؟",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.warning": "ستفقد تقدّمك.",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.override.confirmText": "العدول عن تبديل الدرجة",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.confirmText": "إلغاء التنقيط",
|
||||
"ora-grading.ReviewActions.goBack": "العودة إلى ما سبق",
|
||||
"ora-grading.ReviewActions.loadPrevious": "تحميل الإرسال السابق",
|
||||
"ora-grading.ReviewActions.loadNext": "تحميل الإرسال التالي",
|
||||
"ora-grading.ReviewActions.navigationLabel": "{current} من {total}",
|
||||
"ora-grading.ReviewActions.pointsDisplay": "النتيجة: {pointsEarned}\\{pointsPossible}",
|
||||
"ora-grading.ReviewActions.hideRubric": "إخفاء سلم التنقيط",
|
||||
"ora-grading.ReviewActions.showRubric": "إظهار سلم التنقيط",
|
||||
"ora-grading.ReviewModal.closeReviewConfirm.title": "هل أنت متأكد من رغبتك في إغلاق هذا النموذج؟",
|
||||
"ora-grading.ReviewModal.closeReviewConfirmWarning": "لن تستطيع التراجع. سيؤدي هذا الإجراء إلى تجاهل ما لم تحفظه و إيقاف عملية التنقيط هذه.",
|
||||
"ora-grading.ReviewModal.goBack": "العودة للخلف",
|
||||
"ora-grading.ReviewModal.CloseReviewConfirmModal.confirmText": "إغلاق النافذة",
|
||||
"ora-grading.ReviewModal.loadingResponse": "تحميل الإجابة جارٍ",
|
||||
"ora-grading.ReviewModal.demoTitleMessage": "عرض الدرجات",
|
||||
"ora-grading.ReviewModal.loadErrorHeading": "خطأ في تحميل عمليات الإرسال",
|
||||
"ora-grading.ReviewModal.loadErrorMessage1": "حدث خطأ أثناء تحميل هذا الإرسال. حاول إعادة تحميل هذا الإرسال.",
|
||||
"ora-grading.ReviewModal.reloadSubmission": "إعادة تحميل التقديم",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.heading": "لم يتم تقديم الدرجة",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.Content": "نأسف ، حدث خطأ ما عندما حاولنا إرسال هذه الدرجة. حاول مرة اخرى.",
|
||||
"ora-grading.ReviewModal.resubmitGrade": "إعادة إرسال الدرجة",
|
||||
"ora-grading.ReviewModal.dismiss": "تجاهل",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Heading": "خطأ في إرسال الدرجة",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Content": "يبدو أن شخصًا آخر قد سبقك إلى هنا! تم رفض إرسال درجتك",
|
||||
"ora-grading.ReviewModal.errorLockContestedHeading": "القفل بيد مستخدم آخر",
|
||||
"ora-grading.ReviewModal.errorLockContested": "القفل بيد مستخدم آخر",
|
||||
"ora-grading.ReviewModal.errorLockBadRequestHeading": "الطلب غير صالح. تحقق من مدخلاتك رجاءً.",
|
||||
"ora-grading.ReviewModal.errorLockBadRequest": "الطلب غير صالح. تحقق من مدخلاتك رجاءً.",
|
||||
"ora-grading.ReviewModal.errorDownloadFailed": "تعذر تحميل الملفات",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedContent": "نحن آسفون، حدث خطأ ما حينما حاولنا تنزيل هذه الملفات. رجاءً حاول مجددًًا",
|
||||
"ora-grading.ReviewModal.errorRetryDownload": "إعادة تجريب التحميل",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedFiles": "الملفات الفاشلة:",
|
||||
"ora-grading.Rubric.gradeSubmitted": "أرسلت الدرجة",
|
||||
"ora-grading.Rubric.rubric": "سلم التنقيط",
|
||||
"ora-grading.Rubric.submitGrade": "إرسال الدرجة",
|
||||
"ora-grading.Rubric.submittingGrade": "إرسال الدرجة جارٍ",
|
||||
"ora-grading.Rubric.overallComments": "مجمل التعليقات",
|
||||
"ora-grading.Rubric.addComments": "إضافة تعليقات (اختياري)",
|
||||
"ora-grading.Rubric.comments": "التعليقات (اختياري)",
|
||||
"ora-grading.RubricFeedback.error": "التعليق العام مطلوب",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.ungraded": "غير منقّط",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.locked": "شخص آخر يقوم بتنقيطه حاليا",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.graded": "تم التنقيط",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.inProgress": "أنت تقوم حاليا بتنقيط هذه الإجابة"
|
||||
}
|
||||
105
src/i18n/messages/de_DE.json
Normal file
105
src/i18n/messages/de_DE.json
Normal file
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"ora-grading.demoAlert.warningMessage": "Bewertungen sind im Demomodus des neuen ORA Staff Grader deaktiviert.",
|
||||
"ora-grading.demoAlert.confirm": "Bestätigen",
|
||||
"ora-grading.demoAlert.title": "Demo-Übermittlung verhindert",
|
||||
"ora-grading.FilePopoverContent.filePopoverNameTitle": "Dateiname",
|
||||
"ora-grading.FilePopoverCellContent.filePopoverDescriptionTitle": "Dateibeschreibung",
|
||||
"ora-grading.FilePopoverCellContent.fileSizeTitle": "Dateigröße",
|
||||
"ora-grading.InfoPopover.fileInfo": "Dateiinformation",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.retryButton": "Wiederholen",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.fileNotFound": "Datei nicht gefunden",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.unknownError": "Unbekannte Fehler",
|
||||
"PageTitle": "ORA-Personalbenotung | {siteName}",
|
||||
"ora-grading.InfoPopover.alt-text": "Weitere Informationen anzeigen",
|
||||
"ora-grading.CriterionFeedback.addCommentsLabel": "Kommentare hinzufügen",
|
||||
"ora-grading.CriterionFeedback.commentsLabel": "Kommentare",
|
||||
"ora-grading.CriterionFeedback.optional": "(Optional)",
|
||||
"ora-grading.RadioCriterion.optionPoints": "{points} Punkte",
|
||||
"ora-grading.RadioCriterion.rubricSelectedError": "Rubrikauswahl ist erforderlich",
|
||||
"ora-grading.CriterionFeedback.criterionFeedbackError": "Das Feedback ist erforderlich",
|
||||
"ora-grading.CTA.feedbackMessage": "Vielen Dank, dass Sie die neue ORA-Bewertungserfahrung für Mitarbeiter_innen nutzen.",
|
||||
"ora-grading.CTA.linkMessage": "Geben Sie Feedback",
|
||||
"ora-grading.CTA.letUsKnowMessage": "und teilen Sie uns Ihre Meinung mit!",
|
||||
"ora-grading.ReviewModal.demoHeading": "Demo-Modus",
|
||||
"ora-grading.ReviewModal.demoMessage": "Sie testen die neue ORA-Mitarbeiterbewertungserfahrung. Sie können keine Noten einreichen, bis Sie die Funktion aktiviert haben. Dies wird am 9. Mai (09.05.2022) zur standardmäßigen Benotungserfahrung. Um sich frühzeitig anzumelden oder abzumelden, wenden Sie sich bitte an den Partner-Support.",
|
||||
"ora-grading.ListView.ListViewBreadcrumbs.backToResponses": "Zurück zu allen offenen Antworten",
|
||||
"ora-grading.ListView.noResultsFoundTitle": "Bisher keine Inhalte",
|
||||
"ora-grading.ListView.noResultsFoundBody": "Wenn Lernende Antworten senden, werden sie hier angezeigt",
|
||||
"ora-grading.ListView.viewAllResponses": "Alle Antworten anzeigen",
|
||||
"ora-grading.ListView.viewSelectedResponses": "Ausgewählte Antworten anzeigen ({value})",
|
||||
"ora-grading.ListView.tableHeaders.username": "Nutzername",
|
||||
"ora-grading.ListView.tableHeaders.teamName": "Teamname",
|
||||
"ora-grading.ListView.tableHeaders.learnerSubmissionDate": "Abgabedatum des Teilnehmers",
|
||||
"ora-grading.ListView.tableHeaders.teamSubmissionDate": "Abgabedatum des Teams",
|
||||
"ora-grading.ListView.tableHeaders.grade": "Note",
|
||||
"ora-grading.ListView.tableHeaders.gradingStatus": "Benotungsstatus",
|
||||
"ora-grading.ListView.loadErrorHeading": "Fehler beim Laden der Einreichungen",
|
||||
"ora-grading.ListView.loadErrorMessage1": "Beim Laden der Übermittlungen für diese Antwort ist ein Fehler aufgetreten. Versuchen Sie, die Seite neu zu laden oder {backToResponses} aufzurufen.",
|
||||
"ora-grading.ListView.backToResponsesLowercase": "zurück zu allen offenen Antworten",
|
||||
"ora-grading.ListView.reloadSubmissions": "Einreichungen neu laden",
|
||||
"ora-grading.ListView.loadingResponses": "Antworten werden geladen",
|
||||
"ora-grading.ResponseDisplay.FilePopoverCell.filePopoverNameTitle": "Dateiname",
|
||||
"ora-grading.ResponseDisplay.FilePopoverCell.filePopoverDescriptionTitle": "Dateibeschreibung",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tableNameHeader": "Name",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tableExtensionHeader": "Dateierweiterung",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tablePopoverHeader": "Datei-Metadaten",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloadFiles": "Dateien herunterladen",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloading": "wird heruntergeladen",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloaded": "Heruntergeladen!",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.retryDownload": "Download neu versuchen",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.submissionFile": "Einreichungsdateien",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.fileSizeExceed": "Zulässige Downloadgröße überschritten",
|
||||
"ora-grading.ReviewActions.overrideConfirmTitle": "Möchten Sie diese Note wirklich überschreiben?",
|
||||
"ora-grading.ReviewActions.overrideConfirmWarning": "Das kann nicht rückgängig gemacht werden. Der Lernende hat seine Note möglicherweise bereits erhalten.",
|
||||
"ora-grading.ReviewActions.overrideConfirmContinue": "Gradüberschreibung fortsetzen",
|
||||
"ora-grading.ReviewActions.StartGradingButton.startGrading": "Beginnen Sie mit der Benotung",
|
||||
"ora-grading.ReviewActions.StartGradingButton.overrideGrade": "Benotung überschreiben",
|
||||
"ora-grading.ReviewActions.StartGradingButton.stopGrading": "Bewerten Sie diese Antwort nicht mehr",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.override.title": "Möchten Sie die Notenüberschreibung wirklich beenden?",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.title": "Möchten Sie diese Antwort wirklich nicht mehr benoten?",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.warning": "Ihr Fortschritt geht verloren.",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.override.confirmText": "Überschreibung stoppen",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.confirmText": "Benotung abbrechen",
|
||||
"ora-grading.ReviewActions.goBack": "Gehe zurück",
|
||||
"ora-grading.ReviewActions.loadPrevious": "Vorherige Übermittlung laden",
|
||||
"ora-grading.ReviewActions.loadNext": "Nächste Einreichung laden",
|
||||
"ora-grading.ReviewActions.navigationLabel": "{current} von {total}",
|
||||
"ora-grading.ReviewActions.pointsDisplay": "Ergebnis: {pointsEarned}/{pointsPossible}",
|
||||
"ora-grading.ReviewActions.hideRubric": "Rubrik ausblenden",
|
||||
"ora-grading.ReviewActions.showRubric": "Rubrik anzeigen",
|
||||
"ora-grading.ReviewModal.closeReviewConfirm.title": "Möchten Sie dieses Modal wirklich schließen?",
|
||||
"ora-grading.ReviewModal.closeReviewConfirmWarning": "Das kann nicht rückgängig gemacht werden. Dadurch werden nicht gespeicherte Arbeiten verworfen und dieser Bewertungsprozess beendet.",
|
||||
"ora-grading.ReviewModal.goBack": "zurück",
|
||||
"ora-grading.ReviewModal.CloseReviewConfirmModal.confirmText": "Modal schließen",
|
||||
"ora-grading.ReviewModal.loadingResponse": "Antwort wird geladen",
|
||||
"ora-grading.ReviewModal.demoTitleMessage": "Benotungs-Demo",
|
||||
"ora-grading.ReviewModal.loadErrorHeading": "Fehler beim Laden der Einreichungen",
|
||||
"ora-grading.ReviewModal.loadErrorMessage1": "Beim Laden dieser Übermittlung ist ein Fehler aufgetreten. Versuchen Sie, diese Übermittlung erneut zu laden.",
|
||||
"ora-grading.ReviewModal.reloadSubmission": "Einreichung neu laden",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.heading": "Note nicht übermittelt",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.Content": "Es tut uns leid, beim Versuch, diese Bewertung einzureichen, ist etwas schief gelaufen. Bitte versuche es erneut.",
|
||||
"ora-grading.ReviewModal.resubmitGrade": "Benotung erneut einreichen",
|
||||
"ora-grading.ReviewModal.dismiss": "Abgewiesen",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Heading": "Fehler beim Senden der Note",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Content": "Es sieht so aus, als wäre jemand anderes zuerst hier gewesen! Ihre Notenübermittlung wurde abgelehnt",
|
||||
"ora-grading.ReviewModal.errorLockContestedHeading": "Die Sperre, die einem anderen Benutzer gehört",
|
||||
"ora-grading.ReviewModal.errorLockContested": "Die Sperre, die einem anderen Benutzer gehört",
|
||||
"ora-grading.ReviewModal.errorLockBadRequestHeading": "Ungültige Anfrage. Bitte überprüfen Sie Ihre Eingabe.",
|
||||
"ora-grading.ReviewModal.errorLockBadRequest": "Ungültige Anfrage. Bitte überprüfen Sie Ihre Eingabe.",
|
||||
"ora-grading.ReviewModal.errorDownloadFailed": "Dateien konnten nicht heruntergeladen werden",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedContent": "Es tut uns leid, beim Versuch, diese Dateien herunterzuladen, ist etwas schief gelaufen. Bitte versuche es erneut.",
|
||||
"ora-grading.ReviewModal.errorRetryDownload": "Download neu versuchen",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedFiles": "Fehlerhafte Dateien:",
|
||||
"ora-grading.Rubric.gradeSubmitted": "Note übermittelt",
|
||||
"ora-grading.Rubric.rubric": "Rubrik",
|
||||
"ora-grading.Rubric.submitGrade": "Note abgeben",
|
||||
"ora-grading.Rubric.submittingGrade": "Note abgeben",
|
||||
"ora-grading.Rubric.overallComments": "Allgemeine Kommentare",
|
||||
"ora-grading.Rubric.addComments": "Kommentare hinzufügen (Optional)",
|
||||
"ora-grading.Rubric.comments": "Kommentare (optional)",
|
||||
"ora-grading.RubricFeedback.error": "Das gesamte Feedback ist erforderlich",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.ungraded": "Unbenotet",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.locked": "Wird gerade von jemand anderem benotet",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.graded": "Benotung abgeschlossen",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.inProgress": "Sie benoten diese Antwort derzeit"
|
||||
}
|
||||
@@ -9,6 +9,7 @@
|
||||
"ora-grading.ResponseDisplay.FileRenderer.retryButton": "Reintentar",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.fileNotFound": "Archivo no encontrado",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.unknownError": "Errores desconocidos",
|
||||
"PageTitle": "Clasificación del personal de ORA | {siteName}",
|
||||
"ora-grading.InfoPopover.alt-text": "Mostrar más información",
|
||||
"ora-grading.CriterionFeedback.addCommentsLabel": "Añadir comentarios",
|
||||
"ora-grading.CriterionFeedback.commentsLabel": "Comentarios",
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
"ora-grading.ResponseDisplay.FileRenderer.retryButton": "Réessayez",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.fileNotFound": "Fichier introuvable",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.unknownError": "Erreurs inconnues",
|
||||
"ora-grading.InfoPopover.alt-text": "Afficher plus d'informations",
|
||||
"PageTitle": "ORA staff grading | {siteName}",
|
||||
"ora-grading.InfoPopover.alt-text": "Afficher plus d'informations",
|
||||
"ora-grading.CriterionFeedback.addCommentsLabel": "Ajoutez des commentaires",
|
||||
"ora-grading.CriterionFeedback.commentsLabel": "Commentaires",
|
||||
"ora-grading.CriterionFeedback.optional": "(Optionnel)",
|
||||
@@ -20,20 +21,20 @@
|
||||
"ora-grading.CTA.linkMessage": "Fournir des commentaires",
|
||||
"ora-grading.CTA.letUsKnowMessage": "et dites-nous ce que vous en pensez !",
|
||||
"ora-grading.ReviewModal.demoHeading": "Mode de démonstration",
|
||||
"ora-grading.ReviewModal.demoMessage": "Vous présentez la nouvelle expérience de notation du personnel ORA. Vous ne pourrez pas soumettre de notes tant que vous n'aurez pas activé la fonctionnalité. Cela deviendra l'expérience de notation par défaut le 9 mai (05/09/2022). Pour vous inscrire plus tôt ou vous désinscrire, veuillez contacter l'assistance aux partenaires.",
|
||||
"ora-grading.ReviewModal.demoMessage": "Vous présentez la nouvelle expérience de notation du personnel ORA. Vous ne pourrez pas soumettre de notes tant que vous n'aurez pas activé la fonctionnalité. Cela deviendra l'expérience de notation par défaut le 9 mai (05/09/2022). Pour vous inscrire plus tôt ou vous désinscrire, veuillez contacter l'assistance aux partenaires.",
|
||||
"ora-grading.ListView.ListViewBreadcrumbs.backToResponses": "Retour à toutes les réponses ouvertes",
|
||||
"ora-grading.ListView.noResultsFoundTitle": "Rien ici encore",
|
||||
"ora-grading.ListView.noResultsFoundBody": "Lorsque les apprenants soumettront des réponses, elles apparaîtront ici",
|
||||
"ora-grading.ListView.viewAllResponses": "Afficher toutes les réponses",
|
||||
"ora-grading.ListView.viewSelectedResponses": "Afficher les réponses sélectionnées ({value})",
|
||||
"ora-grading.ListView.tableHeaders.username": "Nom d’utilisateur",
|
||||
"ora-grading.ListView.tableHeaders.teamName": "Nom de l'équipe",
|
||||
"ora-grading.ListView.tableHeaders.learnerSubmissionDate": "Date de soumission de l'apprenant",
|
||||
"ora-grading.ListView.tableHeaders.teamSubmissionDate": "Date de soumission de l'équipe",
|
||||
"ora-grading.ListView.tableHeaders.teamName": "Nom de l'équipe",
|
||||
"ora-grading.ListView.tableHeaders.learnerSubmissionDate": "Date de soumission de l'apprenant",
|
||||
"ora-grading.ListView.tableHeaders.teamSubmissionDate": "Date de soumission de l'équipe",
|
||||
"ora-grading.ListView.tableHeaders.grade": "Note",
|
||||
"ora-grading.ListView.tableHeaders.gradingStatus": "Statut du classement",
|
||||
"ora-grading.ListView.loadErrorHeading": "Erreur lors du chargement des soumissions",
|
||||
"ora-grading.ListView.loadErrorMessage1": "Une erreur s'est produite lors du chargement des soumissions pour cette réponse. Essayez de recharger la page ou d'aller {backToResponses}.",
|
||||
"ora-grading.ListView.loadErrorMessage1": "Une erreur s'est produite lors du chargement des soumissions pour cette réponse. Essayez de recharger la page ou d'aller {backToResponses}.",
|
||||
"ora-grading.ListView.backToResponsesLowercase": "retour à toutes les réponses ouvertes",
|
||||
"ora-grading.ListView.reloadSubmissions": "Recharger les soumissions",
|
||||
"ora-grading.ListView.loadingResponses": "Chargement des réponses",
|
||||
@@ -49,7 +50,7 @@
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.submissionFile": "Fichiers de soumission",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.fileSizeExceed": "Dépassement de la taille de téléchargement autorisée",
|
||||
"ora-grading.ReviewActions.overrideConfirmTitle": "Êtes-vous sûr de vouloir remplacer cette note ?",
|
||||
"ora-grading.ReviewActions.overrideConfirmWarning": "Ça ne peut pas être annulé. L'apprenant peut avoir déjà reçu sa note.",
|
||||
"ora-grading.ReviewActions.overrideConfirmWarning": "Ça ne peut pas être annulé. L'apprenant peut avoir déjà reçu sa note.",
|
||||
"ora-grading.ReviewActions.overrideConfirmContinue": "Continuer le remplacement de la note",
|
||||
"ora-grading.ReviewActions.StartGradingButton.startGrading": "Commencer la notation",
|
||||
"ora-grading.ReviewActions.StartGradingButton.overrideGrade": "Remplacer la note",
|
||||
@@ -73,20 +74,20 @@
|
||||
"ora-grading.ReviewModal.loadingResponse": "Chargement de la réponse",
|
||||
"ora-grading.ReviewModal.demoTitleMessage": "Démonstration de correcteur",
|
||||
"ora-grading.ReviewModal.loadErrorHeading": "Erreur lors du chargement des soumissions",
|
||||
"ora-grading.ReviewModal.loadErrorMessage1": "Une erreur s'est produite lors du chargement de cette soumission. Essayez de recharger cette soumission.",
|
||||
"ora-grading.ReviewModal.loadErrorMessage1": "Une erreur s'est produite lors du chargement de cette soumission. Essayez de recharger cette soumission.",
|
||||
"ora-grading.ReviewModal.reloadSubmission": "Recharger la soumission",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.heading": "Note non soumise",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.Content": "Nous sommes désolés, une erreur s'est produite lorsque nous avons essayé d'envoyer cette note. Veuillez réessayer.",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.Content": "Nous sommes désolés, une erreur s'est produite lorsque nous avons essayé d'envoyer cette note. Veuillez réessayer.",
|
||||
"ora-grading.ReviewModal.resubmitGrade": "Resoumettre la grille",
|
||||
"ora-grading.ReviewModal.dismiss": "Ignorer",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Heading": "Erreur lors de l'envoi de la note",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Content": "Il semble que quelqu'un d'autre soit arrivé le premier ! Votre soumission de note a été rejetée",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Heading": "Erreur lors de l'envoi de la note",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Content": "Il semble que quelqu'un d'autre soit arrivé le premier ! Votre soumission de note a été rejetée",
|
||||
"ora-grading.ReviewModal.errorLockContestedHeading": "La serrure appartenant à un autre utilisateur",
|
||||
"ora-grading.ReviewModal.errorLockContested": "La serrure appartenant à un autre utilisateur",
|
||||
"ora-grading.ReviewModal.errorLockBadRequestHeading": "Requête invalide. Veuillez vérifier votre entrée.",
|
||||
"ora-grading.ReviewModal.errorLockBadRequest": "Requête invalide. Veuillez vérifier votre entrée.",
|
||||
"ora-grading.ReviewModal.errorDownloadFailed": "Impossible de télécharger les fichiers",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedContent": "Nous sommes désolés, une erreur s'est produite lorsque nous avons essayé de télécharger ces fichiers. Veuillez réessayer.",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedContent": "Nous sommes désolés, une erreur s'est produite lorsque nous avons essayé de télécharger ces fichiers. Veuillez réessayer.",
|
||||
"ora-grading.ReviewModal.errorRetryDownload": "Réessayez le téléchargement",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedFiles": "Fichiers ayant échoué :",
|
||||
"ora-grading.Rubric.gradeSubmitted": "Note soumise",
|
||||
@@ -98,7 +99,7 @@
|
||||
"ora-grading.Rubric.comments": "Commentaires (optionnel)",
|
||||
"ora-grading.RubricFeedback.error": "La rétroaction globale est requise",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.ungraded": "Non noté",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.locked": "Actuellement noté par quelqu'un d'autre",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.locked": "Actuellement noté par quelqu'un d'autre",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.graded": "Classement terminé",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.inProgress": "Vous notez actuellement cette réponse"
|
||||
}
|
||||
105
src/i18n/messages/fr_CA.json
Normal file
105
src/i18n/messages/fr_CA.json
Normal file
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"ora-grading.demoAlert.warningMessage": "La soumission des notes est désactivée dans le mode démonstration du nouveau correcteur ORA.",
|
||||
"ora-grading.demoAlert.confirm": "Confirmer",
|
||||
"ora-grading.demoAlert.title": "Soumission de démonstration empêchée",
|
||||
"ora-grading.FilePopoverContent.filePopoverNameTitle": "Nom du fichier",
|
||||
"ora-grading.FilePopoverCellContent.filePopoverDescriptionTitle": "Description du fichier",
|
||||
"ora-grading.FilePopoverCellContent.fileSizeTitle": "Taille du fichier",
|
||||
"ora-grading.InfoPopover.fileInfo": "Informations sur le fichier",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.retryButton": "Réessayez",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.fileNotFound": "Fichier introuvable",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.unknownError": "Erreurs inconnues",
|
||||
"PageTitle": "Notation ORA du personnel | {siteName}",
|
||||
"ora-grading.InfoPopover.alt-text": "Afficher plus d'informations",
|
||||
"ora-grading.CriterionFeedback.addCommentsLabel": "Ajoutez des commentaires",
|
||||
"ora-grading.CriterionFeedback.commentsLabel": "Commentaires",
|
||||
"ora-grading.CriterionFeedback.optional": "(Optionnel)",
|
||||
"ora-grading.RadioCriterion.optionPoints": "{points} points",
|
||||
"ora-grading.RadioCriterion.rubricSelectedError": "La sélection de la rubrique est requise",
|
||||
"ora-grading.CriterionFeedback.criterionFeedbackError": "La rétroaction est requise",
|
||||
"ora-grading.CTA.feedbackMessage": "Merci d'avoir utilisé la nouvelle expérience de notation du personnel ORA.",
|
||||
"ora-grading.CTA.linkMessage": "Fournir des commentaires",
|
||||
"ora-grading.CTA.letUsKnowMessage": "et dites-nous ce que vous en pensez!",
|
||||
"ora-grading.ReviewModal.demoHeading": "Mode de démonstration",
|
||||
"ora-grading.ReviewModal.demoMessage": "Vous présentez la nouvelle expérience de notation du personnel ORA. Vous ne pourrez pas soumettre de notes tant que vous n'aurez pas activé la fonctionnalité. Cela deviendra l'expérience de notation par défaut le 9 mai (2022-05-09). Pour vous inscrire plus tôt ou vous désinscrire, veuillez contacter l'assistance aux partenaires.",
|
||||
"ora-grading.ListView.ListViewBreadcrumbs.backToResponses": "Retour à toutes les réponses ouvertes",
|
||||
"ora-grading.ListView.noResultsFoundTitle": "Rien ici encore",
|
||||
"ora-grading.ListView.noResultsFoundBody": "Lorsque les apprenants soumettront des réponses, elles apparaîtront ici",
|
||||
"ora-grading.ListView.viewAllResponses": "Afficher toutes les réponses",
|
||||
"ora-grading.ListView.viewSelectedResponses": "Afficher les réponses sélectionnées ({value})",
|
||||
"ora-grading.ListView.tableHeaders.username": "Nom d'utilisateur",
|
||||
"ora-grading.ListView.tableHeaders.teamName": "Nom de l'équipe",
|
||||
"ora-grading.ListView.tableHeaders.learnerSubmissionDate": "Date de soumission de l'apprenant",
|
||||
"ora-grading.ListView.tableHeaders.teamSubmissionDate": "Date de soumission de l'équipe",
|
||||
"ora-grading.ListView.tableHeaders.grade": "Note",
|
||||
"ora-grading.ListView.tableHeaders.gradingStatus": "Statut de classement",
|
||||
"ora-grading.ListView.loadErrorHeading": "Erreur lors du chargement des soumissions",
|
||||
"ora-grading.ListView.loadErrorMessage1": "Une erreur s'est produite lors du chargement des soumissions pour cette réponse. Essayez de recharger la page ou de {backToResponses}.",
|
||||
"ora-grading.ListView.backToResponsesLowercase": "retour à toutes les réponses ouvertes",
|
||||
"ora-grading.ListView.reloadSubmissions": "Recharger les soumissions",
|
||||
"ora-grading.ListView.loadingResponses": "Chargement des réponses",
|
||||
"ora-grading.ResponseDisplay.FilePopoverCell.filePopoverNameTitle": "Nom du fichier",
|
||||
"ora-grading.ResponseDisplay.FilePopoverCell.filePopoverDescriptionTitle": "Description du fichier",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tableNameHeader": "Nom",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tableExtensionHeader": "Extension de fichier",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tablePopoverHeader": "Métadonnées de fichier",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloadFiles": "Télécharger des fichiers",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloading": "Téléchargement",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloaded": "Téléchargé!",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.retryDownload": "Réessayez le téléchargement",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.submissionFile": "Fichiers de soumission",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.fileSizeExceed": "Dépassement de la taille de téléchargement autorisée",
|
||||
"ora-grading.ReviewActions.overrideConfirmTitle": "Êtes-vous sûr de vouloir remplacer cette note?",
|
||||
"ora-grading.ReviewActions.overrideConfirmWarning": "Ça ne peut pas être annulé. L'apprenant peut avoir déjà reçu sa note.",
|
||||
"ora-grading.ReviewActions.overrideConfirmContinue": "Continuer le remplacement de la note",
|
||||
"ora-grading.ReviewActions.StartGradingButton.startGrading": "Commencer la notation",
|
||||
"ora-grading.ReviewActions.StartGradingButton.overrideGrade": "Remplacer la note",
|
||||
"ora-grading.ReviewActions.StartGradingButton.stopGrading": "Arrêter de noter cette réponse",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.override.title": "Êtes-vous sûr de vouloir arrêter le remplacement des notes?",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.title": "Voulez-vous vraiment arrêter de noter cette réponse?",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.warning": "Votre progression sera perdue.",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.override.confirmText": "Arrêter le remplacement de note",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.confirmText": "Annuler la notation",
|
||||
"ora-grading.ReviewActions.goBack": "Retour",
|
||||
"ora-grading.ReviewActions.loadPrevious": "Charger la soumission précédente",
|
||||
"ora-grading.ReviewActions.loadNext": "Charger la prochaine soumission",
|
||||
"ora-grading.ReviewActions.navigationLabel": "{current} de {total}",
|
||||
"ora-grading.ReviewActions.pointsDisplay": "Résultat : {pointsEarned}/{pointsPossible}",
|
||||
"ora-grading.ReviewActions.hideRubric": "Masquer la rubrique",
|
||||
"ora-grading.ReviewActions.showRubric": "Afficher la rubrique",
|
||||
"ora-grading.ReviewModal.closeReviewConfirm.title": "Voulez-vous vraiment fermer ce modal?",
|
||||
"ora-grading.ReviewModal.closeReviewConfirmWarning": "Ça ne peut pas être annulé. Cela supprimera le travail non enregistré et arrêtera ce processus de notation.",
|
||||
"ora-grading.ReviewModal.goBack": "Retour",
|
||||
"ora-grading.ReviewModal.CloseReviewConfirmModal.confirmText": "Fermer Modal",
|
||||
"ora-grading.ReviewModal.loadingResponse": "Chargement de la réponse",
|
||||
"ora-grading.ReviewModal.demoTitleMessage": "Démonstration de correcteur",
|
||||
"ora-grading.ReviewModal.loadErrorHeading": "Erreur lors du chargement des soumissions",
|
||||
"ora-grading.ReviewModal.loadErrorMessage1": "Une erreur s'est produite lors du chargement de cette soumission. Essayez de recharger cette soumission.",
|
||||
"ora-grading.ReviewModal.reloadSubmission": "Recharger la soumission",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.heading": "Note non soumise",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.Content": "Nous sommes désolés, une erreur s'est produite lorsque nous avons essayé d'envoyer cette note. Veuillez réessayer.",
|
||||
"ora-grading.ReviewModal.resubmitGrade": "Soumettre la grille de nouveau",
|
||||
"ora-grading.ReviewModal.dismiss": "Rejeter",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Heading": "Erreur lors de la soumission de la note",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Content": "Il semble que quelqu'un d'autre soit arrivé le premier! Votre soumission de note a été rejetée",
|
||||
"ora-grading.ReviewModal.errorLockContestedHeading": "La serrure appartenant à un autre utilisateur",
|
||||
"ora-grading.ReviewModal.errorLockContested": "La serrure appartenant à un autre utilisateur",
|
||||
"ora-grading.ReviewModal.errorLockBadRequestHeading": "Requête invalide. Veuillez vérifier votre entrée.",
|
||||
"ora-grading.ReviewModal.errorLockBadRequest": "Requête invalide. Veuillez vérifier votre entrée.",
|
||||
"ora-grading.ReviewModal.errorDownloadFailed": "Impossible de télécharger les fichiers",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedContent": "Nous sommes désolés, une erreur s'est produite lorsque nous avons essayé de télécharger ces fichiers. Veuillez réessayer.",
|
||||
"ora-grading.ReviewModal.errorRetryDownload": "Réessayez le téléchargement",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedFiles": "Fichiers ayant échoué :",
|
||||
"ora-grading.Rubric.gradeSubmitted": "Note soumise",
|
||||
"ora-grading.Rubric.rubric": "Rubrique",
|
||||
"ora-grading.Rubric.submitGrade": "Soumettre la note",
|
||||
"ora-grading.Rubric.submittingGrade": "Remise de la note",
|
||||
"ora-grading.Rubric.overallComments": "Commentaires généraux",
|
||||
"ora-grading.Rubric.addComments": "Ajouter des commentaires (facultatif)",
|
||||
"ora-grading.Rubric.comments": "Commentaires (optionnel)",
|
||||
"ora-grading.RubricFeedback.error": "La rétroaction globale est requise",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.ungraded": "Non noté",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.locked": "Actuellement noté par quelqu'un d'autre",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.graded": "Classement terminé",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.inProgress": "Vous notez actuellement cette réponse"
|
||||
}
|
||||
105
src/i18n/messages/hi.json
Normal file
105
src/i18n/messages/hi.json
Normal file
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"ora-grading.demoAlert.warningMessage": "Grade submission is disabled in the Demo mode of the new ORA Staff Grader.",
|
||||
"ora-grading.demoAlert.confirm": "Confirm",
|
||||
"ora-grading.demoAlert.title": "Demo submit prevented",
|
||||
"ora-grading.FilePopoverContent.filePopoverNameTitle": "File Name",
|
||||
"ora-grading.FilePopoverCellContent.filePopoverDescriptionTitle": "File Description",
|
||||
"ora-grading.FilePopoverCellContent.fileSizeTitle": "File Size",
|
||||
"ora-grading.InfoPopover.fileInfo": "File info",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.retryButton": "Retry",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.fileNotFound": "File not found",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.unknownError": "Unknown errors",
|
||||
"PageTitle": "ORA staff grading | {siteName}",
|
||||
"ora-grading.InfoPopover.alt-text": "Display more info",
|
||||
"ora-grading.CriterionFeedback.addCommentsLabel": "Add comments",
|
||||
"ora-grading.CriterionFeedback.commentsLabel": "Comments",
|
||||
"ora-grading.CriterionFeedback.optional": "(Optional)",
|
||||
"ora-grading.RadioCriterion.optionPoints": "{points} points",
|
||||
"ora-grading.RadioCriterion.rubricSelectedError": "Rubric selection is required",
|
||||
"ora-grading.CriterionFeedback.criterionFeedbackError": "The feedback is required",
|
||||
"ora-grading.CTA.feedbackMessage": "Thanks for using the new ORA staff grading experience. ",
|
||||
"ora-grading.CTA.linkMessage": "Provide some feedback",
|
||||
"ora-grading.CTA.letUsKnowMessage": " and let us know what you think!",
|
||||
"ora-grading.ReviewModal.demoHeading": "Demo Mode",
|
||||
"ora-grading.ReviewModal.demoMessage": "You are demoing the new ORA staff grading experience. You will be unable to submit grades until you activate the feature. This will become the default grading experience on May 9th (05/09/2022). To opt-in early, or opt-out, please contact Partner Support.",
|
||||
"ora-grading.ListView.ListViewBreadcrumbs.backToResponses": "Back to all open responses",
|
||||
"ora-grading.ListView.noResultsFoundTitle": "Nothing here yet",
|
||||
"ora-grading.ListView.noResultsFoundBody": "When learners submit responses, they will appear here",
|
||||
"ora-grading.ListView.viewAllResponses": "View all responses",
|
||||
"ora-grading.ListView.viewSelectedResponses": "View selected responses ({value})",
|
||||
"ora-grading.ListView.tableHeaders.username": "Username",
|
||||
"ora-grading.ListView.tableHeaders.teamName": "Team name",
|
||||
"ora-grading.ListView.tableHeaders.learnerSubmissionDate": "Learner submission date",
|
||||
"ora-grading.ListView.tableHeaders.teamSubmissionDate": "Team submission date",
|
||||
"ora-grading.ListView.tableHeaders.grade": "Grade",
|
||||
"ora-grading.ListView.tableHeaders.gradingStatus": "Grading status",
|
||||
"ora-grading.ListView.loadErrorHeading": "Error loading submissions",
|
||||
"ora-grading.ListView.loadErrorMessage1": "An error occurred while loading the submissions for this response. Try reloading the page or going {backToResponses}.",
|
||||
"ora-grading.ListView.backToResponsesLowercase": "back to all Open Responses",
|
||||
"ora-grading.ListView.reloadSubmissions": "Reload submissions",
|
||||
"ora-grading.ListView.loadingResponses": "Loading responses",
|
||||
"ora-grading.ResponseDisplay.FilePopoverCell.filePopoverNameTitle": "File Name",
|
||||
"ora-grading.ResponseDisplay.FilePopoverCell.filePopoverDescriptionTitle": "File Description",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tableNameHeader": "Name",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tableExtensionHeader": "File Extension",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tablePopoverHeader": "File Metadata",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloadFiles": "Download files",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloading": "Downloading",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloaded": "Downloaded!",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.retryDownload": "Retry download",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.submissionFile": "Submission Files",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.fileSizeExceed": "Exceeded the allow download size",
|
||||
"ora-grading.ReviewActions.overrideConfirmTitle": "Are you sure you want to override this grade?",
|
||||
"ora-grading.ReviewActions.overrideConfirmWarning": "This cannot be undone. The learner may have already received their grade.",
|
||||
"ora-grading.ReviewActions.overrideConfirmContinue": "Continue grade override",
|
||||
"ora-grading.ReviewActions.StartGradingButton.startGrading": "Start grading",
|
||||
"ora-grading.ReviewActions.StartGradingButton.overrideGrade": "Override grade",
|
||||
"ora-grading.ReviewActions.StartGradingButton.stopGrading": "Stop grading this response",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.override.title": "Are you sure you want to stop grade override?",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.title": "Are you sure you want to stop grading this response?",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.warning": "Your progress will be lost.",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.override.confirmText": "Stop grade override",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.confirmText": "Cancel grading",
|
||||
"ora-grading.ReviewActions.goBack": "Go back",
|
||||
"ora-grading.ReviewActions.loadPrevious": "Load previous submission",
|
||||
"ora-grading.ReviewActions.loadNext": "Load next submission",
|
||||
"ora-grading.ReviewActions.navigationLabel": "{current} of {total}",
|
||||
"ora-grading.ReviewActions.pointsDisplay": "Score: {pointsEarned}/{pointsPossible}",
|
||||
"ora-grading.ReviewActions.hideRubric": "Hide Rubric",
|
||||
"ora-grading.ReviewActions.showRubric": "Show Rubric",
|
||||
"ora-grading.ReviewModal.closeReviewConfirm.title": "Are you sure you want to close this modal?",
|
||||
"ora-grading.ReviewModal.closeReviewConfirmWarning": "This cannot be undone. This will discard unsaved work and stop this grading process.",
|
||||
"ora-grading.ReviewModal.goBack": "Go back",
|
||||
"ora-grading.ReviewModal.CloseReviewConfirmModal.confirmText": "Close Modal",
|
||||
"ora-grading.ReviewModal.loadingResponse": "Loading response",
|
||||
"ora-grading.ReviewModal.demoTitleMessage": "Grading Demo",
|
||||
"ora-grading.ReviewModal.loadErrorHeading": "Error loading submissions",
|
||||
"ora-grading.ReviewModal.loadErrorMessage1": "An error occurred while loading this submission. Try reloading this submission.",
|
||||
"ora-grading.ReviewModal.reloadSubmission": "Reload submission",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.heading": "Grade not submitted",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.Content": "We're sorry, something went wrong when we tried to submit this grade. Please try again.",
|
||||
"ora-grading.ReviewModal.resubmitGrade": "Resubmit grate",
|
||||
"ora-grading.ReviewModal.dismiss": "Dismiss",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Heading": "Error submitting grade",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Content": "It looks like someone else got here first! Your grade submission has been rejected",
|
||||
"ora-grading.ReviewModal.errorLockContestedHeading": "The lock owned by another user",
|
||||
"ora-grading.ReviewModal.errorLockContested": "The lock owned by another user",
|
||||
"ora-grading.ReviewModal.errorLockBadRequestHeading": "Invalid request. Please check your input.",
|
||||
"ora-grading.ReviewModal.errorLockBadRequest": "Invalid request. Please check your input.",
|
||||
"ora-grading.ReviewModal.errorDownloadFailed": "Couldn't download files",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedContent": "We're sorry, something went wrong when we tried to download these files. Please try again.",
|
||||
"ora-grading.ReviewModal.errorRetryDownload": "Retry download",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedFiles": "Failed files:",
|
||||
"ora-grading.Rubric.gradeSubmitted": "Grade Submitted",
|
||||
"ora-grading.Rubric.rubric": "Rubric",
|
||||
"ora-grading.Rubric.submitGrade": "Submit grade",
|
||||
"ora-grading.Rubric.submittingGrade": "Submitting grade",
|
||||
"ora-grading.Rubric.overallComments": "Overall comments",
|
||||
"ora-grading.Rubric.addComments": "Add comments (Optional)",
|
||||
"ora-grading.Rubric.comments": "Comments (Optional)",
|
||||
"ora-grading.RubricFeedback.error": "The overall feedback is required",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.ungraded": "Ungraded",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.locked": "Currently being graded by someone else",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.graded": "Grading Completed",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.inProgress": "You are currently grading this response"
|
||||
}
|
||||
105
src/i18n/messages/it_IT.json
Normal file
105
src/i18n/messages/it_IT.json
Normal file
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"ora-grading.demoAlert.warningMessage": "L'invio del voto è disabilitato nella modalità Demo del nuovo ORA Staff Grader.",
|
||||
"ora-grading.demoAlert.confirm": "Conferma",
|
||||
"ora-grading.demoAlert.title": "Invio demo impedito",
|
||||
"ora-grading.FilePopoverContent.filePopoverNameTitle": "Nome File",
|
||||
"ora-grading.FilePopoverCellContent.filePopoverDescriptionTitle": "descrizione del file",
|
||||
"ora-grading.FilePopoverCellContent.fileSizeTitle": "Dimensione del file",
|
||||
"ora-grading.InfoPopover.fileInfo": "Informazioni sul file",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.retryButton": "Riprova",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.fileNotFound": "File non trovato",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.unknownError": "Errori sconosciuti",
|
||||
"PageTitle": "ORA staff grading | {siteName}",
|
||||
"ora-grading.InfoPopover.alt-text": "Visualizza più informazioni",
|
||||
"ora-grading.CriterionFeedback.addCommentsLabel": "Aggiungi commenti",
|
||||
"ora-grading.CriterionFeedback.commentsLabel": "Commenti",
|
||||
"ora-grading.CriterionFeedback.optional": "(Facoltativo)",
|
||||
"ora-grading.RadioCriterion.optionPoints": "{points} punti",
|
||||
"ora-grading.RadioCriterion.rubricSelectedError": "È richiesta la selezione della rubrica",
|
||||
"ora-grading.CriterionFeedback.criterionFeedbackError": "Il feedback è obbligatorio",
|
||||
"ora-grading.CTA.feedbackMessage": "Grazie per aver utilizzato la nuova esperienza di valutazione del personale di ORA.",
|
||||
"ora-grading.CTA.linkMessage": "Fornisci un feedback",
|
||||
"ora-grading.CTA.letUsKnowMessage": "e ci faccia sapere cosa pensa!",
|
||||
"ora-grading.ReviewModal.demoHeading": "Modalità demo",
|
||||
"ora-grading.ReviewModal.demoMessage": "Stai dimostrando la nuova esperienza di valutazione del personale ORA. Non potrai inviare voti finché non attivi la funzione. Questa diventerà l'esperienza di valutazione predefinita il 9 maggio (05/09/2022). Per aderire in anticipo o rinunciare, contatta l'assistenza per i partner.",
|
||||
"ora-grading.ListView.ListViewBreadcrumbs.backToResponses": "Torna a tutte le risposte aperte",
|
||||
"ora-grading.ListView.noResultsFoundTitle": "Ancora niente qui",
|
||||
"ora-grading.ListView.noResultsFoundBody": "Quando gli studenti inviano le risposte, queste appariranno qui",
|
||||
"ora-grading.ListView.viewAllResponses": "Visualizza tutte le risposte",
|
||||
"ora-grading.ListView.viewSelectedResponses": "Visualizza le risposte selezionate ({value})",
|
||||
"ora-grading.ListView.tableHeaders.username": "Nome utente",
|
||||
"ora-grading.ListView.tableHeaders.teamName": "Nome della squadra",
|
||||
"ora-grading.ListView.tableHeaders.learnerSubmissionDate": "Data di presentazione dello studente",
|
||||
"ora-grading.ListView.tableHeaders.teamSubmissionDate": "Data di presentazione della squadra",
|
||||
"ora-grading.ListView.tableHeaders.grade": "Voto",
|
||||
"ora-grading.ListView.tableHeaders.gradingStatus": "Stato di classificazione",
|
||||
"ora-grading.ListView.loadErrorHeading": "Errore durante il caricamento degli invii",
|
||||
"ora-grading.ListView.loadErrorMessage1": "Si è verificato un errore durante il caricamento degli invii per questa risposta. Prova a ricaricare la pagina o ad andare {backToResponses}.",
|
||||
"ora-grading.ListView.backToResponsesLowercase": "torna a tutte le risposte aperte",
|
||||
"ora-grading.ListView.reloadSubmissions": "Ricarica gli invii",
|
||||
"ora-grading.ListView.loadingResponses": "Caricamento risposte",
|
||||
"ora-grading.ResponseDisplay.FilePopoverCell.filePopoverNameTitle": "Nome File",
|
||||
"ora-grading.ResponseDisplay.FilePopoverCell.filePopoverDescriptionTitle": "descrizione del file",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tableNameHeader": "Nome",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tableExtensionHeader": "Estensione del file",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tablePopoverHeader": "File metadati",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloadFiles": "Scaricare files",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloading": "Download",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloaded": "Scaricato!",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.retryDownload": "Riprova a scaricare",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.submissionFile": "File di presentazione",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.fileSizeExceed": "Ha superato la dimensione consentita per il download",
|
||||
"ora-grading.ReviewActions.overrideConfirmTitle": "Sei sicuro di voler ignorare questo voto?",
|
||||
"ora-grading.ReviewActions.overrideConfirmWarning": "Questo non può essere annullato. Lo studente potrebbe aver già ricevuto il voto.",
|
||||
"ora-grading.ReviewActions.overrideConfirmContinue": "Continua l'override del grado",
|
||||
"ora-grading.ReviewActions.StartGradingButton.startGrading": "Inizia la valutazione",
|
||||
"ora-grading.ReviewActions.StartGradingButton.overrideGrade": "Sostituisci il voto",
|
||||
"ora-grading.ReviewActions.StartGradingButton.stopGrading": "Smetti di classificare questa risposta",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.override.title": "Sei sicuro di voler interrompere l'override del voto?",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.title": "Sei sicuro di voler interrompere la valutazione di questa risposta?",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.warning": "I tuoi progressi andranno persi.",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.override.confirmText": "Interrompi l'override del grado",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.confirmText": "Annulla valutazione",
|
||||
"ora-grading.ReviewActions.goBack": "Vai indietro",
|
||||
"ora-grading.ReviewActions.loadPrevious": "Carica invio precedente",
|
||||
"ora-grading.ReviewActions.loadNext": "Carica invio successivo",
|
||||
"ora-grading.ReviewActions.navigationLabel": "{current} di {total}",
|
||||
"ora-grading.ReviewActions.pointsDisplay": "Punteggio: {pointsEarned}/{pointsPossible}",
|
||||
"ora-grading.ReviewActions.hideRubric": "Nascondi rubrica",
|
||||
"ora-grading.ReviewActions.showRubric": "Mostra Rubrica",
|
||||
"ora-grading.ReviewModal.closeReviewConfirm.title": "Sei sicuro di voler chiudere questo modale?",
|
||||
"ora-grading.ReviewModal.closeReviewConfirmWarning": "Questo non può essere annullato. Ciò eliminerà il lavoro non salvato e interromperà questo processo di valutazione.",
|
||||
"ora-grading.ReviewModal.goBack": "Vai indietro",
|
||||
"ora-grading.ReviewModal.CloseReviewConfirmModal.confirmText": "Chiudi modale",
|
||||
"ora-grading.ReviewModal.loadingResponse": "Caricamento della risposta",
|
||||
"ora-grading.ReviewModal.demoTitleMessage": "Dimostrazione di valutazione",
|
||||
"ora-grading.ReviewModal.loadErrorHeading": "Errore durante il caricamento degli invii",
|
||||
"ora-grading.ReviewModal.loadErrorMessage1": "Si è verificato un errore durante il caricamento di questo invio. Prova a ricaricare questo invio.",
|
||||
"ora-grading.ReviewModal.reloadSubmission": "Ricarica invio",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.heading": "Voto non presentato",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.Content": "Siamo spiacenti, qualcosa è andato storto quando abbiamo provato a inviare questo voto. Per favore riprova.",
|
||||
"ora-grading.ReviewModal.resubmitGrade": "Invia nuovamente la griglia",
|
||||
"ora-grading.ReviewModal.dismiss": "Chiudi",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Heading": "Errore durante l'invio del voto",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Content": "Sembra che qualcun altro sia arrivato prima! Il tuo voto è stato respinto",
|
||||
"ora-grading.ReviewModal.errorLockContestedHeading": "Il lucchetto di proprietà di un altro utente",
|
||||
"ora-grading.ReviewModal.errorLockContested": "Il lucchetto di proprietà di un altro utente",
|
||||
"ora-grading.ReviewModal.errorLockBadRequestHeading": "Richiesta non valida. Per favore controlla il tuo input.",
|
||||
"ora-grading.ReviewModal.errorLockBadRequest": "Richiesta non valida. Per favore controlla il tuo input.",
|
||||
"ora-grading.ReviewModal.errorDownloadFailed": "Impossibile scaricare i file",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedContent": "Siamo spiacenti, qualcosa è andato storto durante il download di questi file. Per favore riprova.",
|
||||
"ora-grading.ReviewModal.errorRetryDownload": "Riprova a scaricare",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedFiles": "File non riusciti:",
|
||||
"ora-grading.Rubric.gradeSubmitted": "Grado inviato",
|
||||
"ora-grading.Rubric.rubric": "Rubrica",
|
||||
"ora-grading.Rubric.submitGrade": "Invia voto",
|
||||
"ora-grading.Rubric.submittingGrade": "Invio del voto",
|
||||
"ora-grading.Rubric.overallComments": "Commenti generali",
|
||||
"ora-grading.Rubric.addComments": "Aggiungi commenti (facoltativo)",
|
||||
"ora-grading.Rubric.comments": "Commenti (facoltativo)",
|
||||
"ora-grading.RubricFeedback.error": "È richiesto il feedback complessivo",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.ungraded": "Senza voto",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.locked": "Attualmente viene valutato da qualcun altro",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.graded": "Classificazione completata",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.inProgress": "Stai attualmente valutando questa risposta"
|
||||
}
|
||||
105
src/i18n/messages/pt_PT.json
Normal file
105
src/i18n/messages/pt_PT.json
Normal file
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"ora-grading.demoAlert.warningMessage": "A submissão de classificações está desativada no modo Demonstração no novo ORA Staff Grader.",
|
||||
"ora-grading.demoAlert.confirm": "Confirmar",
|
||||
"ora-grading.demoAlert.title": "Submissão impedida no modo de Demonstração",
|
||||
"ora-grading.FilePopoverContent.filePopoverNameTitle": "Nome do ficheiro",
|
||||
"ora-grading.FilePopoverCellContent.filePopoverDescriptionTitle": "Descrição do Ficheiro",
|
||||
"ora-grading.FilePopoverCellContent.fileSizeTitle": "Tamanho do Ficheiro",
|
||||
"ora-grading.InfoPopover.fileInfo": "Informações do Ficheiro",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.retryButton": "Tentar novamente",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.fileNotFound": "Ficheiro não encontrado",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.unknownError": "Erros desconhecidos",
|
||||
"PageTitle": "Classificação pela equipa no ORA {siteName}",
|
||||
"ora-grading.InfoPopover.alt-text": "Mostrar mais informações",
|
||||
"ora-grading.CriterionFeedback.addCommentsLabel": "Adicionar comentários",
|
||||
"ora-grading.CriterionFeedback.commentsLabel": "Comentários",
|
||||
"ora-grading.CriterionFeedback.optional": "(Opcional)",
|
||||
"ora-grading.RadioCriterion.optionPoints": "{points} pontos",
|
||||
"ora-grading.RadioCriterion.rubricSelectedError": "A seleção de rúbricas é necessária",
|
||||
"ora-grading.CriterionFeedback.criterionFeedbackError": "O feedback é obrigatório",
|
||||
"ora-grading.CTA.feedbackMessage": "Obrigado por utilizar a nova experiência de classificação pela equipa do ORA.",
|
||||
"ora-grading.CTA.linkMessage": "Forneça algum tipo de feedback",
|
||||
"ora-grading.CTA.letUsKnowMessage": "e deixe-nos a sua opinião!",
|
||||
"ora-grading.ReviewModal.demoHeading": "Modo de Demonstração",
|
||||
"ora-grading.ReviewModal.demoMessage": "Está a fazer uma demonstração da nova experiência de classificação de equipa do ORA. Não poderá submeter as classificações até ativar a funcionalidade. Esta tornar-se-á a experiência de classificação padrão a 9 de Maio (09/05/2022). Para optar por entrar mais cedo, ou optar por sair, contacte o Apoio ao Parceiro.",
|
||||
"ora-grading.ListView.ListViewBreadcrumbs.backToResponses": "Voltar a todas as respostas abertas",
|
||||
"ora-grading.ListView.noResultsFoundTitle": "Ainda não há aqui nada",
|
||||
"ora-grading.ListView.noResultsFoundBody": "Quando os estudantes submeterem as respostas, elas aparecerão aqui",
|
||||
"ora-grading.ListView.viewAllResponses": "Ver todas as respostas",
|
||||
"ora-grading.ListView.viewSelectedResponses": "Ver as respostas selecionadas ({value})",
|
||||
"ora-grading.ListView.tableHeaders.username": "Nome de utilizador",
|
||||
"ora-grading.ListView.tableHeaders.teamName": "Nome da equipa",
|
||||
"ora-grading.ListView.tableHeaders.learnerSubmissionDate": "Data de submissão do estudante",
|
||||
"ora-grading.ListView.tableHeaders.teamSubmissionDate": "Data de submissão da equipa",
|
||||
"ora-grading.ListView.tableHeaders.grade": "Classificação",
|
||||
"ora-grading.ListView.tableHeaders.gradingStatus": "Estado de classificação",
|
||||
"ora-grading.ListView.loadErrorHeading": "Erro ao carregar as submissões",
|
||||
"ora-grading.ListView.loadErrorMessage1": "Ocorreu um erro ao carregar as submissões para esta resposta. Tente recarregar a página ou ir {backToResponses}.",
|
||||
"ora-grading.ListView.backToResponsesLowercase": "voltar a todas as Respostas Abertas",
|
||||
"ora-grading.ListView.reloadSubmissions": "Recarregar submissões",
|
||||
"ora-grading.ListView.loadingResponses": "A carregar respostas",
|
||||
"ora-grading.ResponseDisplay.FilePopoverCell.filePopoverNameTitle": "Nome do Ficheiro",
|
||||
"ora-grading.ResponseDisplay.FilePopoverCell.filePopoverDescriptionTitle": "Descrição do Ficheiro",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tableNameHeader": "Nome",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tableExtensionHeader": "Extensão do Ficheiro",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tablePopoverHeader": "Metadados do Ficheiro",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloadFiles": "Transferir ficheiros",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloading": "A transferir",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloaded": "Transferido!",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.retryDownload": "Repetir a transferência",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.submissionFile": "Submissão de Ficheiros",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.fileSizeExceed": "Excedeu o limite de tamanho de download",
|
||||
"ora-grading.ReviewActions.overrideConfirmTitle": "Tem a certeza de que quer substituir esta classificação?",
|
||||
"ora-grading.ReviewActions.overrideConfirmWarning": "Isto não pode ser desfeito. O estudante pode já ter recebido a sua classificação.",
|
||||
"ora-grading.ReviewActions.overrideConfirmContinue": "Continuar a substituição da classificação",
|
||||
"ora-grading.ReviewActions.StartGradingButton.startGrading": "Iniciar a classificação",
|
||||
"ora-grading.ReviewActions.StartGradingButton.overrideGrade": "Substituir a classificação",
|
||||
"ora-grading.ReviewActions.StartGradingButton.stopGrading": "Parar de classificar esta resposta",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.override.title": "Tem a certeza de que quer parar a substituição da classificação?",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.title": "Tem a certeza de que quer parar de classificar esta resposta?",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.warning": "O seu progresso será perdido.",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.override.confirmText": "Parar a substituição da classificação",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.confirmText": "Cancelar a classificação",
|
||||
"ora-grading.ReviewActions.goBack": "Voltar Atrás",
|
||||
"ora-grading.ReviewActions.loadPrevious": "Carregar a submissão anterior",
|
||||
"ora-grading.ReviewActions.loadNext": "Carregar a próxima submissão",
|
||||
"ora-grading.ReviewActions.navigationLabel": "{current} de {total}",
|
||||
"ora-grading.ReviewActions.pointsDisplay": "Pontuação: {pointsEarned}/{pointsPossible}",
|
||||
"ora-grading.ReviewActions.hideRubric": "Ocultar Rúbrica",
|
||||
"ora-grading.ReviewActions.showRubric": "Mostrar Rúbrica",
|
||||
"ora-grading.ReviewModal.closeReviewConfirm.title": "Tem a certeza de que quer fechar este modal?",
|
||||
"ora-grading.ReviewModal.closeReviewConfirmWarning": "Isto não pode ser desfeito. Isto irá desfazer o trabalho que não guardou e parar este processo de classificação.",
|
||||
"ora-grading.ReviewModal.goBack": "Voltar atrás",
|
||||
"ora-grading.ReviewModal.CloseReviewConfirmModal.confirmText": "Fechar Modal",
|
||||
"ora-grading.ReviewModal.loadingResponse": "A carregar resposta",
|
||||
"ora-grading.ReviewModal.demoTitleMessage": "Demonstração de Avaliação",
|
||||
"ora-grading.ReviewModal.loadErrorHeading": "Erro ao carregar submissões",
|
||||
"ora-grading.ReviewModal.loadErrorMessage1": "Ocorreu um erro ao carregar esta submissão. Tente recarregar esta submissão.",
|
||||
"ora-grading.ReviewModal.reloadSubmission": "Recarregar a submissão",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.heading": "Classificação não submetida",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.Content": "Lamentamos, algo correu mal quando tentámos submeter esta classificação. Por favor, tente novamente.",
|
||||
"ora-grading.ReviewModal.resubmitGrade": "Voltar a submeter a grelha",
|
||||
"ora-grading.ReviewModal.dismiss": "Ignorar",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Heading": "Erro ao submeter classificação",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Content": "Parece que outra pessoa chegou aqui primeiro! A sua submissão de classificações foi rejeitada",
|
||||
"ora-grading.ReviewModal.errorLockContestedHeading": "O bloqueio pertencente a outro utilizador",
|
||||
"ora-grading.ReviewModal.errorLockContested": "O bloqueio pertencente a outro utilizador",
|
||||
"ora-grading.ReviewModal.errorLockBadRequestHeading": "Pedido inválido. Por favor, verifique a sua entrada.",
|
||||
"ora-grading.ReviewModal.errorLockBadRequest": "Pedido inválido. Por favor, verifique a sua entrada.",
|
||||
"ora-grading.ReviewModal.errorDownloadFailed": "Não foi possível transferir os ficheiros",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedContent": "Lamentamos, mas algo correu mal quando tentámos transferir estes ficheiros. Por favor, tente novamente.",
|
||||
"ora-grading.ReviewModal.errorRetryDownload": "Repetir a transferência",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedFiles": "Ficheiros com falhas:",
|
||||
"ora-grading.Rubric.gradeSubmitted": "Classificação Submetida",
|
||||
"ora-grading.Rubric.rubric": "Rúbrica",
|
||||
"ora-grading.Rubric.submitGrade": "Submeter classificação",
|
||||
"ora-grading.Rubric.submittingGrade": "A submeter classificação",
|
||||
"ora-grading.Rubric.overallComments": "Comentários gerais",
|
||||
"ora-grading.Rubric.addComments": "Adicionar comentários (Opcional)",
|
||||
"ora-grading.Rubric.comments": "Comentários (Opcional)",
|
||||
"ora-grading.RubricFeedback.error": "O comentário geral é obrigatório",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.ungraded": "Não classificado",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.locked": "A ser classificado por outra pessoa neste momento",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.graded": "Avaliação Concluída",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.inProgress": "Está a classificar esta resposta neste momento"
|
||||
}
|
||||
105
src/i18n/messages/ru.json
Normal file
105
src/i18n/messages/ru.json
Normal file
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"ora-grading.demoAlert.warningMessage": "Grade submission is disabled in the Demo mode of the new ORA Staff Grader.",
|
||||
"ora-grading.demoAlert.confirm": "Confirm",
|
||||
"ora-grading.demoAlert.title": "Demo submit prevented",
|
||||
"ora-grading.FilePopoverContent.filePopoverNameTitle": "File Name",
|
||||
"ora-grading.FilePopoverCellContent.filePopoverDescriptionTitle": "File Description",
|
||||
"ora-grading.FilePopoverCellContent.fileSizeTitle": "File Size",
|
||||
"ora-grading.InfoPopover.fileInfo": "File info",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.retryButton": "Retry",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.fileNotFound": "File not found",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.unknownError": "Unknown errors",
|
||||
"PageTitle": "ORA staff grading | {siteName}",
|
||||
"ora-grading.InfoPopover.alt-text": "Display more info",
|
||||
"ora-grading.CriterionFeedback.addCommentsLabel": "Add comments",
|
||||
"ora-grading.CriterionFeedback.commentsLabel": "Comments",
|
||||
"ora-grading.CriterionFeedback.optional": "(Optional)",
|
||||
"ora-grading.RadioCriterion.optionPoints": "{points} points",
|
||||
"ora-grading.RadioCriterion.rubricSelectedError": "Rubric selection is required",
|
||||
"ora-grading.CriterionFeedback.criterionFeedbackError": "The feedback is required",
|
||||
"ora-grading.CTA.feedbackMessage": "Thanks for using the new ORA staff grading experience. ",
|
||||
"ora-grading.CTA.linkMessage": "Provide some feedback",
|
||||
"ora-grading.CTA.letUsKnowMessage": " and let us know what you think!",
|
||||
"ora-grading.ReviewModal.demoHeading": "Demo Mode",
|
||||
"ora-grading.ReviewModal.demoMessage": "You are demoing the new ORA staff grading experience. You will be unable to submit grades until you activate the feature. This will become the default grading experience on May 9th (05/09/2022). To opt-in early, or opt-out, please contact Partner Support.",
|
||||
"ora-grading.ListView.ListViewBreadcrumbs.backToResponses": "Back to all open responses",
|
||||
"ora-grading.ListView.noResultsFoundTitle": "Nothing here yet",
|
||||
"ora-grading.ListView.noResultsFoundBody": "When learners submit responses, they will appear here",
|
||||
"ora-grading.ListView.viewAllResponses": "View all responses",
|
||||
"ora-grading.ListView.viewSelectedResponses": "View selected responses ({value})",
|
||||
"ora-grading.ListView.tableHeaders.username": "Username",
|
||||
"ora-grading.ListView.tableHeaders.teamName": "Team name",
|
||||
"ora-grading.ListView.tableHeaders.learnerSubmissionDate": "Learner submission date",
|
||||
"ora-grading.ListView.tableHeaders.teamSubmissionDate": "Team submission date",
|
||||
"ora-grading.ListView.tableHeaders.grade": "Grade",
|
||||
"ora-grading.ListView.tableHeaders.gradingStatus": "Grading status",
|
||||
"ora-grading.ListView.loadErrorHeading": "Error loading submissions",
|
||||
"ora-grading.ListView.loadErrorMessage1": "An error occurred while loading the submissions for this response. Try reloading the page or going {backToResponses}.",
|
||||
"ora-grading.ListView.backToResponsesLowercase": "back to all Open Responses",
|
||||
"ora-grading.ListView.reloadSubmissions": "Reload submissions",
|
||||
"ora-grading.ListView.loadingResponses": "Loading responses",
|
||||
"ora-grading.ResponseDisplay.FilePopoverCell.filePopoverNameTitle": "File Name",
|
||||
"ora-grading.ResponseDisplay.FilePopoverCell.filePopoverDescriptionTitle": "File Description",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tableNameHeader": "Name",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tableExtensionHeader": "File Extension",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tablePopoverHeader": "File Metadata",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloadFiles": "Download files",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloading": "Downloading",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloaded": "Downloaded!",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.retryDownload": "Retry download",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.submissionFile": "Submission Files",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.fileSizeExceed": "Exceeded the allow download size",
|
||||
"ora-grading.ReviewActions.overrideConfirmTitle": "Are you sure you want to override this grade?",
|
||||
"ora-grading.ReviewActions.overrideConfirmWarning": "This cannot be undone. The learner may have already received their grade.",
|
||||
"ora-grading.ReviewActions.overrideConfirmContinue": "Continue grade override",
|
||||
"ora-grading.ReviewActions.StartGradingButton.startGrading": "Start grading",
|
||||
"ora-grading.ReviewActions.StartGradingButton.overrideGrade": "Override grade",
|
||||
"ora-grading.ReviewActions.StartGradingButton.stopGrading": "Stop grading this response",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.override.title": "Are you sure you want to stop grade override?",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.title": "Are you sure you want to stop grading this response?",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.warning": "Your progress will be lost.",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.override.confirmText": "Stop grade override",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.confirmText": "Cancel grading",
|
||||
"ora-grading.ReviewActions.goBack": "Go back",
|
||||
"ora-grading.ReviewActions.loadPrevious": "Load previous submission",
|
||||
"ora-grading.ReviewActions.loadNext": "Load next submission",
|
||||
"ora-grading.ReviewActions.navigationLabel": "{current} of {total}",
|
||||
"ora-grading.ReviewActions.pointsDisplay": "Score: {pointsEarned}/{pointsPossible}",
|
||||
"ora-grading.ReviewActions.hideRubric": "Hide Rubric",
|
||||
"ora-grading.ReviewActions.showRubric": "Show Rubric",
|
||||
"ora-grading.ReviewModal.closeReviewConfirm.title": "Are you sure you want to close this modal?",
|
||||
"ora-grading.ReviewModal.closeReviewConfirmWarning": "This cannot be undone. This will discard unsaved work and stop this grading process.",
|
||||
"ora-grading.ReviewModal.goBack": "Go back",
|
||||
"ora-grading.ReviewModal.CloseReviewConfirmModal.confirmText": "Close Modal",
|
||||
"ora-grading.ReviewModal.loadingResponse": "Loading response",
|
||||
"ora-grading.ReviewModal.demoTitleMessage": "Grading Demo",
|
||||
"ora-grading.ReviewModal.loadErrorHeading": "Error loading submissions",
|
||||
"ora-grading.ReviewModal.loadErrorMessage1": "An error occurred while loading this submission. Try reloading this submission.",
|
||||
"ora-grading.ReviewModal.reloadSubmission": "Reload submission",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.heading": "Grade not submitted",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.Content": "We're sorry, something went wrong when we tried to submit this grade. Please try again.",
|
||||
"ora-grading.ReviewModal.resubmitGrade": "Resubmit grate",
|
||||
"ora-grading.ReviewModal.dismiss": "Dismiss",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Heading": "Error submitting grade",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Content": "It looks like someone else got here first! Your grade submission has been rejected",
|
||||
"ora-grading.ReviewModal.errorLockContestedHeading": "The lock owned by another user",
|
||||
"ora-grading.ReviewModal.errorLockContested": "The lock owned by another user",
|
||||
"ora-grading.ReviewModal.errorLockBadRequestHeading": "Invalid request. Please check your input.",
|
||||
"ora-grading.ReviewModal.errorLockBadRequest": "Invalid request. Please check your input.",
|
||||
"ora-grading.ReviewModal.errorDownloadFailed": "Couldn't download files",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedContent": "We're sorry, something went wrong when we tried to download these files. Please try again.",
|
||||
"ora-grading.ReviewModal.errorRetryDownload": "Retry download",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedFiles": "Failed files:",
|
||||
"ora-grading.Rubric.gradeSubmitted": "Grade Submitted",
|
||||
"ora-grading.Rubric.rubric": "Rubric",
|
||||
"ora-grading.Rubric.submitGrade": "Submit grade",
|
||||
"ora-grading.Rubric.submittingGrade": "Submitting grade",
|
||||
"ora-grading.Rubric.overallComments": "Overall comments",
|
||||
"ora-grading.Rubric.addComments": "Add comments (Optional)",
|
||||
"ora-grading.Rubric.comments": "Comments (Optional)",
|
||||
"ora-grading.RubricFeedback.error": "The overall feedback is required",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.ungraded": "Ungraded",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.locked": "Currently being graded by someone else",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.graded": "Grading Completed",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.inProgress": "You are currently grading this response"
|
||||
}
|
||||
105
src/i18n/messages/uk.json
Normal file
105
src/i18n/messages/uk.json
Normal file
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"ora-grading.demoAlert.warningMessage": "Grade submission is disabled in the Demo mode of the new ORA Staff Grader.",
|
||||
"ora-grading.demoAlert.confirm": "Confirm",
|
||||
"ora-grading.demoAlert.title": "Demo submit prevented",
|
||||
"ora-grading.FilePopoverContent.filePopoverNameTitle": "File Name",
|
||||
"ora-grading.FilePopoverCellContent.filePopoverDescriptionTitle": "File Description",
|
||||
"ora-grading.FilePopoverCellContent.fileSizeTitle": "File Size",
|
||||
"ora-grading.InfoPopover.fileInfo": "File info",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.retryButton": "Retry",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.fileNotFound": "File not found",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.unknownError": "Unknown errors",
|
||||
"PageTitle": "ORA staff grading | {siteName}",
|
||||
"ora-grading.InfoPopover.alt-text": "Display more info",
|
||||
"ora-grading.CriterionFeedback.addCommentsLabel": "Add comments",
|
||||
"ora-grading.CriterionFeedback.commentsLabel": "Comments",
|
||||
"ora-grading.CriterionFeedback.optional": "(Optional)",
|
||||
"ora-grading.RadioCriterion.optionPoints": "{points} points",
|
||||
"ora-grading.RadioCriterion.rubricSelectedError": "Rubric selection is required",
|
||||
"ora-grading.CriterionFeedback.criterionFeedbackError": "The feedback is required",
|
||||
"ora-grading.CTA.feedbackMessage": "Thanks for using the new ORA staff grading experience. ",
|
||||
"ora-grading.CTA.linkMessage": "Provide some feedback",
|
||||
"ora-grading.CTA.letUsKnowMessage": " and let us know what you think!",
|
||||
"ora-grading.ReviewModal.demoHeading": "Demo Mode",
|
||||
"ora-grading.ReviewModal.demoMessage": "You are demoing the new ORA staff grading experience. You will be unable to submit grades until you activate the feature. This will become the default grading experience on May 9th (05/09/2022). To opt-in early, or opt-out, please contact Partner Support.",
|
||||
"ora-grading.ListView.ListViewBreadcrumbs.backToResponses": "Back to all open responses",
|
||||
"ora-grading.ListView.noResultsFoundTitle": "Nothing here yet",
|
||||
"ora-grading.ListView.noResultsFoundBody": "When learners submit responses, they will appear here",
|
||||
"ora-grading.ListView.viewAllResponses": "View all responses",
|
||||
"ora-grading.ListView.viewSelectedResponses": "View selected responses ({value})",
|
||||
"ora-grading.ListView.tableHeaders.username": "Username",
|
||||
"ora-grading.ListView.tableHeaders.teamName": "Team name",
|
||||
"ora-grading.ListView.tableHeaders.learnerSubmissionDate": "Learner submission date",
|
||||
"ora-grading.ListView.tableHeaders.teamSubmissionDate": "Team submission date",
|
||||
"ora-grading.ListView.tableHeaders.grade": "Grade",
|
||||
"ora-grading.ListView.tableHeaders.gradingStatus": "Grading status",
|
||||
"ora-grading.ListView.loadErrorHeading": "Error loading submissions",
|
||||
"ora-grading.ListView.loadErrorMessage1": "An error occurred while loading the submissions for this response. Try reloading the page or going {backToResponses}.",
|
||||
"ora-grading.ListView.backToResponsesLowercase": "back to all Open Responses",
|
||||
"ora-grading.ListView.reloadSubmissions": "Reload submissions",
|
||||
"ora-grading.ListView.loadingResponses": "Loading responses",
|
||||
"ora-grading.ResponseDisplay.FilePopoverCell.filePopoverNameTitle": "File Name",
|
||||
"ora-grading.ResponseDisplay.FilePopoverCell.filePopoverDescriptionTitle": "File Description",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tableNameHeader": "Name",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tableExtensionHeader": "File Extension",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.tablePopoverHeader": "File Metadata",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloadFiles": "Download files",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloading": "Downloading",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.downloaded": "Downloaded!",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.retryDownload": "Retry download",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.submissionFile": "Submission Files",
|
||||
"ora-grading.ResponseDisplay.SubmissionFiles.fileSizeExceed": "Exceeded the allow download size",
|
||||
"ora-grading.ReviewActions.overrideConfirmTitle": "Are you sure you want to override this grade?",
|
||||
"ora-grading.ReviewActions.overrideConfirmWarning": "This cannot be undone. The learner may have already received their grade.",
|
||||
"ora-grading.ReviewActions.overrideConfirmContinue": "Continue grade override",
|
||||
"ora-grading.ReviewActions.StartGradingButton.startGrading": "Start grading",
|
||||
"ora-grading.ReviewActions.StartGradingButton.overrideGrade": "Override grade",
|
||||
"ora-grading.ReviewActions.StartGradingButton.stopGrading": "Stop grading this response",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.override.title": "Are you sure you want to stop grade override?",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.title": "Are you sure you want to stop grading this response?",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.warning": "Your progress will be lost.",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.override.confirmText": "Stop grade override",
|
||||
"ora-grading.ReviewActions.StopGradingConfirmModal.confirmText": "Cancel grading",
|
||||
"ora-grading.ReviewActions.goBack": "Go back",
|
||||
"ora-grading.ReviewActions.loadPrevious": "Load previous submission",
|
||||
"ora-grading.ReviewActions.loadNext": "Load next submission",
|
||||
"ora-grading.ReviewActions.navigationLabel": "{current} of {total}",
|
||||
"ora-grading.ReviewActions.pointsDisplay": "Score: {pointsEarned}/{pointsPossible}",
|
||||
"ora-grading.ReviewActions.hideRubric": "Hide Rubric",
|
||||
"ora-grading.ReviewActions.showRubric": "Show Rubric",
|
||||
"ora-grading.ReviewModal.closeReviewConfirm.title": "Are you sure you want to close this modal?",
|
||||
"ora-grading.ReviewModal.closeReviewConfirmWarning": "This cannot be undone. This will discard unsaved work and stop this grading process.",
|
||||
"ora-grading.ReviewModal.goBack": "Go back",
|
||||
"ora-grading.ReviewModal.CloseReviewConfirmModal.confirmText": "Close Modal",
|
||||
"ora-grading.ReviewModal.loadingResponse": "Loading response",
|
||||
"ora-grading.ReviewModal.demoTitleMessage": "Grading Demo",
|
||||
"ora-grading.ReviewModal.loadErrorHeading": "Error loading submissions",
|
||||
"ora-grading.ReviewModal.loadErrorMessage1": "An error occurred while loading this submission. Try reloading this submission.",
|
||||
"ora-grading.ReviewModal.reloadSubmission": "Reload submission",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.heading": "Grade not submitted",
|
||||
"ora-grading.ReviewModal.gradeNotSubmitted.Content": "We're sorry, something went wrong when we tried to submit this grade. Please try again.",
|
||||
"ora-grading.ReviewModal.resubmitGrade": "Resubmit grate",
|
||||
"ora-grading.ReviewModal.dismiss": "Dismiss",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Heading": "Error submitting grade",
|
||||
"ora-grading.ReviewModal.errorSubmittingGrade.Content": "It looks like someone else got here first! Your grade submission has been rejected",
|
||||
"ora-grading.ReviewModal.errorLockContestedHeading": "The lock owned by another user",
|
||||
"ora-grading.ReviewModal.errorLockContested": "The lock owned by another user",
|
||||
"ora-grading.ReviewModal.errorLockBadRequestHeading": "Invalid request. Please check your input.",
|
||||
"ora-grading.ReviewModal.errorLockBadRequest": "Invalid request. Please check your input.",
|
||||
"ora-grading.ReviewModal.errorDownloadFailed": "Couldn't download files",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedContent": "We're sorry, something went wrong when we tried to download these files. Please try again.",
|
||||
"ora-grading.ReviewModal.errorRetryDownload": "Retry download",
|
||||
"ora-grading.ReviewModal.errorDownloadFailedFiles": "Failed files:",
|
||||
"ora-grading.Rubric.gradeSubmitted": "Grade Submitted",
|
||||
"ora-grading.Rubric.rubric": "Rubric",
|
||||
"ora-grading.Rubric.submitGrade": "Submit grade",
|
||||
"ora-grading.Rubric.submittingGrade": "Submitting grade",
|
||||
"ora-grading.Rubric.overallComments": "Overall comments",
|
||||
"ora-grading.Rubric.addComments": "Add comments (Optional)",
|
||||
"ora-grading.Rubric.comments": "Comments (Optional)",
|
||||
"ora-grading.RubricFeedback.error": "The overall feedback is required",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.ungraded": "Ungraded",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.locked": "Currently being graded by someone else",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.graded": "Grading Completed",
|
||||
"ora-grading.lms-api.gradingStatusDisplay.inProgress": "You are currently grading this response"
|
||||
}
|
||||
@@ -9,6 +9,7 @@
|
||||
"ora-grading.ResponseDisplay.FileRenderer.retryButton": "Retry",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.fileNotFound": "File not found",
|
||||
"ora-grading.ResponseDisplay.FileRenderer.unknownError": "Unknown errors",
|
||||
"PageTitle": "ORA staff grading | {siteName}",
|
||||
"ora-grading.InfoPopover.alt-text": "Display more info",
|
||||
"ora-grading.CriterionFeedback.addCommentsLabel": "Add comments",
|
||||
"ora-grading.CriterionFeedback.commentsLabel": "Comments",
|
||||
|
||||
@@ -15,22 +15,15 @@ import {
|
||||
mergeConfig,
|
||||
} from '@edx/frontend-platform';
|
||||
|
||||
import { messages as footerMessages } from '@edx/frontend-component-footer';
|
||||
import { messages as headerMesssages } from '@edx/frontend-component-header';
|
||||
|
||||
import { IntlProvider } from '@edx/frontend-platform/i18n';
|
||||
|
||||
import messages from './i18n';
|
||||
|
||||
import App from './App';
|
||||
|
||||
subscribe(APP_READY, () => {
|
||||
ReactDOM.render(
|
||||
<IntlProvider locale="en">
|
||||
<AppProvider store={store}>
|
||||
<App />
|
||||
</AppProvider>
|
||||
</IntlProvider>,
|
||||
<AppProvider store={store}>
|
||||
<App />
|
||||
</AppProvider>,
|
||||
document.getElementById('root'),
|
||||
);
|
||||
});
|
||||
@@ -52,10 +45,6 @@ initialize({
|
||||
}, appName);
|
||||
},
|
||||
},
|
||||
messages: [
|
||||
messages,
|
||||
headerMesssages,
|
||||
footerMessages,
|
||||
],
|
||||
messages,
|
||||
requireAuthenticatedUser: true,
|
||||
});
|
||||
|
||||
@@ -8,10 +8,7 @@ import {
|
||||
subscribe,
|
||||
} from '@edx/frontend-platform';
|
||||
|
||||
import { messages as footerMessages } from '@edx/frontend-component-footer';
|
||||
import { messages as headerMesssages } from '@edx/frontend-component-header';
|
||||
|
||||
import appMessages from './i18n';
|
||||
import messages from './i18n';
|
||||
import * as app from '.';
|
||||
|
||||
jest.mock('react-dom', () => ({
|
||||
@@ -70,7 +67,7 @@ describe('app registry', () => {
|
||||
test('initialize is called with footerMessages and requireAuthenticatedUser', () => {
|
||||
expect(initialize).toHaveBeenCalledTimes(1);
|
||||
const initializeArg = initialize.mock.calls[0][0];
|
||||
expect(initializeArg.messages).toEqual([appMessages, headerMesssages, footerMessages]);
|
||||
expect(initializeArg.messages).toEqual(messages);
|
||||
expect(initializeArg.requireAuthenticatedUser).toEqual(true);
|
||||
});
|
||||
test('initialize config loads support url if available', () => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// The code in this file is from Segment's website:
|
||||
// https://segment.com/docs/sources/website/analytics.js/quickstart/
|
||||
import { configuration } from './config';
|
||||
import { getConfig } from '@edx/frontend-platform';
|
||||
|
||||
(function () {
|
||||
// Create a queue, but don't obliterate an existing one!
|
||||
@@ -81,5 +81,5 @@ import { configuration } from './config';
|
||||
|
||||
// Load Analytics.js with your key, which will automatically
|
||||
// load the tools you've enabled for your account. Boosh!
|
||||
analytics.load(configuration.SEGMENT_KEY);
|
||||
analytics.load(getConfig().SEGMENT_KEY);
|
||||
}());
|
||||
|
||||
@@ -18,11 +18,17 @@ jest.mock('react', () => ({
|
||||
jest.mock('@edx/frontend-platform/i18n', () => {
|
||||
const i18n = jest.requireActual('@edx/frontend-platform/i18n');
|
||||
const PropTypes = jest.requireActual('prop-types');
|
||||
const { formatMessage } = jest.requireActual('./testUtils');
|
||||
const formatDate = jest.fn(date => new Date(date).toLocaleDateString()).mockName('useIntl.formatDate');
|
||||
return {
|
||||
...i18n,
|
||||
intlShape: PropTypes.shape({
|
||||
formatMessage: PropTypes.func,
|
||||
}),
|
||||
useIntl: () => ({
|
||||
formatMessage,
|
||||
formatDate,
|
||||
}),
|
||||
defineMessages: m => m,
|
||||
FormattedMessage: () => 'FormattedMessage',
|
||||
};
|
||||
@@ -107,7 +113,7 @@ jest.mock('@edx/paragon/icons', () => ({
|
||||
}));
|
||||
|
||||
jest.mock('data/constants/app', () => ({
|
||||
locationId: 'fake-location-id',
|
||||
locationId: () => 'fake-location-id',
|
||||
}));
|
||||
|
||||
jest.mock('hooks', () => ({
|
||||
|
||||
@@ -40,6 +40,11 @@ jest.mock('@edx/frontend-platform/auth', () => ({
|
||||
getLoginRedirectUrl: jest.fn(),
|
||||
}));
|
||||
|
||||
jest.mock('@edx/frontend-component-header', () => ({
|
||||
LearningHeader: () => 'Header',
|
||||
}));
|
||||
// jest.mock('@edx/frontend-component-footer', () => () => 'Footer');
|
||||
|
||||
jest.mock('react-pdf', () => ({
|
||||
Document: () => <div>Document</div>,
|
||||
Image: () => <div>Image</div>,
|
||||
@@ -186,8 +191,12 @@ const initialize = async () => {
|
||||
* Wait for the review page to show and update the top-level state object.
|
||||
*/
|
||||
const makeTableSelections = async () => {
|
||||
[0, 1, 2, 3, 4].forEach(index => userEvent.click(inspector.listView.listCheckbox(index)));
|
||||
userEvent.click(inspector.listView.selectedBtn(5));
|
||||
[0, 1, 2, 3, 4].forEach(
|
||||
index => userEvent.click(inspector.listView.listCheckbox(index))
|
||||
);
|
||||
|
||||
await inspector.find.listView.selectedBtn(5);
|
||||
await userEvent.click(inspector.listView.selectedBtn(5));
|
||||
// wait for navigation, which will show while request is pending
|
||||
try {
|
||||
await inspector.find.review.prevNav();
|
||||
@@ -213,7 +222,7 @@ describe('ESG app integration tests', () => {
|
||||
inspector = new Inspector(el);
|
||||
});
|
||||
|
||||
test('initialization', async (done) => {
|
||||
test('initialization', async () => {
|
||||
const verifyInitialState = async () => {
|
||||
await waitForRequestStatus(RequestKeys.initialize, RequestStates.pending);
|
||||
const testInitialState = (key) => expect(
|
||||
@@ -275,7 +284,6 @@ describe('ESG app integration tests', () => {
|
||||
|
||||
await makeTableSelections();
|
||||
await waitForRequestStatus(RequestKeys.fetchSubmission, RequestStates.pending);
|
||||
done();
|
||||
});
|
||||
|
||||
describe('initialized', () => {
|
||||
@@ -286,7 +294,7 @@ describe('ESG app integration tests', () => {
|
||||
await waitForRequestStatus(RequestKeys.fetchSubmission, RequestStates.pending);
|
||||
});
|
||||
|
||||
test('initial review state', async (done) => {
|
||||
test('initial review state', async () => {
|
||||
// Make table selection and load Review pane
|
||||
expect(
|
||||
state.grading.selection,
|
||||
@@ -304,10 +312,9 @@ describe('ESG app integration tests', () => {
|
||||
inspector.review.loadingResponse(),
|
||||
'Loading Responses pending state text should be displayed in the ReviewModal',
|
||||
).toBeVisible();
|
||||
done();
|
||||
});
|
||||
|
||||
test('fetch network error and retry', async (done) => {
|
||||
test('fetch network error and retry', async () => {
|
||||
await resolveFns.fetch.networkError();
|
||||
await waitForRequestStatus(RequestKeys.fetchSubmission, RequestStates.failed);
|
||||
expect(
|
||||
@@ -317,10 +324,9 @@ describe('ESG app integration tests', () => {
|
||||
// fetch: retry and succeed
|
||||
await userEvent.click(inspector.review.retryFetchLink());
|
||||
await waitForRequestStatus(RequestKeys.fetchSubmission, RequestStates.pending);
|
||||
done()
|
||||
});
|
||||
|
||||
test('fetch success and nav chain', async (done) => {
|
||||
test('fetch success and nav chain', async () => {
|
||||
let showRubric = false;
|
||||
// fetch: success with chained navigation
|
||||
const verifyFetchSuccess = async (submissionIndex) => {
|
||||
@@ -396,7 +402,6 @@ describe('ESG app integration tests', () => {
|
||||
await userEvent.click(inspector.review.prevNav());
|
||||
await verifyFetchSuccess(i);
|
||||
}
|
||||
done();
|
||||
});
|
||||
|
||||
describe('grading (basic)', () => {
|
||||
@@ -416,7 +421,7 @@ describe('ESG app integration tests', () => {
|
||||
const overallFeedback = 'some overall feedback';
|
||||
|
||||
// Set basic grade and feedback
|
||||
const setGrade = async (done) => {
|
||||
const setGrade = async () => {
|
||||
const {
|
||||
criterionOption,
|
||||
criterionFeedback,
|
||||
@@ -479,26 +484,25 @@ describe('ESG app integration tests', () => {
|
||||
await resolveFns.lock.success();
|
||||
}
|
||||
/*
|
||||
test('submit pending', async (done) => {
|
||||
test('submit pending', async () => {
|
||||
done();
|
||||
});
|
||||
test('submit failed', async (done) => {
|
||||
test('submit failed', async () => {
|
||||
done();
|
||||
});
|
||||
*/
|
||||
test('grade and submit',
|
||||
async (done) => {
|
||||
async () => {
|
||||
expect(await inspector.find.review.submitGradeBtn()).toBeVisible();
|
||||
await setGrade();
|
||||
checkGradingState();
|
||||
await userEvent.click(inspector.review.rubric.submitGradeBtn());
|
||||
await resolveFns.updateGrade.success();
|
||||
checkGradeSuccess();
|
||||
done();
|
||||
},
|
||||
);
|
||||
test('grade, navigate, and return, maintaining gradingState',
|
||||
async (done) => {
|
||||
async () => {
|
||||
expect(await inspector.find.review.submitGradeBtn()).toBeVisible();
|
||||
await setGrade();
|
||||
checkGradingState();
|
||||
@@ -507,7 +511,6 @@ describe('ESG app integration tests', () => {
|
||||
await loadPrev();
|
||||
await waitForEqual(() => getState().grading.activeIndex, 0, 'activeIndex');
|
||||
checkGradingState();
|
||||
done();
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
@@ -92,6 +92,7 @@ class Inspector {
|
||||
return {
|
||||
listView: {
|
||||
viewAllResponsesBtn: () => this.findByText(appMessages.ListView.viewAllResponses),
|
||||
selectedBtn: (num) => this.findByText(`View selected responses (${num})`),
|
||||
loadErrorHeading: () => this.findByText(appMessages.ListView.loadErrorHeading),
|
||||
},
|
||||
review: {
|
||||
|
||||
Reference in New Issue
Block a user