GeniXCMS

Multi-language

categoryUser Guide edit_calendar31 Mar 2026

Global Localization & Multi-Language Settings


GeniXCMS is designed for the international web. Its built-in Language Engine allows you to serve your content and administration dashboard in multiple languages, tailoring the user experience to different global regions.


🌎 System-Wide Localization

To configure your site's linguistic behavior:

  • Navigate to Settings > General in the administrative sidebar.
  • Look for the System Language dropdown menu.

🏗️ Activating a Language

GeniXCMS supports Gettext-style PO and MO files for high-performance translations.

  1. Selection: Choose from the available system languages (e.g., English, Indonesian, Spanish).
  2. Activation: Once selected and saved, the Administration Dashboard and all core System Messages will instantly switch to the new locale.
  3. HMR Support: If you are in Dev Mode, translation updates are often picked up without a full page reload.

🌳 Managing Multi-Language Content

GeniXCMS features a distinctive Subdomain or Path-based locale detection system.

Locale Pattern Description Best Use Case
Path-based yoursite.com/en/my-post.html Recommended for most SEO-friendly sites.
Subdomain es.yoursite.com/my-post.html Ideal for large, regional-specific portals.

🛠️ Translation & Extension

  • Theme Translations: Your active theme can provide its own translation files in inc/themes/{your-theme}/inc/lang/.
  • Module Support: Modules are fully internationalized, allowing for custom labels and messages in any language.
  • Language Class: Developers can use Language::get('KEY') or the shorthand _('Key') to ensure their code remains localized.

lightbulb
TipSEO Localization: Always ensure each language version of your site has the correct lang attribute in its <html> tag. GeniXCMS's header.php template logic handles this automatically: <html lang="{$website_lang}">.

priority_high
ImportantPHP Extensions: For optimal performance and full feature support, ensure that the gettext extension is enabled in your server's PHP configuration.