WebCit Locale and Language Configuration

Note: If you run Citadel and WebCit using the containerized (Docker) version, all language packs, gettext libraries, and UTF-8 locales are already installed and configured for you automatically out of the box. You will not need to manage host locales manually.

WebCit supports multilingual user interfaces through GNU gettext. In normal operation, WebCit negotiates the display language automatically based on each user's browser settings (the HTTP Accept-Language header) or individual user preferences.

Troubleshooting Locked or Single-Language Displays

If WebCit appears stuck on a single language regardless of client browser settings:

Enabling Additional Locales on the Host

To provide translations for users in languages other than English, the host operating system must have the corresponding UTF-8 locales generated.

On Debian, Ubuntu, and derivative systems, you can generate the required locales by running:

dpkg-reconfigure locales

Select the locales you wish to support (make sure to choose the .UTF-8 variants, such as es_ES.UTF-8, fr_FR.UTF-8, or de_DE.UTF-8), or edit /etc/locale.gen and run:

locale-gen

After generating new locales, restart WebCit so it can recognize them:

systemctl restart webcit-http
systemctl restart webcit-https

Additional Resources

For more details on how gettext evaluates locale variables, refer to the GNU gettext environment variables documentation.