Skip to content

Update MenuEleven icons#8706

Open
ForsetGump1952 wants to merge 35 commits into
linuxmint:masterfrom
ForsetGump1952:master
Open

Update MenuEleven icons#8706
ForsetGump1952 wants to merge 35 commits into
linuxmint:masterfrom
ForsetGump1952:master

Conversation

@ForsetGump1952

Copy link
Copy Markdown
Contributor

updated the 2 icon.png files with the newer version.

@github-actions

Copy link
Copy Markdown
Contributor

Best-practices scanner

This is a regex-based check for API usage that can pose security, performance or
maintainability issues, or that may already be provided by Cinnamon. Most findings
are advisory and do not automatically disqualify a pull request.

This check is not perfect and will not replace a normal review.


Found 49 potential issue(s):

⚠️ WARNING

⚠️ sync_file_enumerate_children

menueleven@djb/files/menueleven@djb/6.0/applet.js:1873

enumerator = dir.enumerate_children(

Synchronous enumerate_children() blocks the main loop.
Use enumerate_children_async() instead.

⚠️ sync_file_test

menueleven@djb/files/menueleven@djb/6.0/applet.js:79

this._canUninstallApps = GLib.file_test("/usr/bin/cinnamon-remove-application",

file_test() is a synchronous stat call that can block on slow/network filesystems.
Prefer attempting the operation and handling a Gio.IOErrorEnum.NOT_FOUND error instead.

menueleven@djb/files/menueleven@djb/6.0/applet.js:81

this._pamacManagerAvailable = GLib.file_test("/usr/bin/pamac-manager", GLib.FileTest.EXISTS);

file_test() is a synchronous stat call that can block on slow/network filesystems.
Prefer attempting the operation and handling a Gio.IOErrorEnum.NOT_FOUND error instead.

menueleven@djb/files/menueleven@djb/6.0/applet.js:368

GLib.file_test(this.settings.menuIcon, GLib.FileTest.EXISTS)) {

file_test() is a synchronous stat call that can block on slow/network filesystems.
Prefer attempting the operation and handling a Gio.IOErrorEnum.NOT_FOUND error instead.

menueleven@djb/files/menueleven@djb/6.0/browserHistory.js:14

if (!GLib.file_test(full_path + '/History', GLib.FileTest.EXISTS)) {

file_test() is a synchronous stat call that can block on slow/network filesystems.
Prefer attempting the operation and handling a Gio.IOErrorEnum.NOT_FOUND error instead.

menueleven@djb/files/menueleven@djb/6.0/browserHistory.js:53

if (!GLib.file_test(full_path + '/History', GLib.FileTest.EXISTS)) {

file_test() is a synchronous stat call that can block on slow/network filesystems.
Prefer attempting the operation and handling a Gio.IOErrorEnum.NOT_FOUND error instead.

menueleven@djb/files/menueleven@djb/6.0/utils.js:57

if (GLib.file_test(thumbPathNormal, GLib.FileTest.EXISTS)) {

file_test() is a synchronous stat call that can block on slow/network filesystems.
Prefer attempting the operation and handling a Gio.IOErrorEnum.NOT_FOUND error instead.

menueleven@djb/files/menueleven@djb/6.0/utils.js:60

if (GLib.file_test(thumbPathLarge, GLib.FileTest.EXISTS)) {

file_test() is a synchronous stat call that can block on slow/network filesystems.
Prefer attempting the operation and handling a Gio.IOErrorEnum.NOT_FOUND error instead.

⚠️ gtk_recent_manager

menueleven@djb/files/menueleven@djb/6.0/applet.js:64

this.recentManagerDefault = Gtk.RecentManager.get_default();

Use imports.misc.docInfo.getDocManager() instead of Gtk.RecentManager.
DocManager provides a cached, sorted, limited list of recent documents
with idle-delayed change signals.

⚠️ global_screen

menueleven@djb/files/menueleven@djb/6.0/applet.js:148

global.screen.get_current_monitor() === this.panel.monitorIndex) {

(Cinnamon 5.4) global.screen is a deprecated compatibility shim for the removed MetaScreen.
Use the appropriate replacement instead:

  • Workspace operations: global.workspace_manager (get_n_workspaces(),
    get_workspace_by_index(), append_new_workspace(), remove_workspace(),
    override_workspace_layout(), toggle_desktop(), show_desktop(),
    get_active_workspace(), get_active_workspace_index(), get_workspaces())
  • Monitor info: Main.layoutManager (monitors, primaryMonitor, primaryIndex,
    focusMonitor, currentMonitor — each with geometry, index, name, and
    inFullscreen properties)
  • Monitor by rect: global.display.get_monitor_index_for_rect()
  • Display size: global.display.get_size()
  • Mouse window: Main.layoutManager.getWindowAtPointer()
  • Window xid: metaWindow.get_xwindow()
  • Display: global.display

⚠️ panel_height_property

menueleven@djb/files/menueleven@djb/6.0/applet.js:339

size = Math.max(Math.min(this.settings.menuIconSize, this.panel.height), 1);

(Cinnamon 4.0) Accessing panel.height is deprecated. Use applet._panelHeight
(or this._panelHeight from within an applet) to get the panel size for zone/icon
calculations. Use panel.get_height() if you need the actual actor pixel height.

⚠️ gtk_forbidden

menueleven@djb/files/menueleven@djb/6.0/applet.js:64

this.recentManagerDefault = Gtk.RecentManager.get_default();

Most Gtk APIs cannot be used in the Cinnamon runtime.
Use St (Shell Toolkit) equivalents instead.
Allowed Gtk APIs: IconTheme, DirectionType, TextDirection, PositionType,
accelerator_parse, accelerator_get_label, accelerator_name,
Settings, Widget.get_default_direction.

menueleven@djb/files/menueleven@djb/6.0/appsview.js:503

this.applicationsScrollBox.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);

Most Gtk APIs cannot be used in the Cinnamon runtime.
Use St (Shell Toolkit) equivalents instead.
Allowed Gtk APIs: IconTheme, DirectionType, TextDirection, PositionType,
accelerator_parse, accelerator_get_label, accelerator_name,
Settings, Widget.get_default_direction.

menueleven@djb/files/menueleven@djb/6.0/categoriesview.js:269

this.groupCategoriesWorkspacesScrollBox.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.NEVER);

Most Gtk APIs cannot be used in the Cinnamon runtime.
Use St (Shell Toolkit) equivalents instead.
Allowed Gtk APIs: IconTheme, DirectionType, TextDirection, PositionType,
accelerator_parse, accelerator_get_label, accelerator_name,
Settings, Widget.get_default_direction.

menueleven@djb/files/menueleven@djb/6.0/display.js:216

//set because ScrollBox.set_policy Gtk.PolicyType.NEVER pushes other items off the menu

Most Gtk APIs cannot be used in the Cinnamon runtime.
Use St (Shell Toolkit) equivalents instead.
Allowed Gtk APIs: IconTheme, DirectionType, TextDirection, PositionType,
accelerator_parse, accelerator_get_label, accelerator_name,
Settings, Widget.get_default_direction.

menueleven@djb/files/menueleven@djb/6.0/sidebar.js:319

this.sidebarScrollBox.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.NEVER);

Most Gtk APIs cannot be used in the Cinnamon runtime.
Use St (Shell Toolkit) equivalents instead.
Allowed Gtk APIs: IconTheme, DirectionType, TextDirection, PositionType,
accelerator_parse, accelerator_get_label, accelerator_name,
Settings, Widget.get_default_direction.

⚠️ has_icon

menueleven@djb/files/menueleven@djb/6.0/applet.js:374

} else if (this.iconTheme.has_icon(this.settings.menuIcon)) {

has_icon() only checks theme folders and does not check extra, legacy folders.
Consider using lookup_icon() instead, which checks all icon locations.

See: linuxmint/cinnamon#13270

menueleven@djb/files/menueleven@djb/6.0/search.py:232

if Gtk.IconTheme.get_default().has_icon(icon):

has_icon() only checks theme folders and does not check extra, legacy folders.
Consider using lookup_icon() instead, which checks all icon locations.

See: linuxmint/cinnamon#13270

⚠️ screensaver_imports

menueleven@djb/files/menueleven@djb/6.0/applet.js:14

const {ScreenSaverProxy} = imports.misc.screenSaver;

Screensaver modules are internal to Cinnamon and must not be imported
by third-party code. This includes the lock screen, unlock dialog, PAM
authentication, and all screensaver widgets.

⚠️ sync_file_query_exists

menueleven@djb/files/menueleven@djb/6.0/browserBookmarks.js:42

if (!file.query_exists(null)) reject(new Error('File does not exist.'));

query_exists() is a synchronous call that can block on slow/network filesystems.
Prefer attempting the operation and handling a Gio.IOErrorEnum.NOT_FOUND error instead.

menueleven@djb/files/menueleven@djb/6.0/browserBookmarks.js:127

if (!profilesFile.query_exists(null)) {

query_exists() is a synchronous call that can block on slow/network filesystems.
Prefer attempting the operation and handling a Gio.IOErrorEnum.NOT_FOUND error instead.

menueleven@djb/files/menueleven@djb/6.0/browserBookmarks.js:161

if (bookmarksFile.query_exists(null)) {

query_exists() is a synchronous call that can block on slow/network filesystems.
Prefer attempting the operation and handling a Gio.IOErrorEnum.NOT_FOUND error instead.

menueleven@djb/files/menueleven@djb/6.0/browserBookmarks.js:174

if (!bookmarksFile.query_exists(null)) {

query_exists() is a synchronous call that can block on slow/network filesystems.
Prefer attempting the operation and handling a Gio.IOErrorEnum.NOT_FOUND error instead.

menueleven@djb/files/menueleven@djb/6.0/contextmenu.js:322

const fileExists = file.query_exists(null);

query_exists() is a synchronous call that can block on slow/network filesystems.
Prefer attempting the operation and handling a Gio.IOErrorEnum.NOT_FOUND error instead.

menueleven@djb/files/menueleven@djb/6.0/sidebar.js:364

if (file.query_exists(null)) {

query_exists() is a synchronous call that can block on slow/network filesystems.
Prefer attempting the operation and handling a Gio.IOErrorEnum.NOT_FOUND error instead.

menueleven@djb/files/menueleven@djb/6.0/sidebar.js:449

if (screensaver_dialog.query_exists(null)) {

query_exists() is a synchronous call that can block on slow/network filesystems.
Prefer attempting the operation and handling a Gio.IOErrorEnum.NOT_FOUND error instead.

menueleven@djb/files/menueleven@djb/6.0/utils.js:38

if (!file.query_exists(null)) {//check because it's possible for isFavoriteFile's to not exist.

query_exists() is a synchronous call that can block on slow/network filesystems.
Prefer attempting the operation and handling a Gio.IOErrorEnum.NOT_FOUND error instead.

menueleven@djb/files/menueleven@djb/6.0/utils.js:262

if (bookmarksFile.query_exists(null)) {

query_exists() is a synchronous call that can block on slow/network filesystems.
Prefer attempting the operation and handling a Gio.IOErrorEnum.NOT_FOUND error instead.

⚠️ sync_file_query_info

menueleven@djb/files/menueleven@djb/6.0/categoriesview.js:327

const fileInfo = file.query_info('standard::icon', Gio.FileQueryInfoFlags.NONE, null);

Synchronous query_info() blocks the main loop.
Use query_info_async() instead.

menueleven@djb/files/menueleven@djb/6.0/contextmenu.js:412

const fileInfo = file.query_info('access::can-trash', Gio.FileQueryInfoFlags.NONE, null);

Synchronous query_info() blocks the main loop.
Use query_info_async() instead.

menueleven@djb/files/menueleven@djb/6.0/search.py:229

info = fileObj.query_info("standard::icon", 0, None)

Synchronous query_info() blocks the main loop.
Use query_info_async() instead.

menueleven@djb/files/menueleven@djb/6.0/utils.js:44

const fileSize = file.query_info('standard::size', Gio.FileQueryInfoFlags.NONE, null).get_size();

Synchronous query_info() blocks the main loop.
Use query_info_async() instead.

⚠️ file_utils_desktop_dir

menueleven@djb/files/menueleven@djb/6.0/contextmenu.js:273

const userDesktopPath = getUserDesktopDir();

(Cinnamon 5.4) getUserDesktopDir() is deprecated. Use
GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DESKTOP) instead.

⚠️ tweener_usage

menueleven@djb/files/menueleven@djb/6.0/utils.js:10

const {addTween} = imports.ui.tweener;

(Cinnamon 5.4) The Tweener module is deprecated. Use Clutter actor easing instead.
Actors have ease() and ease_property() methods (patched in environment.js).
Example: actor.ease({ opacity: 255, duration: 200, mode: Clutter.AnimationMode.EASE_OUT_QUAD });

⚠️ hardcoded_data_dir

menueleven@djb/files/menueleven@djb/6.0/utils.js:11

Gettext.bindtextdomain('menueleven@djb', GLib.get_home_dir() + '/.local/share/locale');

Avoid hardcoding .local/share in paths. Use GLib.get_user_data_dir() instead,
which respects the XDG_DATA_HOME environment variable.

⚠️ lang_bind

menueleven@djb/files/menueleven@djb/6.0/utils.js:102

this.showTimer = Mainloop.timeout_add(250, Lang.bind(this, this.show));

Lang.bind() is deprecated. Use arrow functions (() => {}) or Function.prototype.bind() instead.

ℹ️ INFO

ℹ️ shell_string_spawn

menueleven@djb/files/menueleven@djb/6.0/applet.js:86

Util.spawnCommandLine(__meta.path + '/search.py ' + GLib.get_home_dir()); });

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.

menueleven@djb/files/menueleven@djb/6.0/applet.js:354

Util.spawnCommandLine('cinnamon-menu-editor');

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.

menueleven@djb/files/menueleven@djb/6.0/applet.js:1793

activate: () => Util.spawnCommandLine('xdg-open trash:'),

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.

menueleven@djb/files/menueleven@djb/6.0/applet.js:1803

activate: () => Util.spawnCommandLine('xdg-open computer:'),

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.

menueleven@djb/files/menueleven@djb/6.0/appsview.js:392

Util.spawnCommandLine(command);

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.

menueleven@djb/files/menueleven@djb/6.0/contextmenu.js:301

() => { spawnCommandLine("/usr/bin/cinnamon-remove-application '" +

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.

menueleven@djb/files/menueleven@djb/6.0/contextmenu.js:309

() => { spawnCommandLine("/usr/bin/pamac-manager --details-id=" + app.id);

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.

menueleven@djb/files/menueleven@djb/6.0/contextmenu.js:348

() => { spawnCommandLine('nemo-open-with ' + app.uri);

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.

menueleven@djb/files/menueleven@djb/6.0/sidebar.js:377

Util.spawnCommandLine("cinnamon-settings user");

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.

menueleven@djb/files/menueleven@djb/6.0/sidebar.js:414

Util.spawnCommandLine("gnome-terminal");

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.

menueleven@djb/files/menueleven@djb/6.0/sidebar.js:424

Util.spawnCommandLine("cinnamon-settings");

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.

menueleven@djb/files/menueleven@djb/6.0/sidebar.js:451

Util.spawnCommandLine('cinnamon-screensaver-lock-dialog');

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.

menueleven@djb/files/menueleven@djb/6.0/sidebar.js:453

Util.spawnCommandLine('cinnamon-screensaver-command --lock');//

Prefer argument vector spawn functions over shell command strings.
This is especially important when arguments include untrusted input (user data,
filenames, settings values, etc.) as shell strings are vulnerable to injection.
Static command strings are generally fine, but argv is always safer.
Use Util.spawn(["cmd", "arg1", "arg2"]) or Util.trySpawn() instead.


Automated pattern check.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR is titled/described as an icon refresh for the MenuEleven applet, but the provided diff shows substantial changes to the Danish translation catalog (da.po) that appear to regress localization quality.

Changes:

  • Updates da.po header metadata (revision date/translator/team/generator).
  • Removes existing Danish translations for multiple UI strings by setting many msgstr entries to empty (falls back to English).

Comment on lines 11 to +20
"POT-Creation-Date: 2025-11-30 00:16-0500\n"
"PO-Revision-Date: 2026-05-13 16:58+0200\n"
"Last-Translator: Alan Mortensen <over.tackiness223@passinbox.com>\n"
"Language-Team:\n"
"PO-Revision-Date: 2023-12-23 15:52+0100\n"
"Last-Translator: Alan Mortensen <alanmortensen.am@gmail.com>\n"
"Language-Team: Dansk-gruppen <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.4.2\n"
"X-Generator: Poedit 3.0.1\n"
#. 5.8/applet.js:1128
msgid "files"
msgstr "filer"
msgstr ""
Comment on lines 872 to +887
@@ -880,11 +880,11 @@ msgstr "Vis en internetsøgemulighed i søgeresultaterne"

#. 5.8->settings-schema.json->web-search-custom-url->description
msgid "URL for custom search"
msgstr "URL til brugerdefineret søgning"
msgstr ""

#. 5.8->settings-schema.json->web-search-custom-url->tooltip
msgid "Enter the URL that is prepended to the search query."
msgstr "Indtast URL'en, der sættes foran søgeforespørgslen."
msgstr ""
Comment on lines 812 to 875
#. 5.8->settings-schema.json->web-search-option->options
#. 4.0->settings-schema.json->web-search-option->options
msgid "Google"
msgstr "Google"
msgstr ""

#. 5.8->settings-schema.json->web-search-option->options
#. 4.0->settings-schema.json->web-search-option->options
msgid "Bing"
msgstr "Bing"
msgstr ""

#. 5.8->settings-schema.json->web-search-option->options
#. 4.0->settings-schema.json->web-search-option->options
msgid "Baidu"
msgstr "Baidu"
msgstr ""

#. 5.8->settings-schema.json->web-search-option->options
#. 4.0->settings-schema.json->web-search-option->options
msgid "Yahoo"
msgstr "Yahoo"
msgstr ""

#. 5.8->settings-schema.json->web-search-option->options
#. 4.0->settings-schema.json->web-search-option->options
msgid "Yandex"
msgstr "Yandex"
msgstr ""

#. 5.8->settings-schema.json->web-search-option->options
#. 4.0->settings-schema.json->web-search-option->options
msgid "DuckDuckGo"
msgstr "DuckDuckGo"
msgstr ""

#. 5.8->settings-schema.json->web-search-option->options
#. 4.0->settings-schema.json->web-search-option->options
msgid "Ask"
msgstr "Ask"
msgstr ""

#. 5.8->settings-schema.json->web-search-option->options
#. 4.0->settings-schema.json->web-search-option->options
msgid "Ecosia"
msgstr "Ecosia"
msgstr ""

#. 5.8->settings-schema.json->web-search-option->options
#. 4.0->settings-schema.json->web-search-option->options
msgid "AOL"
msgstr "AOL"
msgstr ""

#. 5.8->settings-schema.json->web-search-option->options
#. 4.0->settings-schema.json->web-search-option->options
msgid "Startpage"
msgstr "Startpage"
msgstr ""

#. 5.8->settings-schema.json->web-search-option->options
#. 4.0->settings-schema.json->web-search-option->options
msgid "Brave"
msgstr "Brave"
msgstr ""

#. 5.8->settings-schema.json->web-search-option->options
#. 4.0->settings-schema.json->web-search-option->options
msgid "Qwant"
msgstr "Qwant"
msgstr ""

#. 5.8->settings-schema.json->web-search-option->options
msgid "Custom"
msgstr "Brugerdefineret"
msgstr ""

Comment on lines 966 to +999
#. 5.8->settings-schema.json->wikipedia-language->options
#. 4.0->settings-schema.json->wikipedia-language->options
msgid "English"
msgstr "Engelsk"
msgstr ""

#. 5.8->settings-schema.json->wikipedia-language->options
#. 4.0->settings-schema.json->wikipedia-language->options
msgid "Sinugboanong Binisaya"
msgstr "Sinugboanong Binisaya"
msgstr ""

#. 5.8->settings-schema.json->wikipedia-language->options
#. 4.0->settings-schema.json->wikipedia-language->options
msgid "Svenska"
msgstr "Svensk"
msgstr ""

#. 5.8->settings-schema.json->wikipedia-language->options
#. 4.0->settings-schema.json->wikipedia-language->options
msgid "Deutsch"
msgstr "Tysk"
msgstr ""

#. 5.8->settings-schema.json->wikipedia-language->options
#. 4.0->settings-schema.json->wikipedia-language->options
msgid "Français"
msgstr "Fransk"
msgstr ""

#. 5.8->settings-schema.json->wikipedia-language->options
#. 4.0->settings-schema.json->wikipedia-language->options
msgid "Nederlands"
msgstr "Nederlandsk"
msgstr ""

#. 5.8->settings-schema.json->wikipedia-language->options
#. 4.0->settings-schema.json->wikipedia-language->options
msgid "Русский"
msgstr "Russisk"
msgstr ""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants