Localization

Git Web Manager

Choose interface language and timezone preferences per user.

Multilingual Interface

Git Web Manager supports a multilingual application interface. Users can change their preferred language from the language button in the top navigation, and the selected value is saved to their user account.

  • The language selector is available throughout the signed-in app.
  • The same selector is also available on guest-facing screens such as login, registration, and recovery.
  • Language names are shown in their native form where possible, making non-Latin language choices easier to recognize.
  • Static interface text, page titles, tabs, buttons, and common status labels use Laravel translation files.

User Defaults

The first administrator's language acts as the default for users created later unless a different language is selected for that user. Each user can still change their own language after signing in.

This keeps teams consistent by default while still allowing per-user preferences for mixed-language organizations.

Timezone Display

Timezone is separate from language. Each user can set their timezone from their profile, and application-level timezone defaults are managed under System settings.

  • New installations default to UTC until another timezone is selected.
  • When a user has no timezone preference, GWM falls back to the administrator or system default.
  • Project activity, queue entries, app updates, scheduler status, health checks, and logs are rendered in the signed-in user's timezone.

Recovery Screens

Recovery pages include the language selector so administrators can switch language even when the main application shell is unavailable. This is useful during update recovery, asset rebuilds, or first-run setup.

Support Messages

Where translation support is available, support messages can be shown in the user's selected language while preserving access to the original text. Translated messages should identify the source language so context is not lost during troubleshooting.

Translation Files

Translations are stored in Laravel JSON language files under lang/. English is the source language, and other language files should keep the same keys so interface strings resolve consistently.

  • Prefer reusing existing translation keys instead of creating near-duplicates for capitalization or punctuation.
  • Keep product names, protocol names, command names, and code values untranslated unless the target language has a standard localized equivalent.
  • After editing translations, clear cached views and reload the app to confirm the selected locale is applied.