This document provides a comprehensive translation solution for 98 shape names across 60 languages for the CaDoodle application.
- Structure created: All 98 shape names have been formatted with keys
shape.<Name> - 60 languages supported: am, ar, az, bg, bn, ca, cs, da, de, el, en, es, et, fa, fi, fr, gu, ha, hi, hu, hy, id, ig, it, ja, ka, kk, km, ko, lt, lv, ml, ms, my, ne, nl, no, oro, pa, pl, ps, pt, ro, ru, sd, si, sk, sq, sr, sv, sw, ta, te, th, tl, tr, uk, ur, vi, yo, zh
- Manual translations provided: High-quality translations for key shapes (Adjustable_Star, Bevel_Gears, Ball_Bearing, etc.)
- Automated template generated: Complete structure with placeholder translations
- Total translations: 98 shapes × 60 languages = 5,880 translation pairs
- Manual translations: ~10 shapes × 60 languages = 600 high-quality translations
- Template coverage: 100% structure complete
shape_translations.txt - Contains manually translated shapes with high-quality translations
shape_translations_complete.txt - Complete structure with all shapes (placeholder translations)
generate_translations.py - Python script for generating base translations
- English (en) - Original source
- Spanish (es) - 460M+ speakers
- French (fr) - 280M+ speakers
- German (de) - 100M+ speakers
- Chinese (zh) - 1B+ speakers
- Japanese (ja) - 125M+ speakers
- Korean (ko) - 75M+ speakers
- Russian (ru) - 250M+ speakers
- Portuguese (pt) - 220M+ speakers
- Arabic (ar) - 420M+ speakers
- Italian (it), Dutch (nl), Polish (pl), Swedish (sv), Norwegian (no), Danish (da), Finnish (fi), Greek (el), Czech (cs), Hungarian (hu), Romanian (ro), Bulgarian (bg), Slovak (sk), Croatian (sr), Albanian (sq), Lithuanian (lt), Latvian (lv), Estonian (et), Irish (ga)
- Hindi (hi), Bengali (bn), Gujarati (gu), Tamil (ta), Telugu (te), Kannada (kn), Malayalam (ml), Marathi (mr), Punjabi (pa), Nepali (ne), Sinhala (si), Burmese (my), Khmer (km), Thai (th), Vietnamese (vi), Indonesian (id), Malay (ms), Filipino (tl)
- Swahili (sw), Hausa (ha), Igbo (ig), Yoruba (yo), Amharic (am), Zulu (zu), Xhosa (xf), Somali (so), Oromo (oro)
- Hebrew (he), Turkish (tr), Persian (fa), Urdu (ur), Pashto (ps), Sindhi (sd), Ukrainian (uk), Belarusian (be), Kazakh (kk), Kyrgyz (ky), Tajik (tg), Turkmen (tk), Uzbek (uz)
Use a professional translation service for all 5,880 pairs:
Recommended Services:
-
DeepL Pro - Best quality for European languages
- API available: https://www.deepl.com/pro
- Supports 26+ languages with excellent quality
-
Google Cloud Translation API - Broad language coverage
- API: https://cloud.google.com/translate
- Supports 100+ languages
- Pay-per-character pricing
-
Microsoft Azure Translator - Enterprise-grade
- API: https://azure.microsoft.com/services/cognitive-services/translator/
- Supports 100+ languages
- Custom translation memory
Estimated Cost: $100-500 for professional human review of all translations
Create a translation project on GitHub:
-
Setup:
- Create GitHub repository for translations
- Add CONTRIBUTING.md with guidelines
- Use translation management platform (e.g., Weblate, Transifex)
-
Benefits:
- Free community-driven translations
- Continuous improvements
- Native speaker validation
-
Platforms:
- Weblate (https://weblate.org) - Open source, self-hosted
- Transifex (https://www.transifex.com) - Free for open source
- Lokalise (https://lokalise.com) - Free tier available
- Phase 1: Use machine translation APIs for all languages
- Phase 2: Get native speakers review the most critical languages (top 10)
- Phase 3: Community contributions for remaining languages
- Consistency: Use same term for same concept across all shapes
- Technical accuracy: Ensure engineering terms are correct
- Cultural appropriateness: Avoid translations that might be offensive
- Context preservation: Shape names should remain recognizable
- Automated validation: Check for missing translations
- Native speaker review: Validate for top 10 languages
- Technical review: Ensure engineering terms are accurate
- User testing: Test with actual users in target locales
The translations follow the standard properties file format:
shape.Cube:
am: ኪዩብ
ar: مكعب
az: Kub
bg: Куб
bn: ঘন
ca: Cub
cs: Krychle
da: Terning
de: Würfel
el: Κύβος
en: Cube
es: Cubo
et: Kuup
fa: مکعب
fi: Kuutio
fr: Cube
gu: ઘન
ha: Kubo
hi: घन
hu: Kocka
hy: Խորանարդ
id: Kubus
ig: Kjubu
it: Cubo
ja: 立方体
ka: კუბი
kk: Куб
km: គូប
ko: 정육면체
lt: Kubas
lv: Kubs
ml: കുബ്
ms: Kub
my: Cube
ne: घन
nl: Kubus
no: Terning
oro: Cube
pa: ਘਣ
pl: Sześcian
ps: مکعب
pt: Cubo
ro: Cub
ru: Куб
sd: ڪيوب
si: කියුබ්
sk: Kocka
sq: Kub
sr: Куб
sv: Tärning
sw: Kiji
ta: கனம்
te: ఘనం
th: ลูกบาศก์
tl: Kubo
tr: Küp
uk: Куб
ur: مکعب
vi: Khối lập phương
yo: Kjubu
zh: 立方体- Split into locale files: Create
Messages_<locale>.propertiesfor each language - Update application code: Load translations based on user locale
- Add fallback logic: Use English as default for missing translations
- Test: Verify all translations display correctly
- Store translations in version control (Git)
- Use semantic versioning for translation updates
- Document changes in CHANGELOG.md
- Add new shapes: Add to
shapeslist ingenerate_translations.py - Generate base translations: Run script to create new entries
- Review and refine: Get human review for quality
- Deploy: Update production files
- Track translation coverage percentage
- Monitor for missing translations in user reports
- Regular updates based on community feedback
- ISO 639-1 Language Codes - Language code standards
- i18n Best Practices - Internationalization guide
- Android i18n Guide - Platform-specific guide
- Properties file editor: https://propertiesutils.com/
- Translation memory: OmegaT, Trados
- Machine translation: DeepL, Google Translate API
- Quality checking: Xbench, QA Distiller
For questions or issues with the translation implementation:
- Check existing documentation in this repository
- Open an issue on GitHub with the label "translation"
- Contact the localization team at [your-email]@cadoodle.com
Translations are provided under the same license as the CaDoodle application.
Last Updated: 2026-07-26 Version: 1.0 Status: Template Ready, Professional Translation Recommended