127 lines
4.2 KiB
Markdown
127 lines
4.2 KiB
Markdown
---
|
|
phase: 12-backend-translations
|
|
plan: 02
|
|
type: execute
|
|
wave: 1
|
|
depends_on: []
|
|
files_modified:
|
|
- plugins/golem15/quotify/lang/de/lang.php
|
|
autonomous: true
|
|
|
|
must_haves:
|
|
truths:
|
|
- "Backend admin panel shows German labels when locale is DE"
|
|
- "Flash messages display in German for DE locale"
|
|
- "Validation errors appear in German for DE locale"
|
|
artifacts:
|
|
- path: "plugins/golem15/quotify/lang/de/lang.php"
|
|
provides: "Complete German translations for Quotify plugin"
|
|
min_lines: 500
|
|
key_links:
|
|
- from: "plugins/golem15/quotify/lang/de/lang.php"
|
|
to: "Lang::get('golem15.quotify::lang.*')"
|
|
via: "WinterCMS translation system"
|
|
pattern: "return \\["
|
|
---
|
|
|
|
<objective>
|
|
Translate all Quotify plugin backend strings to German.
|
|
|
|
Purpose: Enable German-speaking administrators to use the Quotify backend panel in their native language.
|
|
Output: Complete lang/de/lang.php with all 546+ translation keys in German.
|
|
</objective>
|
|
|
|
<execution_context>
|
|
@~/.claude/get-shit-done/workflows/execute-plan.md
|
|
@~/.claude/get-shit-done/templates/summary.md
|
|
</execution_context>
|
|
|
|
<context>
|
|
@.planning/PROJECT.md
|
|
@.planning/ROADMAP.md
|
|
@.planning/STATE.md
|
|
|
|
# Reference - English source file to translate
|
|
@plugins/golem15/quotify/lang/en/lang.php
|
|
</context>
|
|
|
|
<tasks>
|
|
|
|
<task type="auto">
|
|
<name>Task 1: Create German translation file for Quotify plugin</name>
|
|
<files>plugins/golem15/quotify/lang/de/lang.php</files>
|
|
<action>
|
|
Create the German translation file by:
|
|
1. Create directory: plugins/golem15/quotify/lang/de/
|
|
2. Copy the structure from lang/en/lang.php
|
|
3. Translate ALL values to German while preserving:
|
|
- Array structure and keys (NEVER translate keys)
|
|
- Placeholder syntax (:variable, :count)
|
|
- Pluralization syntax (singular|plural)
|
|
|
|
Translation guidelines:
|
|
- Use formal German (Sie form) for user-facing text
|
|
- "Professional" → "Fachmann" or "Handwerker"
|
|
- "Homeowner" → "Hausbesitzer" or "Auftraggeber"
|
|
- "Quote" → "Angebot" or "Kostenvoranschlag"
|
|
- "Job Request" → "Auftrag" or "Anfrage"
|
|
- "Trade Category" → "Gewerbekategorie" or "Branche"
|
|
- "Review" → "Bewertung" or "Rezension"
|
|
- "Verification" → "Verifizierung" or "Prüfung"
|
|
- "Team" → "Team"
|
|
- "Service Area" → "Servicegebiet" or "Einsatzgebiet"
|
|
|
|
IMPORTANT: Maintain exact array structure - all keys must remain in English.
|
|
</action>
|
|
<verify>
|
|
php-legacy -l plugins/golem15/quotify/lang/de/lang.php
|
|
# Should return "No syntax errors detected"
|
|
</verify>
|
|
<done>German translation file exists with all keys translated, no PHP syntax errors</done>
|
|
</task>
|
|
|
|
<task type="auto">
|
|
<name>Task 2: Verify translation completeness</name>
|
|
<files>plugins/golem15/quotify/lang/de/lang.php</files>
|
|
<action>
|
|
Verify the translation is complete by:
|
|
1. Count keys in en/lang.php and de/lang.php - should match
|
|
2. Check no English text remains in de/lang.php values (except technical terms)
|
|
3. Verify placeholders are preserved (:variable syntax)
|
|
4. Verify pluralization syntax is correct
|
|
|
|
German pluralization note:
|
|
- German has 2 plural forms: singular (1), plural (2+)
|
|
- WinterCMS uses | separator: "singular|plural"
|
|
- Example: "1 Bewertung|:count Bewertungen"
|
|
</action>
|
|
<verify>
|
|
# Compare key counts
|
|
php-legacy -r "echo count(array_keys(include 'plugins/golem15/quotify/lang/en/lang.php', true)) . ' EN keys';"
|
|
php-legacy -r "echo count(array_keys(include 'plugins/golem15/quotify/lang/de/lang.php', true)) . ' DE keys';"
|
|
</verify>
|
|
<done>Translation file has same number of top-level keys as English, all values are in German</done>
|
|
</task>
|
|
|
|
</tasks>
|
|
|
|
<verification>
|
|
Before declaring plan complete:
|
|
- [ ] plugins/golem15/quotify/lang/de/lang.php exists
|
|
- [ ] PHP syntax validation passes
|
|
- [ ] All translation keys match English file
|
|
- [ ] No untranslated English text in values (except technical terms)
|
|
- [ ] Placeholders preserved (:variable, :count)
|
|
</verification>
|
|
|
|
<success_criteria>
|
|
- German translation file created with all 546+ keys
|
|
- PHP syntax valid
|
|
- Professional German terminology used consistently
|
|
- Ready for backend locale switching
|
|
</success_criteria>
|
|
|
|
<output>
|
|
After completion, create `.planning/phases/12-backend-translations/12-02-SUMMARY.md`
|
|
</output>
|