WinterCMS research
This commit is contained in:
247
docs/research/wintercms/queststream-14-i18n/14-02-PLAN.md
Normal file
247
docs/research/wintercms/queststream-14-i18n/14-02-PLAN.md
Normal file
@@ -0,0 +1,247 @@
|
||||
---
|
||||
phase: 14-translation-polish-testing
|
||||
plan: 02
|
||||
type: execute
|
||||
wave: 2
|
||||
depends_on: [14-01]
|
||||
files_modified:
|
||||
- vue-queststream-app/i18n/locales/pl.json
|
||||
autonomous: false
|
||||
|
||||
must_haves:
|
||||
truths:
|
||||
- "All Polish translations reviewed and corrected per user feedback"
|
||||
- "Full application flow works in Polish (login → dashboard → quest completion)"
|
||||
- "Polish pluralization displays correctly for 1, 2, 5, and 21 items"
|
||||
- "No visible English strings when app is set to Polish"
|
||||
- "Text layout intact (no overflow, truncation, or broken UI)"
|
||||
artifacts:
|
||||
- path: "vue-queststream-app/i18n/locales/pl.json"
|
||||
provides: "Complete Polish translations"
|
||||
min_lines: 1800
|
||||
key_links:
|
||||
- from: "vue-queststream-app/i18n/locales/pl.json"
|
||||
to: "Vue components"
|
||||
via: "$t() calls"
|
||||
pattern: "\\$t\\("
|
||||
---
|
||||
|
||||
<objective>
|
||||
Apply translation corrections and verify complete bilingual experience through manual testing.
|
||||
|
||||
Purpose: Complete the Polish translation quality assurance by incorporating user feedback from the review file and executing a comprehensive manual walkthrough of all application pages in Polish.
|
||||
|
||||
Output:
|
||||
- Updated pl.json with all user-requested corrections
|
||||
- Verified working Polish experience across entire application
|
||||
- No untranslated strings visible in Polish mode
|
||||
</objective>
|
||||
|
||||
<execution_context>
|
||||
@/home/golem/.claude/get-shit-done/workflows/execute-plan.md
|
||||
@/home/golem/.claude/get-shit-done/templates/summary.md
|
||||
</execution_context>
|
||||
|
||||
<context>
|
||||
@.planning/PROJECT.md
|
||||
@.planning/ROADMAP.md
|
||||
@.planning/STATE.md
|
||||
@.planning/phases/14-translation-polish-testing/14-CONTEXT.md
|
||||
@.planning/phases/14-translation-polish-testing/14-01-SUMMARY.md
|
||||
@.planning/phases/14-translation-polish-testing/14-TRANSLATION-REVIEW.md
|
||||
</context>
|
||||
|
||||
<tasks>
|
||||
|
||||
<task type="checkpoint:human-verify">
|
||||
<what-built>Translation review file with side-by-side EN|PL comparison of all 1858 strings</what-built>
|
||||
<how-to-verify>
|
||||
1. Open `.planning/phases/14-translation-polish-testing/14-TRANSLATION-REVIEW.md`
|
||||
2. Review Polish translations, particularly:
|
||||
- Consistency of tone (informal "ty" form throughout)
|
||||
- Technical terms (quest = misja, challenge = wyzwanie, coins = monety)
|
||||
- Pluralization forms (all 4 forms present for plural keys)
|
||||
3. Edit the review file directly:
|
||||
- Change incorrect Polish translations
|
||||
- Mark corrections clearly
|
||||
4. Reply with:
|
||||
- "approved" if translations look good
|
||||
- Or paste/describe specific corrections needed
|
||||
</how-to-verify>
|
||||
<resume-signal>Reply with "approved" or provide specific corrections</resume-signal>
|
||||
</task>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 1: Apply translation corrections to pl.json</name>
|
||||
<files>
|
||||
vue-queststream-app/i18n/locales/pl.json
|
||||
</files>
|
||||
<action>
|
||||
Based on user feedback from the checkpoint:
|
||||
|
||||
1. If user marked specific corrections in the review file:
|
||||
- Read the updated 14-TRANSLATION-REVIEW.md
|
||||
- Identify all marked corrections
|
||||
- Apply each correction to pl.json
|
||||
- Maintain alphabetical key ordering
|
||||
- Ensure valid JSON after edits
|
||||
|
||||
2. If user approved without corrections:
|
||||
- No changes needed to pl.json
|
||||
- Proceed to verification task
|
||||
|
||||
3. Run coverage script after changes:
|
||||
```bash
|
||||
cd vue-queststream-app && npx tsx scripts/i18n-coverage.ts
|
||||
```
|
||||
Verify no new issues introduced.
|
||||
</action>
|
||||
<verify>
|
||||
Run `npx tsx scripts/i18n-coverage.ts` - should pass
|
||||
JSON is valid: `cat vue-queststream-app/i18n/locales/pl.json | jq . > /dev/null`
|
||||
</verify>
|
||||
<done>
|
||||
All user-requested corrections applied to pl.json
|
||||
Coverage script passes
|
||||
JSON valid and properly formatted
|
||||
</done>
|
||||
</task>
|
||||
|
||||
<task type="checkpoint:human-verify">
|
||||
<what-built>Complete Polish translation of Vue QuestStream application</what-built>
|
||||
<how-to-verify>
|
||||
**Manual Testing Checklist - Run app with Polish language selected:**
|
||||
|
||||
### Auth Flow
|
||||
1. Navigate to /login
|
||||
- [ ] All labels, buttons, error messages in Polish
|
||||
2. Navigate to /register
|
||||
- [ ] Form labels, validation messages in Polish
|
||||
3. Test password reset flow (if applicable)
|
||||
|
||||
### Parent Dashboard
|
||||
4. Navigate to /parent
|
||||
- [ ] Welcome message, stats, pending approvals in Polish
|
||||
5. Navigate to /parent/children
|
||||
- [ ] Child cards, add child button, empty state
|
||||
6. Navigate to /parent/templates
|
||||
- [ ] Template library, filters, action buttons
|
||||
7. Open any modal (Add Child, Assign Quest, etc.)
|
||||
- [ ] Modal titles, form labels, buttons in Polish
|
||||
8. Navigate to /parent/settings (check all 7 tabs)
|
||||
- [ ] All setting labels, descriptions, save buttons
|
||||
9. Navigate to /parent/profile (check all 3 tabs)
|
||||
- [ ] Account, notifications, authentication tabs
|
||||
|
||||
### Child Dashboard
|
||||
10. Switch to child profile
|
||||
11. Navigate to /child
|
||||
- [ ] Hero greeting, stats, quest cards
|
||||
12. Navigate to /child/quests
|
||||
- [ ] Quest list, status badges, action buttons
|
||||
13. Navigate to /child/shop
|
||||
- [ ] Reward cards, purchase buttons, coin display
|
||||
14. Navigate to /child/achievements
|
||||
- [ ] Achievement badges, unlock dates, progress
|
||||
15. Navigate to /child/challenges
|
||||
- [ ] Challenge cards, progress indicators
|
||||
|
||||
### Visual Checks (Polish strings are longer)
|
||||
16. [ ] Buttons don't overflow or truncate
|
||||
17. [ ] Table headers fit without breaking layout
|
||||
18. [ ] Modal titles fully visible
|
||||
19. [ ] Navigation labels fit in header/footer
|
||||
|
||||
### Pluralization Spot Checks
|
||||
20. Find displays with counts and verify:
|
||||
- [ ] "1 misja" (one form)
|
||||
- [ ] "2 misje" (few form)
|
||||
- [ ] "5 misji" (many form)
|
||||
- [ ] "21 misja" (one form - tricky!)
|
||||
|
||||
**Report:**
|
||||
- List any visible English strings
|
||||
- List any layout issues with Polish text
|
||||
- List any incorrect translations noticed
|
||||
</how-to-verify>
|
||||
<resume-signal>Reply with "approved" or list issues found</resume-signal>
|
||||
</task>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 2: Fix any issues found during testing</name>
|
||||
<files>
|
||||
vue-queststream-app/i18n/locales/pl.json
|
||||
</files>
|
||||
<action>
|
||||
Based on issues reported in the manual testing checkpoint:
|
||||
|
||||
1. If English strings found:
|
||||
- Locate the component using that string
|
||||
- Add the key to pl.json with proper translation
|
||||
- Verify with grep that all usages are covered
|
||||
|
||||
2. If layout issues found:
|
||||
- First try shorter Polish alternatives if available
|
||||
- Apply minor CSS adjustments (padding, max-width, text-wrap) if needed to maintain layout
|
||||
- Document any major layout refactoring needed for future (out of scope)
|
||||
- Minor CSS tweaks for text display are acceptable in this translation phase
|
||||
|
||||
3. If pluralization issues found:
|
||||
- Verify the plural key in pl.json has 4 forms (one|few|many|other)
|
||||
- Check the pluralization rule is being applied correctly
|
||||
|
||||
4. If translation errors noticed:
|
||||
- Apply corrections to pl.json
|
||||
- Maintain consistency with other similar strings
|
||||
|
||||
5. Re-run verification:
|
||||
```bash
|
||||
cd vue-queststream-app && pnpm test
|
||||
cd vue-queststream-app && npx tsx scripts/i18n-coverage.ts
|
||||
```
|
||||
</action>
|
||||
<verify>
|
||||
All reported issues addressed
|
||||
Tests still pass
|
||||
Coverage script reports no issues
|
||||
</verify>
|
||||
<done>
|
||||
All reported issues fixed
|
||||
Application works correctly in Polish
|
||||
No visible English when Polish selected
|
||||
</done>
|
||||
</task>
|
||||
|
||||
</tasks>
|
||||
|
||||
<verification>
|
||||
1. Coverage verification:
|
||||
```bash
|
||||
cd vue-queststream-app && npx tsx scripts/i18n-coverage.ts
|
||||
```
|
||||
Should report: 0 missing, 0 plural mismatches
|
||||
|
||||
2. Unit tests pass:
|
||||
```bash
|
||||
cd vue-queststream-app && pnpm test
|
||||
```
|
||||
|
||||
3. Manual verification complete (from checkpoints):
|
||||
- Full app flow works in Polish
|
||||
- No English strings visible
|
||||
- Pluralization correct
|
||||
- Layout intact
|
||||
</verification>
|
||||
|
||||
<success_criteria>
|
||||
- User has reviewed and approved translations
|
||||
- All corrections applied to pl.json
|
||||
- Full application walkthrough in Polish successful
|
||||
- No untranslated strings visible when language is Polish
|
||||
- Polish pluralization works for 1, 2, 5, 21 item counts
|
||||
- No text overflow or layout breaking due to Polish string length
|
||||
</success_criteria>
|
||||
|
||||
<output>
|
||||
After completion, create `.planning/phases/14-translation-polish-testing/14-02-SUMMARY.md`
|
||||
</output>
|
||||
Reference in New Issue
Block a user