无法在 Kubuntu 19.04 中将语言改回英语

San*_*shi 7 kde language kubuntu kde5

问题:

在“设置”->“区域设置”中,我添加了马拉地语和印地语语言以查看其工作原理和翻译内容(我知道马拉地语和印地语)。重新启动后,语言更改为马拉地语。现在,我想恢复到英语,因为这是我在处理计算机时习惯的语言。但是,当我单击“添加语言...”按钮时,没有任何反应,也没有出现对话框。因此,除了作为添加语言存在的语言之外,我无法将语言更改为任何其他语言。

重现步骤:

转到设置 -> 区域设置 -> 单击添加语言... -> 添加印地语 - ????? (或马拉地语 - ?????,其他人可能不会给出相同的结果,不知道) -> 单击应用 -> 重新启动计算机 -> 转到 ????? ??????? (??????? ????????? 在马拉地语的情况下)-> 区域设置-> 单击添加语言...

我尝试过的:

  1. LANGUAGE 环境变量在哪里设置?
  2. 语言环境:重置丢失的设置
  3. /sf/ask/1917103961/
  4. https://websiteforstudents.com/how-to-change-to-your-native-language-on-ubuntu-17-10/
  5. https://www.shellhacks.com/linux-define-locale-language-settings/
  6. 部分菜单有中文/日文!

附加信息:

系统设置有时会崩溃。

崩溃日志:

Application: ??????? ??????? (systemsettings5), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f395cdb46c0 (LWP 3574))]

Thread 7 (Thread 0x7f393b5ef700 (LWP 3583)):
#0  __GI___libc_read (nbytes=16, buf=0x7f393b5eeb20, fd=18) at ../sysdeps/unix/sysv/linux/read.c:26
#1  __GI___libc_read (fd=18, buf=0x7f393b5eeb20, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007f395f16a410 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f395f1236cf in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f395f123ba0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f395f123d1c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f3961944063 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f39618ef5bb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f396173a2c6 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f3960a5cef5 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#10 0x00007f396173b612 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007f395fbbb182 in start_thread (arg=<optimized out>) at pthread_create.c:486
#12 0x00007f39613ceb1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f3946909700 (LWP 3582)):
#0  0x00007f395f16e809 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f395f123b00 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f395f123d1c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3961944063 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f39618ef5bb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f396173a2c6 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f3960a5cef5 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007f396173b612 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f395fbbb182 in start_thread (arg=<optimized out>) at pthread_create.c:486
#9  0x00007f39613ceb1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f3950a27700 (LWP 3580)):
#0  0x00007f39613c2729 in __GI___poll (fds=0x7f3940004a30, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f395f123bf6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f395f123d1c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3961944063 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f39618ef5bb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f396173a2c6 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f3960a5cef5 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007f396173b612 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f395fbbb182 in start_thread (arg=<optimized out>) at pthread_create.c:486
#9  0x00007f39613ceb1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f3953cb5700 (LWP 3578)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x560f3a7f1b2c) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x560f3a7f1ad8, cond=0x560f3a7f1b00) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x560f3a7f1b00, mutex=0x560f3a7f1ad8) at pthread_cond_wait.c:655
#3  0x00007f39582fc36b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f39582fc0d7 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f395fbbb182 in start_thread (arg=<optimized out>) at pthread_create.c:486
#6  0x00007f39613ceb1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f395a806700 (LWP 3577)):
#0  __GI___libc_read (nbytes=16, buf=0x7f395a805b10, fd=7) at ../sysdeps/unix/sysv/linux/read.c:26
#1  __GI___libc_read (fd=7, buf=0x7f395a805b10, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007f395f16a410 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f395f1236cf in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f395f123ba0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f395f123d1c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f3961944063 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f39618ef5bb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f396173a2c6 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f3961bbc565 in ?? () from /lib/x86_64-linux-gnu/libQt5DBus.so.5
#10 0x00007f396173b612 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007f395fbbb182 in start_thread (arg=<optimized out>) at pthread_create.c:486
#12 0x00007f39613ceb1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f395bd33700 (LWP 3576)):
#0  0x00007f39613c2729 in __GI___poll (fds=0x7f395bd32c68, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f395fb78917 in ?? () from /lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f395fb7a53a in xcb_wait_for_event () from /lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f395c7066a8 in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f396173b612 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f395fbbb182 in start_thread (arg=<optimized out>) at pthread_create.c:486
#6  0x00007f39613ceb1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f395cdb46c0 (LWP 3574)):
[KCrash Handler]
#6  0x0000560f42a72ff0 in ?? ()
#7  0x00007f396191f718 in QObject::connect(QObject const*, char const*, QObject const*, char const*, Qt::ConnectionType) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f3960901f9c in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007f39609022db in QV4::QObjectWrapper::wrap_slowPath(QV4::ExecutionEngine*, QObject*) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#10 0x00007f396097f88c in QV4::ExecutionEngine::fromVariant(QVariant const&) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#11 0x00007f39608e02e5 in QV4::QQmlContextWrapper::virtualGet(QV4::Managed const*, QV4::PropertyKey, QV4::Value const*, bool*) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#12 0x00007f396088648d in QV4::ExecutionContext::getProperty(QV4::String*) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#13 0x00007f3960986d40 in QV4::Runtime::method_loadName(QV4::ExecutionEngine*, int) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#14 0x00007f39397e80d8 in ?? ()
#15 0x0000000000000000 in ?? ()
[Inferior 1 (process 3574) detached]
Run Code Online (Sandbox Code Playgroud)

任何帮助表示高度赞赏!

San*_*shi 9

根本原因:

当我们通过“系统设置”>“区域设置”添加语言时,它会添加为 KDE Plasma 的(桌面环境)语言,而不是系统语言。因此,虽然系统语言显示英语(运行locale在终端中运行),但我们仍然会看到桌面采用区域设置中指定的语言。

这也是为什么使用

  1. sudo locale-gen en_US.UTF-8或者
  2. sudo localectl set-locale LANG=en_US.utf8或者
  3. 投入export LANG=en_US.utf8~/.bashrc运行source ~/.bashrc

不会影响区域设置中设置的语言设置。

解决方案:

转到~/.config/plasma-locale-settings.sh,打开它并确保它包含以下内容:

# Generated script, do not edit
# Exports language-format specific env vars from startkde.
# This script has been generated from kcmshell5 formats.
# It will automatically be overwritten from there.
# I am from India, hence en_IN, shouldn't matter much
export LANG=en_IN
export LANGUAGE=en_US

Run Code Online (Sandbox Code Playgroud)

然后,转到~/.config/plasma-localerc,打开它并确保它包含以下内容:

[Formats]
LANG=en_IN

[Translations]
LANGUAGE=en_US

Run Code Online (Sandbox Code Playgroud)

关闭计算机并重新启动。你应该回到英语上来。如果没有,请通过评论告诉我:)