Repository navigation
fix: ship the workshop dialogs in every locale under spec base names - #737
Conversation
The game skill, the error handler and the common play skill speak dialogs that ovos-workshop ships. skill.error and the four game dialogs exist in 6 of 47 locales, and no.media.available exists in none. OVOS-INTENT-2 §2 allows only lowercase letters, digits and underscores in a resource base name. Rename skill.error to skill_error and no.media.available to no_media_available, in the files and in the code. Add a machine-translated draft of each missing file. Every draft starts with the line '# machine translation from en-US, unvouched'. A test reads the dialog names from the workshop code. It checks each base name and that every locale ships each dialog. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
Beep! I'm back with the goodies! 🍭I've aggregated the results of the automated checks for this PR below. 📡 Channel Compat — testingHere's the report you've been waiting for. 📁 🚧 Channel unresolvable with this checkout — the repo's dependency floors exceed what the channel pins (fleet finding; see the install log). Constraints: https://raw.githubusercontent.com/OpenVoiceOS/OpenVoiceOS/main/constraints-testing.txt 📋 Repo HealthScanning for any signs of 'copy-paste' obesity. 🍕 ✅ All required files present. Latest Version: ✅ ⚖️ License CheckEnsuring every file has a proper birth certificate. 👶 ✅ No license violations found. Policy: Apache 2.0 (universal donor). StrongCopyleft / NetworkCopyleft / WeakCopyleft / Other / Error categories fail. MPL allowed. 🔒 Security (pip-audit)Ensuring our project is resilient to attacks. 🏰
🔍 LintChecking if there's anything else we need to do. 📋 ❌ ruff: issues found in 108 file(s) — see job log 🔨 Build TestsRunning the forge to see if the code tempers correctly. 🔥 ✅ All versions pass
Keeping the OVOS ecosystem thriving 🌿 |
Take #737: the workshop's own dialogs in every locale, and skill.error renamed to skill_error. The error handler renders skill_error. The test for a language with no error dialog uses zu-ZA, because de-DE ships one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
What changed
ovos-workshop speaks six dialogs of its own. This PR ships each of them in all 47 locales, and gives two of them base names that OVOS-INTENT-2 §2 allows.
skill_error(wasskill.error)cant_save_game,cant_load_gameConversationalGameSkillsave and loadgame_pause,game_unpauseConversationalGameSkillpause and resumeno_media_available(wasno.media.available)OVOSCommonPlaybackSkillwhen no featured media exists§2: "a resource base name MUST be lowercase letters, digits and underscores". The two dotted names broke that rule, and the spec linter refuses them. The rename changes the two call sites in
ovos.pyandcommon_play.pyand the sixskill.errorfiles that translators wrote.What it needs from the reviewer
Merge it before #414. On #414 a dialog that is missing in the current language raises
DialogNotFound, so without this PR a game skill raises in 41 languages and the media player raises in all of them. After this merges, #414 takes theskill_errorname in its own error handler.Translation status
no_media_availabletext is new source text:There is no media available.# machine translation from en-US, unvouched, which the dialog loaders skip as a comment. No native speaker read them.Tests
test/unittests/test_workshop_dialogs.pyreads the dialog names from the string literals in the workshop code, then checks two things: each base name follows §2, and every locale ships each dialog.The rest of the suite on this branch: 824 passed, 1 skipped, the same count as origin/dev in the same venv.
Each of the 282 dialogs (47 locales × 6) loads at least one line through ovos-spec-tools
read_resource_fileand renders through the ovos-utilsMustacheDialogRenderer. Eachskill_errorline has the{skill}slot and no other slot. No new line contains(,|or[, so the expansion syntax does not change the text.Consumers
An org-wide code search finds no skill that ships or speaks
no.media.availableorskill.error. Three skill tests name the stringskill.errorin negative asserts: ovos-skill-wordnet, ovos-skill-iss-location and ovos-skill-number-facts. They do not fail after the rename, but their check of the bare dialog name then tests nothing.Not verified: the wording in each language.
🤖 Generated with Claude Code