i18n Issues Mega Issue part 2 (Controversial part)#1922
Conversation
|
Thanks for the pull request, @jacobo-dominguez-wgu! This repository is currently maintained by Once you've gone through the following steps feel free to tag them in a comment and let them know that your changes are ready for engineering review. 🔘 Get product approvalIf you haven't already, check this list to see if your contribution needs to go through the product review process.
🔘 Provide contextTo help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:
🔘 Get a green buildIf one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green. DetailsWhere can I find more information?If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources: When can I expect my changes to be merged?Our goal is to get community contributions seen and reviewed as efficiently as possible. However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:
💡 As a result it may take up to several weeks or months to complete a review and merge your PR. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #1922 +/- ##
========================================
Coverage 93.78% 93.79%
========================================
Files 1147 1154 +7
Lines 23907 24083 +176
Branches 5148 5100 -48
========================================
+ Hits 22422 22589 +167
- Misses 1408 1426 +18
+ Partials 77 68 -9 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
...ainers/VideoEditor/components/VideoSettingsModal/components/LicenseWidget/LicenseDetails.jsx
Outdated
Show resolved
Hide resolved
...s/VideoEditor/components/VideoSettingsModal/components/LicenseWidget/LicenseDetails.test.jsx
Outdated
Show resolved
Hide resolved
src/files-and-videos/generic/table-components/sort-and-filter-modal/messages.js
Outdated
Show resolved
Hide resolved
| noneAriaLabel: { | ||
| id: 'course-authoring.video-uploads.transcriptSettings.orderTranscripts.none.aria-label', | ||
| defaultMessage: 'none radio', | ||
| description: 'Aria label for order transcript None option', |
There was a problem hiding this comment.
Will translators know the difference between 'Label for order transcript None option' and 'Aria label for order transcript None option'?
It might be helpful to say "Accessible (screen reader) label for 'order transcript: None' option, indicating this is a radio button (mutually exclusive selection)". But just thinking out loud here, it's also fine as is.
There was a problem hiding this comment.
Yes I agree, will update all descriptions for aria label.
There was a problem hiding this comment.
Hey, I see you requested a re-review but these descriptions aren't updated yet?
There was a problem hiding this comment.
Sorry I missed these.
...ainers/VideoEditor/components/VideoSettingsModal/components/LicenseWidget/LicenseDetails.jsx
Outdated
Show resolved
Hide resolved
src/editors/containers/ProblemEditor/components/EditProblemView/AnswerWidget/messages.js
Outdated
Show resolved
Hide resolved
83f0543 to
dab2b1a
Compare
dab2b1a to
4ab1399
Compare
bradenmacdonald
left a comment
There was a problem hiding this comment.
Thanks, I tested as described and it's working well. Just let me know if you are planning any of the remaining "Aria label..." descriptions before I go ahead and merge it.
| axiosMock.onGet(`${getAssetsUrl(courseId)}?display_name=download.png&page_size=1`).reply(200, { assets: [] }); | ||
| axiosMock.onPost(getAssetsUrl(courseId)).reply(200, generateNewAssetApiResponse()); | ||
| const addFilesButton = screen.getByLabelText('file-input'); | ||
| const addFilesButton = screen.getByLabelText(messages.fileInputAriaLabel.defaultMessage); |
There was a problem hiding this comment.
| const addFilesButton = screen.getByLabelText(messages.fileInputAriaLabel.defaultMessage); | |
| const addFilesButton = screen.getByLabelText('Upload a file'); |
Nit: This may seem to go against the usual "DRY" developer maxim, but I generally prefer that strings are hard-coded in test files, because it makes it much more clear when things get changed accidentally. When the test references the code, it's easier to introduce a regression without noticing. In this case it's not a big deal though. Feel free to leave it as is.
There was a problem hiding this comment.
I understand your point but lets keep it like this this time since it is not a major thing.
| noneAriaLabel: { | ||
| id: 'course-authoring.video-uploads.transcriptSettings.orderTranscripts.none.aria-label', | ||
| defaultMessage: 'none radio', | ||
| description: 'Aria label for order transcript None option', |
There was a problem hiding this comment.
Hey, I see you requested a re-review but these descriptions aren't updated yet?
| <FormattedMessage {...messages.detailsSubsectionTitle} /> | ||
| </div> | ||
| {license === LicenseTypes.allRightsReserved ? ( | ||
| {license === LicenseTypes.allRightsReserved && ( |
There was a problem hiding this comment.
Just curious, why are you replacing the ternary operators?
There was a problem hiding this comment.
This one was a suggestion from a fellow, so the code looks cleaner and more readable.
Description
Part 2 of solving i18n issues containing the controversial section. Link to part 1
Based on a report generated by an AI agent about improvements to untranslated strings according to the i18 guidelines, several files have been modified in order to fix these potential internationalization bugs.
Some of the fixes include:
Supporting information
This PR fixes #1806
Testing instructions
CardHeader
Go to the edit course content.
Hover a module name and click on the pencil icon that shows on hover, the module name turns into an input element
With devtools inspect the input text and look for the aria-label (it is a bit difficult since clicking turns the input into a label, so here is helpful to install the react developer tools and look for the specific component (which is FormControl) on the Components tool)
AnswerWidget/AnswerOption
Select one of the sections of a module and click on the arrow to expand the content.
Click on + New unit.
Select Problem component and then the single select option and click select button.
Scroll down the modal and there must be the Answers section.
Look for the button with an icon of a comment with an exclamation mark and inspect it.
On the devtools look for the aria-label of the parent div.
LicenseWidget/LicenseDetails
Select one of the sections of a module and click on the arrow to expand the content.
Click on + New unit.
On the add new component section select Video option.
Scroll down to the License section and click + Add a license for this video.
On License Type select Creative Commons.
Scroll down to the License Details and inspect the checkboxes for the list options.
With devtools inspect the aria-label for all the checkboxes.
FileInput
TBD.
SortAndFilterModal
Go to the assets page for a course: http://apps.local.openedx.io:2001/authoring/course/{courseId}/assets
Click on the sort and filter button
On the modal, inspect the options on the Sort by section
Inspect the aria-label for each element