Provide localization context/comments - #11808
Conversation
📝 WalkthroughWalkthroughThe changes standardize UI action descriptions under the Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: 🔵 Low · up to The PR improves localization guidance across the application, but three bounded context mismatches could lead to misleading or less accurate translations in specific UI messages. The change is otherwise mergeable with explicit owner follow-up on those localization details. 🚥 Pre-merge checks | ✅ 3 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (3 passed)
Full details: Linked Issues checkExplanation The changes satisfy issue
Warning Linked repositories: Public OSS repositories can only analyze public repositories installed in this organization. No linked repositories were analyzed; skipped Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI (base), Organization UI (inherited)
Review profile: CHILL
Plan: Pro Plus
Run ID: 92da5727-ef81-4ad8-bbb9-3ffe7c24ac41
📒 Files selected for processing (52)
src/appshell/internal/applicationuiactions.cppsrc/appshell/qml/Audacity/AppShell/AboutDialog.qmlsrc/appshell/qml/Audacity/AppShell/AlphaWelcomePopup.qmlsrc/appshell/qml/Audacity/AppShell/appmenumodel.cppsrc/au3cloud/internal/au3audiocomservice.cppsrc/au3cloud/internal/clouduiactions.cppsrc/effects/builtin_collection/dynamics/compressor/compressorsettingmodel.cppsrc/effects/builtin_collection/filtercurveeq/FilterCurveEqView.qmlsrc/effects/builtin_collection/loudness/normalizeloudnessviewmodel.cppsrc/effects/builtin_collection/noisereduction/NoiseReductionView.qmlsrc/effects/builtin_collection/normalize/NormalizeView.qmlsrc/effects/builtin_collection/normalize/normalizeeffect.cppsrc/effects/builtin_collection/reverb/reverbviewmodel.cppsrc/effects/builtin_collection/tonegen/ChirpView.qmlsrc/effects/effects_base/internal/effectsuiactions.cppsrc/effects/effects_base/qml/Audacity/Effects/BypassEffectButton.qmlsrc/effects/effects_base/qml/Audacity/Effects/DestructiveEffectsViewerDialog.qmlsrc/effects/effects_base/qml/Audacity/Effects/EffectPresetsBar.qmlsrc/effects/effects_base/qml/Audacity/Effects/MissingPluginsDialog.qmlsrc/effects/effects_base/qml/Audacity/Effects/PresetNameDialog.qmlsrc/effects/effects_base/view/pluginmanagertableviewmodel.cppsrc/effects/nyquist/nyquistprompt/NyquistPromptView.qmlsrc/importexport/export/internal/au3/au3exporter.cppsrc/importexport/export/qml/Export/ExportDialog.qmlsrc/importexport/export/qml/Export/internal/MetadataControlPanel.qmlsrc/playback/internal/au3/au3trackplaybackcontrol.cppsrc/playback/internal/playbackuiactions.cppsrc/playback/qml/Audacity/Playback/panels/PlaybackMeterPanel.qmlsrc/preferences/qml/Audacity/Preferences/commonaudioapiconfigurationmodel.cppsrc/project/internal/audacityproject.cppsrc/project/internal/opensaveprojectscenario.cppsrc/project/internal/projectactionscontroller.cppsrc/project/internal/projectuiactions.cppsrc/project/qml/Audacity/Project/internal/NewProject/TitleListView.qmlsrc/project/qml/Audacity/Project/internal/Properties/PropertyItem.qmlsrc/projectscene/internal/projectsceneuiactions.cppsrc/projectscene/qml/Audacity/ProjectScene/toolbars/PlaybackToolBar.qmlsrc/projectscene/qml/Audacity/ProjectScene/tracksitemsview/labeleditor/LabelEditorTopPanel.qmlsrc/projectscene/qml/Audacity/ProjectScene/trackspanel/RealtimeEffectListItem.qmlsrc/projectscene/qml/Audacity/ProjectScene/trackspanel/TracksTitleBar.qmlsrc/projectscene/qml/Audacity/ProjectScene/trackspanel/WaveTrackItem.qmlsrc/projectscene/view/tracksitemsview/labeleditor/labelstableviewmodel.cppsrc/projectscene/view/tracksitemsview/multiclipcontextmenumodel.cppsrc/projectscene/view/tracksitemsview/selectioncontextmenumodel.cppsrc/record/internal/au3/au3record.cppsrc/record/internal/recordcontroller.cppsrc/record/internal/recorduiactions.cppsrc/spectrogram/internal/spectrogramuiactions.cppsrc/spectrogram/view/colorsectionparameterlistmodel.cppsrc/trackedit/internal/trackeditactionscontroller.cppsrc/trackedit/internal/trackeditoperationcontroller.cppsrc/trackedit/internal/trackedituiactions.cpp
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.
| //: Title of an error dialog shown when generating the audio preview fails | ||
| interactive()->error(trc("cloud", "Generate audio preview"), ret.text()); |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Use accurate context for the shared error title.
The cloud / "Generate audio preview" message is also used at Lines 1518, 1531, 1538, and 1545 for cloud-project download or opening failures. This comment describes only audio-preview generation. Use separate message IDs for the different error-dialog titles, or update the comment to cover every use of this message ID.
| //: Action title: shown as a menu item or a button label; keep it short | ||
| TranslatableString("action", "Show in Finder"), | ||
| TranslatableString("action", "Show in Finder") | ||
| //: Action description: shown as a tooltip; can be a full sentence | ||
| TranslatableString("action_description", "Show in Finder") |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Update the Windows and fallback description contexts.
The new action_description context is applied only in the Q_OS_MAC branch. The Q_OS_WIN and fallback branches at Lines 50-54 still use the action context for descriptions. Add the description comments and use action_description in both branches.
| //: Message shown when a search returns nothing | ||
| text: qsTrc("global", "No results found") | ||
|
|
||
| visible: view.count < 1 |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🔎 Supported by static analysis
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Inspect all TitleListView usages and confirm that empty models only occur during search.
rg -n -C 12 'TitleListView[[:space:]]*\{' --glob '*.qml'Repository: audacity/audacity
Length of output: 155
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '%s\n' '--- repository conventions ---'
find /tmp/coderabbit-repo-knowledge/audacity-audacity-1bc7f016 -type f -path '*/\*.md' -print 2>/dev/null | sort
printf '%s\n' '--- TitleListView files and usages ---'
fd -HI 'TitleListView' .
rg -n -C 15 'TitleListView' --glob '*.qml' .
printf '%s\n' '--- component context ---'
sed -n '1,180p' src/project/qml/Audacity/Project/internal/NewProject/TitleListView.qmlRepository: audacity/audacity
Length of output: 298
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '%s\n' '--- TitleListView.qml ---'
cat -n src/project/qml/Audacity/Project/internal/NewProject/TitleListView.qml
printf '%s\n' '--- references to the component file or type ---'
rg -n -C 12 'TitleListView|titleListView|titleList' src/project/qml --glob '*.qml' --glob '*.qmldir' || true
printf '%s\n' '--- NewProject QML files ---'
fd -HI -e qml -e qmldir . src/project/qml/Audacity/Project/internal/NewProject src/project/qml/Audacity/Project 2>/dev/null | sortRepository: audacity/audacity
Length of output: 6474
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '%s\n' '--- repository-wide references ---'
rg -n -C 8 'TitleListView|titleListView|titleList' . || true
printf '%s\n' '--- direct model and search bindings in nearby NewProject components ---'
rg -n -C 10 'GeneralInfoView|ProjectInfoPage|model:|searchEnabled|searchText|searching' \
src/project/qml/Audacity/Project/internal/NewProject \
src/project/qml/Audacity/Project --glob '*.qml' || trueRepository: audacity/audacity
Length of output: 50374
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '%s\n' '--- non-translation source references ---'
rg -n -C 10 'TitleListView|titleListView|titleList' . \
-g '!share/locale/**' -g '!*.ts' || true
printf '%s\n' '--- NewProject component declarations and uses ---'
rg -n -C 8 'GeneralInfoView|ProjectInfoPage|TitleListView|searchEnabled|searching|searchText|model:' \
src/project/qml/Audacity/Project/internal/NewProject \
src/project/qml/Audacity/Project/NewProjectDialog.qml \
src/project/qml/Audacity/Project/ProjectsPage.qml \
--glob '*.qml' 2>/dev/null || trueRepository: audacity/audacity
Length of output: 15635
Align the empty-state comment with all render paths.
noResultsFoundHint is visible whenever view.count < 1; it does not depend on searching or searchEnabled. An empty model can therefore display “No results found” without an active search. Describe this as an empty-list message, or gate visible on the search state if it is search-only.
Provide localization context/comments
Resolves: #11627
Recommended:
QA: