freedomofpress / securedrop-workstation

Qubes-based SecureDrop Journalist Workstation environment for submission handling
GNU Affero General Public License v3.0
135 stars 39 forks source link

test and document how dom0 language can be configured to propagate to `sd-app` #1136

Open cfm opened 2 weeks ago

cfm commented 2 weeks ago

Description

Does setting the dom0 locale propagate the new locale to VMs such as sd-app...

We should test and document how users can expect to set a non-English default locale.

Steps to Reproduce

Not fully isolated, but:

  1. Install a non-English langauge $LANG
  2. Set $LANG in dom0's /etc/locale.conf
  3. Reboot
  4. Start the SecureDrop Client

Expected Behavior

If $LANG is a supported language, the Client appears in $LANG.

Actual Behavior

The Client appears in the default VM-level locale of en_US.

Comments

We've previously tested that the Client respects the VM-level $LANG environment variable. We haven't tested the propagation of $LANG from dom0.

zenmonkeykstop commented 2 weeks ago

Is this a new bug compared to the previous behaviour in 4.1? It's possible we're missing a core qubes package or something that VMs need to inherit the setting (see also the annoying Perl locale warnings in dom0 tests).

legoktm commented 2 weeks ago

We discussed this in today, conclusion was that this is something we'd like to support, but is not a 4.2 regression and therefore not a release blocker.

cfm commented 2 weeks ago

Agreed; rescoped from current bug to future feature.

In practice, this means that testing localization of the Workstation is limited to testing that of the Client, as in freedomofpress/securedrop-client#2071.

deeplow commented 2 weeks ago

I was looking into this briefly yesterday and I couldn't find any in which dom0 exposes to the VM the language it is supposed to be in. Or at least not a mechanism using qubesdb.

So I guess this is a question for the Qubes team: how does Qubes implement localization?

rocodes commented 1 week ago

(Re perl language / locale warnings) see this open issue: https://github.com/QubesOS/qubes-issues/issues/4889