WinterCMS research
This commit is contained in:
@@ -0,0 +1,133 @@
|
||||
---
|
||||
phase: 16-content-localization
|
||||
plan: 03
|
||||
subsystem: i18n
|
||||
tags: [translations, polish, german, static-pages, theme, wintercms-translate]
|
||||
|
||||
# Dependency graph
|
||||
requires:
|
||||
- phase: 16-01
|
||||
provides: Trade category translations infrastructure
|
||||
- phase: 16-02
|
||||
provides: Email template translations pattern
|
||||
- phase: 13
|
||||
provides: Polish theme translations
|
||||
- phase: 14
|
||||
provides: German theme translations
|
||||
provides:
|
||||
- 100% translation coverage for all theme strings (PL/DE)
|
||||
- Static page translations verified (terms, privacy, faq, about, how-it-works, contact)
|
||||
- v1.4.2 migration seeder for reproducible translations
|
||||
affects: [17-testing]
|
||||
|
||||
# Tech tracking
|
||||
tech-stack:
|
||||
added: []
|
||||
patterns:
|
||||
- v1.4.X migration seeder pattern for translations
|
||||
- DB::table() for translation inserts (avoids model boot issues)
|
||||
- EUR text instead of Unicode escapes in templates
|
||||
|
||||
key-files:
|
||||
created:
|
||||
- plugins/golem15/quotify/updates/v1.4.2/add_static_page_translations.php
|
||||
modified:
|
||||
- plugins/golem15/quotify/updates/version.yaml
|
||||
- themes/quotify/pages/faq.htm
|
||||
|
||||
key-decisions:
|
||||
- "EUR text over Unicode escape for currency symbols in templates"
|
||||
- "Group translations by page/feature in migration for maintainability"
|
||||
- "70+ strings translated covering all missing theme content"
|
||||
|
||||
patterns-established:
|
||||
- "Translation seeder pattern: group by feature (getStaticPageTranslations, getDashboardTranslations, etc.)"
|
||||
- "Always use plain text currency (EUR) instead of Unicode escapes in Twig templates"
|
||||
|
||||
# Metrics
|
||||
duration: 6min
|
||||
completed: 2026-02-02
|
||||
---
|
||||
|
||||
# Phase 16 Plan 03: Static Page Translations Summary
|
||||
|
||||
**100% PL/DE translation coverage achieved for all theme strings via v1.4.2 migration seeder with 70+ translations**
|
||||
|
||||
## Performance
|
||||
|
||||
- **Duration:** 6 min
|
||||
- **Started:** 2026-02-02T11:13:57Z
|
||||
- **Completed:** 2026-02-02T11:19:50Z
|
||||
- **Tasks:** 3
|
||||
- **Files modified:** 3
|
||||
|
||||
## Accomplishments
|
||||
- Audited all 948 translation strings, found 80 missing PL/DE translations
|
||||
- Created v1.4.2 migration with translations for static pages, dashboard, professional registration, account settings
|
||||
- Fixed FAQ page Euro sign issue (Unicode escape to EUR text)
|
||||
- Verified all static pages have complete locale URL configuration
|
||||
- Achieved 100% translation coverage: 947/947 strings have PL and DE translations
|
||||
|
||||
## Task Commits
|
||||
|
||||
Each task was committed atomically:
|
||||
|
||||
1. **Task 1-2: Audit and fill translations** - `0aa6976` (feat)
|
||||
- Quotify plugin: `964d8c2` - Add v1.4.2 migration seeder
|
||||
- Theme: `eb7103d` - Fix FAQ Euro sign encoding
|
||||
|
||||
3. **Task 3: Verify static pages** - (verification only, no files changed)
|
||||
|
||||
## Files Created/Modified
|
||||
- `plugins/golem15/quotify/updates/v1.4.2/add_static_page_translations.php` - Migration seeder with 70+ translations grouped by feature
|
||||
- `plugins/golem15/quotify/updates/version.yaml` - Version entry for v1.4.2
|
||||
- `themes/quotify/pages/faq.htm` - Changed `\u20ac` to `EUR` for consistent translation matching
|
||||
|
||||
## Translation Coverage by Section
|
||||
|
||||
| Section | Strings Translated |
|
||||
|---------|-------------------|
|
||||
| Static pages | 9 |
|
||||
| Dashboard | 9 |
|
||||
| Professional registration | 27 |
|
||||
| Account settings | 18 |
|
||||
| Misc (jobs, quotes, etc.) | 14 |
|
||||
| **Total** | **77** |
|
||||
|
||||
## Decisions Made
|
||||
- **EUR text over Unicode**: Changed FAQ from `\u20ac29` to `EUR 29` because Twig treats `\u` in single quotes literally, causing hash mismatch
|
||||
- **Feature grouping**: Organized translations into logical groups (getStaticPageTranslations, getDashboardTranslations, etc.) for maintainability
|
||||
- **Cleanup orphan**: Deleted 1 orphan translation entry with malformed Unicode
|
||||
|
||||
## Deviations from Plan
|
||||
|
||||
### Auto-fixed Issues
|
||||
|
||||
**1. [Rule 1 - Bug] Fixed Euro sign encoding in FAQ**
|
||||
- **Found during:** Task 1 (Audit)
|
||||
- **Issue:** FAQ page used `\u20ac` Unicode escape which Twig treated literally, creating mismatched hash codes
|
||||
- **Fix:** Changed to plain `EUR` text in template and translations
|
||||
- **Files modified:** themes/quotify/pages/faq.htm
|
||||
- **Verification:** Translation now matches correctly
|
||||
- **Committed in:** eb7103d
|
||||
|
||||
---
|
||||
|
||||
**Total deviations:** 1 auto-fixed (1 bug)
|
||||
**Impact on plan:** Minor fix required for consistent Unicode handling. No scope creep.
|
||||
|
||||
## Issues Encountered
|
||||
- Development server not running, so curl testing wasn't possible. Verified translations through database queries and file inspection instead.
|
||||
|
||||
## User Setup Required
|
||||
None - no external service configuration required.
|
||||
|
||||
## Next Phase Readiness
|
||||
- All theme strings now have PL and DE translations
|
||||
- Static pages verified: terms, privacy, faq, about, how-it-works, contact
|
||||
- Locale URLs properly configured in all page viewBags
|
||||
- Ready for Phase 17 (Testing & Polish) or any remaining localization tasks
|
||||
|
||||
---
|
||||
*Phase: 16-content-localization*
|
||||
*Completed: 2026-02-02*
|
||||
Reference in New Issue
Block a user