bug: Forge force the use of English locales on some labels of the GNOME Shell
Describe the bug/issue
When the Forge extension enbled, some labels (not all) of the GNOME Shell UI use the English locale instead of the locale specified in gnome-control-center.
Examples of labels turned into English:
- wifi and bluetooth menus in the status area (other menus are fine)
- calendar "today" tile (the rest of the calendar is fine)
- some labels in the docked applications contextual menu
- Display popup menu (
Super + P)

To Reproduce Steps to reproduce the behavior:
- Enable Forge extension
- Restart GNOME Shell
- See English labels
Expected behavior
All the GNOME Shell labels should remain in the locale specified in gnome-control-center
Journal logs Logs while reproducing the bug:
$ journalctl -f -o cat /usr/bin/gnome-shell
Window manager warning: Overwriting existing binding of keysym ff54 with keysym ff54 (keycode 74).
Window manager warning: Overwriting existing binding of keysym ff52 with keysym ff52 (keycode 6f).
GNOME Shell started at Thu Feb 17 2022 11:54:05 GMT+0100 (heure normale d’Europe centrale)
Registering session with GDM
Can't update stage views actor <unnamed>[<MetaWindowGroup>:0x563b0ae82310] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x563b0c7d66a0] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x563b0c783f20] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<MetaWindowGroup>:0x563b0ae82310] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x563b0c7afb20] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x563b0c782da0] is on because it needs an allocation.
restarting GNOME Shell
Window manager warning: Overwriting existing binding of keysym 63 with keysym 63 (keycode 36).
Window manager warning: Overwriting existing binding of keysym 6f with keysym 6f (keycode 20).
Window manager warning: Overwriting existing binding of keysym 68 with keysym 68 (keycode 2b).
Window manager warning: Overwriting existing binding of keysym ff54 with keysym ff54 (keycode 74).
Window manager warning: Overwriting existing binding of keysym ff52 with keysym ff52 (keycode 6f).
Window manager warning: META_CURRENT_TIME used to choose focus window; focus window may not be correct.
Window manager warning: META_CURRENT_TIME used to choose focus window; focus window may not be correct.
meta_get_window_group_for_display: assertion 'compositor' failed
meta_get_window_group_for_display: assertion 'compositor' failed
meta_get_window_group_for_display: assertion 'compositor' failed
meta_get_window_group_for_display: assertion 'compositor' failed
Running GNOME Shell (using mutter 41.3) as a X11 window and compositing manager
ATK Bridge is disabled but a11y has already been enabled.
Getting parental controls for user 1000
Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly.
Will monitor session 2
Warning: Hiding app because parental controls not yet initialised: firefox.desktop
Warning: Hiding app because parental controls not yet initialised: org.gnome.Nautilus.desktop
Warning: Hiding app because parental controls not yet initialised: org.gnome.Terminal.desktop
Telepathy is not available, chat integration will be disabled.
Warning: Hiding app because parental controls not yet initialised: gnome-control-center.desktop
Warning: Hiding app because parental controls not yet initialised: org.gnome.Contacts.desktop
Warning: Hiding app because parental controls not yet initialised: org.gnome.Nautilus.desktop
Warning: Hiding app because parental controls not yet initialised: org.gnome.Calendar.desktop
Warning: Hiding app because parental controls not yet initialised: org.gnome.Calculator.desktop
Warning: Hiding app because parental controls not yet initialised: firefox.desktop
Warning: Hiding app because parental controls not yet initialised: org.gnome.clocks.desktop
Warning: Hiding app because parental controls not yet initialised: org.gnome.Software.desktop
Warning: Hiding app because parental controls not yet initialised: org.gnome.Boxes.desktop
Warning: Hiding app because parental controls not yet initialised: org.gnome.Photos.desktop
Warning: Hiding app because parental controls not yet initialised: org.gnome.Terminal.desktop
Warning: Hiding app because parental controls not yet initialised: org.gnome.Characters.desktop
Failed to create file /run/user/1000/gnome-shell-disable-extensions: Erreur lors de l’ouverture du fichier « /run/user/1000/gnome-shell-disable-extensions » : Le fichier existe
meta_sound_player_play_from_theme: assertion 'META_IS_SOUND_PLAYER (player)' failed
cannot register existing type 'ShellBlurMode'
g_once_init_leave: assertion 'result != 0' failed
g_param_spec_enum: assertion 'G_TYPE_IS_ENUM (enum_type)' failed
validate_pspec_to_install: assertion 'G_IS_PARAM_SPEC (pspec)' failed
g_object_notify_by_pspec: assertion 'G_IS_PARAM_SPEC (pspec)' failed
g_object_notify_by_pspec: assertion 'G_IS_PARAM_SPEC (pspec)' failed
g_object_notify_by_pspec: assertion 'G_IS_PARAM_SPEC (pspec)' failed
g_object_notify_by_pspec: assertion 'G_IS_PARAM_SPEC (pspec)' failed
Window manager warning: Invalid WM_TRANSIENT_FOR window 0x180002c specified for 0x180025f.
Error looking up permission: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for geolocation
Window manager warning: Overwriting existing binding of keysym 6f with keysym 6f (keycode 20).
Window manager warning: Overwriting existing binding of keysym 68 with keysym 68 (keycode 2b).
Window manager warning: Overwriting existing binding of keysym 63 with keysym 63 (keycode 36).
Window manager warning: Overwriting existing binding of keysym ff52 with keysym ff52 (keycode 6f).
Window manager warning: Overwriting existing binding of keysym ff54 with keysym ff54 (keycode 74).
GNOME Shell started at Thu Feb 17 2022 11:54:58 GMT+0100 (heure normale d’Europe centrale)
Registering session with GDM
Can't update stage views actor <unnamed>[<MetaWindowGroup>:0x5639c0bbe360] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x5639c2732d70] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x5639c262bf30] is on because it needs an allocation.
Version Information
- Distro and version: Fedora 35
- Forge version or from source (branch or commit): 41.3-44 installed from extensions.gnome.org
- Gnome-shell version (
gnome-shell --version): 41.3
Monitor Setup
- 2 1920x1080
- Laptop monitor + external monitor (horizontal)
Additional context I use French (France) locales. Happen with no other extension enabled.
confirmed.....really annoying
French locale here too
result is mixed language too....
screenlock gdm concerned and right click desktop menu too
Distribution arch Linux
Not solved
Alt f2 wrong language

plus the date in gnome which is not correct in french
example : dimanche mars 27 instead of dimanche 27 mars
Edit....
In fact the bug came back for the rest too... So not solved at all
Restarting shell does the trick if this can help
Same bug here again on gnome 44 #226
Can we expect something otherwise this extension is useless . more than one year bug here
@jmmaranan
Hi @Neo-29 - if it does not work for you, you'll have to stay on English or otherwise not use it, saying it is useless does not help you or us. And you seem to have filed a duplicate on #226. My best guess is that it needs a French translation or whatever language you are using. I do not know French, you are also welcome to try to provide translation.
Hi @Neo-29 - if it does not work for you, you'll have to stay on English or otherwise not use it, saying it is useless does not help you or us. And you seem to have filed a duplicate on #226. My best guess is that it needs a French translation or whatever language you are using. I do not know French, you are also welcome to try to provide translation.
A French translation?? Where?? It's affecting the shell not the extension itself. I can translate or help translate something, somewhere but if you don't tell what and where.. I can't help any further. And staying in English is not a solution. Don't blame me using my own language on everyday workflow.
And yes I insist. This extension is useless for me as it breaks shell.
@Neo-29 -
A French translation?? Where?? It's affecting the shell not the extension itself. I can translate or help translate something, somewhere but if you don't tell what and where.. I can't help any further. And staying in English is not a solution.
I do not remember the exact steps but, you can copy one of the po/*.po files as template, here are some PRs as examples:
- Looks like French Canada is provided. https://github.com/forge-ext/forge/pull/188
- Also, for Dutch : https://github.com/forge-ext/forge/pull/100
- Portuguese: https://github.com/forge-ext/forge/pull/187
Don't blame me using my own language on everyday workflow. And yes I insist. This extension is useless for me as it breaks shell.
Sorry, I know it is frustrating, and I do not have the answer yet. Poor choice of words on my side. You will have to stay in English if you want text to look consistent. I have not heard of any complaints on other languages.
Same bug here again on gnome 44
Curious, was it fixed and suddenly it was back?
@Neo-29 -
A French translation?? Where?? It's affecting the shell not the extension itself. I can translate or help translate something, somewhere but if you don't tell what and where.. I can't help any further. And staying in English is not a solution.
I do not remember the exact steps but, you can copy one of the po/*.po files as template, here are some PRs as examples:
- Looks like French Canada is provided. Add French localization #188
- Also, for Dutch : Added Dutch translation #100
- Portuguese: Added translation for Portuguese of Brasil #187
Don't blame me using my own language on everyday workflow. And yes I insist. This extension is useless for me as it breaks shell.
Sorry, I know it is frustrating, and I do not have the answer yet. Poor choice of words on my side. You will have to stay in English if you want text to look consistent. I have not heard of any complaints on other languages.
Same bug here again on gnome 44
Curious, was it fixed and suddenly it was back?
I think it never went away....
the pb is not the translation of the extension. I checked french one by the way, it's good
The pb is the interaction with the shell and on this concern I'm not a dev, so can't help
I think it never went away...
Gotcha. @wroyca did that FR translation.
As for this issue, we need more digging on the shell internals and very strange that this extension breaks native shell components/widgets' labels/text.
You may want to try drop
Gettext.textdomain(Me.metadata["gettext-domain"]);
in
messages.js
In my case, it fixes the gnome-shell translation but it breaks the use of Forge translation. While it's still broken, I'll just insert a hardcode translation for me.
Good luck!
If anyone is on GNOME 45, the messages.js was replaced by inline translations. Hoping that will fix the translation issues
All the extensions have to be re written. Hope it's the case here too...
The extension has been updated with the new ESM changes for gnome 45. And is now available on the extensions website.
The extension has been updated with the new ESM changes for gnome 45. And is now available on the extensions website.
Hope it will fix the shell translation issue too
Hope it will fix the shell translation issue too
Yes, it totally works. Sorry for the long reaction. That's because "if it works, don't touch it."
@jmmaranan I suppose, you can close this issue then.