Internationalization (i18n) Guide for Full Calendar¶
Full Calendar supports multiple languages through a robust i18n system. This guide explains how to use, extend, and contribute translations for the plugin.
How It Works¶
- The plugin uses i18next for internationalization.
- Translation files are located in
src/features/i18n/locales/. - The UI language automatically matches your Obsidian language setting.
- All translation keys are type-safe and validated at compile time.
Adding a New Language¶
- Create a new translation file in
src/features/i18n/locales/(e.g.,fr.jsonfor French). - Copy the structure from an existing file (such as
en.json). - Translate each key. Do not change the key names—only the values.
- Test your translation by switching your Obsidian language setting.
Contributing Translations¶
- Submit a pull request with your new or updated translation file.
- Ensure all keys are present and translated.
- If you add new features or UI elements, update the English file first and notify maintainers to propagate changes.
Best Practices¶
- Keep translations concise and clear.
- Use placeholders (e.g.,
{{date}}) for dynamic values. - Avoid hardcoding language in code—always use translation keys.
Troubleshooting¶
- If a string appears in English, check for missing keys in your language file.
- For issues, open a GitHub issue or ask in the plugin community.
Resources¶
For questions or help, submit an issue on GitHub or reach out to the maintainers.