Internationalization
Deckyard supports multiple languages for both the user interface and presentation content.
Supported Languages
Section titled “Supported Languages”The following languages are fully supported:
| Language | Code | Status |
|---|---|---|
| English (UK) | en-GB | Primary |
| Dutch | nl | Full support |
| German | de | Full support |
| French | fr | Full support |
| Spanish | es | Full support |
| Italian | it | Full support |
| Portuguese | pt | Full support |
| Swedish | sv | Full support |
| Norwegian | no | Full support |
| Danish | da | Full support |
| Finnish | fi | Full support |
| Polish | pl | Full support |

Configuration
Section titled “Configuration”Default Language
Section titled “Default Language”Set the default language for new users:
DEFAULT_LANGUAGE=en-GBUser Language Preference
Section titled “User Language Preference”Users can set their preferred language in their profile settings. This affects:
- User interface text
- Date and number formatting
- Email notifications
Presentation Content Translation
Section titled “Presentation Content Translation”Deckyard supports multi-language presentation content, allowing you to create presentations that can be viewed in different languages.
How It Works
Section titled “How It Works”Each presentation can have content in multiple languages:
- Content is stored with language codes (e.g.,
en-GB,nl) - Viewers see content in their preferred language
- Missing translations fall back to the primary language
Translating Presentations
Section titled “Translating Presentations”- Open the presentation editor
- Use the language selector in the toolbar
- Switch to the target language
- Enter translated content for each field
AI-Assisted Translation
Section titled “AI-Assisted Translation”With AI features enabled, you can automatically translate presentations:
- Translate individual fields
- Translate entire presentations
- Preview translations before applying
See AI Translation for details.
Adding Languages
Section titled “Adding Languages”For Developers
Section titled “For Developers”To add a new language to Deckyard:
1. Create Translation Files
Section titled “1. Create Translation Files”Create a new directory in client/i18n/ with the language code:
client/i18n/├── en/│ └── common.json├── nl/│ └── common.json└── [new-language]/ └── common.json2. Translate Strings
Section titled “2. Translate Strings”Copy an existing common.json and translate all strings:
{ "app.title": "Deckyard", "nav.home": "Home", "nav.presentations": "Presentations", // ... more translations}3. Register the Language
Section titled “3. Register the Language”Add the language to the supported languages list in client/i18n/index.js.
4. Add Email Templates
Section titled “4. Add Email Templates”Create localized email templates in server/email/templates/[language]/.
Translation Keys
Section titled “Translation Keys”Translation keys follow a hierarchical naming convention:
namespace.section.keyExamples:
app.title- Application titleeditor.toolbar.save- Save button in editor toolbaremail.invite.subject- Email invitation subject line
Date and Number Formatting
Section titled “Date and Number Formatting”Deckyard uses the browser’s Intl API for locale-aware formatting:
- Dates: Formatted according to the user’s language preference
- Numbers: Decimal separators and grouping follow locale conventions
- Currencies: Displayed with appropriate symbols and formatting
Right-to-Left (RTL) Support
Section titled “Right-to-Left (RTL) Support”Currently, Deckyard does not have full RTL support. Languages that require RTL layout (Arabic, Hebrew, etc.) are not yet supported.