Multilingual Support
Herodotus includes translation files, locale-aware caching and WPML configuration for multilingual setups.
WPML
The plugin includes a wpml-config.xml file that automatically
configures WPML to:
- Translate the
herodotus_postCustom Post Type - Translate the
herodotus_categorytaxonomy - Copy/translate the date meta fields
(
_herodotus_day,_herodotus_month,_herodotus_year)
No manual WPML configuration is needed.
How It Works with WPML
- Create events in your default language.
- Use WPML's translation editor to create translated versions.
- The date meta fields are automatically copied to translations.
- Each language version is cached separately.
Polylang
Herodotus registers standard WordPress post types and taxonomies that can be enabled in Polylang. Check the language and date metadata of a translated sample event before relying on its output.
- After activating Herodotus, go to Languages → Settings in Polylang.
- Under Custom Post Types and Taxonomies, ensure
herodotus_postandherodotus_categoryare enabled. - Create events and assign languages as you normally would.
Included Translations
The plugin ships with translations for:
| Language | Locale | Bundled translation |
|---|---|---|
| Georgian | ka_GE |
Included |
| Russian | ru_RU |
Included |
| Ukrainian | uk |
Included |
| French | fr_FR |
Included |
| German | de_DE |
Included |
| Spanish | es_ES |
Included |
| Italian | it_IT |
Included |
| Turkish | tr_TR |
Included |
Contributing Translations
You can contribute translations via the WordPress.org GlotPress translation system.
- Go to the Herodotus translation project on GlotPress.
- Select your language.
- Suggest translations for untranslated strings.
- Once approved, they'll be included in future releases.
Text Domain
The plugin uses the text domain: herodotus
All translatable strings use standard WordPress i18n functions:
__('string', 'herodotus')_e('string', 'herodotus')esc_html__('string', 'herodotus')
Pro Translation Fields
The Pro WPML configuration copies Priority, Upcoming Event and its derived date, source URL and location coordinates. Source name and location name are translatable prose. Pro uses the separate herodotus-pro text domain.
Bundled translations can lag behind newly added strings. Inclusion is not a promise of 100% completeness for every current string. Verify both the visible translation and copied date fields after translating an event.
