Locale configuration enables your account to support multiple languages for curriculum content. This guide covers how to enable locales, set defaults, and manage language settings across your account.
Before You Begin
You need:
- Admin role in your account
- Understanding of your language requirements (which languages you need)
- Translation resources if you plan to translate content
Understanding Locales
A locale represents a language (and optionally a region). Locales control:
- Content translation - Which languages content can be translated into
- UI language - Interface language for users
- Formatting - Date, number, and currency formats
- Text direction - Left-to-right or right-to-left
Locale Codes
Locales use standard codes:
| Code | Language | Region |
|---|---|---|
en |
English | General |
en-US |
English | United States |
en-GB |
English | United Kingdom |
es |
Spanish | General |
es-MX |
Spanish | Mexico |
fr |
French | General |
zh-CN |
Chinese | Simplified |
ar |
Arabic | General (RTL) |
Use general codes (en, es) unless regional differences matter for your content.
Account-Level Locale Settings
Accessing Locale Configuration
- Navigate to Account Settings
- Click Locales or Language Settings
- View enabled locales and default settings
Default Locale
The default locale is used when:
- Creating new content
- Displaying content without a translation
- New team members first access the account
To set the default locale:
- Navigate to Account Settings โ Locales
- Find Default Locale setting
- Select from enabled locales
- Click Save
Enabled Locales
Enable locales your team needs for translation:
- Navigate to Account Settings โ Locales
- View the Available Locales list
- Toggle locales on/off as needed
- Click Save
Considerations when enabling:
- Only enable locales you plan to use
- More locales = more translation work
- Locales can be enabled later as needed
Curriculum-Level Locale Settings
Each curriculum can have its own locale configuration within the account's enabled locales.
Curriculum Locales
To configure curriculum locales:
- Open the curriculum
- Navigate to Settings โ Locales
- Select which account locales apply to this curriculum
- Set the curriculum's primary locale
- Click Save
Primary vs. Secondary Locales
| Type | Purpose |
|---|---|
| Primary | Source language for content creation |
| Secondary | Translation targets |
Content is authored in the primary locale, then translated to secondary locales.
Locale Inheritance in Variants
Variants inherit locale settings from their parent:
- Parent locales are available to variants
- Variants can disable inherited locales (not add new ones)
- Translation overrides work per-locale
User Locale Preferences
User Interface Language
Team members can set their preferred UI language:
- Click profile/avatar โ User Settings
- Navigate to Language or Preferences
- Select preferred language
- Click Save
The UI updates to their preferred language (if available).
Content Editing Locale
When editing content, users can switch locales:
- Open content for editing
- Use the locale selector (usually in toolbar)
- Select the locale to edit
- Content displays in that locale
- Edits save to that specific locale
Configuring Specific Locales
Enabling a New Locale
To add a new language to your account:
- Navigate to Account Settings โ Locales
- Click Add Locale or find it in the available list
- Toggle the locale on
- Click Save
After enabling:
- Locale appears in locale selectors throughout the platform
- Content can be translated to this locale
- Translation status tracking begins
Disabling a Locale
To remove a language from your account:
- Navigate to Account Settings โ Locales
- Toggle the locale off
- Click Save
Warning: Disabling a locale:
- Does NOT delete existing translations
- Hides the locale from selectors
- Existing translations remain accessible via direct access
- Re-enabling restores access to translations
Right-to-Left (RTL) Locales
Locales like Arabic and Hebrew require RTL support:
| RTL Locales | Code |
|---|---|
| Arabic | ar |
| Hebrew | he |
| Farsi/Persian | fa |
| Urdu | ur |
When RTL locales are enabled:
- Text alignment adjusts automatically
- UI layout mirrors where appropriate
- Rich text editor supports RTL input
Translation Workflow Settings
Translation Status Tracking
The system tracks translation status per node per locale:
| Status | Meaning |
|---|---|
| Not Started | No translation exists |
| In Progress | Partial translation |
| Complete | All fields translated |
| Stale | Source changed after translation |
Stale Translation Alerts
When source content changes after translation:
- System marks translation as "stale"
- Dashboard shows stale translation count
- Translators can filter for stale content
- Review source changes and update translation
Configure alerts:
- Navigate to Account Settings โ Locales
- Find Stale Translation Notifications
- Enable/disable email notifications
- Set notification frequency
- Click Save
Locale-Specific Formatting
Date Formats
Different locales use different date formats:
| Locale | Format | Example |
|---|---|---|
en-US |
MM/DD/YYYY | 12/25/2024 |
en-GB |
DD/MM/YYYY | 25/12/2024 |
de |
DD.MM.YYYY | 25.12.2024 |
ja |
YYYYๅนดMMๆDDๆฅ | 2024ๅนด12ๆ25ๆฅ |
CurryCMS applies appropriate formatting based on locale.
Number Formats
Number formatting varies by locale:
| Locale | Example |
|---|---|
en-US |
1,234.56 |
de |
1.234,56 |
fr |
1 234,56 |
Be aware of these differences when content includes numbers.
Best Practices
Start with Required Locales Only
Enable only the locales you have resources to support:
Do:
- โ
Start with your primary language
- โ
Add languages as translation resources become available
- โ
Prioritize high-demand languages
Don't:
- โ Enable all available locales "just in case"
- โ Enable locales without translation plans
- โ Create incomplete translations
Establish Translation Workflows
Before enabling multiple locales:
- Identify translators - Who will translate content?
- Define process - In-app translation or export/import?
- Set quality standards - Review requirements
- Plan timeline - When are translations needed?
Maintain Consistency
Across locales, maintain:
- Terminology - Use glossary for consistent term translation
- Tone - Match voice across languages
- Formatting - Preserve structure in translations
- Timing - Keep translations reasonably current
Document Locale Decisions
Record your locale strategy:
## Locale Strategy
**Primary:** English (en)
**Secondary:** Spanish (es), French-Canadian (fr-CA)
**Rationale:**
- English: Primary market
- Spanish: 30% of user base
- French-Canadian: Quebec regulatory requirement
**Not enabled (yet):**
- German: Planned for 2025
- Chinese: No current demand
Common Questions
How many locales can I enable?
This depends on your subscription tier. Most plans support at least 3-5 locales. Enterprise plans may have unlimited locales.
Does enabling a locale translate my content?
No. Enabling a locale makes translation possible. Actual translation requires manual work or integration with translation services.
Can I have different locales for different curricula?
Yes. Each curriculum can use a subset of your account's enabled locales. You don't need to translate every curriculum into every locale.
What happens to translations if I disable a locale?
Translations are preserved but hidden. Re-enabling the locale restores access.
How do I handle regional variations (US vs UK English)?
Enable both en-US and en-GB if regional differences matter. For most educational content, a single en locale is sufficient.
Can users see untranslated content in their preferred locale?
If content isn't translated, users see the fallback (usually the primary locale). Consider providing translation status indicators.
Troubleshooting
"Locale not appearing in selector"
Check:
- Is the locale enabled at account level?
- Is the locale enabled for this specific curriculum?
- Has the page been refreshed?
Solution:
Enable the locale in Account Settings โ Locales, then enable for the curriculum.
"RTL text displaying incorrectly"
Check:
- Is the RTL locale properly configured?
- Is the browser supporting RTL?
- Are you using the correct locale code?
Solution:
Verify the locale code is correct (ar, he, etc.). Clear browser cache and refresh.
"Translation status not updating"
Check:
- Has the translation been saved?
- Are all required fields translated?
- Is there a caching issue?
Solution:
Save the translation, refresh the page, verify all translatable fields are complete.
"Stale translations not flagged"
Check:
- Has the source content actually changed?
- Is stale detection enabled?
- When was the source last modified?
Solution:
Verify source content modification date. Check stale detection settings in locale configuration.
Related Documentation:
- Translations - Translating content
- Translate Your Curriculum - Translation workflow guide
- Account Settings - General account configuration
- Glossary Terms - Terminology management