Skip to content

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

  1. Create a new translation file in src/features/i18n/locales/ (e.g., fr.json for French).
  2. Copy the structure from an existing file (such as en.json).
  3. Translate each key. Do not change the key names—only the values.
  4. 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.