Skip to content

[feature]: Instance-wide default interface language #10151

Open

Description

@vlad88sv

Is there an existing issue for this?

  • I have searched the existing issues

Summary

Allow instance admins to set a default interface language for the whole instance (from God Mode or an environment variable), so new users don't start in English.

Today the language is only a per-user preference: Profile.language is a CharField(default="en") in apps/api/plane/db/models/user.py, and profiles are created with that default (authentication/adapter/base.py, license/api/views/admin.py). There is no InstanceConfiguration key or env var that changes it, so on a self-hosted instance used by a Spanish-speaking team every new member lands in English and has to find Profile → Preferences → Language on their own.

What we checked on a self-hosted Community Edition (v1.4.3, Docker Compose):

  • Changing the database column default doesn't help, because Django writes language="en" explicitly on insert.
  • The only workarounds are outside Plane: a Postgres BEFORE INSERT trigger on profiles, or a periodic job that updates new profiles. Both are fragile and invisible to admins.
  • Transactional emails (workspace invitation, notifications) are always sent in English, even for users whose profile language is Spanish: the templates under templates/emails/ are not localized.

Proposal:

  1. An instance setting DEFAULT_LANGUAGE (God Mode → General, and/or an env var), used as the initial Profile.language for new users. Users can still change their own language afterwards.
  2. Optionally, a workspace-level default that applies to members who haven't chosen a language.
  3. Use the recipient's profile language (falling back to the instance default) when rendering email templates, starting with the invitation email.

Why should this be worked on?

Plane already ships complete translations (e.g. es), but teams that don't work in English can't make them the default. For self-hosted instances where most users share a language, this is the first thing every new member hits, and admins currently have no supported way to fix it. An instance default is a small change (one config key read when the profile is created), and it would make the existing translations far more useful.

Activity

  1. ArnavNath550 commented on Oct 30, 2026

    @ArnavNath550

    Hey .. I'd like to work on this issue. Is anyone currently working on it, or would it be okay if I picked it up?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions