diff -Nru ukui-media-3.25.0.0/debian/changelog ukui-media-3.25.0.0/debian/changelog --- ukui-media-3.25.0.0/debian/changelog 2024-10-14 17:16:19.000000000 +0800 +++ ukui-media-3.25.0.0/debian/changelog 2024-10-28 11:26:40.000000000 +0800 @@ -1,3 +1,30 @@ +ukui-media (3.25.0.0-0ok24) nile; urgency=medium + + * Bug号: 无 + * 需求号: 无 + * 其他改动说明: 增加德西法阿越翻译 + * 其他改动影响域: 无 + + -- ctf <fengzhaoxiang@kylinos.cn> Mon, 28 Oct 2024 11:26:40 +0800 + +ukui-media (3.25.0.0-0ok23) nile; urgency=medium + + * Bug号: 277481 【优麒麟+AI版】【声音】控制面板缺少声音模块 + * 需求号: 无 + * 其他改动说明: 无 + * 其他改动影响域: 无 + + -- ctf <fengzhaoxiang@kylinos.cn> Mon, 28 Oct 2024 11:26:40 +0800 + +ukui-media (3.25.0.0-0ok22) nile; urgency=medium + + * Bug号: 277481 【优麒麟+AI版】【声音】控制面板缺少声音模块 + * 需求号: 无 + * 其他改动说明: 无 + * 其他改动影响域: 无 + + -- ctf <fengzhaoxiang@kylinos.cn> Fri, 25 Oct 2024 18:47:15 +0800 + ukui-media (3.25.0.0-0ok21) nile; urgency=medium * Bug号: 269743 【优麒麟+AI版】【声音】【任务栏设置】任务栏右下角无声音音量图标 diff -Nru ukui-media-3.25.0.0/debian/patches/0059-58.patch ukui-media-3.25.0.0/debian/patches/0059-58.patch --- ukui-media-3.25.0.0/debian/patches/0059-58.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-media-3.25.0.0/debian/patches/0059-58.patch 2024-10-28 11:26:40.000000000 +0800 @@ -0,0 +1,22 @@ +From: ctfcc <2361134695@qq.com> +Date: Thu, 17 Oct 2024 05:59:12 +0000 +Subject: =?utf-8?b?ITU4IOS/ruiuouWNjuS4uuW5s+WPsOWIpOaWreWHveaVsCBNZXJnZSBw?= + =?utf-8?b?dWxsIHJlcXVlc3QgITU4IGZyb20g5bem5b+X5aiBL29wZW5reWxpbi9uaWxl?= + +--- + common/ukmedia_common.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/common/ukmedia_common.cpp b/common/ukmedia_common.cpp +index 99f8bcc..a77d24a 100644 +--- a/common/ukmedia_common.cpp ++++ b/common/ukmedia_common.cpp +@@ -59,7 +59,7 @@ bool UkmediaCommon::isHuaweiPlatform() + + if (cpuStr.contains("HUAWEI", Qt::CaseInsensitive) && cpuStr.contains("Kirin", Qt::CaseInsensitive)) + { +- if (cpuStr.contains("990") || cpuStr.contains("9006C") || cpuStr.contains("90000C")) ++ if (cpuStr.contains("990") || cpuStr.contains("9006C") || cpuStr.contains("9000C")) + isHuaweiPlatform = true; + } + else if (cpuStr.contains("PANGU", Qt::CaseInsensitive) && cpuStr.contains("M900", Qt::CaseInsensitive)) { diff -Nru ukui-media-3.25.0.0/debian/patches/0060-61-Fix-Check-HUAWEI-machine-error.patch ukui-media-3.25.0.0/debian/patches/0060-61-Fix-Check-HUAWEI-machine-error.patch --- ukui-media-3.25.0.0/debian/patches/0060-61-Fix-Check-HUAWEI-machine-error.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-media-3.25.0.0/debian/patches/0060-61-Fix-Check-HUAWEI-machine-error.patch 2024-10-28 11:26:40.000000000 +0800 @@ -0,0 +1,22 @@ +From: pengziping <pengziping@kylinos.cn> +Date: Tue, 22 Oct 2024 02:52:33 +0000 +Subject: !61 Fix: Check HUAWEI machine error Merge pull request !61 from + pengziping/openkylin/nile + +--- + common/ukmedia_common.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/common/ukmedia_common.cpp b/common/ukmedia_common.cpp +index a77d24a..00f5ddc 100644 +--- a/common/ukmedia_common.cpp ++++ b/common/ukmedia_common.cpp +@@ -57,7 +57,7 @@ bool UkmediaCommon::isHuaweiPlatform() + const char *cpuInfo = kdk_cpu_get_model(); + QString cpuStr = QString::fromLocal8Bit(cpuInfo); + +- if (cpuStr.contains("HUAWEI", Qt::CaseInsensitive) && cpuStr.contains("Kirin", Qt::CaseInsensitive)) ++ if (cpuStr.contains("HUAWEI", Qt::CaseInsensitive) || cpuStr.contains("Kirin", Qt::CaseInsensitive)) + { + if (cpuStr.contains("990") || cpuStr.contains("9006C") || cpuStr.contains("9000C")) + isHuaweiPlatform = true; diff -Nru ukui-media-3.25.0.0/debian/patches/0061-62-updateSource-sourceportName.patch ukui-media-3.25.0.0/debian/patches/0061-62-updateSource-sourceportName.patch --- ukui-media-3.25.0.0/debian/patches/0061-62-updateSource-sourceportName.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-media-3.25.0.0/debian/patches/0061-62-updateSource-sourceportName.patch 2024-10-28 11:26:40.000000000 +0800 @@ -0,0 +1,721 @@ +From: =?utf-8?b?5bem5b+X5aiB?= <zuozhiwei@kylinos.cn> +Date: Wed, 23 Oct 2024 08:50:09 +0000 +Subject: =?utf-8?b?ITYyIOS8mOWMlnVwZGF0ZVNvdXJjZemAu+i+ke+8jOWkhOeQhuW8gA==?= + =?utf-8?b?5ZCv6ZmN5Zmq5pe25YiH5o2i6L6T5YWl5ZCOc291cmNlcG9ydE5hbWXplJnor68=?= + =?utf-8?b?55qE6Zeu6aKYIE1lcmdlIHB1bGwgcmVxdWVzdCAhNjIgZnJvbSDlt6blv5flqIEv?= + =?utf-8?b?bmlsZQ==?= + +--- + .../app-device-control/ukmedia_app_item_widget.cpp | 4 +- + audio/app-device-control/ukmedia_app_item_widget.h | 1 + + .../ukmedia_device_control_widget.cpp | 4 +- + audio/ukmedia_main_widget.cpp | 15 +- + audio/ukmedia_main_widget.h | 40 ----- + audio/ukui_custom_style.h | 4 - + common/ukmedia_common.h | 53 ++++++ + .../ukmedia_main_widget.cpp | 27 +-- + .../ukmedia_main_widget.h | 33 +--- + .../ukmedia_volume_control.cpp | 189 +++++++++++++-------- + .../ukmedia_volume_control.h | 34 ++-- + 11 files changed, 198 insertions(+), 206 deletions(-) + +diff --git a/audio/app-device-control/ukmedia_app_item_widget.cpp b/audio/app-device-control/ukmedia_app_item_widget.cpp +index fe7cc59..0ca2969 100644 +--- a/audio/app-device-control/ukmedia_app_item_widget.cpp ++++ b/audio/app-device-control/ukmedia_app_item_widget.cpp +@@ -280,7 +280,7 @@ void UkmediaAppItemWidget::onPaletteChanged() + m_pOutputWidget->setStyleSheet("#OutputWidget{border-radius: 6px; background-color: #F5F5F5;}"); + m_pVolumeWidget->setStyleSheet("#VolumeWidget{border-radius: 6px; background-color: #F5F5F5;}"); + } +- else if (mThemeName == UKUI_THEME_BLACK) { ++ else if (mThemeName == UKUI_THEME_DARK) { + m_pInputWidget->setStyleSheet("#InputWidget{border-radius: 6px; background-color: #333333;}"); + m_pOutputWidget->setStyleSheet("#OutputWidget{border-radius: 6px; background-color: #333333;}"); + m_pVolumeWidget->setStyleSheet("#VolumeWidget{border-radius: 6px; background-color: #333333;}"); +@@ -295,7 +295,7 @@ void UkmediaAppItemWidget::outputVolumeDarkThemeImage(int value, bool status) + QColor color = QColor(0,0,0,216); + if (mThemeName == UKUI_THEME_LIGHT || mThemeName == UKUI_THEME_DEFAULT) + color = QColor(0,0,0,216); +- else if (mThemeName == UKUI_THEME_BLACK) ++ else if (mThemeName == UKUI_THEME_DARK) + color = QColor(255,255,255,216); + + if (status) { +diff --git a/audio/app-device-control/ukmedia_app_item_widget.h b/audio/app-device-control/ukmedia_app_item_widget.h +index e5de61c..defd618 100644 +--- a/audio/app-device-control/ukmedia_app_item_widget.h ++++ b/audio/app-device-control/ukmedia_app_item_widget.h +@@ -34,6 +34,7 @@ + #include <QDBusPendingCallWatcher> + #include "kslider.h" + #include "../ukui_custom_style.h" ++#include "../common/ukmedia_common.h" + + using namespace kdk; + +diff --git a/audio/audio-device-control/ukmedia_device_control_widget.cpp b/audio/audio-device-control/ukmedia_device_control_widget.cpp +index a3831a0..ccacdee 100644 +--- a/audio/audio-device-control/ukmedia_device_control_widget.cpp ++++ b/audio/audio-device-control/ukmedia_device_control_widget.cpp +@@ -308,7 +308,7 @@ void OutputDevWidget::addSubOutputDevWidget(int card, QString portName, QString + + if (themeName == UKUI_THEME_DEFAULT || themeName == UKUI_THEME_LIGHT) + subDevItemwidget->setStyleSheet("#subDevItemwidget{border-radius: 6px; background-color: #F5F5F5;}"); +- else if (themeName == UKUI_THEME_BLACK) ++ else if (themeName == UKUI_THEME_DARK) + subDevItemwidget->setStyleSheet("#subDevItemwidget{border-radius: 6px; background-color: #333333;}"); + + m_pSubDevVlayout->addWidget(subDevItemwidget); +@@ -615,7 +615,7 @@ void InputDevWidget::addSubInputDevWidget(int card, QString portName, QString De + } + if (themeName == UKUI_THEME_DEFAULT || themeName == UKUI_THEME_LIGHT) + subDevItemwidget->setStyleSheet("#subDevItemwidget{border-radius: 6px; background-color: #F5F5F5;}"); +- else if (themeName == UKUI_THEME_BLACK) ++ else if (themeName == UKUI_THEME_DARK) + subDevItemwidget->setStyleSheet("#subDevItemwidget{border-radius: 6px; background-color: #333333;}"); + + //设置窗体圆角 +diff --git a/audio/ukmedia_main_widget.cpp b/audio/ukmedia_main_widget.cpp +index 30b5ebe..66290e5 100644 +--- a/audio/ukmedia_main_widget.cpp ++++ b/audio/ukmedia_main_widget.cpp +@@ -30,14 +30,9 @@ + #include <QPixmap> + #include <qmath.h> + +-#define MATE_DESKTOP_USE_UNSTABLE_API +-#define VERSION "1.12.1" +-#define GVC_DIALOG_DBUS_NAME "org.mate.VolumeControl" +-#define KEY_SOUNDS_SCHEMA "org.ukui.sound" + #define GVC_SOUND_SOUND (xmlChar *) "sound" + #define GVC_SOUND_NAME (xmlChar *) "name" + #define GVC_SOUND_FILENAME (xmlChar *) "filename" +-#define SOUND_SET_DIR "/usr/share/ukui-media/sounds" + + #define KEYBINDINGS_CUSTOM_SCHEMA "org.ukui.media.sound" + #define KEYBINDINGS_CUSTOM_DIR "/org/ukui/sound/keybindings/" +@@ -104,7 +99,7 @@ void UkmediaMainWidget::initWidget() + m_pSoundWidget = new UkmediaSoundEffectsWidget(); + m_pSettingsWidget = new UkmediaSettingsWidget(); + cboxfirstEntry = true; +- mThemeName = UKUI_THEME_WHITE; ++ mThemeName = UKUI_THEME_LIGHT; + QVBoxLayout *m_pvLayout = new QVBoxLayout(); + m_pvLayout->addWidget(m_pOutputWidget); + m_pvLayout->addWidget(m_pInputWidget); +@@ -1074,10 +1069,10 @@ void UkmediaMainWidget::outputVolumeDarkThemeImage(int value,bool status) + { + QImage image; + QColor color = QColor(0,0,0,216); +- if (mThemeName == UKUI_THEME_WHITE || mThemeName == "ukui-default") { ++ if (mThemeName == UKUI_THEME_LIGHT || mThemeName == UKUI_THEME_DEFAULT) { + color = QColor(0,0,0,216); + } +- else if (mThemeName == UKUI_THEME_BLACK || mThemeName == "ukui-dark") { ++ else if (mThemeName == UKUI_THEME_DARK) { + color = QColor(255,255,255,216); + } + +@@ -1107,10 +1102,10 @@ void UkmediaMainWidget::inputVolumeDarkThemeImage(int value,bool status) + { + QImage image; + QColor color = QColor(0,0,0,190); +- if (mThemeName == UKUI_THEME_WHITE || mThemeName == "ukui-default") { ++ if (mThemeName == UKUI_THEME_LIGHT || mThemeName == UKUI_THEME_DEFAULT) { + color = QColor(0,0,0,190); + } +- else if (mThemeName == UKUI_THEME_BLACK || mThemeName == "ukui-dark") { ++ else if (mThemeName == UKUI_THEME_DARK) { + color = QColor(255,255,255,190); + } + +diff --git a/audio/ukmedia_main_widget.h b/audio/ukmedia_main_widget.h +index d206b5e..0fa6593 100644 +--- a/audio/ukmedia_main_widget.h ++++ b/audio/ukmedia_main_widget.h +@@ -63,50 +63,10 @@ extern "C" { + #include "ukmedia_settings_widget.h" + #include "ukmedia_app_device_ctrl.h" + +-#define UKUI_THEME_SETTING "org.ukui.style" +-#define UKUI_THEME_NAME "style-name" +-#define UKUI_THEME_WHITE "ukui-white" +-#define UKUI_THEME_BLACK "ukui-black" +- +-#define UKUI_INPUT_REAR_MIC "analog-input-rear-mic" //后置麦克风 +-#define UKUI_INPUT_FRONT_MIC "analog-input-front-mic" //前置麦克风 +-#define UKUI_OUTPUT_HEADPH "analog-output-headphones" //模拟耳机 +- +-#define KEYBINDINGS_CUSTOM_SCHEMA "org.ukui.media.sound" +-#define KEYBINDINGS_CUSTOM_DIR "/org/ukui/sound/keybindings/" +-#define MAX_CUSTOM_SHORTCUTS 1000 +-#define FILENAME_KEY "filename" +-#define NAME_KEY "name" +- +-#define KEY_SOUNDS_SCHEMA "org.ukui.sound" +-#define UKUI_SWITCH_SETTING "org.ukui.session" +-#define UKUI_STARTUP_MUSIC_KEY "startup-music" +-#define UKUI_POWEROFF_MUSIC_KEY "poweroff-music" +-#define UKUI_LOGOUT_MUSIC_KEY "logout-music" +-#define UKUI_WAKEUP_MUSIC_KEY "weakup-music" +- +-#define STARTUP_MUSIC "startup-music" +-#define VOLUME_INCREASE "volume-increase" +-#define MONO_AUDIO "mono-audio" +-#define DNS_NOISE_REDUCTION "dns-noise-reduction" +-#define LOOP_BACK "loopback" +-#define EVENT_SOUNDS_KEY "event-sounds" +-#define SOUND_THEME_KEY "theme-name" +-#define SOUND_CUSTOM_THEME_KEY "custom-theme" +-#define AUDIO_VOLUME_CHANGE "audio-volume-change" +-#define NOTIFICATION_GENGERAL "notification-general" +-#define SOUND_FILE_PATH "/usr/share/sounds/xxxTheme/stereo/xxxFile.ogg" +- +-#define UKUI_GLOBALTHEME_SETTINGS "org.ukui.globaltheme.settings" +-#define GLOBAL_THEME_NAME "global-theme-name" +- + #define DEFAULT_ALERT_ID "__default" + #define CUSTOM_THEME_NAME "__custom" + #define NO_SOUNDS_THEME_NAME "__no_sounds" + +-#define PA_VOLUME_NORMAL 65536.0 +-#define UKMEDIA_VOLUME_NORMAL 100.0 +- + #ifdef __GNUC__ + #define CA_CLAMP(x, low, high) \ + __extension__ ({ typeof(x) _x = (x); \ +diff --git a/audio/ukui_custom_style.h b/audio/ukui_custom_style.h +index a3ef4e7..c1bafc1 100644 +--- a/audio/ukui_custom_style.h ++++ b/audio/ukui_custom_style.h +@@ -32,10 +32,6 @@ + #include <QFile> + #include <QDebug> + +-#define UKUI_THEME_LIGHT "ukui-light" +-#define UKUI_THEME_BLACK "ukui-dark" +-#define UKUI_THEME_DEFAULT "ukui-default" +- + using namespace kdk; + + static QColor symbolic_color = Qt::gray; +diff --git a/common/ukmedia_common.h b/common/ukmedia_common.h +index 05d99a4..c479997 100644 +--- a/common/ukmedia_common.h ++++ b/common/ukmedia_common.h +@@ -32,6 +32,59 @@ + #define PA_VOLUME_NORMAL 65536.0 + #define UKMEDIA_VOLUME_NORMAL 100.0 + ++// Init Port Volume ++#define MIC_VOLUME 100 ++#define HDMI_VOLUME 100 ++#define OUTPUT_VOLUME 67 ++#define HEADPHONE_VOLUME 17 ++ ++#define HDMI "hdmi" ++#define BLUEZ "bluez" ++#define SPEAKER "speaker" ++#define HEADPHONE "headphone" ++ ++#define HUAWEI_BTO_SINK "bt_sco_sink" ++#define HUAWEI_BTO_SOURCE "bt_sco_source" ++#define HEADSET_HEAD_UNIT "headset_head_unit" ++ ++#define PA_ID_INVALID ((uint32_t)0xffffffff) ++#define PANGUW_SINK "alsa_output.platform-raoliang-sndcard.analog-stereo" ++#define HISTEN_SINK "histen_sink" ++#define NOISE_REDUCE_SOURCE "noiseReduceSource" ++ ++// UKUI Audio ++#define KEY_SOUNDS_SCHEMA "org.ukui.sound" ++#define ALERT_VOLUME "alert-volume" ++#define AUDIO_VOLUME_CHANGE "audio-volume-change" ++#define SOUND_CUSTOM_THEME_KEY "custom-theme" ++#define DNS_NOISE_REDUCTION "dns-noise-reduction" ++#define EVENT_SOUNDS_KEY "event-sounds" ++#define LOOP_BACK "loopback" ++#define MONO_AUDIO "mono-audio" ++#define NOTIFICATION_GENGERAL "notification-general" ++#define SOUND_THEME_KEY "theme-name" ++#define VOLUME_INCREASE "volume-increase" ++#define VOLUME_INCREASE_VALUE "volume-increase-value" ++#define SOUND_FILE_PATH "/usr/share/sounds/xxxTheme/stereo/xxxFile.ogg" ++ ++// UKUI Session ++#define UKUI_SWITCH_SETTING "org.ukui.session" ++#define UKUI_STARTUP_MUSIC_KEY "startup-music" ++#define UKUI_POWEROFF_MUSIC_KEY "poweroff-music" ++#define UKUI_LOGOUT_MUSIC_KEY "logout-music" ++#define UKUI_WAKEUP_MUSIC_KEY "weakup-music" ++ ++// UKUI Theme ++#define UKUI_THEME_SETTING "org.ukui.style" ++#define UKUI_THEME_NAME "style-name" ++#define UKUI_THEME_LIGHT "ukui-light" ++#define UKUI_THEME_DARK "ukui-dark" ++#define UKUI_THEME_DEFAULT "ukui-default" ++ ++// UKUI Global Theme ++#define UKUI_GLOBALTHEME_SETTINGS "org.ukui.globaltheme.settings" ++#define GLOBAL_THEME_NAME "global-theme-name" ++ + #define SYSTEM_VOLUME_CTRL "kylin-settings-system" + #define UKUI_MEDIA_PATH "/org/ukui/media" + #define UKUI_MEDIA_CONTROL_PATH "/org/ukui/media/control" +diff --git a/ukui-volume-control-applet-qt/ukmedia_main_widget.cpp b/ukui-volume-control-applet-qt/ukmedia_main_widget.cpp +index 474b6c6..49f5365 100644 +--- a/ukui-volume-control-applet-qt/ukmedia_main_widget.cpp ++++ b/ukui-volume-control-applet-qt/ukmedia_main_widget.cpp +@@ -46,10 +46,7 @@ + #define SETTINGLINE_POS 0,424 + #define KEYBINDINGS_CUSTOM_SCHEMA "org.ukui.media.sound" + #define KEYBINDINGS_CUSTOM_DIR "/org/ukui/sound/keybindings/" +-#define KEY_SOUNDS_SCHEMA "org.ukui.sound" +-#define UKUI_SWITCH_SETTING "org.ukui.session" + +-#define UKUI_STARTUP_MUSIC_KEY "startup-music" + #define EVENT_SOUNDS_KEY "event-sounds" + #define MAX_CUSTOM_SHORTCUTS 1000 + +@@ -1041,14 +1038,11 @@ void UkmediaMainWidget::jumpControlPanelSlot() + void UkmediaMainWidget::drawImagColorFromTheme(UkuiButtonDrawSvg *button, QString iconStr) + { + button->themeIcon.image = QIcon::fromTheme(iconStr).pixmap(24,24).toImage(); +- button->themeIcon.color = QColor(0,0,0,216); + +- if (mThemeName == UKUI_THEME_WHITE) { +- button->themeIcon.color = QColor(255,255,255,216); +- } +- else if (mThemeName == UKUI_THEME_BLACK) { ++ if (mThemeName == UKUI_THEME_LIGHT) ++ button->themeIcon.color = QColor(0,0,0,216); ++ else + button->themeIcon.color = QColor(255,255,255,216); +- } + } + + /* +@@ -1094,15 +1088,6 @@ void UkmediaMainWidget::inputVolumeDarkThemeImage(int value,bool status) + else { + inputIconStr = iconNameInputs[3]; + } +- +- if (mThemeName == "ukui-white" || mThemeName == "ukui-light") { +-// devWidget->inputMuteButton->themeIcon.color = QColor(0,0,0,216); +-// devWidget->inputMuteButton->themeIcon.image = QIcon::fromTheme(inputIconStr).pixmap(24,24).toImage(); +- } +- else if (mThemeName == UKUI_THEME_BLACK || mThemeName == "ukui-black" || mThemeName == "ukui-default") { +-// devWidget->inputMuteButton->themeIcon.color = QColor(255,255,255,216); +-// devWidget->inputMuteButton->themeIcon.image = QIcon::fromTheme(inputIconStr).pixmap(24,24).toImage(); +- } + } + + /* +@@ -1362,10 +1347,10 @@ void UkmediaMainWidget::addAppToAppwidget(QString appName, QString appIconName, + return; + QString audioIconStr = outputVolumeToIconStr(isMute,value); + QSize iconSize(24,24); +- if ( mThemeName == "ukui-white" || mThemeName == "ukui-light") { ++ if (mThemeName == UKUI_THEME_DEFAULT) { + btn->setIcon(QIcon(drawDarkColoredPixmap((QIcon::fromTheme(audioIconStr).pixmap(iconSize))))); + } +- else if (mThemeName == UKUI_THEME_BLACK || mThemeName == "ukui-black" || mThemeName == "ukui-default") { ++ else if (mThemeName == UKUI_THEME_DARK || mThemeName == UKUI_THEME_DEFAULT) { + btn->setIcon(QIcon(drawLightColoredPixmap((QIcon::fromTheme(audioIconStr).pixmap(iconSize))))); + } + }); +@@ -1421,7 +1406,7 @@ void UkmediaMainWidget::sinkInputVolumeChangedSlot(QString appName, QString appI + void UkmediaMainWidget::switchStartupPlayMusic() + { + if (m_pStartUpSetting->keys().contains("startupMusic")) { +- bool state = m_pStartUpSetting->get(STARTUP_MUSIC).toBool(); ++ bool state = m_pStartUpSetting->get(UKUI_STARTUP_MUSIC_KEY).toBool(); + m_pVolumeControl->insertJson(JsonType::JSON_TYPE_USERINFO, AUDIO_STRATUP_SOUNDEFFECT_KEY, state); + qDebug() << "the switch of startup sound effect is changed to " << state; + } +diff --git a/ukui-volume-control-applet-qt/ukmedia_main_widget.h b/ukui-volume-control-applet-qt/ukmedia_main_widget.h +index f8054b2..15c3f50 100644 +--- a/ukui-volume-control-applet-qt/ukmedia_main_widget.h ++++ b/ukui-volume-control-applet-qt/ukmedia_main_widget.h +@@ -66,48 +66,17 @@ extern "C" { + #include <alsa/asoundlib.h> + #include <set> + +-#define UKUI_THEME_SETTING "org.ukui.style" +-#define UKUI_THEME_NAME "style-name" //主题名称 +-#define UKUI_THEME_WHITE "ukui-default" //默认主题 +-#define UKUI_THEME_BLACK "ukui-dark" //深色主题 +-#define GLOBAL_THEME_NAME "global-theme-name" //全局主题 +-#define UKUI_GLOBALTHEME_SETTINGS "org.ukui.globaltheme.settings" +- + // 为平板模式提供设置音量值 + #define UKUI_VOLUME_KEY "volumesize" //音量大小 + #define UKUI_VOLUME_STATE "soundstate" //音量状态 + #define UKUI_VOLUME_BRIGHTNESS_GSETTING_ID "org.ukui.quick-operation.panel" + +-#define KEY_SOUNDS_SCHEMA "org.ukui.sound" +-#define UKUI_AUDIO_SCHEMA "org.ukui.audio" +-#define SOUND_THEME_KEY "theme-name" +- +-#define PA_VOLUME_NORMAL 65536.0 +-#define UKMEDIA_VOLUME_NORMAL 100.0 +- + // 初始化音量 + #define HEADPHONE_VOLUME 11141 + #define HDMI_VOLUME 65536 + #define OUTPUT_VOLUME 43909 + #define MIC_VOLUME 65536 + +-// 声音功能 +-#define LOOP_BACK "loopback" +-#define MONO_AUDIO "mono-audio" +-#define STARTUP_MUSIC "startup-music" +-#define VOLUME_INCREASE "volume-increase" +-#define DNS_NOISE_REDUCTION "dns-noise-reduction" +-#define VOLUME_INCREASE_VALUE "volume-increase-value" +- +-#define HDMI "hdmi" +-#define BLUEZ "bluez" +-#define SPEAKER "speaker" +-#define HEADPHONE "headphone" +- +-#define HUAWEI_BTO_SINK "bt_sco_sink" +-#define HUAWEI_BTO_SOURCE "bt_sco_source" +-#define HEADSET_HEAD_UNIT "headset_head_unit" +- + // 任务栏多屏显示声音应用获取屏幕可用区域接口 + #define PANEL_SETTINGS "org.ukui.panel.settings" + #define PANEL_SIZE_KEY "panelsize" +@@ -397,7 +366,7 @@ private: + bool firstEntry = true; + + QProcess *m_process; +- QString mThemeName = UKUI_THEME_WHITE; ++ QString mThemeName = UKUI_THEME_DEFAULT; + bool firstEnterSystem = true; + ca_context *caContext; + bool firstLoad = true; +diff --git a/ukui-volume-control-applet-qt/ukmedia_volume_control.cpp b/ukui-volume-control-applet-qt/ukmedia_volume_control.cpp +index e8b43fc..57201e6 100644 +--- a/ukui-volume-control-applet-qt/ukmedia_volume_control.cpp ++++ b/ukui-volume-control-applet-qt/ukmedia_volume_control.cpp +@@ -35,9 +35,6 @@ + #include <alsa/asoundlib.h> + #include <QGSettings> + +-#define KEY_SOUNDS_SCHEMA "org.ukui.sound" +-#define MONO_AUDIO "mono-audio" +- + //pa_sink_info *m_pDefaultSink; + /* Used for profile sorting */ + struct profile_prio_compare { +@@ -1155,72 +1152,77 @@ void UkmediaVolumeControl::updateSource(const pa_source_info &info) { + initDefaultSourceVolume(info); + + // Update some variables for the default input +- if (UKMedia_Equal(defaultSourceName.data(), info.name) || +- //开启降噪状态下,如果这个source存在多个端口,且不同端口音量相同时,不会触发 noiseReduceSource 回调,导致无法更新 portName +- (UKMedia_Equal(masterDevice.toLatin1().data(), info.name) && UKMedia_Equal(defaultSourceName.data(), ("noiseReduceSource")))) { ++ if (UKMedia_Equal(defaultSourceName.data(), info.name)) ++ { + sourceIndex = info.index; + inputChannel = info.volume.channels; +- QString portName = (info.active_port) ? info.active_port->name : ""; ++ QString portName = ""; ++ int inputCard = -1; + ++ ++ // Status: this is a filter soource + if (pa_proplist_gets(info.proplist, PA_PROP_DEVICE_MASTER_DEVICE)) { +- portName = findMasterDeviceInfo(info.proplist, info.name); ++ masterDevice = pa_proplist_gets(info.proplist, PA_PROP_DEVICE_MASTER_DEVICE); ++ sourceInfo s = getSourceInfoByName(masterDevice); ++ inputCard = s.card; ++ portName = s.active_port_name; ++ qInfo() << "This is a filter source:" << info.name << "master device:" << masterDevice; + } +- +- if (sourcePortName != portName) { +- qDebug() << "Send SIGNAL: sourcePortChanged. Case: different port" << sourcePortName << portName; +- sourcePortName = portName; +- sendSourcePortChangedSignal(); +- } else { +- int index = -1; +- if (pa_proplist_gets(info.proplist, PA_PROP_DEVICE_MASTER_DEVICE)) { +- index = findPortSourceIndex(masterDevice); +- } +- +- if (defaultInputCard != info.card && defaultInputCard != index) { +- sendSourcePortChangedSignal(); +- qDebug() << "Send SIGNAL: sourcePortChanged. Case: same port, different card" << defaultInputCard << info.card; +- } ++ // Status: generally ++ else { ++ inputCard = info.card; ++ portName = (info.active_port) ? info.active_port->name : ""; + } + +- if (pa_proplist_gets(info.proplist, PA_PROP_DEVICE_MASTER_DEVICE)) { +- defaultInputCard = findPortSourceIndex(masterDevice); +- } else { +- defaultInputCard = info.card; ++ // 判断是否发送端口改变信号 ++ if (sourcePortName != portName || defaultInputCard != inputCard) { ++ sendSourcePortChangedSignal(); ++ qInfo() << "Send SIGNAL: sourcePortChanged." << sourcePortName << portName << defaultInputCard << inputCard; + } + +- //bug#254769/256035 输入设备为内置mic或为空时,需要隐藏侦听功能(控制面板代码实现)并卸载侦听模块 +- if(strstr(sourcePortName.toUtf8().constData(), "internal") \ +- || strstr(sourcePortName.toUtf8().constData(), "[In] Mic1") \ +- || (sourcePortName.toUtf8() == "")) +- { +- if (QGSettings::isSchemaInstalled(KEY_SOUNDS_SCHEMA)) +- { +- QGSettings *m_pSoundSettings = new QGSettings(KEY_SOUNDS_SCHEMA); ++ // 如果当前端口为无 or 内置Mic,需要关闭侦听GSettings ++ if (portName.isEmpty() || portName.contains("internal") || portName.contains("Mic1")) { ++ if (QGSettings::isSchemaInstalled(KEY_SOUNDS_SCHEMA)) { ++ QGSettings soundSettings(KEY_SOUNDS_SCHEMA); + +- if(m_pSoundSettings->get("loopback").toBool()) +- m_pSoundSettings->set("loopback", "false"); ++ if(soundSettings.get(LOOP_BACK).toBool()) { ++ soundSettings.set(LOOP_BACK, "false"); ++ qInfo() << "Disable GSettings of the Loopback module"; ++ } + } +- +- qDebug() << " updateSource -> m_pSoundSettings->set(loopback, false)"; + } + +- ++ // 当信号发送完,更新defaultInputCard和sourcePortName ++ sourcePortName = portName; ++ defaultInputCard = inputCard; + refreshVolume(SoundType::SOURCE, volume, info.mute); +- qDebug() << __func__ << info.name << sourcePortName; ++ qInfo() << __func__ << "Status1 defaultSource:" << sourceIndex << defaultSourceName << "sourcePort" << sourcePortName; ++ } ++ /* 开启降噪状态下,如果这个source存在多个端口,且不同端口音量相同时,不会触发 noiseReduceSource 回调,导致无法更新 portName */ ++ else if (UKMedia_Equal(masterDevice.toLatin1().data(), info.name) && UKMedia_Equal(defaultSourceName, "noiseReduceSource")) ++ { ++ if (!UKMedia_Equal(info.active_port->name, sourcePortName.toLatin1().data()) || info.card != defaultInputCard) { ++ sendSourcePortChangedSignal(); ++ qInfo() << "Send SIGNAL: sourcePortChanged. Status 2"; ++ } ++ ++ defaultInputCard = info.card; ++ sourcePortName = (info.active_port) ? info.active_port->name : ""; ++ qInfo() << __func__ << "Status2 defaultSource:" << sourceIndex << defaultSourceName << "sourcePort" << sourcePortName; + } + + if (info.ports) { +- QMap<QString,QString>temp; +- for (pa_source_port_info ** sourcePort = info.ports; *sourcePort != nullptr; ++sourcePort) { +- temp.insertMulti(info.name,(*sourcePort)->name); ++ QMap<QString,QString> temp; ++ for (pa_source_port_info **sourcePort = info.ports; *sourcePort != nullptr; ++sourcePort) { ++ temp.insertMulti(info.name, (*sourcePort)->name); + } + + if (sourcePortMap.isEmpty()) { +- sourcePortMap.insertMulti(info.card,temp); ++ sourcePortMap.insertMulti(info.card, temp); + } + + if (!sourcePortMap.values().contains(temp)) { +- sourcePortMap.insertMulti(info.card,temp); ++ sourcePortMap.insertMulti(info.card, temp); + } + } + } +@@ -1708,40 +1710,31 @@ void UkmediaVolumeControl::sourceIndexCb(pa_context *c, const pa_source_info *i, + w->sourceIndex = i->index; + + QString portName = ""; +- if (i->active_port) { +- portName = i->active_port->name; +- } else { +- portName = ""; +- } ++ int inputCard = -1; + +- if (pa_proplist_gets(i->proplist,PA_PROP_DEVICE_MASTER_DEVICE)) { +- portName = w->findMasterDeviceInfo(i->proplist, i->name); ++ if (pa_proplist_gets(i->proplist, PA_PROP_DEVICE_MASTER_DEVICE)) { ++ w->masterDevice = pa_proplist_gets(i->proplist, PA_PROP_DEVICE_MASTER_DEVICE); ++ sourceInfo s = w->getSourceInfoByName(w->masterDevice); ++ inputCard = s.card; ++ portName = s.active_port_name; ++ } ++ else { ++ inputCard = i->card; ++ portName = (i->active_port) ? i->active_port->name : ""; + } + +- if (w->sourcePortName != portName) { +- qDebug() << "Send SIGNAL: sourcePortChanged. Case: different port" << w->sourcePortName << portName; +- w->sourcePortName = portName; ++ // 判断是否发送端口改变信号 ++ if (w->sourcePortName != portName || w->defaultInputCard != inputCard) { + w->sendSourcePortChangedSignal(); +- } else { +- int index = -1; +- if (pa_proplist_gets(i->proplist,PA_PROP_DEVICE_MASTER_DEVICE)) { +- index = w->findPortSourceIndex(w->masterDevice); +- } +- if (w->defaultInputCard != i->card && w->defaultInputCard != index) { +- w->sendSourcePortChangedSignal(); +- qDebug() << "Send SIGNAL: sourcePortChanged. Case: same port, different card" << w->defaultInputCard << i->card; +- } ++ qInfo() << "Send SIGNAL: sourcePortChanged." << w->sourcePortName << portName << w->defaultInputCard << inputCard; + } + +- if (pa_proplist_gets(i->proplist,PA_PROP_DEVICE_MASTER_DEVICE)) { +- w->defaultInputCard = w->findPortSourceIndex(w->masterDevice); +- } else { +- w->defaultInputCard = i->card; +- } ++ // 当信号发送完,更新defaultInputCard和sourcePortName ++ w->sourcePortName = portName; ++ w->defaultInputCard = inputCard; + + w->refreshVolume(SoundType::SOURCE, volume, i->mute); +- +- qDebug() << "sourceIndexCb---" << w->sourcePortName; ++ qDebug() << __func__ << "defaultInputCard" << w->defaultInputCard << "sourcePort" << w->sourcePortName; + } + + void UkmediaVolumeControl::sinkCb(pa_context *c, const pa_sink_info *i, int eol, void *userdata) +@@ -1786,9 +1779,9 @@ void UkmediaVolumeControl::sourceCb(pa_context *c, const pa_source_info *i, int + } + + w->m_pDefaultSource = i; +- w->sourceMap.insert(i->index, w->addSourceInfo(*i)); ++ qInfo() << "sourceCb" << i->index << i->name; + +- qDebug() << __func__ << "Volume:" << i->volume.values[0] << "isMute:" << i->mute << i->name; ++ w->sourceMap.insert(i->index, w->addSourceInfo(*i)); + w->updateSource(*i); + } + +@@ -3061,3 +3054,51 @@ void UkmediaVolumeControl::sendOSDDeviceChangedSignal(QString icon) + m_osdDeviceChangedTimer.start(); + //end + } ++ ++sinkInfo UkmediaVolumeControl::getSinkInfoByIndex(int index) ++{ ++ QMap<int, sinkInfo>::iterator it; ++ ++ for (it = sinkMap.begin(); it != sinkMap.end(); ++it) ++ { ++ if (index == it.key()) ++ return it.value(); ++ } ++ qInfo() << "Can't find sink info by index" << index; ++} ++ ++sinkInfo UkmediaVolumeControl::getSinkInfoByName(QString name) ++{ ++ QMap<int, sinkInfo>::iterator it; ++ ++ for (it = sinkMap.begin(); it != sinkMap.end(); ++it) ++ { ++ if (name == it.value().name) ++ return it.value(); ++ } ++ qInfo() << "Can't find sink info by name" << name; ++} ++ ++sourceInfo UkmediaVolumeControl::getSourceInfoByIndex(int index) ++{ ++ QMap<int, sourceInfo>::iterator it; ++ ++ for (it = sourceMap.begin(); it != sourceMap.end(); ++it) ++ { ++ if (index == it.key()) ++ return it.value(); ++ } ++ qInfo() << "Can't find source info by index" << index; ++} ++ ++sourceInfo UkmediaVolumeControl::getSourceInfoByName(QString name) ++{ ++ QMap<int, sourceInfo>::iterator it; ++ ++ for (it = sourceMap.begin(); it != sourceMap.end(); ++it) ++ { ++ if (name == it.value().name) ++ return it.value(); ++ } ++ qInfo() << "Can't find source info by name" << name; ++} +diff --git a/ukui-volume-control-applet-qt/ukmedia_volume_control.h b/ukui-volume-control-applet-qt/ukmedia_volume_control.h +index b895350..8430554 100644 +--- a/ukui-volume-control-applet-qt/ukmedia_volume_control.h ++++ b/ukui-volume-control-applet-qt/ukmedia_volume_control.h +@@ -47,23 +47,6 @@ + #include "../common/ukmedia_common.h" + #include "ukui_volume_control_user_config.h" + +-#define PA_ID_INVALID ((uint32_t)0xffffffff) +-#define PANGUW_SINK "alsa_output.platform-raoliang-sndcard.analog-stereo" +-#define NOISE_REDUCE_SOURCE "noiseReduceSource" +-#define HISTEN_SINK "histen_sink" +- +-#define SPEAKER "analog-output-speaker" +-#define HUAWEI_SPEAKER "analog-output-speaker-huawei" +- +-#define HEADPHONE_VOLUME 17 +-#define HDMI_VOLUME 100 +-#define OUTPUT_VOLUME 67 +-#define MIC_VOLUME 100 +-#define PA_VOLUME_NORMAL 65536.0 +-#define PA_VOLUME_MIN 0 +-#define UKMEDIA_VOLUME_NORMAL 100.0 +-#define UKMEDIA_VOLUME_MIN 0 +- + class PortInfo { + public: + QByteArray name; +@@ -87,7 +70,6 @@ public: + void UkmediaDbusRegister(); + void insertJson(const JsonType& type, const QString& key, const QJsonValue& value); + int boolToInt(bool b); +- void refreshVolume(int soundType, int info_Vol, bool info_Mute); + void updateCard(UkmediaVolumeControl *c, const pa_card_info &info); + + QString findCardName(int index, QMap<int, QString> cardMap); +@@ -132,7 +114,19 @@ public: + bool setSourceOutputMuted(QString appName, bool status); + void setSourceOutputVolume(int index, int value, int channel); + +- void getModuleIndexByName(QString name); ++ // sinkInfo ++ sinkInfo addSinkInfo(const pa_sink_info& i); ++ sinkInfo getSinkInfoByIndex(int index); ++ sinkInfo getSinkInfoByName(QString name); ++ ++ // sourceInfo ++ sourceInfo addSourceInfo(const pa_source_info& i); ++ sourceInfo getSourceInfoByIndex(int index); ++ sourceInfo getSourceInfoByName(QString name); ++ ++ void refreshVolume(int soundType, int info_Vol, bool info_Mute); ++ ++ int getModuleIndexByName(QString name); + int getDefaultSinkIndex(); + bool setCardProfile(int index,const gchar *name); //设置声卡的配置文件 + bool setDefaultSink(const gchar *name); //设置默认的输出设备 +@@ -210,8 +204,6 @@ public: + + void sendOsdWidgetSignal(QString portName, QString description); + +- sinkInfo addSinkInfo(const pa_sink_info& i); +- sourceInfo addSourceInfo(const pa_source_info& i); + appInfo addSinkInputInfo(const pa_sink_input_info & info); + appInfo addSourceOutputInfo(const pa_source_output_info& info); + void moveSinkInput(QString appName, const char* sinkName); diff -Nru ukui-media-3.25.0.0/debian/patches/0062-63-AI.patch ukui-media-3.25.0.0/debian/patches/0062-63-AI.patch --- ukui-media-3.25.0.0/debian/patches/0062-63-AI.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-media-3.25.0.0/debian/patches/0062-63-AI.patch 2024-10-28 11:26:40.000000000 +0800 @@ -0,0 +1,45 @@ +From: ctfcc <2361134695@qq.com> +Date: Fri, 25 Oct 2024 10:50:10 +0000 +Subject: =?utf-8?b?ITYzIOOAkOS8mOm6kum6nytBSeeJiOOAkeOAkOWjsOmfs+OAkeaOpw==?= + =?utf-8?b?5Yi26Z2i5p2/57y65bCR5aOw6Z+z5qih5Z2XIE1lcmdlIHB1bGwgcmVxdWVzdCAh?= + =?utf-8?b?NjMgZnJvbSBjdGZjYy9vcGVua3lsaW4vbmlsZQ==?= + +--- + audio/audio.pro | 1 + + audio/ukmedia_main_widget.cpp | 4 ++-- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/audio/audio.pro b/audio/audio.pro +index 889bb98..c59d195 100644 +--- a/audio/audio.pro ++++ b/audio/audio.pro +@@ -34,6 +34,7 @@ PKGCONFIG += gio-2.0 \ + libpulse \ + libpulse-mainloop-glib \ + kysdk-qtwidgets \ ++ kysdk-sysinfo \ + kysdk-hardware + #DEFINES += QT_DEPRECATED_WARNINGS + +diff --git a/audio/ukmedia_main_widget.cpp b/audio/ukmedia_main_widget.cpp +index 66290e5..db5ae99 100644 +--- a/audio/ukmedia_main_widget.cpp ++++ b/audio/ukmedia_main_widget.cpp +@@ -1372,7 +1372,7 @@ void UkmediaMainWidget::updateAlert (UkmediaMainWidget *pWidget,const char *aler + int index = -1; + /* Get the current theme's name, and set the parent */ + index = pWidget->m_pSoundWidget->m_pSoundThemeCombobox->currentIndex(); +- if (index != -1) { ++ if (index != -1 && pWidget->m_pThemeNameList.count() > 0) { + themeStr = pWidget->m_pThemeNameList.at(index); + nameStr = pWidget->m_pThemeNameList.at(index); + } +@@ -1954,7 +1954,7 @@ void UkmediaMainWidget::outputMuteButtonSlot() + */ + void UkmediaMainWidget::themeComboxIndexChangedSlot(int index) + { +- if (-1 == index) ++ if (-1 == index || nullptr == m_pGlobalThemeSetting) + return; + + QString theme = m_pSoundWidget->m_pSoundThemeCombobox->currentData().toString(); diff -Nru ukui-media-3.25.0.0/debian/patches/0063-64.patch ukui-media-3.25.0.0/debian/patches/0063-64.patch --- ukui-media-3.25.0.0/debian/patches/0063-64.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-media-3.25.0.0/debian/patches/0063-64.patch 2024-10-28 11:26:40.000000000 +0800 @@ -0,0 +1,37 @@ +From: ctfcc <2361134695@qq.com> +Date: Mon, 28 Oct 2024 03:25:49 +0000 +Subject: =?utf-8?b?ITY0IOino+WGs+e8luivkemUmeivryBNZXJnZSBwdWxsIHJlcXVlc3Qg?= + =?utf-8?b?ITY0IGZyb20gY3RmY2Mvb3Blbmt5bGluL25pbGU=?= + +--- + common/ukmedia_common.h | 2 ++ + ukui-volume-control-applet-qt/ukmedia_volume_control.h | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/common/ukmedia_common.h b/common/ukmedia_common.h +index c479997..5efceb4 100644 +--- a/common/ukmedia_common.h ++++ b/common/ukmedia_common.h +@@ -30,7 +30,9 @@ + #define SETTINGSWIDGET_WIDTH 760 + #define SETTINGSWIDGET_HEIGHT 520 + #define PA_VOLUME_NORMAL 65536.0 ++#define PA_VOLUME_MIN 0.0 + #define UKMEDIA_VOLUME_NORMAL 100.0 ++#define UKMEDIA_VOLUME_MIN 0.0 + + // Init Port Volume + #define MIC_VOLUME 100 +diff --git a/ukui-volume-control-applet-qt/ukmedia_volume_control.h b/ukui-volume-control-applet-qt/ukmedia_volume_control.h +index 8430554..77efdc2 100644 +--- a/ukui-volume-control-applet-qt/ukmedia_volume_control.h ++++ b/ukui-volume-control-applet-qt/ukmedia_volume_control.h +@@ -126,7 +126,7 @@ public: + + void refreshVolume(int soundType, int info_Vol, bool info_Mute); + +- int getModuleIndexByName(QString name); ++ void getModuleIndexByName(QString name); + int getDefaultSinkIndex(); + bool setCardProfile(int index,const gchar *name); //设置声卡的配置文件 + bool setDefaultSink(const gchar *name); //设置默认的输出设备 diff -Nru ukui-media-3.25.0.0/debian/patches/0064-Added-translation-using-Weblate-Vietnamese.patch ukui-media-3.25.0.0/debian/patches/0064-Added-translation-using-Weblate-Vietnamese.patch --- ukui-media-3.25.0.0/debian/patches/0064-Added-translation-using-Weblate-Vietnamese.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-media-3.25.0.0/debian/patches/0064-Added-translation-using-Weblate-Vietnamese.patch 2024-10-28 11:26:40.000000000 +0800 @@ -0,0 +1,1245 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Thu, 13 Feb 2025 10:57:20 +0800 +Subject: Added translation using Weblate (Vietnamese) + +--- + audio/translations/ar.ts | 611 +++++++++++++++++++++++++++++++++++++++++++++++ + audio/translations/vi.ts | 611 +++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 1222 insertions(+) + create mode 100644 audio/translations/ar.ts + create mode 100644 audio/translations/vi.ts + +diff --git a/audio/translations/ar.ts b/audio/translations/ar.ts +new file mode 100644 +index 0000000..facaa88 +--- /dev/null ++++ b/audio/translations/ar.ts +@@ -0,0 +1,611 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="ar"> ++<context> ++ <name>Audio</name> ++ <message> ++ <location filename="../audio.ui" line="26"/> ++ <location filename="../audio.cpp" line="38"/> ++ <source>Audio</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio.cpp" line="93"/> ++ <source>UkccPlugin</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/UkccPlugin/UkccPlugin</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../audio.cpp" line="95"/> ++ <source>ukccplugin test</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/UkccPlugin/ukccplugin test</extra-contents_path> ++ </message> ++</context> ++<context> ++ <name>InputDevWidget</name> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="426"/> ++ <source>Input Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="463"/> ++ <source>Confirm</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>OutputDevWidget</name> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="112"/> ++ <source>Output Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="149"/> ++ <source>Confirm</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="230"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1835"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1914"/> ++ <source>pa_context_get_server_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1414"/> ++ <source>Card callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1432"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1504"/> ++ <source>Sink callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1465"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1533"/> ++ <source>Source callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1562"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2068"/> ++ <source>Sink input callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1581"/> ++ <source>Source output callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1626"/> ++ <source>Client callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1642"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1656"/> ++ <source>Server info callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1703"/> ++ <source>Failed to initialize stream_restore extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1720"/> ++ <source>pa_ext_stream_restore_read() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1737"/> ++ <source>Failed to initialize device manager extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1756"/> ++ <source>pa_ext_device_manager_read() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1773"/> ++ <source>pa_context_get_sink_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1786"/> ++ <source>pa_context_get_source_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1799"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1812"/> ++ <source>pa_context_get_sink_input_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1825"/> ++ <source>pa_context_get_client_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1865"/> ++ <source>pa_context_get_card_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1905"/> ++ <source>pa_context_subscribe() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1921"/> ++ <source>pa_context_client_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1928"/> ++ <source>pa_context_get_card_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1935"/> ++ <source>pa_context_get_sink_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1942"/> ++ <source>pa_context_get_source_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1949"/> ++ <source>pa_context_get_sink_input_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1956"/> ++ <source>pa_context_get_source_output_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1992"/> ++ <source>Ukui Media Volume Control</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaAppCtrlWidget</name> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="37"/> ++ <source>App Sound Control</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="342"/> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="363"/> ++ <source>None</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="899"/> ++ <source>System Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaAppItemWidget</name> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="21"/> ++ <source>Application</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="47"/> ++ <source>Output Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="77"/> ++ <source>Input Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="84"/> ++ <source>This case does not support setting the input device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="104"/> ++ <source>Output Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="111"/> ++ <source>This case does not support setting the output device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="131"/> ++ <source>Confirm</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaDevControlWidget</name> ++ <message> ++ <source>audio device control</source> ++ <translation type="vanished">声音设备管理</translation> ++ </message> ++ <message> ++ <source>output device</source> ++ <translation type="vanished">输出设备</translation> ++ </message> ++ <message> ++ <source>input device</source> ++ <translation type="vanished">输入设备</translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="14"/> ++ <source>Sound Equipment Control</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="26"/> ++ <source>Output Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="27"/> ++ <source>Input Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaInputWidget</name> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="57"/> ++ <source>Input</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Input</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="64"/> ++ <source>Input Device</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Input Device</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="68"/> ++ <source>Volume</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Volume</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="74"/> ++ <source>Input Level</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Input Level</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="84"/> ++ <source>Noise Reduction</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Noise Reduction</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="89"/> ++ <source>Voice Monitor</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/audio/Voice Monitor</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="91"/> ++ <source>(None Device)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="93"/> ++ <source>You can hear your voice in the output device of your choice</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaMainWidget</name> ++ <message> ++ <source>Light-Seeking</source> ++ <translation type="obsolete">寻光</translation> ++ </message> ++ <message> ++ <source>HeYin</source> ++ <translation type="obsolete">和印</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="276"/> ++ <location filename="../ukmedia_main_widget.cpp" line="375"/> ++ <location filename="../ukmedia_main_widget.cpp" line="1179"/> ++ <source>Custom</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="1611"/> ++ <location filename="../ukmedia_main_widget.cpp" line="1613"/> ++ <location filename="../ukmedia_main_widget.cpp" line="1616"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2901"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2906"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2912"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2917"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2933"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2941"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2990"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3095"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3232"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3473"/> ++ <source>None</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaOutputWidget</name> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="74"/> ++ <source>Output</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Output</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="80"/> ++ <source>Output Device</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Output Device</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="84"/> ++ <source>Master Volume</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Master Volume</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="90"/> ++ <source>Balance</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Balance</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="92"/> ++ <source>Left</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="95"/> ++ <source>Right</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="100"/> ++ <source>Volume Increase</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="102"/> ++ <source>Volume above 100% can cause sound distortion and damage your speakers.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="125"/> ++ <source>Mono Audio</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="127"/> ++ <source>It merges the left and right channels into one channel.</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaSettingsWidget</name> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="17"/> ++ <source>Advanced Settings</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="24"/> ++ <source>Sound Equipment Control</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Sound Equipment Control</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="27"/> ++ <location filename="../ukmedia_settings_widget.cpp" line="34"/> ++ <source>Details</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="31"/> ++ <source>App Sound Control</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/App Sound Control</extra-contents_path> ++ </message> ++</context> ++<context> ++ <name>UkmediaSoundEffectsWidget</name> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="59"/> ++ <source>System Sound</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="64"/> ++ <source>Sound Theme</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Sound Theme</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="68"/> ++ <source>Beep Switch</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Beep Switch</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="71"/> ++ <source>Poweroff Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Poweroff Music</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="74"/> ++ <source>Startup Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Startup Music</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="77"/> ++ <source>Wakeup Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Wakeup Music</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="83"/> ++ <source>Notification Sound</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Notification Sound</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="88"/> ++ <source>Volume Control Sound</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Volume Control Sound</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="80"/> ++ <source>Logout Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Logout Music</extra-contents_path> ++ </message> ++</context> ++<context> ++ <name>UkmediaVolumeControl</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="101"/> ++ <location filename="../ukmedia_volume_control.cpp" line="174"/> ++ <location filename="../ukmedia_volume_control.cpp" line="252"/> ++ <location filename="../ukmedia_volume_control.cpp" line="256"/> ++ <location filename="../ukmedia_volume_control.cpp" line="268"/> ++ <source>pa_context_set_sink_volume_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="68"/> ++ <source>pa_context_set_sink_mute_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="117"/> ++ <source>pa_context_set_source_mute_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="141"/> ++ <source>pa_context_set_source_volume_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="285"/> ++ <location filename="../ukmedia_volume_control.cpp" line="289"/> ++ <source>pa_context_set_source_output_volume() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="301"/> ++ <source>pa_context_set_source_output_mute() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="313"/> ++ <source>pa_context_set_card_profile_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="327"/> ++ <source>pa_context_set_default_sink() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="340"/> ++ <source>pa_context_set_default_source() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="356"/> ++ <source>pa_context_set_sink_port_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="370"/> ++ <source>pa_context_set_source_port_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="399"/> ++ <source> (plugged in)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="403"/> ++ <location filename="../ukmedia_volume_control.cpp" line="586"/> ++ <source> (unavailable)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="405"/> ++ <location filename="../ukmedia_volume_control.cpp" line="583"/> ++ <source> (unplugged)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="761"/> ++ <source>Failed to read data from stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="804"/> ++ <source>Peak detect</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="805"/> ++ <source>Failed to create monitoring stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="819"/> ++ <source>Failed to connect monitoring stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="959"/> ++ <source>Ignoring sink-input due to it being designated as an event and thus handled by the Event widget</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1049"/> ++ <source>pa_context_kill_source_output() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1381"/> ++ <source>Establishing connection to PulseAudio. Please wait...</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> +diff --git a/audio/translations/vi.ts b/audio/translations/vi.ts +new file mode 100644 +index 0000000..c0f88e1 +--- /dev/null ++++ b/audio/translations/vi.ts +@@ -0,0 +1,611 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="vi"> ++<context> ++ <name>Audio</name> ++ <message> ++ <location filename="../audio.ui" line="26"/> ++ <location filename="../audio.cpp" line="38"/> ++ <source>Audio</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio.cpp" line="93"/> ++ <source>UkccPlugin</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/UkccPlugin/UkccPlugin</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../audio.cpp" line="95"/> ++ <source>ukccplugin test</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/UkccPlugin/ukccplugin test</extra-contents_path> ++ </message> ++</context> ++<context> ++ <name>InputDevWidget</name> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="426"/> ++ <source>Input Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="463"/> ++ <source>Confirm</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>OutputDevWidget</name> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="112"/> ++ <source>Output Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="149"/> ++ <source>Confirm</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="230"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1835"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1914"/> ++ <source>pa_context_get_server_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1414"/> ++ <source>Card callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1432"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1504"/> ++ <source>Sink callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1465"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1533"/> ++ <source>Source callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1562"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2068"/> ++ <source>Sink input callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1581"/> ++ <source>Source output callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1626"/> ++ <source>Client callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1642"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1656"/> ++ <source>Server info callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1703"/> ++ <source>Failed to initialize stream_restore extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1720"/> ++ <source>pa_ext_stream_restore_read() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1737"/> ++ <source>Failed to initialize device manager extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1756"/> ++ <source>pa_ext_device_manager_read() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1773"/> ++ <source>pa_context_get_sink_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1786"/> ++ <source>pa_context_get_source_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1799"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1812"/> ++ <source>pa_context_get_sink_input_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1825"/> ++ <source>pa_context_get_client_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1865"/> ++ <source>pa_context_get_card_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1905"/> ++ <source>pa_context_subscribe() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1921"/> ++ <source>pa_context_client_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1928"/> ++ <source>pa_context_get_card_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1935"/> ++ <source>pa_context_get_sink_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1942"/> ++ <source>pa_context_get_source_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1949"/> ++ <source>pa_context_get_sink_input_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1956"/> ++ <source>pa_context_get_source_output_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1992"/> ++ <source>Ukui Media Volume Control</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaAppCtrlWidget</name> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="37"/> ++ <source>App Sound Control</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="342"/> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="363"/> ++ <source>None</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="899"/> ++ <source>System Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaAppItemWidget</name> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="21"/> ++ <source>Application</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="47"/> ++ <source>Output Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="77"/> ++ <source>Input Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="84"/> ++ <source>This case does not support setting the input device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="104"/> ++ <source>Output Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="111"/> ++ <source>This case does not support setting the output device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="131"/> ++ <source>Confirm</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaDevControlWidget</name> ++ <message> ++ <source>audio device control</source> ++ <translation type="vanished">声音设备管理</translation> ++ </message> ++ <message> ++ <source>output device</source> ++ <translation type="vanished">输出设备</translation> ++ </message> ++ <message> ++ <source>input device</source> ++ <translation type="vanished">输入设备</translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="14"/> ++ <source>Sound Equipment Control</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="26"/> ++ <source>Output Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="27"/> ++ <source>Input Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaInputWidget</name> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="57"/> ++ <source>Input</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Input</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="64"/> ++ <source>Input Device</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Input Device</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="68"/> ++ <source>Volume</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Volume</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="74"/> ++ <source>Input Level</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Input Level</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="84"/> ++ <source>Noise Reduction</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Noise Reduction</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="89"/> ++ <source>Voice Monitor</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/audio/Voice Monitor</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="91"/> ++ <source>(None Device)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="93"/> ++ <source>You can hear your voice in the output device of your choice</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaMainWidget</name> ++ <message> ++ <source>Light-Seeking</source> ++ <translation type="obsolete">寻光</translation> ++ </message> ++ <message> ++ <source>HeYin</source> ++ <translation type="obsolete">和印</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="276"/> ++ <location filename="../ukmedia_main_widget.cpp" line="375"/> ++ <location filename="../ukmedia_main_widget.cpp" line="1179"/> ++ <source>Custom</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="1611"/> ++ <location filename="../ukmedia_main_widget.cpp" line="1613"/> ++ <location filename="../ukmedia_main_widget.cpp" line="1616"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2901"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2906"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2912"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2917"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2933"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2941"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2990"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3095"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3232"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3473"/> ++ <source>None</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaOutputWidget</name> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="74"/> ++ <source>Output</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Output</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="80"/> ++ <source>Output Device</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Output Device</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="84"/> ++ <source>Master Volume</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Master Volume</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="90"/> ++ <source>Balance</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Balance</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="92"/> ++ <source>Left</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="95"/> ++ <source>Right</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="100"/> ++ <source>Volume Increase</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="102"/> ++ <source>Volume above 100% can cause sound distortion and damage your speakers.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="125"/> ++ <source>Mono Audio</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="127"/> ++ <source>It merges the left and right channels into one channel.</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaSettingsWidget</name> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="17"/> ++ <source>Advanced Settings</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="24"/> ++ <source>Sound Equipment Control</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Sound Equipment Control</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="27"/> ++ <location filename="../ukmedia_settings_widget.cpp" line="34"/> ++ <source>Details</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="31"/> ++ <source>App Sound Control</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/App Sound Control</extra-contents_path> ++ </message> ++</context> ++<context> ++ <name>UkmediaSoundEffectsWidget</name> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="59"/> ++ <source>System Sound</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="64"/> ++ <source>Sound Theme</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Sound Theme</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="68"/> ++ <source>Beep Switch</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Beep Switch</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="71"/> ++ <source>Poweroff Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Poweroff Music</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="74"/> ++ <source>Startup Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Startup Music</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="77"/> ++ <source>Wakeup Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Wakeup Music</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="83"/> ++ <source>Notification Sound</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Notification Sound</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="88"/> ++ <source>Volume Control Sound</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Volume Control Sound</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="80"/> ++ <source>Logout Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Logout Music</extra-contents_path> ++ </message> ++</context> ++<context> ++ <name>UkmediaVolumeControl</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="101"/> ++ <location filename="../ukmedia_volume_control.cpp" line="174"/> ++ <location filename="../ukmedia_volume_control.cpp" line="252"/> ++ <location filename="../ukmedia_volume_control.cpp" line="256"/> ++ <location filename="../ukmedia_volume_control.cpp" line="268"/> ++ <source>pa_context_set_sink_volume_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="68"/> ++ <source>pa_context_set_sink_mute_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="117"/> ++ <source>pa_context_set_source_mute_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="141"/> ++ <source>pa_context_set_source_volume_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="285"/> ++ <location filename="../ukmedia_volume_control.cpp" line="289"/> ++ <source>pa_context_set_source_output_volume() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="301"/> ++ <source>pa_context_set_source_output_mute() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="313"/> ++ <source>pa_context_set_card_profile_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="327"/> ++ <source>pa_context_set_default_sink() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="340"/> ++ <source>pa_context_set_default_source() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="356"/> ++ <source>pa_context_set_sink_port_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="370"/> ++ <source>pa_context_set_source_port_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="399"/> ++ <source> (plugged in)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="403"/> ++ <location filename="../ukmedia_volume_control.cpp" line="586"/> ++ <source> (unavailable)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="405"/> ++ <location filename="../ukmedia_volume_control.cpp" line="583"/> ++ <source> (unplugged)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="761"/> ++ <source>Failed to read data from stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="804"/> ++ <source>Peak detect</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="805"/> ++ <source>Failed to create monitoring stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="819"/> ++ <source>Failed to connect monitoring stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="959"/> ++ <source>Ignoring sink-input due to it being designated as an event and thus handled by the Event widget</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1049"/> ++ <source>pa_context_kill_source_output() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1381"/> ++ <source>Establishing connection to PulseAudio. Please wait...</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> diff -Nru ukui-media-3.25.0.0/debian/patches/0065-Translated-using-Weblate-Vietnamese.patch ukui-media-3.25.0.0/debian/patches/0065-Translated-using-Weblate-Vietnamese.patch --- ukui-media-3.25.0.0/debian/patches/0065-Translated-using-Weblate-Vietnamese.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-media-3.25.0.0/debian/patches/0065-Translated-using-Weblate-Vietnamese.patch 2024-10-28 11:26:40.000000000 +0800 @@ -0,0 +1,1351 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Thu, 13 Feb 2025 02:59:31 +0000 +Subject: Translated using Weblate (Vietnamese) + +Currently translated at 100.0% (99 of 99 strings) + +Translation: openkylin-nile-new/audio +Translate-URL: http://weblate.openkylin.top/projects/openkylin-nile-new/audio/vi/ +--- + audio/translations/ar.ts | 198 +++++++++++++++++++++++------------------------ + audio/translations/vi.ts | 198 +++++++++++++++++++++++------------------------ + 2 files changed, 198 insertions(+), 198 deletions(-) + +diff --git a/audio/translations/ar.ts b/audio/translations/ar.ts +index facaa88..f899125 100644 +--- a/audio/translations/ar.ts ++++ b/audio/translations/ar.ts +@@ -7,18 +7,18 @@ + <location filename="../audio.ui" line="26"/> + <location filename="../audio.cpp" line="38"/> + <source>Audio</source> +- <translation type="unfinished"></translation> ++ <translation>صوتي</translation> + </message> + <message> + <location filename="../audio.cpp" line="93"/> + <source>UkccPlugin</source> +- <translation type="unfinished"></translation> ++ <translation>UkccPlugin</translation> + <extra-contents_path>/UkccPlugin/UkccPlugin</extra-contents_path> + </message> + <message> + <location filename="../audio.cpp" line="95"/> + <source>ukccplugin test</source> +- <translation type="unfinished"></translation> ++ <translation>اختبار ukccplugin</translation> + <extra-contents_path>/UkccPlugin/ukccplugin test</extra-contents_path> + </message> + </context> +@@ -27,12 +27,12 @@ + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="426"/> + <source>Input Devices</source> +- <translation type="unfinished"></translation> ++ <translation>أجهزة الإدخال</translation> + </message> + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="463"/> + <source>Confirm</source> +- <translation type="unfinished"></translation> ++ <translation>أكد</translation> + </message> + </context> + <context> +@@ -40,12 +40,12 @@ + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="112"/> + <source>Output Devices</source> +- <translation type="unfinished"></translation> ++ <translation>أجهزة الإخراج</translation> + </message> + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="149"/> + <source>Confirm</source> +- <translation type="unfinished"></translation> ++ <translation>أكد</translation> + </message> + </context> + <context> +@@ -55,132 +55,132 @@ + <location filename="../ukmedia_volume_control.cpp" line="1835"/> + <location filename="../ukmedia_volume_control.cpp" line="1914"/> + <source>pa_context_get_server_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_server_info()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1414"/> + <source>Card callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>فشل معاودة الاتصال بالبطاقة</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1432"/> + <location filename="../ukmedia_volume_control.cpp" line="1504"/> + <source>Sink callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>فشل معاودة الاتصال بالحوض</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1465"/> + <location filename="../ukmedia_volume_control.cpp" line="1533"/> + <source>Source callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>فشل معاودة الاتصال بالمصدر</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1562"/> + <location filename="../ukmedia_volume_control.cpp" line="2068"/> + <source>Sink input callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>فشل معاودة الاتصال بإدخال المتلقي</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1581"/> + <source>Source output callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>فشل معاودة الاتصال بإخراج المصدر</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1626"/> + <source>Client callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>فشل معاودة الاتصال بالعميل</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1642"/> + <location filename="../ukmedia_volume_control.cpp" line="1656"/> + <source>Server info callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>فشل معاودة الاتصال بمعلومات الخادم</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1703"/> + <source>Failed to initialize stream_restore extension: %s</source> +- <translation type="unfinished"></translation> ++ <translation>فشل تهيئة stream_restore الملحق: ٪s</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1720"/> + <source>pa_ext_stream_restore_read() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_ext_stream_restore_read()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1737"/> + <source>Failed to initialize device manager extension: %s</source> +- <translation type="unfinished"></translation> ++ <translation>فشل تهيئة ملحق إدارة الأجهزة: ٪s</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1756"/> + <source>pa_ext_device_manager_read() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_ext_device_manager_read()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1773"/> + <source>pa_context_get_sink_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_sink_info_by_index()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1786"/> + <source>pa_context_get_source_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_source_info_by_index()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1799"/> + <location filename="../ukmedia_volume_control.cpp" line="1812"/> + <source>pa_context_get_sink_input_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_sink_input_info()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1825"/> + <source>pa_context_get_client_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_client_info()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1865"/> + <source>pa_context_get_card_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_card_info_by_index()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1905"/> + <source>pa_context_subscribe() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_subscribe()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1921"/> + <source>pa_context_client_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_client_info_list()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1928"/> + <source>pa_context_get_card_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_card_info_list()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1935"/> + <source>pa_context_get_sink_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_sink_info_list()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1942"/> + <source>pa_context_get_source_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_source_info_list()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1949"/> + <source>pa_context_get_sink_input_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_sink_input_info_list()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1956"/> + <source>pa_context_get_source_output_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_source_output_info_list()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1992"/> + <source>Ukui Media Volume Control</source> +- <translation type="unfinished"></translation> ++ <translation>التحكم في مستوى صوت وسائط Ukui</translation> + </message> + </context> + <context> +@@ -188,18 +188,18 @@ + <message> + <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="37"/> + <source>App Sound Control</source> +- <translation type="unfinished"></translation> ++ <translation>التحكم في الصوت في التطبيق</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="342"/> + <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="363"/> + <source>None</source> +- <translation type="unfinished"></translation> ++ <translation>اي</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="899"/> + <source>System Volume</source> +- <translation type="unfinished"></translation> ++ <translation>حجم النظام</translation> + </message> + </context> + <context> +@@ -207,37 +207,37 @@ + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="21"/> + <source>Application</source> +- <translation type="unfinished"></translation> ++ <translation>تطبيق</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="47"/> + <source>Output Volume</source> +- <translation type="unfinished"></translation> ++ <translation>حجم الإخراج</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="77"/> + <source>Input Device</source> +- <translation type="unfinished"></translation> ++ <translation>جهاز الإدخال</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="84"/> + <source>This case does not support setting the input device</source> +- <translation type="unfinished"></translation> ++ <translation>هذه الحالة لا تدعم إعداد جهاز الإدخال</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="104"/> + <source>Output Device</source> +- <translation type="unfinished"></translation> ++ <translation>جهاز الإخراج</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="111"/> + <source>This case does not support setting the output device</source> +- <translation type="unfinished"></translation> ++ <translation>لا تدعم هذه الحالة إعداد جهاز الإخراج</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="131"/> + <source>Confirm</source> +- <translation type="unfinished"></translation> ++ <translation>أكد</translation> + </message> + </context> + <context> +@@ -257,17 +257,17 @@ + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="14"/> + <source>Sound Equipment Control</source> +- <translation type="unfinished"></translation> ++ <translation>التحكم في معدات الصوت</translation> + </message> + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="26"/> + <source>Output Devices</source> +- <translation type="unfinished"></translation> ++ <translation>أجهزة الإخراج</translation> + </message> + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="27"/> + <source>Input Devices</source> +- <translation type="unfinished"></translation> ++ <translation>أجهزة الإدخال</translation> + </message> + </context> + <context> +@@ -275,48 +275,48 @@ + <message> + <location filename="../ukmedia_input_widget.cpp" line="57"/> + <source>Input</source> +- <translation type="unfinished"></translation> ++ <translation>الادخال</translation> + <extra-contents_path>/Audio/Input</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="64"/> + <source>Input Device</source> +- <translation type="unfinished"></translation> ++ <translation>جهاز الإدخال</translation> + <extra-contents_path>/Audio/Input Device</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="68"/> + <source>Volume</source> +- <translation type="unfinished"></translation> ++ <translation>حجم</translation> + <extra-contents_path>/Audio/Volume</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="74"/> + <source>Input Level</source> +- <translation type="unfinished"></translation> ++ <translation>مستوى الإدخال</translation> + <extra-contents_path>/Audio/Input Level</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="84"/> + <source>Noise Reduction</source> +- <translation type="unfinished"></translation> ++ <translation>تقليل الضوضاء</translation> + <extra-contents_path>/Audio/Noise Reduction</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="89"/> + <source>Voice Monitor</source> +- <translation type="unfinished"></translation> ++ <translation>مراقب الصوت</translation> + <extra-contents_path>/audio/Voice Monitor</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="91"/> + <source>(None Device)</source> +- <translation type="unfinished"></translation> ++ <translation>(لا يوجد جهاز)</translation> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="93"/> + <source>You can hear your voice in the output device of your choice</source> +- <translation type="unfinished"></translation> ++ <translation>يمكنك سماع صوتك في جهاز الإخراج الذي تختاره</translation> + </message> + </context> + <context> +@@ -334,7 +334,7 @@ + <location filename="../ukmedia_main_widget.cpp" line="375"/> + <location filename="../ukmedia_main_widget.cpp" line="1179"/> + <source>Custom</source> +- <translation type="unfinished"></translation> ++ <translation>تقليد</translation> + </message> + <message> + <location filename="../ukmedia_main_widget.cpp" line="1611"/> +@@ -351,7 +351,7 @@ + <location filename="../ukmedia_main_widget.cpp" line="3232"/> + <location filename="../ukmedia_main_widget.cpp" line="3473"/> + <source>None</source> +- <translation type="unfinished"></translation> ++ <translation>اي</translation> + </message> + </context> + <context> +@@ -359,56 +359,56 @@ + <message> + <location filename="../ukmedia_output_widget.cpp" line="74"/> + <source>Output</source> +- <translation type="unfinished"></translation> ++ <translation>الناتج</translation> + <extra-contents_path>/Audio/Output</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="80"/> + <source>Output Device</source> +- <translation type="unfinished"></translation> ++ <translation>جهاز الإخراج</translation> + <extra-contents_path>/Audio/Output Device</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="84"/> + <source>Master Volume</source> +- <translation type="unfinished"></translation> ++ <translation>حجم رئيسي</translation> + <extra-contents_path>/Audio/Master Volume</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="90"/> + <source>Balance</source> +- <translation type="unfinished"></translation> ++ <translation>توازن</translation> + <extra-contents_path>/Audio/Balance</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="92"/> + <source>Left</source> +- <translation type="unfinished"></translation> ++ <translation>يسار</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="95"/> + <source>Right</source> +- <translation type="unfinished"></translation> ++ <translation>يمين</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="100"/> + <source>Volume Increase</source> +- <translation type="unfinished"></translation> ++ <translation>زيادة الحجم</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="102"/> + <source>Volume above 100% can cause sound distortion and damage your speakers.</source> +- <translation type="unfinished"></translation> ++ <translation>يمكن أن يتسبب مستوى الصوت الذي يزيد عن 100٪ في تشويه الصوت وإتلاف مكبرات الصوت الخاصة بك.</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="125"/> + <source>Mono Audio</source> +- <translation type="unfinished"></translation> ++ <translation>صوت أحادي</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="127"/> + <source>It merges the left and right channels into one channel.</source> +- <translation type="unfinished"></translation> ++ <translation>يدمج القناتين اليمنى واليسرى في قناة واحدة.</translation> + </message> + </context> + <context> +@@ -416,24 +416,24 @@ + <message> + <location filename="../ukmedia_settings_widget.cpp" line="17"/> + <source>Advanced Settings</source> +- <translation type="unfinished"></translation> ++ <translation>الإعدادات المتقدمة</translation> + </message> + <message> + <location filename="../ukmedia_settings_widget.cpp" line="24"/> + <source>Sound Equipment Control</source> +- <translation type="unfinished"></translation> ++ <translation>التحكم في معدات الصوت</translation> + <extra-contents_path>/Audio/Sound Equipment Control</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_settings_widget.cpp" line="27"/> + <location filename="../ukmedia_settings_widget.cpp" line="34"/> + <source>Details</source> +- <translation type="unfinished"></translation> ++ <translation>التفاصيل</translation> + </message> + <message> + <location filename="../ukmedia_settings_widget.cpp" line="31"/> + <source>App Sound Control</source> +- <translation type="unfinished"></translation> ++ <translation>التحكم في الصوت في التطبيق</translation> + <extra-contents_path>/Audio/App Sound Control</extra-contents_path> + </message> + </context> +@@ -442,54 +442,54 @@ + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="59"/> + <source>System Sound</source> +- <translation type="unfinished"></translation> ++ <translation>صوت النظام</translation> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="64"/> + <source>Sound Theme</source> +- <translation type="unfinished"></translation> ++ <translation>موضوع الصوت</translation> + <extra-contents_path>/Audio/Sound Theme</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="68"/> + <source>Beep Switch</source> +- <translation type="unfinished"></translation> ++ <translation>مفتاح الصفير</translation> + <extra-contents_path>/Audio/Beep Switch</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="71"/> + <source>Poweroff Music</source> +- <translation type="unfinished"></translation> ++ <translation>موسيقى Poweroff</translation> + <extra-contents_path>/Audio/Poweroff Music</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="74"/> + <source>Startup Music</source> +- <translation type="unfinished"></translation> ++ <translation>موسيقى بدء التشغيل</translation> + <extra-contents_path>/Audio/Startup Music</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="77"/> + <source>Wakeup Music</source> +- <translation type="unfinished"></translation> ++ <translation>موسيقى الاستيقاظ</translation> + <extra-contents_path>/Audio/Wakeup Music</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="83"/> + <source>Notification Sound</source> +- <translation type="unfinished"></translation> ++ <translation>صوت الإخطار</translation> + <extra-contents_path>/Audio/Notification Sound</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="88"/> + <source>Volume Control Sound</source> +- <translation type="unfinished"></translation> ++ <translation>صوت التحكم في مستوى الصوت</translation> + <extra-contents_path>/Audio/Volume Control Sound</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="80"/> + <source>Logout Music</source> +- <translation type="unfinished"></translation> ++ <translation>تسجيل الخروج الموسيقى</translation> + <extra-contents_path>/Audio/Logout Music</extra-contents_path> + </message> + </context> +@@ -502,110 +502,110 @@ + <location filename="../ukmedia_volume_control.cpp" line="256"/> + <location filename="../ukmedia_volume_control.cpp" line="268"/> + <source>pa_context_set_sink_volume_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_sink_volume_by_index()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="68"/> + <source>pa_context_set_sink_mute_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_sink_mute_by_index()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="117"/> + <source>pa_context_set_source_mute_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_source_mute_by_index()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="141"/> + <source>pa_context_set_source_volume_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_source_volume_by_index()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="285"/> + <location filename="../ukmedia_volume_control.cpp" line="289"/> + <source>pa_context_set_source_output_volume() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_source_output_volume()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="301"/> + <source>pa_context_set_source_output_mute() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_source_output_mute()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="313"/> + <source>pa_context_set_card_profile_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_card_profile_by_index()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="327"/> + <source>pa_context_set_default_sink() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_default_sink()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="340"/> + <source>pa_context_set_default_source() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_default_source()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="356"/> + <source>pa_context_set_sink_port_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_sink_port_by_name()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="370"/> + <source>pa_context_set_source_port_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_source_port_by_name()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="399"/> + <source> (plugged in)</source> +- <translation type="unfinished"></translation> ++ <translation> (موصول)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="403"/> + <location filename="../ukmedia_volume_control.cpp" line="586"/> + <source> (unavailable)</source> +- <translation type="unfinished"></translation> ++ <translation> (غير متوفر)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="405"/> + <location filename="../ukmedia_volume_control.cpp" line="583"/> + <source> (unplugged)</source> +- <translation type="unfinished"></translation> ++ <translation> (غير متصل)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="761"/> + <source>Failed to read data from stream</source> +- <translation type="unfinished"></translation> ++ <translation>فشل قراءة البيانات من الدفق</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="804"/> + <source>Peak detect</source> +- <translation type="unfinished"></translation> ++ <translation>اكتشاف الذروة</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="805"/> + <source>Failed to create monitoring stream</source> +- <translation type="unfinished"></translation> ++ <translation>فشل في إنشاء دفق المراقبة</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="819"/> + <source>Failed to connect monitoring stream</source> +- <translation type="unfinished"></translation> ++ <translation>فشل في توصيل دفق المراقبة</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="959"/> + <source>Ignoring sink-input due to it being designated as an event and thus handled by the Event widget</source> +- <translation type="unfinished"></translation> ++ <translation>تجاهل إدخال المتلقي بسبب تعيينه كحدث وبالتالي التعامل معه بواسطة عنصر واجهة مستخدم الحدث</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1049"/> + <source>pa_context_kill_source_output() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_kill_source_output()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1381"/> + <source>Establishing connection to PulseAudio. Please wait...</source> +- <translation type="unfinished"></translation> ++ <translation>إنشاء اتصال ب PulseAudio. الرجاء الانتظار...</translation> + </message> + </context> + </TS> +diff --git a/audio/translations/vi.ts b/audio/translations/vi.ts +index c0f88e1..0031f4c 100644 +--- a/audio/translations/vi.ts ++++ b/audio/translations/vi.ts +@@ -7,18 +7,18 @@ + <location filename="../audio.ui" line="26"/> + <location filename="../audio.cpp" line="38"/> + <source>Audio</source> +- <translation type="unfinished"></translation> ++ <translation>Âm thanh</translation> + </message> + <message> + <location filename="../audio.cpp" line="93"/> + <source>UkccPlugin</source> +- <translation type="unfinished"></translation> ++ <translation>Plugin Ukcc</translation> + <extra-contents_path>/UkccPlugin/UkccPlugin</extra-contents_path> + </message> + <message> + <location filename="../audio.cpp" line="95"/> + <source>ukccplugin test</source> +- <translation type="unfinished"></translation> ++ <translation>kiểm tra ukccplugin</translation> + <extra-contents_path>/UkccPlugin/ukccplugin test</extra-contents_path> + </message> + </context> +@@ -27,12 +27,12 @@ + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="426"/> + <source>Input Devices</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết bị đầu vào</translation> + </message> + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="463"/> + <source>Confirm</source> +- <translation type="unfinished"></translation> ++ <translation>Xác nhận</translation> + </message> + </context> + <context> +@@ -40,12 +40,12 @@ + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="112"/> + <source>Output Devices</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết bị đầu ra</translation> + </message> + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="149"/> + <source>Confirm</source> +- <translation type="unfinished"></translation> ++ <translation>Xác nhận</translation> + </message> + </context> + <context> +@@ -55,132 +55,132 @@ + <location filename="../ukmedia_volume_control.cpp" line="1835"/> + <location filename="../ukmedia_volume_control.cpp" line="1914"/> + <source>pa_context_get_server_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_server_info() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1414"/> + <source>Card callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Gọi lại thẻ không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1432"/> + <location filename="../ukmedia_volume_control.cpp" line="1504"/> + <source>Sink callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Lỗi gọi lại chìm</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1465"/> + <location filename="../ukmedia_volume_control.cpp" line="1533"/> + <source>Source callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Lỗi gọi lại nguồn</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1562"/> + <location filename="../ukmedia_volume_control.cpp" line="2068"/> + <source>Sink input callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Lỗi gọi lại đầu vào chìm</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1581"/> + <source>Source output callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Lỗi gọi lại đầu ra nguồn</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1626"/> + <source>Client callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Lỗi gọi lại máy khách</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1642"/> + <location filename="../ukmedia_volume_control.cpp" line="1656"/> + <source>Server info callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Lỗi gọi lại thông tin máy chủ</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1703"/> + <source>Failed to initialize stream_restore extension: %s</source> +- <translation type="unfinished"></translation> ++ <translation>Không thể khởi tạo stream_restore phần mở rộng: %s</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1720"/> + <source>pa_ext_stream_restore_read() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_ext_stream_restore_read() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1737"/> + <source>Failed to initialize device manager extension: %s</source> +- <translation type="unfinished"></translation> ++ <translation>Không khởi tạo được phần mở rộng trình quản lý thiết bị: %s</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1756"/> + <source>pa_ext_device_manager_read() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_ext_device_manager_read() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1773"/> + <source>pa_context_get_sink_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_info_by_index() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1786"/> + <source>pa_context_get_source_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_source_info_by_index() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1799"/> + <location filename="../ukmedia_volume_control.cpp" line="1812"/> + <source>pa_context_get_sink_input_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_input_info() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1825"/> + <source>pa_context_get_client_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_client_info() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1865"/> + <source>pa_context_get_card_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_card_info_by_index() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1905"/> + <source>pa_context_subscribe() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_subscribe() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1921"/> + <source>pa_context_client_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_client_info_list() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1928"/> + <source>pa_context_get_card_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_card_info_list() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1935"/> + <source>pa_context_get_sink_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_info_list() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1942"/> + <source>pa_context_get_source_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_source_info_list() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1949"/> + <source>pa_context_get_sink_input_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_input_info_list() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1956"/> + <source>pa_context_get_source_output_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_source_output_info_list() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1992"/> + <source>Ukui Media Volume Control</source> +- <translation type="unfinished"></translation> ++ <translation>Điều khiển âm lượng phương tiện Ukui</translation> + </message> + </context> + <context> +@@ -188,18 +188,18 @@ + <message> + <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="37"/> + <source>App Sound Control</source> +- <translation type="unfinished"></translation> ++ <translation>Kiểm soát âm thanh ứng dụng</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="342"/> + <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="363"/> + <source>None</source> +- <translation type="unfinished"></translation> ++ <translation>Không ai</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="899"/> + <source>System Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Khối lượng hệ thống</translation> + </message> + </context> + <context> +@@ -207,37 +207,37 @@ + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="21"/> + <source>Application</source> +- <translation type="unfinished"></translation> ++ <translation>Ứng dụng</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="47"/> + <source>Output Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Khối lượng đầu ra</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="77"/> + <source>Input Device</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết bị đầu vào</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="84"/> + <source>This case does not support setting the input device</source> +- <translation type="unfinished"></translation> ++ <translation>Trường hợp này không hỗ trợ cài đặt thiết bị đầu vào</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="104"/> + <source>Output Device</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết bị đầu ra</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="111"/> + <source>This case does not support setting the output device</source> +- <translation type="unfinished"></translation> ++ <translation>Trường hợp này không hỗ trợ cài đặt thiết bị đầu ra</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="131"/> + <source>Confirm</source> +- <translation type="unfinished"></translation> ++ <translation>Xác nhận</translation> + </message> + </context> + <context> +@@ -257,17 +257,17 @@ + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="14"/> + <source>Sound Equipment Control</source> +- <translation type="unfinished"></translation> ++ <translation>Điều khiển thiết bị âm thanh</translation> + </message> + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="26"/> + <source>Output Devices</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết bị đầu ra</translation> + </message> + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="27"/> + <source>Input Devices</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết bị đầu vào</translation> + </message> + </context> + <context> +@@ -275,48 +275,48 @@ + <message> + <location filename="../ukmedia_input_widget.cpp" line="57"/> + <source>Input</source> +- <translation type="unfinished"></translation> ++ <translation>Nhập</translation> + <extra-contents_path>/Audio/Input</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="64"/> + <source>Input Device</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết bị đầu vào</translation> + <extra-contents_path>/Audio/Input Device</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="68"/> + <source>Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Âm lượng</translation> + <extra-contents_path>/Audio/Volume</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="74"/> + <source>Input Level</source> +- <translation type="unfinished"></translation> ++ <translation>Mức đầu vào</translation> + <extra-contents_path>/Audio/Input Level</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="84"/> + <source>Noise Reduction</source> +- <translation type="unfinished"></translation> ++ <translation>Giảm tiếng ồn</translation> + <extra-contents_path>/Audio/Noise Reduction</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="89"/> + <source>Voice Monitor</source> +- <translation type="unfinished"></translation> ++ <translation>Màn hình giọng nói</translation> + <extra-contents_path>/audio/Voice Monitor</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="91"/> + <source>(None Device)</source> +- <translation type="unfinished"></translation> ++ <translation>(Không có thiết bị)</translation> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="93"/> + <source>You can hear your voice in the output device of your choice</source> +- <translation type="unfinished"></translation> ++ <translation>Bạn có thể nghe thấy giọng nói của mình trong thiết bị đầu ra mà bạn chọn</translation> + </message> + </context> + <context> +@@ -334,7 +334,7 @@ + <location filename="../ukmedia_main_widget.cpp" line="375"/> + <location filename="../ukmedia_main_widget.cpp" line="1179"/> + <source>Custom</source> +- <translation type="unfinished"></translation> ++ <translation>Phong tục</translation> + </message> + <message> + <location filename="../ukmedia_main_widget.cpp" line="1611"/> +@@ -351,7 +351,7 @@ + <location filename="../ukmedia_main_widget.cpp" line="3232"/> + <location filename="../ukmedia_main_widget.cpp" line="3473"/> + <source>None</source> +- <translation type="unfinished"></translation> ++ <translation>Không ai</translation> + </message> + </context> + <context> +@@ -359,56 +359,56 @@ + <message> + <location filename="../ukmedia_output_widget.cpp" line="74"/> + <source>Output</source> +- <translation type="unfinished"></translation> ++ <translation>Ra</translation> + <extra-contents_path>/Audio/Output</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="80"/> + <source>Output Device</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết bị đầu ra</translation> + <extra-contents_path>/Audio/Output Device</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="84"/> + <source>Master Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Khối lượng chính</translation> + <extra-contents_path>/Audio/Master Volume</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="90"/> + <source>Balance</source> +- <translation type="unfinished"></translation> ++ <translation>Cân</translation> + <extra-contents_path>/Audio/Balance</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="92"/> + <source>Left</source> +- <translation type="unfinished"></translation> ++ <translation>Bên trái</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="95"/> + <source>Right</source> +- <translation type="unfinished"></translation> ++ <translation>Bên phải</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="100"/> + <source>Volume Increase</source> +- <translation type="unfinished"></translation> ++ <translation>Tăng âm lượng</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="102"/> + <source>Volume above 100% can cause sound distortion and damage your speakers.</source> +- <translation type="unfinished"></translation> ++ <translation>Âm lượng trên 100% có thể gây méo âm thanh và làm hỏng loa của bạn.</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="125"/> + <source>Mono Audio</source> +- <translation type="unfinished"></translation> ++ <translation>Âm thanh đơn âm</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="127"/> + <source>It merges the left and right channels into one channel.</source> +- <translation type="unfinished"></translation> ++ <translation>Nó hợp nhất các kênh trái và phải thành một kênh.</translation> + </message> + </context> + <context> +@@ -416,24 +416,24 @@ + <message> + <location filename="../ukmedia_settings_widget.cpp" line="17"/> + <source>Advanced Settings</source> +- <translation type="unfinished"></translation> ++ <translation>Cài đặt nâng cao</translation> + </message> + <message> + <location filename="../ukmedia_settings_widget.cpp" line="24"/> + <source>Sound Equipment Control</source> +- <translation type="unfinished"></translation> ++ <translation>Điều khiển thiết bị âm thanh</translation> + <extra-contents_path>/Audio/Sound Equipment Control</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_settings_widget.cpp" line="27"/> + <location filename="../ukmedia_settings_widget.cpp" line="34"/> + <source>Details</source> +- <translation type="unfinished"></translation> ++ <translation>Chi tiết</translation> + </message> + <message> + <location filename="../ukmedia_settings_widget.cpp" line="31"/> + <source>App Sound Control</source> +- <translation type="unfinished"></translation> ++ <translation>Kiểm soát âm thanh ứng dụng</translation> + <extra-contents_path>/Audio/App Sound Control</extra-contents_path> + </message> + </context> +@@ -442,54 +442,54 @@ + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="59"/> + <source>System Sound</source> +- <translation type="unfinished"></translation> ++ <translation>Âm thanh hệ thống</translation> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="64"/> + <source>Sound Theme</source> +- <translation type="unfinished"></translation> ++ <translation>Chủ đề âm thanh</translation> + <extra-contents_path>/Audio/Sound Theme</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="68"/> + <source>Beep Switch</source> +- <translation type="unfinished"></translation> ++ <translation>Công tắc bíp</translation> + <extra-contents_path>/Audio/Beep Switch</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="71"/> + <source>Poweroff Music</source> +- <translation type="unfinished"></translation> ++ <translation>Tắt nguồn âm nhạc</translation> + <extra-contents_path>/Audio/Poweroff Music</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="74"/> + <source>Startup Music</source> +- <translation type="unfinished"></translation> ++ <translation>Âm nhạc khởi động</translation> + <extra-contents_path>/Audio/Startup Music</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="77"/> + <source>Wakeup Music</source> +- <translation type="unfinished"></translation> ++ <translation>Nhạc đánh thức</translation> + <extra-contents_path>/Audio/Wakeup Music</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="83"/> + <source>Notification Sound</source> +- <translation type="unfinished"></translation> ++ <translation>Âm thanh thông báo</translation> + <extra-contents_path>/Audio/Notification Sound</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="88"/> + <source>Volume Control Sound</source> +- <translation type="unfinished"></translation> ++ <translation>Âm thanh điều chỉnh âm lượng</translation> + <extra-contents_path>/Audio/Volume Control Sound</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="80"/> + <source>Logout Music</source> +- <translation type="unfinished"></translation> ++ <translation>Đăng xuất nhạc</translation> + <extra-contents_path>/Audio/Logout Music</extra-contents_path> + </message> + </context> +@@ -502,110 +502,110 @@ + <location filename="../ukmedia_volume_control.cpp" line="256"/> + <location filename="../ukmedia_volume_control.cpp" line="268"/> + <source>pa_context_set_sink_volume_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_sink_volume_by_index() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="68"/> + <source>pa_context_set_sink_mute_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_sink_mute_by_index() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="117"/> + <source>pa_context_set_source_mute_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_mute_by_index() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="141"/> + <source>pa_context_set_source_volume_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_volume_by_index() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="285"/> + <location filename="../ukmedia_volume_control.cpp" line="289"/> + <source>pa_context_set_source_output_volume() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_output_volume() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="301"/> + <source>pa_context_set_source_output_mute() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_output_mute() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="313"/> + <source>pa_context_set_card_profile_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_card_profile_by_index() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="327"/> + <source>pa_context_set_default_sink() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_default_sink() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="340"/> + <source>pa_context_set_default_source() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_default_source() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="356"/> + <source>pa_context_set_sink_port_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_sink_port_by_name() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="370"/> + <source>pa_context_set_source_port_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_port_by_name() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="399"/> + <source> (plugged in)</source> +- <translation type="unfinished"></translation> ++ <translation> (cắm vào)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="403"/> + <location filename="../ukmedia_volume_control.cpp" line="586"/> + <source> (unavailable)</source> +- <translation type="unfinished"></translation> ++ <translation> (không có sẵn)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="405"/> + <location filename="../ukmedia_volume_control.cpp" line="583"/> + <source> (unplugged)</source> +- <translation type="unfinished"></translation> ++ <translation> (rút phích cắm)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="761"/> + <source>Failed to read data from stream</source> +- <translation type="unfinished"></translation> ++ <translation>Không đọc được dữ liệu từ luồng</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="804"/> + <source>Peak detect</source> +- <translation type="unfinished"></translation> ++ <translation>Phát hiện đỉnh</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="805"/> + <source>Failed to create monitoring stream</source> +- <translation type="unfinished"></translation> ++ <translation>Không thể tạo luồng giám sát</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="819"/> + <source>Failed to connect monitoring stream</source> +- <translation type="unfinished"></translation> ++ <translation>Không kết nối được luồng giám sát</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="959"/> + <source>Ignoring sink-input due to it being designated as an event and thus handled by the Event widget</source> +- <translation type="unfinished"></translation> ++ <translation>Bỏ qua sink-input do nó được chỉ định là một sự kiện và do đó được xử lý bởi tiện ích Event</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1049"/> + <source>pa_context_kill_source_output() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_kill_source_output() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1381"/> + <source>Establishing connection to PulseAudio. Please wait...</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết lập kết nối với PulseAudio. Hãy chờ...</translation> + </message> + </context> + </TS> diff -Nru ukui-media-3.25.0.0/debian/patches/0066-Added-translation-using-Weblate-Vietnamese.patch ukui-media-3.25.0.0/debian/patches/0066-Added-translation-using-Weblate-Vietnamese.patch --- ukui-media-3.25.0.0/debian/patches/0066-Added-translation-using-Weblate-Vietnamese.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-media-3.25.0.0/debian/patches/0066-Added-translation-using-Weblate-Vietnamese.patch 2024-10-28 11:26:40.000000000 +0800 @@ -0,0 +1,1033 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Thu, 13 Feb 2025 11:04:14 +0800 +Subject: Added translation using Weblate (Vietnamese) + +--- + ukui-volume-control-applet-qt/translations/ar.ts | 505 +++++++++++++++++++++++ + ukui-volume-control-applet-qt/translations/vi.ts | 505 +++++++++++++++++++++++ + 2 files changed, 1010 insertions(+) + create mode 100644 ukui-volume-control-applet-qt/translations/ar.ts + create mode 100644 ukui-volume-control-applet-qt/translations/vi.ts + +diff --git a/ukui-volume-control-applet-qt/translations/ar.ts b/ukui-volume-control-applet-qt/translations/ar.ts +new file mode 100644 +index 0000000..3fd529b +--- /dev/null ++++ b/ukui-volume-control-applet-qt/translations/ar.ts +@@ -0,0 +1,505 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="ar"> ++<context> ++ <name>ApplicationVolumeWidget</name> ++ <message> ++ <location filename="../ukmedia_application_volume_widget.cpp" line="43"/> ++ <source>Application Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_application_volume_widget.cpp" line="32"/> ++ <source>System Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_application_volume_widget.cpp" line="96"/> ++ <source>Sound Settings</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>DeviceSwitchWidget</name> ++ <message> ++ <source>Go Into Mini Mode</source> ++ <translation type="vanished">进入Mini模式</translation> ++ </message> ++ <message> ++ <source>Output volume control</source> ++ <translation type="vanished">输出音量控制</translation> ++ </message> ++ <message> ++ <source>Mute</source> ++ <translation type="vanished">静音</translation> ++ </message> ++ <message> ++ <source>Sound preference(S)</source> ++ <translation type="vanished">声音首选项</translation> ++ </message> ++ <message> ++ <source>Device Volume</source> ++ <translation type="vanished">设备音量</translation> ++ </message> ++ <message> ++ <source>Application Volume</source> ++ <translation type="vanished">应用音量</translation> ++ </message> ++ <message> ++ <source>is using</source> ++ <translation type="vanished">正在使用</translation> ++ </message> ++ <message> ++ <source>Bluetooth</source> ++ <translation type="vanished">蓝牙</translation> ++ </message> ++ <message> ++ <source>Error</source> ++ <translation type="vanished">错误</translation> ++ </message> ++ <message> ++ <source>Unable to connect to the sound system, please check whether the pulseaudio service is running!</source> ++ <translation type="vanished">无法连接到系统声音,请检查pulseaudio服务是否正在运行!</translation> ++ </message> ++ <message> ++ <source>Dummy output</source> ++ <translation type="vanished">伪输出</translation> ++ </message> ++ <message> ++ <source>Speaker (Realtek Audio)</source> ++ <translation type="vanished">扬声器(Realtek Audio)</translation> ++ </message> ++ <message> ++ <source>Headphone</source> ++ <translation type="vanished">模拟耳机</translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2182"/> ++ <source>pa_context_subscribe() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2205"/> ++ <source>pa_context_get_card_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2212"/> ++ <source>pa_context_get_sink_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2219"/> ++ <source>pa_context_get_source_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1936"/> ++ <source>Failed to initialize stream_restore extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1951"/> ++ <source>pa_ext_stream_restore_read() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2044"/> ++ <source>pa_context_get_sink_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2057"/> ++ <source>pa_context_get_source_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1920"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2118"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2144"/> ++ <source>pa_context_get_card_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1557"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1576"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1606"/> ++ <source>Card callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1640"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1756"/> ++ <source>Sink callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1698"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1778"/> ++ <source>Source callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="97"/> ++ <source>Fatal Error: Unable to connect to PulseAudio</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="287"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2106"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2191"/> ++ <source>pa_context_get_server_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1799"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2336"/> ++ <source>Sink input callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1818"/> ++ <source>Source output callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1846"/> ++ <source>Client callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1862"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1906"/> ++ <source>Server info callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1969"/> ++ <source>Failed to initialize device restore extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1990"/> ++ <source>pa_ext_device_restore_read_sink_formats() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2008"/> ++ <source>Failed to initialize device manager extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2027"/> ++ <source>pa_ext_device_manager_read() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2070"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2083"/> ++ <source>pa_context_get_sink_input_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2096"/> ++ <source>pa_context_get_client_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2198"/> ++ <source>pa_context_client_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2226"/> ++ <source>pa_context_get_sink_input_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2233"/> ++ <source>pa_context_get_source_output_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2267"/> ++ <source>moduleInfoCb callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2284"/> ++ <source>Ukui Media Volume Control</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="3044"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3071"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3126"/> ++ <source>pa_context_load_module() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../main.cpp" line="72"/> ++ <source>ukui-volume-control-applet-qt is already running!</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaDeviceWidget</name> ++ <message> ++ <source>Input Device</source> ++ <translation type="vanished">输入设备</translation> ++ </message> ++ <message> ++ <source>Microphone</source> ++ <translation type="vanished">麦克风</translation> ++ </message> ++ <message> ++ <source>Output Device</source> ++ <translation type="vanished">输出设备</translation> ++ </message> ++ <message> ++ <source>Speaker Realtek Audio</source> ++ <translation type="vanished">扬声器(Realtek Audio)</translation> ++ </message> ++ <message> ++ <source>Input device can not be detected</source> ++ <translation type="vanished">无法检测到输入设备</translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaMainWidget</name> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="110"/> ++ <source>Output volume control</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>Mute</source> ++ <translation type="vanished">静音</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="112"/> ++ <location filename="../ukmedia_main_widget.cpp" line="114"/> ++ <source>Sound preference(S)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="180"/> ++ <source>System Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="182"/> ++ <source>App Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="788"/> ++ <source>Current volume:</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaMiniMasterVolumeWidget</name> ++ <message> ++ <source>Speaker (Realtek Audio)</source> ++ <translation type="vanished">扬声器(Realtek Audio)</translation> ++ </message> ++ <message> ++ <source>Go Into Full Mode</source> ++ <translation type="vanished">进入完整模式</translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaSystemVolumeWidget</name> ++ <message> ++ <location filename="../ukmedia_system_volume_widget.cpp" line="74"/> ++ <source>Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_system_volume_widget.cpp" line="86"/> ++ <source>Output</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_system_volume_widget.cpp" line="103"/> ++ <source>Sound Settings</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaVolumeControl</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="108"/> ++ <location filename="../ukmedia_volume_control.cpp" line="129"/> ++ <source>pa_context_set_sink_mute_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="134"/> ++ <location filename="../ukmedia_volume_control.cpp" line="195"/> ++ <location filename="../ukmedia_volume_control.cpp" line="339"/> ++ <location filename="../ukmedia_volume_control.cpp" line="343"/> ++ <location filename="../ukmedia_volume_control.cpp" line="360"/> ++ <source>pa_context_set_sink_volume_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="154"/> ++ <location filename="../ukmedia_volume_control.cpp" line="211"/> ++ <source>pa_context_set_source_mute_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="159"/> ++ <location filename="../ukmedia_volume_control.cpp" line="242"/> ++ <source>pa_context_set_source_volume_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="380"/> ++ <source>pa_context_move_sink_input_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="399"/> ++ <source>pa_context_move_source_output_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="420"/> ++ <location filename="../ukmedia_volume_control.cpp" line="424"/> ++ <source>pa_context_set_source_output_volume() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="442"/> ++ <source>pa_context_set_source_output_mute() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="460"/> ++ <source>pa_context_set_card_profile_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="479"/> ++ <location filename="../ukmedia_volume_control.cpp" line="486"/> ++ <source>pa_context_set_default_sink() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="504"/> ++ <source>pa_context_set_default_source() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="520"/> ++ <source>pa_context_set_sink_port_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="535"/> ++ <source>pa_context_set_source_port_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="548"/> ++ <source>pa_context_kill_sink_input() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="577"/> ++ <source> (plugged in)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="581"/> ++ <location filename="../ukmedia_volume_control.cpp" line="739"/> ++ <source> (unavailable)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="583"/> ++ <location filename="../ukmedia_volume_control.cpp" line="736"/> ++ <source> (unplugged)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1072"/> ++ <source>Failed to read data from stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1113"/> ++ <source>Peak detect</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1114"/> ++ <source>Failed to create monitoring stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1129"/> ++ <source>Failed to connect monitoring stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1290"/> ++ <source>Ignoring sink-input due to it being designated as an event and thus handled by the Event widget</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1527"/> ++ <source>Establishing connection to PulseAudio. Please wait...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1871"/> ++ <source>pa_context_get_sink_info_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1875"/> ++ <source>pa_context_get_source_info_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkuiMediaSetHeadsetWidget</name> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="36"/> ++ <source>Sound Settings</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="37"/> ++ <source>Cancel</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="38"/> ++ <source>Select Sound Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="67"/> ++ <source>Headphone</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="68"/> ++ <source>Headset</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="69"/> ++ <source>Microphone</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> +diff --git a/ukui-volume-control-applet-qt/translations/vi.ts b/ukui-volume-control-applet-qt/translations/vi.ts +new file mode 100644 +index 0000000..9eac816 +--- /dev/null ++++ b/ukui-volume-control-applet-qt/translations/vi.ts +@@ -0,0 +1,505 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="vi"> ++<context> ++ <name>ApplicationVolumeWidget</name> ++ <message> ++ <location filename="../ukmedia_application_volume_widget.cpp" line="43"/> ++ <source>Application Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_application_volume_widget.cpp" line="32"/> ++ <source>System Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_application_volume_widget.cpp" line="96"/> ++ <source>Sound Settings</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>DeviceSwitchWidget</name> ++ <message> ++ <source>Go Into Mini Mode</source> ++ <translation type="vanished">进入Mini模式</translation> ++ </message> ++ <message> ++ <source>Output volume control</source> ++ <translation type="vanished">输出音量控制</translation> ++ </message> ++ <message> ++ <source>Mute</source> ++ <translation type="vanished">静音</translation> ++ </message> ++ <message> ++ <source>Sound preference(S)</source> ++ <translation type="vanished">声音首选项</translation> ++ </message> ++ <message> ++ <source>Device Volume</source> ++ <translation type="vanished">设备音量</translation> ++ </message> ++ <message> ++ <source>Application Volume</source> ++ <translation type="vanished">应用音量</translation> ++ </message> ++ <message> ++ <source>is using</source> ++ <translation type="vanished">正在使用</translation> ++ </message> ++ <message> ++ <source>Bluetooth</source> ++ <translation type="vanished">蓝牙</translation> ++ </message> ++ <message> ++ <source>Error</source> ++ <translation type="vanished">错误</translation> ++ </message> ++ <message> ++ <source>Unable to connect to the sound system, please check whether the pulseaudio service is running!</source> ++ <translation type="vanished">无法连接到系统声音,请检查pulseaudio服务是否正在运行!</translation> ++ </message> ++ <message> ++ <source>Dummy output</source> ++ <translation type="vanished">伪输出</translation> ++ </message> ++ <message> ++ <source>Speaker (Realtek Audio)</source> ++ <translation type="vanished">扬声器(Realtek Audio)</translation> ++ </message> ++ <message> ++ <source>Headphone</source> ++ <translation type="vanished">模拟耳机</translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2182"/> ++ <source>pa_context_subscribe() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2205"/> ++ <source>pa_context_get_card_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2212"/> ++ <source>pa_context_get_sink_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2219"/> ++ <source>pa_context_get_source_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1936"/> ++ <source>Failed to initialize stream_restore extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1951"/> ++ <source>pa_ext_stream_restore_read() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2044"/> ++ <source>pa_context_get_sink_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2057"/> ++ <source>pa_context_get_source_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1920"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2118"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2144"/> ++ <source>pa_context_get_card_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1557"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1576"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1606"/> ++ <source>Card callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1640"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1756"/> ++ <source>Sink callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1698"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1778"/> ++ <source>Source callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="97"/> ++ <source>Fatal Error: Unable to connect to PulseAudio</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="287"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2106"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2191"/> ++ <source>pa_context_get_server_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1799"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2336"/> ++ <source>Sink input callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1818"/> ++ <source>Source output callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1846"/> ++ <source>Client callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1862"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1906"/> ++ <source>Server info callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1969"/> ++ <source>Failed to initialize device restore extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1990"/> ++ <source>pa_ext_device_restore_read_sink_formats() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2008"/> ++ <source>Failed to initialize device manager extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2027"/> ++ <source>pa_ext_device_manager_read() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2070"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2083"/> ++ <source>pa_context_get_sink_input_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2096"/> ++ <source>pa_context_get_client_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2198"/> ++ <source>pa_context_client_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2226"/> ++ <source>pa_context_get_sink_input_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2233"/> ++ <source>pa_context_get_source_output_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2267"/> ++ <source>moduleInfoCb callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2284"/> ++ <source>Ukui Media Volume Control</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="3044"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3071"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3126"/> ++ <source>pa_context_load_module() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../main.cpp" line="72"/> ++ <source>ukui-volume-control-applet-qt is already running!</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaDeviceWidget</name> ++ <message> ++ <source>Input Device</source> ++ <translation type="vanished">输入设备</translation> ++ </message> ++ <message> ++ <source>Microphone</source> ++ <translation type="vanished">麦克风</translation> ++ </message> ++ <message> ++ <source>Output Device</source> ++ <translation type="vanished">输出设备</translation> ++ </message> ++ <message> ++ <source>Speaker Realtek Audio</source> ++ <translation type="vanished">扬声器(Realtek Audio)</translation> ++ </message> ++ <message> ++ <source>Input device can not be detected</source> ++ <translation type="vanished">无法检测到输入设备</translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaMainWidget</name> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="110"/> ++ <source>Output volume control</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>Mute</source> ++ <translation type="vanished">静音</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="112"/> ++ <location filename="../ukmedia_main_widget.cpp" line="114"/> ++ <source>Sound preference(S)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="180"/> ++ <source>System Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="182"/> ++ <source>App Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="788"/> ++ <source>Current volume:</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaMiniMasterVolumeWidget</name> ++ <message> ++ <source>Speaker (Realtek Audio)</source> ++ <translation type="vanished">扬声器(Realtek Audio)</translation> ++ </message> ++ <message> ++ <source>Go Into Full Mode</source> ++ <translation type="vanished">进入完整模式</translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaSystemVolumeWidget</name> ++ <message> ++ <location filename="../ukmedia_system_volume_widget.cpp" line="74"/> ++ <source>Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_system_volume_widget.cpp" line="86"/> ++ <source>Output</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_system_volume_widget.cpp" line="103"/> ++ <source>Sound Settings</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaVolumeControl</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="108"/> ++ <location filename="../ukmedia_volume_control.cpp" line="129"/> ++ <source>pa_context_set_sink_mute_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="134"/> ++ <location filename="../ukmedia_volume_control.cpp" line="195"/> ++ <location filename="../ukmedia_volume_control.cpp" line="339"/> ++ <location filename="../ukmedia_volume_control.cpp" line="343"/> ++ <location filename="../ukmedia_volume_control.cpp" line="360"/> ++ <source>pa_context_set_sink_volume_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="154"/> ++ <location filename="../ukmedia_volume_control.cpp" line="211"/> ++ <source>pa_context_set_source_mute_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="159"/> ++ <location filename="../ukmedia_volume_control.cpp" line="242"/> ++ <source>pa_context_set_source_volume_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="380"/> ++ <source>pa_context_move_sink_input_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="399"/> ++ <source>pa_context_move_source_output_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="420"/> ++ <location filename="../ukmedia_volume_control.cpp" line="424"/> ++ <source>pa_context_set_source_output_volume() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="442"/> ++ <source>pa_context_set_source_output_mute() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="460"/> ++ <source>pa_context_set_card_profile_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="479"/> ++ <location filename="../ukmedia_volume_control.cpp" line="486"/> ++ <source>pa_context_set_default_sink() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="504"/> ++ <source>pa_context_set_default_source() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="520"/> ++ <source>pa_context_set_sink_port_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="535"/> ++ <source>pa_context_set_source_port_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="548"/> ++ <source>pa_context_kill_sink_input() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="577"/> ++ <source> (plugged in)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="581"/> ++ <location filename="../ukmedia_volume_control.cpp" line="739"/> ++ <source> (unavailable)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="583"/> ++ <location filename="../ukmedia_volume_control.cpp" line="736"/> ++ <source> (unplugged)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1072"/> ++ <source>Failed to read data from stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1113"/> ++ <source>Peak detect</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1114"/> ++ <source>Failed to create monitoring stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1129"/> ++ <source>Failed to connect monitoring stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1290"/> ++ <source>Ignoring sink-input due to it being designated as an event and thus handled by the Event widget</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1527"/> ++ <source>Establishing connection to PulseAudio. Please wait...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1871"/> ++ <source>pa_context_get_sink_info_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1875"/> ++ <source>pa_context_get_source_info_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkuiMediaSetHeadsetWidget</name> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="36"/> ++ <source>Sound Settings</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="37"/> ++ <source>Cancel</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="38"/> ++ <source>Select Sound Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="67"/> ++ <source>Headphone</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="68"/> ++ <source>Headset</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="69"/> ++ <source>Microphone</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> diff -Nru ukui-media-3.25.0.0/debian/patches/0067-Added-translation-using-Weblate-French.patch ukui-media-3.25.0.0/debian/patches/0067-Added-translation-using-Weblate-French.patch --- ukui-media-3.25.0.0/debian/patches/0067-Added-translation-using-Weblate-French.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-media-3.25.0.0/debian/patches/0067-Added-translation-using-Weblate-French.patch 2024-10-28 11:26:40.000000000 +0800 @@ -0,0 +1,1864 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Thu, 13 Feb 2025 11:09:02 +0800 +Subject: Added translation using Weblate (French) + +--- + audio/translations/de.ts | 611 +++++++++++++++++++++++++++++++++++++++++++++++ + audio/translations/es.ts | 611 +++++++++++++++++++++++++++++++++++++++++++++++ + audio/translations/fr.ts | 611 +++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 1833 insertions(+) + create mode 100644 audio/translations/de.ts + create mode 100644 audio/translations/es.ts + create mode 100644 audio/translations/fr.ts + +diff --git a/audio/translations/de.ts b/audio/translations/de.ts +new file mode 100644 +index 0000000..2a9bf74 +--- /dev/null ++++ b/audio/translations/de.ts +@@ -0,0 +1,611 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="de"> ++<context> ++ <name>Audio</name> ++ <message> ++ <location filename="../audio.ui" line="26"/> ++ <location filename="../audio.cpp" line="38"/> ++ <source>Audio</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio.cpp" line="93"/> ++ <source>UkccPlugin</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/UkccPlugin/UkccPlugin</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../audio.cpp" line="95"/> ++ <source>ukccplugin test</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/UkccPlugin/ukccplugin test</extra-contents_path> ++ </message> ++</context> ++<context> ++ <name>InputDevWidget</name> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="426"/> ++ <source>Input Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="463"/> ++ <source>Confirm</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>OutputDevWidget</name> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="112"/> ++ <source>Output Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="149"/> ++ <source>Confirm</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="230"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1835"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1914"/> ++ <source>pa_context_get_server_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1414"/> ++ <source>Card callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1432"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1504"/> ++ <source>Sink callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1465"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1533"/> ++ <source>Source callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1562"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2068"/> ++ <source>Sink input callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1581"/> ++ <source>Source output callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1626"/> ++ <source>Client callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1642"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1656"/> ++ <source>Server info callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1703"/> ++ <source>Failed to initialize stream_restore extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1720"/> ++ <source>pa_ext_stream_restore_read() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1737"/> ++ <source>Failed to initialize device manager extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1756"/> ++ <source>pa_ext_device_manager_read() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1773"/> ++ <source>pa_context_get_sink_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1786"/> ++ <source>pa_context_get_source_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1799"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1812"/> ++ <source>pa_context_get_sink_input_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1825"/> ++ <source>pa_context_get_client_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1865"/> ++ <source>pa_context_get_card_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1905"/> ++ <source>pa_context_subscribe() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1921"/> ++ <source>pa_context_client_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1928"/> ++ <source>pa_context_get_card_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1935"/> ++ <source>pa_context_get_sink_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1942"/> ++ <source>pa_context_get_source_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1949"/> ++ <source>pa_context_get_sink_input_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1956"/> ++ <source>pa_context_get_source_output_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1992"/> ++ <source>Ukui Media Volume Control</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaAppCtrlWidget</name> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="37"/> ++ <source>App Sound Control</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="342"/> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="363"/> ++ <source>None</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="899"/> ++ <source>System Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaAppItemWidget</name> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="21"/> ++ <source>Application</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="47"/> ++ <source>Output Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="77"/> ++ <source>Input Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="84"/> ++ <source>This case does not support setting the input device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="104"/> ++ <source>Output Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="111"/> ++ <source>This case does not support setting the output device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="131"/> ++ <source>Confirm</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaDevControlWidget</name> ++ <message> ++ <source>audio device control</source> ++ <translation type="vanished">声音设备管理</translation> ++ </message> ++ <message> ++ <source>output device</source> ++ <translation type="vanished">输出设备</translation> ++ </message> ++ <message> ++ <source>input device</source> ++ <translation type="vanished">输入设备</translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="14"/> ++ <source>Sound Equipment Control</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="26"/> ++ <source>Output Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="27"/> ++ <source>Input Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaInputWidget</name> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="57"/> ++ <source>Input</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Input</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="64"/> ++ <source>Input Device</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Input Device</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="68"/> ++ <source>Volume</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Volume</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="74"/> ++ <source>Input Level</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Input Level</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="84"/> ++ <source>Noise Reduction</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Noise Reduction</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="89"/> ++ <source>Voice Monitor</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/audio/Voice Monitor</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="91"/> ++ <source>(None Device)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="93"/> ++ <source>You can hear your voice in the output device of your choice</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaMainWidget</name> ++ <message> ++ <source>Light-Seeking</source> ++ <translation type="obsolete">寻光</translation> ++ </message> ++ <message> ++ <source>HeYin</source> ++ <translation type="obsolete">和印</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="276"/> ++ <location filename="../ukmedia_main_widget.cpp" line="375"/> ++ <location filename="../ukmedia_main_widget.cpp" line="1179"/> ++ <source>Custom</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="1611"/> ++ <location filename="../ukmedia_main_widget.cpp" line="1613"/> ++ <location filename="../ukmedia_main_widget.cpp" line="1616"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2901"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2906"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2912"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2917"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2933"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2941"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2990"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3095"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3232"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3473"/> ++ <source>None</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaOutputWidget</name> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="74"/> ++ <source>Output</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Output</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="80"/> ++ <source>Output Device</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Output Device</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="84"/> ++ <source>Master Volume</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Master Volume</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="90"/> ++ <source>Balance</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Balance</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="92"/> ++ <source>Left</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="95"/> ++ <source>Right</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="100"/> ++ <source>Volume Increase</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="102"/> ++ <source>Volume above 100% can cause sound distortion and damage your speakers.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="125"/> ++ <source>Mono Audio</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="127"/> ++ <source>It merges the left and right channels into one channel.</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaSettingsWidget</name> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="17"/> ++ <source>Advanced Settings</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="24"/> ++ <source>Sound Equipment Control</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Sound Equipment Control</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="27"/> ++ <location filename="../ukmedia_settings_widget.cpp" line="34"/> ++ <source>Details</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="31"/> ++ <source>App Sound Control</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/App Sound Control</extra-contents_path> ++ </message> ++</context> ++<context> ++ <name>UkmediaSoundEffectsWidget</name> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="59"/> ++ <source>System Sound</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="64"/> ++ <source>Sound Theme</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Sound Theme</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="68"/> ++ <source>Beep Switch</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Beep Switch</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="71"/> ++ <source>Poweroff Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Poweroff Music</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="74"/> ++ <source>Startup Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Startup Music</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="77"/> ++ <source>Wakeup Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Wakeup Music</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="83"/> ++ <source>Notification Sound</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Notification Sound</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="88"/> ++ <source>Volume Control Sound</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Volume Control Sound</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="80"/> ++ <source>Logout Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Logout Music</extra-contents_path> ++ </message> ++</context> ++<context> ++ <name>UkmediaVolumeControl</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="101"/> ++ <location filename="../ukmedia_volume_control.cpp" line="174"/> ++ <location filename="../ukmedia_volume_control.cpp" line="252"/> ++ <location filename="../ukmedia_volume_control.cpp" line="256"/> ++ <location filename="../ukmedia_volume_control.cpp" line="268"/> ++ <source>pa_context_set_sink_volume_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="68"/> ++ <source>pa_context_set_sink_mute_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="117"/> ++ <source>pa_context_set_source_mute_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="141"/> ++ <source>pa_context_set_source_volume_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="285"/> ++ <location filename="../ukmedia_volume_control.cpp" line="289"/> ++ <source>pa_context_set_source_output_volume() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="301"/> ++ <source>pa_context_set_source_output_mute() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="313"/> ++ <source>pa_context_set_card_profile_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="327"/> ++ <source>pa_context_set_default_sink() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="340"/> ++ <source>pa_context_set_default_source() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="356"/> ++ <source>pa_context_set_sink_port_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="370"/> ++ <source>pa_context_set_source_port_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="399"/> ++ <source> (plugged in)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="403"/> ++ <location filename="../ukmedia_volume_control.cpp" line="586"/> ++ <source> (unavailable)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="405"/> ++ <location filename="../ukmedia_volume_control.cpp" line="583"/> ++ <source> (unplugged)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="761"/> ++ <source>Failed to read data from stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="804"/> ++ <source>Peak detect</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="805"/> ++ <source>Failed to create monitoring stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="819"/> ++ <source>Failed to connect monitoring stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="959"/> ++ <source>Ignoring sink-input due to it being designated as an event and thus handled by the Event widget</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1049"/> ++ <source>pa_context_kill_source_output() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1381"/> ++ <source>Establishing connection to PulseAudio. Please wait...</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> +diff --git a/audio/translations/es.ts b/audio/translations/es.ts +new file mode 100644 +index 0000000..eb4cdb6 +--- /dev/null ++++ b/audio/translations/es.ts +@@ -0,0 +1,611 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="es"> ++<context> ++ <name>Audio</name> ++ <message> ++ <location filename="../audio.ui" line="26"/> ++ <location filename="../audio.cpp" line="38"/> ++ <source>Audio</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio.cpp" line="93"/> ++ <source>UkccPlugin</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/UkccPlugin/UkccPlugin</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../audio.cpp" line="95"/> ++ <source>ukccplugin test</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/UkccPlugin/ukccplugin test</extra-contents_path> ++ </message> ++</context> ++<context> ++ <name>InputDevWidget</name> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="426"/> ++ <source>Input Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="463"/> ++ <source>Confirm</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>OutputDevWidget</name> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="112"/> ++ <source>Output Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="149"/> ++ <source>Confirm</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="230"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1835"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1914"/> ++ <source>pa_context_get_server_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1414"/> ++ <source>Card callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1432"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1504"/> ++ <source>Sink callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1465"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1533"/> ++ <source>Source callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1562"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2068"/> ++ <source>Sink input callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1581"/> ++ <source>Source output callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1626"/> ++ <source>Client callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1642"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1656"/> ++ <source>Server info callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1703"/> ++ <source>Failed to initialize stream_restore extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1720"/> ++ <source>pa_ext_stream_restore_read() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1737"/> ++ <source>Failed to initialize device manager extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1756"/> ++ <source>pa_ext_device_manager_read() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1773"/> ++ <source>pa_context_get_sink_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1786"/> ++ <source>pa_context_get_source_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1799"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1812"/> ++ <source>pa_context_get_sink_input_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1825"/> ++ <source>pa_context_get_client_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1865"/> ++ <source>pa_context_get_card_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1905"/> ++ <source>pa_context_subscribe() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1921"/> ++ <source>pa_context_client_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1928"/> ++ <source>pa_context_get_card_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1935"/> ++ <source>pa_context_get_sink_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1942"/> ++ <source>pa_context_get_source_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1949"/> ++ <source>pa_context_get_sink_input_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1956"/> ++ <source>pa_context_get_source_output_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1992"/> ++ <source>Ukui Media Volume Control</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaAppCtrlWidget</name> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="37"/> ++ <source>App Sound Control</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="342"/> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="363"/> ++ <source>None</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="899"/> ++ <source>System Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaAppItemWidget</name> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="21"/> ++ <source>Application</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="47"/> ++ <source>Output Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="77"/> ++ <source>Input Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="84"/> ++ <source>This case does not support setting the input device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="104"/> ++ <source>Output Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="111"/> ++ <source>This case does not support setting the output device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="131"/> ++ <source>Confirm</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaDevControlWidget</name> ++ <message> ++ <source>audio device control</source> ++ <translation type="vanished">声音设备管理</translation> ++ </message> ++ <message> ++ <source>output device</source> ++ <translation type="vanished">输出设备</translation> ++ </message> ++ <message> ++ <source>input device</source> ++ <translation type="vanished">输入设备</translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="14"/> ++ <source>Sound Equipment Control</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="26"/> ++ <source>Output Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="27"/> ++ <source>Input Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaInputWidget</name> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="57"/> ++ <source>Input</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Input</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="64"/> ++ <source>Input Device</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Input Device</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="68"/> ++ <source>Volume</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Volume</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="74"/> ++ <source>Input Level</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Input Level</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="84"/> ++ <source>Noise Reduction</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Noise Reduction</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="89"/> ++ <source>Voice Monitor</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/audio/Voice Monitor</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="91"/> ++ <source>(None Device)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="93"/> ++ <source>You can hear your voice in the output device of your choice</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaMainWidget</name> ++ <message> ++ <source>Light-Seeking</source> ++ <translation type="obsolete">寻光</translation> ++ </message> ++ <message> ++ <source>HeYin</source> ++ <translation type="obsolete">和印</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="276"/> ++ <location filename="../ukmedia_main_widget.cpp" line="375"/> ++ <location filename="../ukmedia_main_widget.cpp" line="1179"/> ++ <source>Custom</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="1611"/> ++ <location filename="../ukmedia_main_widget.cpp" line="1613"/> ++ <location filename="../ukmedia_main_widget.cpp" line="1616"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2901"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2906"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2912"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2917"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2933"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2941"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2990"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3095"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3232"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3473"/> ++ <source>None</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaOutputWidget</name> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="74"/> ++ <source>Output</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Output</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="80"/> ++ <source>Output Device</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Output Device</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="84"/> ++ <source>Master Volume</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Master Volume</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="90"/> ++ <source>Balance</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Balance</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="92"/> ++ <source>Left</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="95"/> ++ <source>Right</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="100"/> ++ <source>Volume Increase</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="102"/> ++ <source>Volume above 100% can cause sound distortion and damage your speakers.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="125"/> ++ <source>Mono Audio</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="127"/> ++ <source>It merges the left and right channels into one channel.</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaSettingsWidget</name> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="17"/> ++ <source>Advanced Settings</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="24"/> ++ <source>Sound Equipment Control</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Sound Equipment Control</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="27"/> ++ <location filename="../ukmedia_settings_widget.cpp" line="34"/> ++ <source>Details</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="31"/> ++ <source>App Sound Control</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/App Sound Control</extra-contents_path> ++ </message> ++</context> ++<context> ++ <name>UkmediaSoundEffectsWidget</name> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="59"/> ++ <source>System Sound</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="64"/> ++ <source>Sound Theme</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Sound Theme</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="68"/> ++ <source>Beep Switch</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Beep Switch</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="71"/> ++ <source>Poweroff Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Poweroff Music</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="74"/> ++ <source>Startup Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Startup Music</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="77"/> ++ <source>Wakeup Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Wakeup Music</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="83"/> ++ <source>Notification Sound</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Notification Sound</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="88"/> ++ <source>Volume Control Sound</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Volume Control Sound</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="80"/> ++ <source>Logout Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Logout Music</extra-contents_path> ++ </message> ++</context> ++<context> ++ <name>UkmediaVolumeControl</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="101"/> ++ <location filename="../ukmedia_volume_control.cpp" line="174"/> ++ <location filename="../ukmedia_volume_control.cpp" line="252"/> ++ <location filename="../ukmedia_volume_control.cpp" line="256"/> ++ <location filename="../ukmedia_volume_control.cpp" line="268"/> ++ <source>pa_context_set_sink_volume_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="68"/> ++ <source>pa_context_set_sink_mute_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="117"/> ++ <source>pa_context_set_source_mute_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="141"/> ++ <source>pa_context_set_source_volume_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="285"/> ++ <location filename="../ukmedia_volume_control.cpp" line="289"/> ++ <source>pa_context_set_source_output_volume() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="301"/> ++ <source>pa_context_set_source_output_mute() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="313"/> ++ <source>pa_context_set_card_profile_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="327"/> ++ <source>pa_context_set_default_sink() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="340"/> ++ <source>pa_context_set_default_source() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="356"/> ++ <source>pa_context_set_sink_port_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="370"/> ++ <source>pa_context_set_source_port_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="399"/> ++ <source> (plugged in)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="403"/> ++ <location filename="../ukmedia_volume_control.cpp" line="586"/> ++ <source> (unavailable)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="405"/> ++ <location filename="../ukmedia_volume_control.cpp" line="583"/> ++ <source> (unplugged)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="761"/> ++ <source>Failed to read data from stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="804"/> ++ <source>Peak detect</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="805"/> ++ <source>Failed to create monitoring stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="819"/> ++ <source>Failed to connect monitoring stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="959"/> ++ <source>Ignoring sink-input due to it being designated as an event and thus handled by the Event widget</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1049"/> ++ <source>pa_context_kill_source_output() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1381"/> ++ <source>Establishing connection to PulseAudio. Please wait...</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> +diff --git a/audio/translations/fr.ts b/audio/translations/fr.ts +new file mode 100644 +index 0000000..7f24455 +--- /dev/null ++++ b/audio/translations/fr.ts +@@ -0,0 +1,611 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="fr"> ++<context> ++ <name>Audio</name> ++ <message> ++ <location filename="../audio.ui" line="26"/> ++ <location filename="../audio.cpp" line="38"/> ++ <source>Audio</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio.cpp" line="93"/> ++ <source>UkccPlugin</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/UkccPlugin/UkccPlugin</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../audio.cpp" line="95"/> ++ <source>ukccplugin test</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/UkccPlugin/ukccplugin test</extra-contents_path> ++ </message> ++</context> ++<context> ++ <name>InputDevWidget</name> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="426"/> ++ <source>Input Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="463"/> ++ <source>Confirm</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>OutputDevWidget</name> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="112"/> ++ <source>Output Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="149"/> ++ <source>Confirm</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="230"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1835"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1914"/> ++ <source>pa_context_get_server_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1414"/> ++ <source>Card callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1432"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1504"/> ++ <source>Sink callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1465"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1533"/> ++ <source>Source callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1562"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2068"/> ++ <source>Sink input callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1581"/> ++ <source>Source output callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1626"/> ++ <source>Client callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1642"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1656"/> ++ <source>Server info callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1703"/> ++ <source>Failed to initialize stream_restore extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1720"/> ++ <source>pa_ext_stream_restore_read() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1737"/> ++ <source>Failed to initialize device manager extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1756"/> ++ <source>pa_ext_device_manager_read() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1773"/> ++ <source>pa_context_get_sink_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1786"/> ++ <source>pa_context_get_source_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1799"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1812"/> ++ <source>pa_context_get_sink_input_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1825"/> ++ <source>pa_context_get_client_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1865"/> ++ <source>pa_context_get_card_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1905"/> ++ <source>pa_context_subscribe() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1921"/> ++ <source>pa_context_client_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1928"/> ++ <source>pa_context_get_card_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1935"/> ++ <source>pa_context_get_sink_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1942"/> ++ <source>pa_context_get_source_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1949"/> ++ <source>pa_context_get_sink_input_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1956"/> ++ <source>pa_context_get_source_output_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1992"/> ++ <source>Ukui Media Volume Control</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaAppCtrlWidget</name> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="37"/> ++ <source>App Sound Control</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="342"/> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="363"/> ++ <source>None</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="899"/> ++ <source>System Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaAppItemWidget</name> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="21"/> ++ <source>Application</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="47"/> ++ <source>Output Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="77"/> ++ <source>Input Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="84"/> ++ <source>This case does not support setting the input device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="104"/> ++ <source>Output Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="111"/> ++ <source>This case does not support setting the output device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="131"/> ++ <source>Confirm</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaDevControlWidget</name> ++ <message> ++ <source>audio device control</source> ++ <translation type="vanished">声音设备管理</translation> ++ </message> ++ <message> ++ <source>output device</source> ++ <translation type="vanished">输出设备</translation> ++ </message> ++ <message> ++ <source>input device</source> ++ <translation type="vanished">输入设备</translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="14"/> ++ <source>Sound Equipment Control</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="26"/> ++ <source>Output Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="27"/> ++ <source>Input Devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaInputWidget</name> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="57"/> ++ <source>Input</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Input</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="64"/> ++ <source>Input Device</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Input Device</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="68"/> ++ <source>Volume</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Volume</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="74"/> ++ <source>Input Level</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Input Level</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="84"/> ++ <source>Noise Reduction</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Noise Reduction</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="89"/> ++ <source>Voice Monitor</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/audio/Voice Monitor</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="91"/> ++ <source>(None Device)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_input_widget.cpp" line="93"/> ++ <source>You can hear your voice in the output device of your choice</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaMainWidget</name> ++ <message> ++ <source>Light-Seeking</source> ++ <translation type="obsolete">寻光</translation> ++ </message> ++ <message> ++ <source>HeYin</source> ++ <translation type="obsolete">和印</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="276"/> ++ <location filename="../ukmedia_main_widget.cpp" line="375"/> ++ <location filename="../ukmedia_main_widget.cpp" line="1179"/> ++ <source>Custom</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="1611"/> ++ <location filename="../ukmedia_main_widget.cpp" line="1613"/> ++ <location filename="../ukmedia_main_widget.cpp" line="1616"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2901"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2906"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2912"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2917"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2933"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2941"/> ++ <location filename="../ukmedia_main_widget.cpp" line="2990"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3095"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3232"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3473"/> ++ <source>None</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaOutputWidget</name> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="74"/> ++ <source>Output</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Output</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="80"/> ++ <source>Output Device</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Output Device</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="84"/> ++ <source>Master Volume</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Master Volume</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="90"/> ++ <source>Balance</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Balance</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="92"/> ++ <source>Left</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="95"/> ++ <source>Right</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="100"/> ++ <source>Volume Increase</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="102"/> ++ <source>Volume above 100% can cause sound distortion and damage your speakers.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="125"/> ++ <source>Mono Audio</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_output_widget.cpp" line="127"/> ++ <source>It merges the left and right channels into one channel.</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaSettingsWidget</name> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="17"/> ++ <source>Advanced Settings</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="24"/> ++ <source>Sound Equipment Control</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Sound Equipment Control</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="27"/> ++ <location filename="../ukmedia_settings_widget.cpp" line="34"/> ++ <source>Details</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_settings_widget.cpp" line="31"/> ++ <source>App Sound Control</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/App Sound Control</extra-contents_path> ++ </message> ++</context> ++<context> ++ <name>UkmediaSoundEffectsWidget</name> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="59"/> ++ <source>System Sound</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="64"/> ++ <source>Sound Theme</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Sound Theme</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="68"/> ++ <source>Beep Switch</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Beep Switch</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="71"/> ++ <source>Poweroff Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Poweroff Music</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="74"/> ++ <source>Startup Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Startup Music</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="77"/> ++ <source>Wakeup Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Wakeup Music</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="83"/> ++ <source>Notification Sound</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Notification Sound</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="88"/> ++ <source>Volume Control Sound</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Volume Control Sound</extra-contents_path> ++ </message> ++ <message> ++ <location filename="../ukmedia_sound_effects_widget.cpp" line="80"/> ++ <source>Logout Music</source> ++ <translation type="unfinished"></translation> ++ <extra-contents_path>/Audio/Logout Music</extra-contents_path> ++ </message> ++</context> ++<context> ++ <name>UkmediaVolumeControl</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="101"/> ++ <location filename="../ukmedia_volume_control.cpp" line="174"/> ++ <location filename="../ukmedia_volume_control.cpp" line="252"/> ++ <location filename="../ukmedia_volume_control.cpp" line="256"/> ++ <location filename="../ukmedia_volume_control.cpp" line="268"/> ++ <source>pa_context_set_sink_volume_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="68"/> ++ <source>pa_context_set_sink_mute_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="117"/> ++ <source>pa_context_set_source_mute_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="141"/> ++ <source>pa_context_set_source_volume_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="285"/> ++ <location filename="../ukmedia_volume_control.cpp" line="289"/> ++ <source>pa_context_set_source_output_volume() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="301"/> ++ <source>pa_context_set_source_output_mute() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="313"/> ++ <source>pa_context_set_card_profile_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="327"/> ++ <source>pa_context_set_default_sink() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="340"/> ++ <source>pa_context_set_default_source() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="356"/> ++ <source>pa_context_set_sink_port_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="370"/> ++ <source>pa_context_set_source_port_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="399"/> ++ <source> (plugged in)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="403"/> ++ <location filename="../ukmedia_volume_control.cpp" line="586"/> ++ <source> (unavailable)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="405"/> ++ <location filename="../ukmedia_volume_control.cpp" line="583"/> ++ <source> (unplugged)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="761"/> ++ <source>Failed to read data from stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="804"/> ++ <source>Peak detect</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="805"/> ++ <source>Failed to create monitoring stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="819"/> ++ <source>Failed to connect monitoring stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="959"/> ++ <source>Ignoring sink-input due to it being designated as an event and thus handled by the Event widget</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1049"/> ++ <source>pa_context_kill_source_output() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1381"/> ++ <source>Establishing connection to PulseAudio. Please wait...</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> diff -Nru ukui-media-3.25.0.0/debian/patches/0068-Translated-using-Weblate-Vietnamese.patch ukui-media-3.25.0.0/debian/patches/0068-Translated-using-Weblate-Vietnamese.patch --- ukui-media-3.25.0.0/debian/patches/0068-Translated-using-Weblate-Vietnamese.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-media-3.25.0.0/debian/patches/0068-Translated-using-Weblate-Vietnamese.patch 2024-10-28 11:26:40.000000000 +0800 @@ -0,0 +1,2522 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Thu, 13 Feb 2025 03:12:37 +0000 +Subject: Translated using Weblate (Vietnamese) + +Currently translated at 100.0% (73 of 73 strings) + +Translation: openkylin-nile-new/ukui-volume-control-apply-qt +Translate-URL: http://weblate.openkylin.top/projects/openkylin-nile-new/ukui-volume-control-apply-qt/vi/ +--- + ukui-volume-control-applet-qt/translations/ar.ts | 146 +++---- + ukui-volume-control-applet-qt/translations/de.ts | 505 +++++++++++++++++++++++ + ukui-volume-control-applet-qt/translations/es.ts | 505 +++++++++++++++++++++++ + ukui-volume-control-applet-qt/translations/fr.ts | 505 +++++++++++++++++++++++ + ukui-volume-control-applet-qt/translations/vi.ts | 146 +++---- + 5 files changed, 1661 insertions(+), 146 deletions(-) + create mode 100644 ukui-volume-control-applet-qt/translations/de.ts + create mode 100644 ukui-volume-control-applet-qt/translations/es.ts + create mode 100644 ukui-volume-control-applet-qt/translations/fr.ts + +diff --git a/ukui-volume-control-applet-qt/translations/ar.ts b/ukui-volume-control-applet-qt/translations/ar.ts +index 3fd529b..522c9d2 100644 +--- a/ukui-volume-control-applet-qt/translations/ar.ts ++++ b/ukui-volume-control-applet-qt/translations/ar.ts +@@ -6,17 +6,17 @@ + <message> + <location filename="../ukmedia_application_volume_widget.cpp" line="43"/> + <source>Application Volume</source> +- <translation type="unfinished"></translation> ++ <translation>حجم التطبيق</translation> + </message> + <message> + <location filename="../ukmedia_application_volume_widget.cpp" line="32"/> + <source>System Volume</source> +- <translation type="unfinished"></translation> ++ <translation>حجم النظام</translation> + </message> + <message> + <location filename="../ukmedia_application_volume_widget.cpp" line="96"/> + <source>Sound Settings</source> +- <translation type="unfinished"></translation> ++ <translation>إعدادات الصوت</translation> + </message> + </context> + <context> +@@ -79,170 +79,170 @@ + <message> + <location filename="../ukmedia_volume_control.cpp" line="2182"/> + <source>pa_context_subscribe() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_subscribe()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2205"/> + <source>pa_context_get_card_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_card_info_list()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2212"/> + <source>pa_context_get_sink_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_sink_info_list()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2219"/> + <source>pa_context_get_source_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_source_info_list()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1936"/> + <source>Failed to initialize stream_restore extension: %s</source> +- <translation type="unfinished"></translation> ++ <translation>فشل تهيئة stream_restore الملحق: ٪s</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1951"/> + <source>pa_ext_stream_restore_read() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_ext_stream_restore_read()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2044"/> + <source>pa_context_get_sink_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_sink_info_by_index()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2057"/> + <source>pa_context_get_source_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_source_info_by_index()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1920"/> + <location filename="../ukmedia_volume_control.cpp" line="2118"/> + <location filename="../ukmedia_volume_control.cpp" line="2144"/> + <source>pa_context_get_card_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_card_info_by_index()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1557"/> + <location filename="../ukmedia_volume_control.cpp" line="1576"/> + <location filename="../ukmedia_volume_control.cpp" line="1606"/> + <source>Card callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>فشل معاودة الاتصال بالبطاقة</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1640"/> + <location filename="../ukmedia_volume_control.cpp" line="1756"/> + <source>Sink callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>فشل معاودة الاتصال بالحوض</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1698"/> + <location filename="../ukmedia_volume_control.cpp" line="1778"/> + <source>Source callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>فشل معاودة الاتصال بالمصدر</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="97"/> + <source>Fatal Error: Unable to connect to PulseAudio</source> +- <translation type="unfinished"></translation> ++ <translation>خطأ فادح: تعذر الاتصال ب PulseAudio</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="287"/> + <location filename="../ukmedia_volume_control.cpp" line="2106"/> + <location filename="../ukmedia_volume_control.cpp" line="2191"/> + <source>pa_context_get_server_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_server_info()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1799"/> + <location filename="../ukmedia_volume_control.cpp" line="2336"/> + <source>Sink input callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>فشل معاودة الاتصال بإدخال المتلقي</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1818"/> + <source>Source output callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>فشل معاودة الاتصال بإخراج المصدر</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1846"/> + <source>Client callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>فشل معاودة الاتصال بالعميل</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1862"/> + <location filename="../ukmedia_volume_control.cpp" line="1906"/> + <source>Server info callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>فشل معاودة الاتصال بمعلومات الخادم</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1969"/> + <source>Failed to initialize device restore extension: %s</source> +- <translation type="unfinished"></translation> ++ <translation>فشل تهيئة ملحق استعادة الجهاز: ٪s</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1990"/> + <source>pa_ext_device_restore_read_sink_formats() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_ext_device_restore_read_sink_formats()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2008"/> + <source>Failed to initialize device manager extension: %s</source> +- <translation type="unfinished"></translation> ++ <translation>فشل تهيئة ملحق إدارة الأجهزة: ٪s</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2027"/> + <source>pa_ext_device_manager_read() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_ext_device_manager_read()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2070"/> + <location filename="../ukmedia_volume_control.cpp" line="2083"/> + <source>pa_context_get_sink_input_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_sink_input_info()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2096"/> + <source>pa_context_get_client_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_client_info()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2198"/> + <source>pa_context_client_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_client_info_list()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2226"/> + <source>pa_context_get_sink_input_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_sink_input_info_list()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2233"/> + <source>pa_context_get_source_output_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_source_output_info_list()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2267"/> + <source>moduleInfoCb callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>فشل معاودة الاتصال moduleInfoCb</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2284"/> + <source>Ukui Media Volume Control</source> +- <translation type="unfinished"></translation> ++ <translation>التحكم في مستوى صوت وسائط Ukui</translation> + </message> + <message> + <location filename="../ukmedia_main_widget.cpp" line="3044"/> + <location filename="../ukmedia_main_widget.cpp" line="3071"/> + <location filename="../ukmedia_main_widget.cpp" line="3126"/> + <source>pa_context_load_module() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_load_module()</translation> + </message> + <message> + <location filename="../main.cpp" line="72"/> + <source>ukui-volume-control-applet-qt is already running!</source> +- <translation type="unfinished"></translation> ++ <translation>UKUI-Volume-Control-Applet-QT قيد التشغيل بالفعل!</translation> + </message> + </context> + <context> +@@ -273,7 +273,7 @@ + <message> + <location filename="../ukmedia_main_widget.cpp" line="110"/> + <source>Output volume control</source> +- <translation type="unfinished"></translation> ++ <translation>التحكم في مستوى صوت الإخراج</translation> + </message> + <message> + <source>Mute</source> +@@ -283,22 +283,22 @@ + <location filename="../ukmedia_main_widget.cpp" line="112"/> + <location filename="../ukmedia_main_widget.cpp" line="114"/> + <source>Sound preference(S)</source> +- <translation type="unfinished"></translation> ++ <translation>تفضيلات الصوت</translation> + </message> + <message> + <location filename="../ukmedia_main_widget.cpp" line="180"/> + <source>System Volume</source> +- <translation type="unfinished"></translation> ++ <translation>حجم النظام</translation> + </message> + <message> + <location filename="../ukmedia_main_widget.cpp" line="182"/> + <source>App Volume</source> +- <translation type="unfinished"></translation> ++ <translation>حجم التطبيق</translation> + </message> + <message> + <location filename="../ukmedia_main_widget.cpp" line="788"/> + <source>Current volume:</source> +- <translation type="unfinished"></translation> ++ <translation>الحجم الحالي:</translation> + </message> + </context> + <context> +@@ -317,17 +317,17 @@ + <message> + <location filename="../ukmedia_system_volume_widget.cpp" line="74"/> + <source>Volume</source> +- <translation type="unfinished"></translation> ++ <translation>حجم</translation> + </message> + <message> + <location filename="../ukmedia_system_volume_widget.cpp" line="86"/> + <source>Output</source> +- <translation type="unfinished"></translation> ++ <translation>الناتج</translation> + </message> + <message> + <location filename="../ukmedia_system_volume_widget.cpp" line="103"/> + <source>Sound Settings</source> +- <translation type="unfinished"></translation> ++ <translation>إعدادات الصوت</translation> + </message> + </context> + <context> +@@ -336,7 +336,7 @@ + <location filename="../ukmedia_volume_control.cpp" line="108"/> + <location filename="../ukmedia_volume_control.cpp" line="129"/> + <source>pa_context_set_sink_mute_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_sink_mute_by_index()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="134"/> +@@ -345,128 +345,128 @@ + <location filename="../ukmedia_volume_control.cpp" line="343"/> + <location filename="../ukmedia_volume_control.cpp" line="360"/> + <source>pa_context_set_sink_volume_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_sink_volume_by_index()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="154"/> + <location filename="../ukmedia_volume_control.cpp" line="211"/> + <source>pa_context_set_source_mute_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_source_mute_by_index()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="159"/> + <location filename="../ukmedia_volume_control.cpp" line="242"/> + <source>pa_context_set_source_volume_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_source_volume_by_index()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="380"/> + <source>pa_context_move_sink_input_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_move_sink_input_by_index()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="399"/> + <source>pa_context_move_source_output_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_move_source_output_by_name()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="420"/> + <location filename="../ukmedia_volume_control.cpp" line="424"/> + <source>pa_context_set_source_output_volume() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_source_output_volume()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="442"/> + <source>pa_context_set_source_output_mute() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_source_output_mute()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="460"/> + <source>pa_context_set_card_profile_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_card_profile_by_index()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="479"/> + <location filename="../ukmedia_volume_control.cpp" line="486"/> + <source>pa_context_set_default_sink() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_default_sink()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="504"/> + <source>pa_context_set_default_source() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_default_source()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="520"/> + <source>pa_context_set_sink_port_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_sink_port_by_name()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="535"/> + <source>pa_context_set_source_port_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_set_source_port_by_name()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="548"/> + <source>pa_context_kill_sink_input() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_kill_sink_input()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="577"/> + <source> (plugged in)</source> +- <translation type="unfinished"></translation> ++ <translation> (موصول)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="581"/> + <location filename="../ukmedia_volume_control.cpp" line="739"/> + <source> (unavailable)</source> +- <translation type="unfinished"></translation> ++ <translation> (غير متوفر)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="583"/> + <location filename="../ukmedia_volume_control.cpp" line="736"/> + <source> (unplugged)</source> +- <translation type="unfinished"></translation> ++ <translation> (غير متصل)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1072"/> + <source>Failed to read data from stream</source> +- <translation type="unfinished"></translation> ++ <translation>فشل قراءة البيانات من الدفق</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1113"/> + <source>Peak detect</source> +- <translation type="unfinished"></translation> ++ <translation>اكتشاف الذروة</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1114"/> + <source>Failed to create monitoring stream</source> +- <translation type="unfinished"></translation> ++ <translation>فشل في إنشاء دفق المراقبة</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1129"/> + <source>Failed to connect monitoring stream</source> +- <translation type="unfinished"></translation> ++ <translation>فشل في توصيل دفق المراقبة</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1290"/> + <source>Ignoring sink-input due to it being designated as an event and thus handled by the Event widget</source> +- <translation type="unfinished"></translation> ++ <translation>تجاهل إدخال المتلقي بسبب تعيينه كحدث وبالتالي التعامل معه بواسطة عنصر واجهة مستخدم الحدث</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1527"/> + <source>Establishing connection to PulseAudio. Please wait...</source> +- <translation type="unfinished"></translation> ++ <translation>إنشاء اتصال ب PulseAudio. الرجاء الانتظار...</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1871"/> + <source>pa_context_get_sink_info_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_sink_info_by_name()</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1875"/> + <source>pa_context_get_source_info_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل pa_context_get_source_info_by_name()</translation> + </message> + </context> + <context> +@@ -474,32 +474,32 @@ + <message> + <location filename="../ukui_media_set_headset_widget.cpp" line="36"/> + <source>Sound Settings</source> +- <translation type="unfinished"></translation> ++ <translation>إعدادات الصوت</translation> + </message> + <message> + <location filename="../ukui_media_set_headset_widget.cpp" line="37"/> + <source>Cancel</source> +- <translation type="unfinished"></translation> ++ <translation>إلغاء الأمر</translation> + </message> + <message> + <location filename="../ukui_media_set_headset_widget.cpp" line="38"/> + <source>Select Sound Device</source> +- <translation type="unfinished"></translation> ++ <translation>حدد جهاز الصوت</translation> + </message> + <message> + <location filename="../ukui_media_set_headset_widget.cpp" line="67"/> + <source>Headphone</source> +- <translation type="unfinished"></translation> ++ <translation>سماعه الراس</translation> + </message> + <message> + <location filename="../ukui_media_set_headset_widget.cpp" line="68"/> + <source>Headset</source> +- <translation type="unfinished"></translation> ++ <translation>سماعه الراس</translation> + </message> + <message> + <location filename="../ukui_media_set_headset_widget.cpp" line="69"/> + <source>Microphone</source> +- <translation type="unfinished"></translation> ++ <translation>ميكروفون</translation> + </message> + </context> + </TS> +diff --git a/ukui-volume-control-applet-qt/translations/de.ts b/ukui-volume-control-applet-qt/translations/de.ts +new file mode 100644 +index 0000000..f3507cd +--- /dev/null ++++ b/ukui-volume-control-applet-qt/translations/de.ts +@@ -0,0 +1,505 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="de"> ++<context> ++ <name>ApplicationVolumeWidget</name> ++ <message> ++ <location filename="../ukmedia_application_volume_widget.cpp" line="43"/> ++ <source>Application Volume</source> ++ <translation>Anwendungsvolumen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_application_volume_widget.cpp" line="32"/> ++ <source>System Volume</source> ++ <translation>System-Lautstärke</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_application_volume_widget.cpp" line="96"/> ++ <source>Sound Settings</source> ++ <translation>Sound-Einstellungen</translation> ++ </message> ++</context> ++<context> ++ <name>DeviceSwitchWidget</name> ++ <message> ++ <source>Go Into Mini Mode</source> ++ <translation type="vanished">进入Mini模式</translation> ++ </message> ++ <message> ++ <source>Output volume control</source> ++ <translation type="vanished">输出音量控制</translation> ++ </message> ++ <message> ++ <source>Mute</source> ++ <translation type="vanished">静音</translation> ++ </message> ++ <message> ++ <source>Sound preference</source> ++ <translation type="vanished">声音首选项</translation> ++ </message> ++ <message> ++ <source>Device Volume</source> ++ <translation type="vanished">设备音量</translation> ++ </message> ++ <message> ++ <source>Application Volume</source> ++ <translation type="vanished">应用音量</translation> ++ </message> ++ <message> ++ <source>is using</source> ++ <translation type="vanished">正在使用</translation> ++ </message> ++ <message> ++ <source>Bluetooth</source> ++ <translation type="vanished">蓝牙</translation> ++ </message> ++ <message> ++ <source>Error</source> ++ <translation type="vanished">错误</translation> ++ </message> ++ <message> ++ <source>Unable to connect to the sound system, please check whether the pulseaudio service is running!</source> ++ <translation type="vanished">无法连接到系统声音,请检查pulseaudio服务是否正在运行!</translation> ++ </message> ++ <message> ++ <source>Dummy output</source> ++ <translation type="vanished">伪输出</translation> ++ </message> ++ <message> ++ <source>Speaker (Realtek Audio)</source> ++ <translation type="vanished">扬声器(Realtek Audio)</translation> ++ </message> ++ <message> ++ <source>Headphone</source> ++ <translation type="vanished">模拟耳机</translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2182"/> ++ <source>pa_context_subscribe() failed</source> ++ <translation>pa_context_subscribe() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2205"/> ++ <source>pa_context_get_card_info_list() failed</source> ++ <translation>pa_context_get_card_info_list() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2212"/> ++ <source>pa_context_get_sink_info_list() failed</source> ++ <translation>pa_context_get_sink_info_list() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2219"/> ++ <source>pa_context_get_source_info_list() failed</source> ++ <translation>pa_context_get_source_info_list() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1936"/> ++ <source>Failed to initialize stream_restore extension: %s</source> ++ <translation>Fehler beim Initialisieren stream_restore Erweiterung: %s</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1951"/> ++ <source>pa_ext_stream_restore_read() failed</source> ++ <translation>pa_ext_stream_restore_read() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2044"/> ++ <source>pa_context_get_sink_info_by_index() failed</source> ++ <translation>pa_context_get_sink_info_by_index() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2057"/> ++ <source>pa_context_get_source_info_by_index() failed</source> ++ <translation>pa_context_get_source_info_by_index() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1920"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2118"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2144"/> ++ <source>pa_context_get_card_info_by_index() failed</source> ++ <translation>pa_context_get_card_info_by_index() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1557"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1576"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1606"/> ++ <source>Card callback failure</source> ++ <translation>Fehler beim Kartenrückruf</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1640"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1756"/> ++ <source>Sink callback failure</source> ++ <translation>Fehler beim Senkenrückruf</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1698"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1778"/> ++ <source>Source callback failure</source> ++ <translation>Fehler beim Quell-Callback</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="97"/> ++ <source>Fatal Error: Unable to connect to PulseAudio</source> ++ <translation>Schwerwiegender Fehler: Es kann keine Verbindung zu PulseAudio hergestellt werden.</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="287"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2106"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2191"/> ++ <source>pa_context_get_server_info() failed</source> ++ <translation>pa_context_get_server_info() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1799"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2336"/> ++ <source>Sink input callback failure</source> ++ <translation>Fehler beim Rückruf der Senkeeingabe</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1818"/> ++ <source>Source output callback failure</source> ++ <translation>Fehler beim Rückruf der Quellausgabe</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1846"/> ++ <source>Client callback failure</source> ++ <translation>Fehler beim Client-Callback</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1862"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1906"/> ++ <source>Server info callback failure</source> ++ <translation>Fehler beim Rückruf von Serverinformationen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1969"/> ++ <source>Failed to initialize device restore extension: %s</source> ++ <translation>Fehler beim Initialisieren der Gerätewiederherstellungserweiterung: %s</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1990"/> ++ <source>pa_ext_device_restore_read_sink_formats() failed</source> ++ <translation>pa_ext_device_restore_read_sink_formats() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2008"/> ++ <source>Failed to initialize device manager extension: %s</source> ++ <translation>Fehler beim Initialisieren der Geräte-Manager-Erweiterung: %s</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2027"/> ++ <source>pa_ext_device_manager_read() failed</source> ++ <translation>pa_ext_device_manager_read() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2070"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2083"/> ++ <source>pa_context_get_sink_input_info() failed</source> ++ <translation>pa_context_get_sink_input_info() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2096"/> ++ <source>pa_context_get_client_info() failed</source> ++ <translation>pa_context_get_client_info() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2198"/> ++ <source>pa_context_client_info_list() failed</source> ++ <translation>pa_context_client_info_list() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2226"/> ++ <source>pa_context_get_sink_input_info_list() failed</source> ++ <translation>pa_context_get_sink_input_info_list() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2233"/> ++ <source>pa_context_get_source_output_info_list() failed</source> ++ <translation>pa_context_get_source_output_info_list() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2267"/> ++ <source>moduleInfoCb callback failure</source> ++ <translation>Fehler beim ModulInfoCb-Callback</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2284"/> ++ <source>Ukui Media Volume Control</source> ++ <translation>Ukui Media Lautstärkeregelung</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="3044"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3071"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3126"/> ++ <source>pa_context_load_module() failed</source> ++ <translation>pa_context_load_module() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../main.cpp" line="72"/> ++ <source>ukui-volume-control-applet-qt is already running!</source> ++ <translation>ukui-volume-control-applet-qt läuft bereits!</translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaDeviceWidget</name> ++ <message> ++ <source>Input Device</source> ++ <translation type="vanished">输入设备</translation> ++ </message> ++ <message> ++ <source>Microphone</source> ++ <translation type="vanished">麦克风</translation> ++ </message> ++ <message> ++ <source>Output Device</source> ++ <translation type="vanished">输出设备</translation> ++ </message> ++ <message> ++ <source>Speaker Realtek Audio</source> ++ <translation type="vanished">扬声器(Realtek Audio)</translation> ++ </message> ++ <message> ++ <source>Input device can not be detected</source> ++ <translation type="vanished">无法检测到输入设备</translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaMainWidget</name> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="110"/> ++ <source>Output volume control</source> ++ <translation>Steuerung der Ausgangslautstärke</translation> ++ </message> ++ <message> ++ <source>Mute</source> ++ <translation type="vanished">静音</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="112"/> ++ <location filename="../ukmedia_main_widget.cpp" line="114"/> ++ <source>Sound preference</source> ++ <translation>Präferenz für den Klang</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="180"/> ++ <source>System Volume</source> ++ <translation>System-Lautstärke</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="182"/> ++ <source>App Volume</source> ++ <translation>App-Lautstärke</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="788"/> ++ <source>Current volume:</source> ++ <translation>Aktuelles Volumen:</translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaMiniMasterVolumeWidget</name> ++ <message> ++ <source>Speaker (Realtek Audio)</source> ++ <translation type="vanished">扬声器(Realtek Audio)</translation> ++ </message> ++ <message> ++ <source>Go Into Full Mode</source> ++ <translation type="vanished">进入完整模式</translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaSystemVolumeWidget</name> ++ <message> ++ <location filename="../ukmedia_system_volume_widget.cpp" line="74"/> ++ <source>Volume</source> ++ <translation>Volumen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_system_volume_widget.cpp" line="86"/> ++ <source>Output</source> ++ <translation>Ausgabe</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_system_volume_widget.cpp" line="103"/> ++ <source>Sound Settings</source> ++ <translation>Sound-Einstellungen</translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaVolumeControl</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="108"/> ++ <location filename="../ukmedia_volume_control.cpp" line="129"/> ++ <source>pa_context_set_sink_mute_by_index() failed</source> ++ <translation>pa_context_set_sink_mute_by_index() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="134"/> ++ <location filename="../ukmedia_volume_control.cpp" line="195"/> ++ <location filename="../ukmedia_volume_control.cpp" line="339"/> ++ <location filename="../ukmedia_volume_control.cpp" line="343"/> ++ <location filename="../ukmedia_volume_control.cpp" line="360"/> ++ <source>pa_context_set_sink_volume_by_index() failed</source> ++ <translation>pa_context_set_sink_volume_by_index() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="154"/> ++ <location filename="../ukmedia_volume_control.cpp" line="211"/> ++ <source>pa_context_set_source_mute_by_index() failed</source> ++ <translation>pa_context_set_source_mute_by_index() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="159"/> ++ <location filename="../ukmedia_volume_control.cpp" line="242"/> ++ <source>pa_context_set_source_volume_by_index() failed</source> ++ <translation>pa_context_set_source_volume_by_index() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="380"/> ++ <source>pa_context_move_sink_input_by_index() failed</source> ++ <translation>pa_context_move_sink_input_by_index() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="399"/> ++ <source>pa_context_move_source_output_by_name() failed</source> ++ <translation>pa_context_move_source_output_by_name() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="420"/> ++ <location filename="../ukmedia_volume_control.cpp" line="424"/> ++ <source>pa_context_set_source_output_volume() failed</source> ++ <translation>pa_context_set_source_output_volume() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="442"/> ++ <source>pa_context_set_source_output_mute() failed</source> ++ <translation>pa_context_set_source_output_mute() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="460"/> ++ <source>pa_context_set_card_profile_by_index() failed</source> ++ <translation>pa_context_set_card_profile_by_index() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="479"/> ++ <location filename="../ukmedia_volume_control.cpp" line="486"/> ++ <source>pa_context_set_default_sink() failed</source> ++ <translation>pa_context_set_default_sink() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="504"/> ++ <source>pa_context_set_default_source() failed</source> ++ <translation>pa_context_set_default_source() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="520"/> ++ <source>pa_context_set_sink_port_by_name() failed</source> ++ <translation>pa_context_set_sink_port_by_name() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="535"/> ++ <source>pa_context_set_source_port_by_name() failed</source> ++ <translation>pa_context_set_source_port_by_name() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="548"/> ++ <source>pa_context_kill_sink_input() failed</source> ++ <translation>pa_context_kill_sink_input() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="577"/> ++ <source> (plugged in)</source> ++ <translation> (eingesteckt)</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="581"/> ++ <location filename="../ukmedia_volume_control.cpp" line="739"/> ++ <source> (unavailable)</source> ++ <translation> (nicht verfügbar)</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="583"/> ++ <location filename="../ukmedia_volume_control.cpp" line="736"/> ++ <source> (unplugged)</source> ++ <translation> (ausgesteckt)</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1072"/> ++ <source>Failed to read data from stream</source> ++ <translation>Fehler beim Lesen von Daten aus dem Stream</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1113"/> ++ <source>Peak detect</source> ++ <translation>Peak-Erkennung</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1114"/> ++ <source>Failed to create monitoring stream</source> ++ <translation>Fehler beim Erstellen des Überwachungsdatenstroms</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1129"/> ++ <source>Failed to connect monitoring stream</source> ++ <translation>Fehler beim Verbinden des Überwachungsstreams</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1290"/> ++ <source>Ignoring sink-input due to it being designated as an event and thus handled by the Event widget</source> ++ <translation>Ignorieren von Sink-Input, da sie als Ereignis gekennzeichnet ist und daher vom Ereignis-Widget behandelt wird</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1527"/> ++ <source>Establishing connection to PulseAudio. Please wait...</source> ++ <translation>Herstellung einer Verbindung zu PulseAudio. Bitte warten...</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1871"/> ++ <source>pa_context_get_sink_info_by_name() failed</source> ++ <translation>pa_context_get_sink_info_by_name() fehlgeschlagen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1875"/> ++ <source>pa_context_get_source_info_by_name() failed</source> ++ <translation>pa_context_get_source_info_by_name() fehlgeschlagen</translation> ++ </message> ++</context> ++<context> ++ <name>UkuiMediaSetHeadsetWidget</name> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="36"/> ++ <source>Sound Settings</source> ++ <translation>Sound-Einstellungen</translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="37"/> ++ <source>Cancel</source> ++ <translation>Abbrechen</translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="38"/> ++ <source>Select Sound Device</source> ++ <translation>Wählen Sie das Audiogerät</translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="67"/> ++ <source>Headphone</source> ++ <translation>Kopfhörer</translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="68"/> ++ <source>Headset</source> ++ <translation>Kopfhörer</translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="69"/> ++ <source>Microphone</source> ++ <translation>Mikrofon</translation> ++ </message> ++</context> ++</TS> +diff --git a/ukui-volume-control-applet-qt/translations/es.ts b/ukui-volume-control-applet-qt/translations/es.ts +new file mode 100644 +index 0000000..7ce1916 +--- /dev/null ++++ b/ukui-volume-control-applet-qt/translations/es.ts +@@ -0,0 +1,505 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="es"> ++<context> ++ <name>ApplicationVolumeWidget</name> ++ <message> ++ <location filename="../ukmedia_application_volume_widget.cpp" line="43"/> ++ <source>Application Volume</source> ++ <translation>Volumen de la aplicación</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_application_volume_widget.cpp" line="32"/> ++ <source>System Volume</source> ++ <translation>Volumen del sistema</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_application_volume_widget.cpp" line="96"/> ++ <source>Sound Settings</source> ++ <translation>Ajustes de sonido</translation> ++ </message> ++</context> ++<context> ++ <name>DeviceSwitchWidget</name> ++ <message> ++ <source>Go Into Mini Mode</source> ++ <translation type="vanished">进入Mini模式</translation> ++ </message> ++ <message> ++ <source>Output volume control</source> ++ <translation type="vanished">输出音量控制</translation> ++ </message> ++ <message> ++ <source>Mute</source> ++ <translation type="vanished">静音</translation> ++ </message> ++ <message> ++ <source>Sound preference</source> ++ <translation type="vanished">声音首选项</translation> ++ </message> ++ <message> ++ <source>Device Volume</source> ++ <translation type="vanished">设备音量</translation> ++ </message> ++ <message> ++ <source>Application Volume</source> ++ <translation type="vanished">应用音量</translation> ++ </message> ++ <message> ++ <source>is using</source> ++ <translation type="vanished">正在使用</translation> ++ </message> ++ <message> ++ <source>Bluetooth</source> ++ <translation type="vanished">蓝牙</translation> ++ </message> ++ <message> ++ <source>Error</source> ++ <translation type="vanished">错误</translation> ++ </message> ++ <message> ++ <source>Unable to connect to the sound system, please check whether the pulseaudio service is running!</source> ++ <translation type="vanished">无法连接到系统声音,请检查pulseaudio服务是否正在运行!</translation> ++ </message> ++ <message> ++ <source>Dummy output</source> ++ <translation type="vanished">伪输出</translation> ++ </message> ++ <message> ++ <source>Speaker (Realtek Audio)</source> ++ <translation type="vanished">扬声器(Realtek Audio)</translation> ++ </message> ++ <message> ++ <source>Headphone</source> ++ <translation type="vanished">模拟耳机</translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2182"/> ++ <source>pa_context_subscribe() failed</source> ++ <translation>pa_context_subscribe() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2205"/> ++ <source>pa_context_get_card_info_list() failed</source> ++ <translation>pa_context_get_card_info_list() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2212"/> ++ <source>pa_context_get_sink_info_list() failed</source> ++ <translation>pa_context_get_sink_info_list() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2219"/> ++ <source>pa_context_get_source_info_list() failed</source> ++ <translation>pa_context_get_source_info_list() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1936"/> ++ <source>Failed to initialize stream_restore extension: %s</source> ++ <translation>No se pudo inicializar stream_restore extensión: %s</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1951"/> ++ <source>pa_ext_stream_restore_read() failed</source> ++ <translation>pa_ext_stream_restore_read() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2044"/> ++ <source>pa_context_get_sink_info_by_index() failed</source> ++ <translation>pa_context_get_sink_info_by_index() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2057"/> ++ <source>pa_context_get_source_info_by_index() failed</source> ++ <translation>pa_context_get_source_info_by_index() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1920"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2118"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2144"/> ++ <source>pa_context_get_card_info_by_index() failed</source> ++ <translation>pa_context_get_card_info_by_index() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1557"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1576"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1606"/> ++ <source>Card callback failure</source> ++ <translation>Error de devolución de llamada de la tarjeta</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1640"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1756"/> ++ <source>Sink callback failure</source> ++ <translation>Error de devolución de llamada del receptor</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1698"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1778"/> ++ <source>Source callback failure</source> ++ <translation>Error de devolución de llamada de origen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="97"/> ++ <source>Fatal Error: Unable to connect to PulseAudio</source> ++ <translation>Error fatal: No se puede conectar a PulseAudio</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="287"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2106"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2191"/> ++ <source>pa_context_get_server_info() failed</source> ++ <translation>pa_context_get_server_info() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1799"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2336"/> ++ <source>Sink input callback failure</source> ++ <translation>Error de devolución de llamada de entrada del receptor</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1818"/> ++ <source>Source output callback failure</source> ++ <translation>Error de devolución de llamada de salida de origen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1846"/> ++ <source>Client callback failure</source> ++ <translation>Error de devolución de llamada del cliente</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1862"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1906"/> ++ <source>Server info callback failure</source> ++ <translation>Error de devolución de llamada de información del servidor</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1969"/> ++ <source>Failed to initialize device restore extension: %s</source> ++ <translation>No se pudo inicializar la extensión de restauración del dispositivo: %s</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1990"/> ++ <source>pa_ext_device_restore_read_sink_formats() failed</source> ++ <translation>pa_ext_device_restore_read_sink_formats() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2008"/> ++ <source>Failed to initialize device manager extension: %s</source> ++ <translation>No se pudo inicializar la extensión del administrador de dispositivos: %s</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2027"/> ++ <source>pa_ext_device_manager_read() failed</source> ++ <translation>pa_ext_device_manager_read() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2070"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2083"/> ++ <source>pa_context_get_sink_input_info() failed</source> ++ <translation>pa_context_get_sink_input_info() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2096"/> ++ <source>pa_context_get_client_info() failed</source> ++ <translation>pa_context_get_client_info() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2198"/> ++ <source>pa_context_client_info_list() failed</source> ++ <translation>pa_context_client_info_list() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2226"/> ++ <source>pa_context_get_sink_input_info_list() failed</source> ++ <translation>pa_context_get_sink_input_info_list() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2233"/> ++ <source>pa_context_get_source_output_info_list() failed</source> ++ <translation>pa_context_get_source_output_info_list() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2267"/> ++ <source>moduleInfoCb callback failure</source> ++ <translation>Error de devolución de llamada moduleInfoCb</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2284"/> ++ <source>Ukui Media Volume Control</source> ++ <translation>Control de volumen de medios Ukui</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="3044"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3071"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3126"/> ++ <source>pa_context_load_module() failed</source> ++ <translation>pa_context_load_module() falló</translation> ++ </message> ++ <message> ++ <location filename="../main.cpp" line="72"/> ++ <source>ukui-volume-control-applet-qt is already running!</source> ++ <translation>¡ukui-volume-control-applet-qt ya se está ejecutando!</translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaDeviceWidget</name> ++ <message> ++ <source>Input Device</source> ++ <translation type="vanished">输入设备</translation> ++ </message> ++ <message> ++ <source>Microphone</source> ++ <translation type="vanished">麦克风</translation> ++ </message> ++ <message> ++ <source>Output Device</source> ++ <translation type="vanished">输出设备</translation> ++ </message> ++ <message> ++ <source>Speaker Realtek Audio</source> ++ <translation type="vanished">扬声器(Realtek Audio)</translation> ++ </message> ++ <message> ++ <source>Input device can not be detected</source> ++ <translation type="vanished">无法检测到输入设备</translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaMainWidget</name> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="110"/> ++ <source>Output volume control</source> ++ <translation>Control de volumen de salida</translation> ++ </message> ++ <message> ++ <source>Mute</source> ++ <translation type="vanished">静音</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="112"/> ++ <location filename="../ukmedia_main_widget.cpp" line="114"/> ++ <source>Sound preference</source> ++ <translation>Preferencia de sonido</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="180"/> ++ <source>System Volume</source> ++ <translation>Volumen del sistema</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="182"/> ++ <source>App Volume</source> ++ <translation>Volumen de la aplicación</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="788"/> ++ <source>Current volume:</source> ++ <translation>Volumen actual:</translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaMiniMasterVolumeWidget</name> ++ <message> ++ <source>Speaker (Realtek Audio)</source> ++ <translation type="vanished">扬声器(Realtek Audio)</translation> ++ </message> ++ <message> ++ <source>Go Into Full Mode</source> ++ <translation type="vanished">进入完整模式</translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaSystemVolumeWidget</name> ++ <message> ++ <location filename="../ukmedia_system_volume_widget.cpp" line="74"/> ++ <source>Volume</source> ++ <translation>Volumen</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_system_volume_widget.cpp" line="86"/> ++ <source>Output</source> ++ <translation>Salida</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_system_volume_widget.cpp" line="103"/> ++ <source>Sound Settings</source> ++ <translation>Ajustes de sonido</translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaVolumeControl</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="108"/> ++ <location filename="../ukmedia_volume_control.cpp" line="129"/> ++ <source>pa_context_set_sink_mute_by_index() failed</source> ++ <translation>pa_context_set_sink_mute_by_index() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="134"/> ++ <location filename="../ukmedia_volume_control.cpp" line="195"/> ++ <location filename="../ukmedia_volume_control.cpp" line="339"/> ++ <location filename="../ukmedia_volume_control.cpp" line="343"/> ++ <location filename="../ukmedia_volume_control.cpp" line="360"/> ++ <source>pa_context_set_sink_volume_by_index() failed</source> ++ <translation>pa_context_set_sink_volume_by_index() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="154"/> ++ <location filename="../ukmedia_volume_control.cpp" line="211"/> ++ <source>pa_context_set_source_mute_by_index() failed</source> ++ <translation>pa_context_set_source_mute_by_index() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="159"/> ++ <location filename="../ukmedia_volume_control.cpp" line="242"/> ++ <source>pa_context_set_source_volume_by_index() failed</source> ++ <translation>pa_context_set_source_volume_by_index() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="380"/> ++ <source>pa_context_move_sink_input_by_index() failed</source> ++ <translation>pa_context_move_sink_input_by_index() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="399"/> ++ <source>pa_context_move_source_output_by_name() failed</source> ++ <translation>pa_context_move_source_output_by_name() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="420"/> ++ <location filename="../ukmedia_volume_control.cpp" line="424"/> ++ <source>pa_context_set_source_output_volume() failed</source> ++ <translation>pa_context_set_source_output_volume() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="442"/> ++ <source>pa_context_set_source_output_mute() failed</source> ++ <translation>pa_context_set_source_output_mute() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="460"/> ++ <source>pa_context_set_card_profile_by_index() failed</source> ++ <translation>pa_context_set_card_profile_by_index() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="479"/> ++ <location filename="../ukmedia_volume_control.cpp" line="486"/> ++ <source>pa_context_set_default_sink() failed</source> ++ <translation>pa_context_set_default_sink() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="504"/> ++ <source>pa_context_set_default_source() failed</source> ++ <translation>pa_context_set_default_source() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="520"/> ++ <source>pa_context_set_sink_port_by_name() failed</source> ++ <translation>pa_context_set_sink_port_by_name() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="535"/> ++ <source>pa_context_set_source_port_by_name() failed</source> ++ <translation>pa_context_set_source_port_by_name() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="548"/> ++ <source>pa_context_kill_sink_input() failed</source> ++ <translation>pa_context_kill_sink_input() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="577"/> ++ <source> (plugged in)</source> ++ <translation> (enchufado)</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="581"/> ++ <location filename="../ukmedia_volume_control.cpp" line="739"/> ++ <source> (unavailable)</source> ++ <translation> (no disponible)</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="583"/> ++ <location filename="../ukmedia_volume_control.cpp" line="736"/> ++ <source> (unplugged)</source> ++ <translation> (desenchufado)</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1072"/> ++ <source>Failed to read data from stream</source> ++ <translation>No se pudieron leer los datos de la secuencia</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1113"/> ++ <source>Peak detect</source> ++ <translation>Detección de picos</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1114"/> ++ <source>Failed to create monitoring stream</source> ++ <translation>No se pudo crear la secuencia de supervisión</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1129"/> ++ <source>Failed to connect monitoring stream</source> ++ <translation>No se pudo conectar la secuencia de supervisión</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1290"/> ++ <source>Ignoring sink-input due to it being designated as an event and thus handled by the Event widget</source> ++ <translation>Ignorar la entrada del receptor debido a que se designa como un evento y, por lo tanto, es manejada por el widget de eventos</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1527"/> ++ <source>Establishing connection to PulseAudio. Please wait...</source> ++ <translation>Establecer la conexión con PulseAudio. Espera...</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1871"/> ++ <source>pa_context_get_sink_info_by_name() failed</source> ++ <translation>pa_context_get_sink_info_by_name() falló</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1875"/> ++ <source>pa_context_get_source_info_by_name() failed</source> ++ <translation>pa_context_get_source_info_by_name() falló</translation> ++ </message> ++</context> ++<context> ++ <name>UkuiMediaSetHeadsetWidget</name> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="36"/> ++ <source>Sound Settings</source> ++ <translation>Ajustes de sonido</translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="37"/> ++ <source>Cancel</source> ++ <translation>Cancelar</translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="38"/> ++ <source>Select Sound Device</source> ++ <translation>Seleccione el dispositivo de sonido</translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="67"/> ++ <source>Headphone</source> ++ <translation>Auricular</translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="68"/> ++ <source>Headset</source> ++ <translation>Auriculares de casco</translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="69"/> ++ <source>Microphone</source> ++ <translation>Micrófono</translation> ++ </message> ++</context> ++</TS> +diff --git a/ukui-volume-control-applet-qt/translations/fr.ts b/ukui-volume-control-applet-qt/translations/fr.ts +new file mode 100644 +index 0000000..b496090 +--- /dev/null ++++ b/ukui-volume-control-applet-qt/translations/fr.ts +@@ -0,0 +1,505 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="fr"> ++<context> ++ <name>ApplicationVolumeWidget</name> ++ <message> ++ <location filename="../ukmedia_application_volume_widget.cpp" line="43"/> ++ <source>Application Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_application_volume_widget.cpp" line="32"/> ++ <source>System Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_application_volume_widget.cpp" line="96"/> ++ <source>Sound Settings</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>DeviceSwitchWidget</name> ++ <message> ++ <source>Go Into Mini Mode</source> ++ <translation type="vanished">进入Mini模式</translation> ++ </message> ++ <message> ++ <source>Output volume control</source> ++ <translation type="vanished">输出音量控制</translation> ++ </message> ++ <message> ++ <source>Mute</source> ++ <translation type="vanished">静音</translation> ++ </message> ++ <message> ++ <source>Sound preference</source> ++ <translation type="vanished">声音首选项</translation> ++ </message> ++ <message> ++ <source>Device Volume</source> ++ <translation type="vanished">设备音量</translation> ++ </message> ++ <message> ++ <source>Application Volume</source> ++ <translation type="vanished">应用音量</translation> ++ </message> ++ <message> ++ <source>is using</source> ++ <translation type="vanished">正在使用</translation> ++ </message> ++ <message> ++ <source>Bluetooth</source> ++ <translation type="vanished">蓝牙</translation> ++ </message> ++ <message> ++ <source>Error</source> ++ <translation type="vanished">错误</translation> ++ </message> ++ <message> ++ <source>Unable to connect to the sound system, please check whether the pulseaudio service is running!</source> ++ <translation type="vanished">无法连接到系统声音,请检查pulseaudio服务是否正在运行!</translation> ++ </message> ++ <message> ++ <source>Dummy output</source> ++ <translation type="vanished">伪输出</translation> ++ </message> ++ <message> ++ <source>Speaker (Realtek Audio)</source> ++ <translation type="vanished">扬声器(Realtek Audio)</translation> ++ </message> ++ <message> ++ <source>Headphone</source> ++ <translation type="vanished">模拟耳机</translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2182"/> ++ <source>pa_context_subscribe() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2205"/> ++ <source>pa_context_get_card_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2212"/> ++ <source>pa_context_get_sink_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2219"/> ++ <source>pa_context_get_source_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1936"/> ++ <source>Failed to initialize stream_restore extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1951"/> ++ <source>pa_ext_stream_restore_read() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2044"/> ++ <source>pa_context_get_sink_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2057"/> ++ <source>pa_context_get_source_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1920"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2118"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2144"/> ++ <source>pa_context_get_card_info_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1557"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1576"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1606"/> ++ <source>Card callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1640"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1756"/> ++ <source>Sink callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1698"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1778"/> ++ <source>Source callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="97"/> ++ <source>Fatal Error: Unable to connect to PulseAudio</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="287"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2106"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2191"/> ++ <source>pa_context_get_server_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1799"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2336"/> ++ <source>Sink input callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1818"/> ++ <source>Source output callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1846"/> ++ <source>Client callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1862"/> ++ <location filename="../ukmedia_volume_control.cpp" line="1906"/> ++ <source>Server info callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1969"/> ++ <source>Failed to initialize device restore extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1990"/> ++ <source>pa_ext_device_restore_read_sink_formats() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2008"/> ++ <source>Failed to initialize device manager extension: %s</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2027"/> ++ <source>pa_ext_device_manager_read() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2070"/> ++ <location filename="../ukmedia_volume_control.cpp" line="2083"/> ++ <source>pa_context_get_sink_input_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2096"/> ++ <source>pa_context_get_client_info() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2198"/> ++ <source>pa_context_client_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2226"/> ++ <source>pa_context_get_sink_input_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2233"/> ++ <source>pa_context_get_source_output_info_list() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2267"/> ++ <source>moduleInfoCb callback failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="2284"/> ++ <source>Ukui Media Volume Control</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="3044"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3071"/> ++ <location filename="../ukmedia_main_widget.cpp" line="3126"/> ++ <source>pa_context_load_module() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../main.cpp" line="72"/> ++ <source>ukui-volume-control-applet-qt is already running!</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaDeviceWidget</name> ++ <message> ++ <source>Input Device</source> ++ <translation type="vanished">输入设备</translation> ++ </message> ++ <message> ++ <source>Microphone</source> ++ <translation type="vanished">麦克风</translation> ++ </message> ++ <message> ++ <source>Output Device</source> ++ <translation type="vanished">输出设备</translation> ++ </message> ++ <message> ++ <source>Speaker Realtek Audio</source> ++ <translation type="vanished">扬声器(Realtek Audio)</translation> ++ </message> ++ <message> ++ <source>Input device can not be detected</source> ++ <translation type="vanished">无法检测到输入设备</translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaMainWidget</name> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="110"/> ++ <source>Output volume control</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>Mute</source> ++ <translation type="vanished">静音</translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="112"/> ++ <location filename="../ukmedia_main_widget.cpp" line="114"/> ++ <source>Sound preference</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="180"/> ++ <source>System Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="182"/> ++ <source>App Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_main_widget.cpp" line="788"/> ++ <source>Current volume:</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaMiniMasterVolumeWidget</name> ++ <message> ++ <source>Speaker (Realtek Audio)</source> ++ <translation type="vanished">扬声器(Realtek Audio)</translation> ++ </message> ++ <message> ++ <source>Go Into Full Mode</source> ++ <translation type="vanished">进入完整模式</translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaSystemVolumeWidget</name> ++ <message> ++ <location filename="../ukmedia_system_volume_widget.cpp" line="74"/> ++ <source>Volume</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_system_volume_widget.cpp" line="86"/> ++ <source>Output</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_system_volume_widget.cpp" line="103"/> ++ <source>Sound Settings</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkmediaVolumeControl</name> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="108"/> ++ <location filename="../ukmedia_volume_control.cpp" line="129"/> ++ <source>pa_context_set_sink_mute_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="134"/> ++ <location filename="../ukmedia_volume_control.cpp" line="195"/> ++ <location filename="../ukmedia_volume_control.cpp" line="339"/> ++ <location filename="../ukmedia_volume_control.cpp" line="343"/> ++ <location filename="../ukmedia_volume_control.cpp" line="360"/> ++ <source>pa_context_set_sink_volume_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="154"/> ++ <location filename="../ukmedia_volume_control.cpp" line="211"/> ++ <source>pa_context_set_source_mute_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="159"/> ++ <location filename="../ukmedia_volume_control.cpp" line="242"/> ++ <source>pa_context_set_source_volume_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="380"/> ++ <source>pa_context_move_sink_input_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="399"/> ++ <source>pa_context_move_source_output_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="420"/> ++ <location filename="../ukmedia_volume_control.cpp" line="424"/> ++ <source>pa_context_set_source_output_volume() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="442"/> ++ <source>pa_context_set_source_output_mute() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="460"/> ++ <source>pa_context_set_card_profile_by_index() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="479"/> ++ <location filename="../ukmedia_volume_control.cpp" line="486"/> ++ <source>pa_context_set_default_sink() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="504"/> ++ <source>pa_context_set_default_source() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="520"/> ++ <source>pa_context_set_sink_port_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="535"/> ++ <source>pa_context_set_source_port_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="548"/> ++ <source>pa_context_kill_sink_input() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="577"/> ++ <source> (plugged in)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="581"/> ++ <location filename="../ukmedia_volume_control.cpp" line="739"/> ++ <source> (unavailable)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="583"/> ++ <location filename="../ukmedia_volume_control.cpp" line="736"/> ++ <source> (unplugged)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1072"/> ++ <source>Failed to read data from stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1113"/> ++ <source>Peak detect</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1114"/> ++ <source>Failed to create monitoring stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1129"/> ++ <source>Failed to connect monitoring stream</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1290"/> ++ <source>Ignoring sink-input due to it being designated as an event and thus handled by the Event widget</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1527"/> ++ <source>Establishing connection to PulseAudio. Please wait...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1871"/> ++ <source>pa_context_get_sink_info_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukmedia_volume_control.cpp" line="1875"/> ++ <source>pa_context_get_source_info_by_name() failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UkuiMediaSetHeadsetWidget</name> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="36"/> ++ <source>Sound Settings</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="37"/> ++ <source>Cancel</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="38"/> ++ <source>Select Sound Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="67"/> ++ <source>Headphone</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="68"/> ++ <source>Headset</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../ukui_media_set_headset_widget.cpp" line="69"/> ++ <source>Microphone</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> +diff --git a/ukui-volume-control-applet-qt/translations/vi.ts b/ukui-volume-control-applet-qt/translations/vi.ts +index 9eac816..55d1dd7 100644 +--- a/ukui-volume-control-applet-qt/translations/vi.ts ++++ b/ukui-volume-control-applet-qt/translations/vi.ts +@@ -6,17 +6,17 @@ + <message> + <location filename="../ukmedia_application_volume_widget.cpp" line="43"/> + <source>Application Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Khối lượng ứng dụng</translation> + </message> + <message> + <location filename="../ukmedia_application_volume_widget.cpp" line="32"/> + <source>System Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Khối lượng hệ thống</translation> + </message> + <message> + <location filename="../ukmedia_application_volume_widget.cpp" line="96"/> + <source>Sound Settings</source> +- <translation type="unfinished"></translation> ++ <translation>Cài đặt âm thanh</translation> + </message> + </context> + <context> +@@ -79,170 +79,170 @@ + <message> + <location filename="../ukmedia_volume_control.cpp" line="2182"/> + <source>pa_context_subscribe() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_subscribe() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2205"/> + <source>pa_context_get_card_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_card_info_list() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2212"/> + <source>pa_context_get_sink_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_info_list() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2219"/> + <source>pa_context_get_source_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_source_info_list() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1936"/> + <source>Failed to initialize stream_restore extension: %s</source> +- <translation type="unfinished"></translation> ++ <translation>Không thể khởi tạo stream_restore phần mở rộng: %s</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1951"/> + <source>pa_ext_stream_restore_read() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_ext_stream_restore_read() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2044"/> + <source>pa_context_get_sink_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_info_by_index() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2057"/> + <source>pa_context_get_source_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_source_info_by_index() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1920"/> + <location filename="../ukmedia_volume_control.cpp" line="2118"/> + <location filename="../ukmedia_volume_control.cpp" line="2144"/> + <source>pa_context_get_card_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_card_info_by_index() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1557"/> + <location filename="../ukmedia_volume_control.cpp" line="1576"/> + <location filename="../ukmedia_volume_control.cpp" line="1606"/> + <source>Card callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Gọi lại thẻ không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1640"/> + <location filename="../ukmedia_volume_control.cpp" line="1756"/> + <source>Sink callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Lỗi gọi lại chìm</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1698"/> + <location filename="../ukmedia_volume_control.cpp" line="1778"/> + <source>Source callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Lỗi gọi lại nguồn</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="97"/> + <source>Fatal Error: Unable to connect to PulseAudio</source> +- <translation type="unfinished"></translation> ++ <translation>Lỗi nghiêm trọng: Không thể kết nối với PulseAudio</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="287"/> + <location filename="../ukmedia_volume_control.cpp" line="2106"/> + <location filename="../ukmedia_volume_control.cpp" line="2191"/> + <source>pa_context_get_server_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_server_info() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1799"/> + <location filename="../ukmedia_volume_control.cpp" line="2336"/> + <source>Sink input callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Lỗi gọi lại đầu vào chìm</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1818"/> + <source>Source output callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Lỗi gọi lại đầu ra nguồn</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1846"/> + <source>Client callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Lỗi gọi lại máy khách</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1862"/> + <location filename="../ukmedia_volume_control.cpp" line="1906"/> + <source>Server info callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Lỗi gọi lại thông tin máy chủ</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1969"/> + <source>Failed to initialize device restore extension: %s</source> +- <translation type="unfinished"></translation> ++ <translation>Không khởi tạo được tiện ích mở rộng khôi phục thiết bị: %s</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1990"/> + <source>pa_ext_device_restore_read_sink_formats() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_ext_device_restore_read_sink_formats() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2008"/> + <source>Failed to initialize device manager extension: %s</source> +- <translation type="unfinished"></translation> ++ <translation>Không khởi tạo được phần mở rộng trình quản lý thiết bị: %s</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2027"/> + <source>pa_ext_device_manager_read() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_ext_device_manager_read() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2070"/> + <location filename="../ukmedia_volume_control.cpp" line="2083"/> + <source>pa_context_get_sink_input_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_input_info() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2096"/> + <source>pa_context_get_client_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_client_info() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2198"/> + <source>pa_context_client_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_client_info_list() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2226"/> + <source>pa_context_get_sink_input_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_input_info_list() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2233"/> + <source>pa_context_get_source_output_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_source_output_info_list() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2267"/> + <source>moduleInfoCb callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>moduleInfoCb gọi lại không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2284"/> + <source>Ukui Media Volume Control</source> +- <translation type="unfinished"></translation> ++ <translation>Điều khiển âm lượng phương tiện Ukui</translation> + </message> + <message> + <location filename="../ukmedia_main_widget.cpp" line="3044"/> + <location filename="../ukmedia_main_widget.cpp" line="3071"/> + <location filename="../ukmedia_main_widget.cpp" line="3126"/> + <source>pa_context_load_module() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_load_module() không thành công</translation> + </message> + <message> + <location filename="../main.cpp" line="72"/> + <source>ukui-volume-control-applet-qt is already running!</source> +- <translation type="unfinished"></translation> ++ <translation>ukui-volume-control-applet-qt đã chạy!</translation> + </message> + </context> + <context> +@@ -273,7 +273,7 @@ + <message> + <location filename="../ukmedia_main_widget.cpp" line="110"/> + <source>Output volume control</source> +- <translation type="unfinished"></translation> ++ <translation>Kiểm soát âm lượng đầu ra</translation> + </message> + <message> + <source>Mute</source> +@@ -283,22 +283,22 @@ + <location filename="../ukmedia_main_widget.cpp" line="112"/> + <location filename="../ukmedia_main_widget.cpp" line="114"/> + <source>Sound preference(S)</source> +- <translation type="unfinished"></translation> ++ <translation>Sở thích âm thanh (S)</translation> + </message> + <message> + <location filename="../ukmedia_main_widget.cpp" line="180"/> + <source>System Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Khối lượng hệ thống</translation> + </message> + <message> + <location filename="../ukmedia_main_widget.cpp" line="182"/> + <source>App Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Âm lượng ứng dụng</translation> + </message> + <message> + <location filename="../ukmedia_main_widget.cpp" line="788"/> + <source>Current volume:</source> +- <translation type="unfinished"></translation> ++ <translation>Khối lượng hiện tại:</translation> + </message> + </context> + <context> +@@ -317,17 +317,17 @@ + <message> + <location filename="../ukmedia_system_volume_widget.cpp" line="74"/> + <source>Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Âm lượng</translation> + </message> + <message> + <location filename="../ukmedia_system_volume_widget.cpp" line="86"/> + <source>Output</source> +- <translation type="unfinished"></translation> ++ <translation>Ra</translation> + </message> + <message> + <location filename="../ukmedia_system_volume_widget.cpp" line="103"/> + <source>Sound Settings</source> +- <translation type="unfinished"></translation> ++ <translation>Cài đặt âm thanh</translation> + </message> + </context> + <context> +@@ -336,7 +336,7 @@ + <location filename="../ukmedia_volume_control.cpp" line="108"/> + <location filename="../ukmedia_volume_control.cpp" line="129"/> + <source>pa_context_set_sink_mute_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_sink_mute_by_index() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="134"/> +@@ -345,128 +345,128 @@ + <location filename="../ukmedia_volume_control.cpp" line="343"/> + <location filename="../ukmedia_volume_control.cpp" line="360"/> + <source>pa_context_set_sink_volume_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_sink_volume_by_index() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="154"/> + <location filename="../ukmedia_volume_control.cpp" line="211"/> + <source>pa_context_set_source_mute_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_mute_by_index() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="159"/> + <location filename="../ukmedia_volume_control.cpp" line="242"/> + <source>pa_context_set_source_volume_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_volume_by_index() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="380"/> + <source>pa_context_move_sink_input_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_move_sink_input_by_index() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="399"/> + <source>pa_context_move_source_output_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_move_source_output_by_name() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="420"/> + <location filename="../ukmedia_volume_control.cpp" line="424"/> + <source>pa_context_set_source_output_volume() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_output_volume() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="442"/> + <source>pa_context_set_source_output_mute() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_output_mute() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="460"/> + <source>pa_context_set_card_profile_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_card_profile_by_index() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="479"/> + <location filename="../ukmedia_volume_control.cpp" line="486"/> + <source>pa_context_set_default_sink() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_default_sink() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="504"/> + <source>pa_context_set_default_source() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_default_source() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="520"/> + <source>pa_context_set_sink_port_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_sink_port_by_name() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="535"/> + <source>pa_context_set_source_port_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_port_by_name() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="548"/> + <source>pa_context_kill_sink_input() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_kill_sink_input() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="577"/> + <source> (plugged in)</source> +- <translation type="unfinished"></translation> ++ <translation> (cắm vào)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="581"/> + <location filename="../ukmedia_volume_control.cpp" line="739"/> + <source> (unavailable)</source> +- <translation type="unfinished"></translation> ++ <translation> (không có sẵn)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="583"/> + <location filename="../ukmedia_volume_control.cpp" line="736"/> + <source> (unplugged)</source> +- <translation type="unfinished"></translation> ++ <translation> (rút phích cắm)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1072"/> + <source>Failed to read data from stream</source> +- <translation type="unfinished"></translation> ++ <translation>Không đọc được dữ liệu từ luồng</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1113"/> + <source>Peak detect</source> +- <translation type="unfinished"></translation> ++ <translation>Phát hiện đỉnh</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1114"/> + <source>Failed to create monitoring stream</source> +- <translation type="unfinished"></translation> ++ <translation>Không thể tạo luồng giám sát</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1129"/> + <source>Failed to connect monitoring stream</source> +- <translation type="unfinished"></translation> ++ <translation>Không kết nối được luồng giám sát</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1290"/> + <source>Ignoring sink-input due to it being designated as an event and thus handled by the Event widget</source> +- <translation type="unfinished"></translation> ++ <translation>Bỏ qua sink-input do nó được chỉ định là một sự kiện và do đó được xử lý bởi tiện ích Event</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1527"/> + <source>Establishing connection to PulseAudio. Please wait...</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết lập kết nối với PulseAudio. Hãy chờ...</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1871"/> + <source>pa_context_get_sink_info_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_info_by_name() không thành công</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1875"/> + <source>pa_context_get_source_info_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_source_info_by_name() không thành công</translation> + </message> + </context> + <context> +@@ -474,32 +474,32 @@ + <message> + <location filename="../ukui_media_set_headset_widget.cpp" line="36"/> + <source>Sound Settings</source> +- <translation type="unfinished"></translation> ++ <translation>Cài đặt âm thanh</translation> + </message> + <message> + <location filename="../ukui_media_set_headset_widget.cpp" line="37"/> + <source>Cancel</source> +- <translation type="unfinished"></translation> ++ <translation>Hủy</translation> + </message> + <message> + <location filename="../ukui_media_set_headset_widget.cpp" line="38"/> + <source>Select Sound Device</source> +- <translation type="unfinished"></translation> ++ <translation>Chọn thiết bị âm thanh</translation> + </message> + <message> + <location filename="../ukui_media_set_headset_widget.cpp" line="67"/> + <source>Headphone</source> +- <translation type="unfinished"></translation> ++ <translation>Tai nghe</translation> + </message> + <message> + <location filename="../ukui_media_set_headset_widget.cpp" line="68"/> + <source>Headset</source> +- <translation type="unfinished"></translation> ++ <translation>Tai nghe</translation> + </message> + <message> + <location filename="../ukui_media_set_headset_widget.cpp" line="69"/> + <source>Microphone</source> +- <translation type="unfinished"></translation> ++ <translation>Micrô</translation> + </message> + </context> + </TS> diff -Nru ukui-media-3.25.0.0/debian/patches/0069-Translated-using-Weblate-French.patch ukui-media-3.25.0.0/debian/patches/0069-Translated-using-Weblate-French.patch --- ukui-media-3.25.0.0/debian/patches/0069-Translated-using-Weblate-French.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-media-3.25.0.0/debian/patches/0069-Translated-using-Weblate-French.patch 2024-10-28 11:26:40.000000000 +0800 @@ -0,0 +1,497 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Thu, 13 Feb 2025 03:13:17 +0000 +Subject: Translated using Weblate (French) + +Currently translated at 100.0% (73 of 73 strings) + +Translation: openkylin-nile-new/ukui-volume-control-apply-qt +Translate-URL: http://weblate.openkylin.top/projects/openkylin-nile-new/ukui-volume-control-apply-qt/fr/ +--- + ukui-volume-control-applet-qt/translations/fr.ts | 146 +++++++++++------------ + 1 file changed, 73 insertions(+), 73 deletions(-) + +diff --git a/ukui-volume-control-applet-qt/translations/fr.ts b/ukui-volume-control-applet-qt/translations/fr.ts +index b496090..efd72f3 100644 +--- a/ukui-volume-control-applet-qt/translations/fr.ts ++++ b/ukui-volume-control-applet-qt/translations/fr.ts +@@ -6,17 +6,17 @@ + <message> + <location filename="../ukmedia_application_volume_widget.cpp" line="43"/> + <source>Application Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Volume d’applications</translation> + </message> + <message> + <location filename="../ukmedia_application_volume_widget.cpp" line="32"/> + <source>System Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Volume du système</translation> + </message> + <message> + <location filename="../ukmedia_application_volume_widget.cpp" line="96"/> + <source>Sound Settings</source> +- <translation type="unfinished"></translation> ++ <translation>Paramètres sonores</translation> + </message> + </context> + <context> +@@ -79,170 +79,170 @@ + <message> + <location filename="../ukmedia_volume_control.cpp" line="2182"/> + <source>pa_context_subscribe() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_subscribe() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2205"/> + <source>pa_context_get_card_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_card_info_list() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2212"/> + <source>pa_context_get_sink_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_info_list() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2219"/> + <source>pa_context_get_source_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_source_info_list() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1936"/> + <source>Failed to initialize stream_restore extension: %s</source> +- <translation type="unfinished"></translation> ++ <translation>Echec de l’initialisation de stream_restore extension : %s</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1951"/> + <source>pa_ext_stream_restore_read() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_ext_stream_restore_read() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2044"/> + <source>pa_context_get_sink_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_info_by_index() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2057"/> + <source>pa_context_get_source_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_source_info_by_index() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1920"/> + <location filename="../ukmedia_volume_control.cpp" line="2118"/> + <location filename="../ukmedia_volume_control.cpp" line="2144"/> + <source>pa_context_get_card_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_card_info_by_index() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1557"/> + <location filename="../ukmedia_volume_control.cpp" line="1576"/> + <location filename="../ukmedia_volume_control.cpp" line="1606"/> + <source>Card callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Échec du rappel de la carte</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1640"/> + <location filename="../ukmedia_volume_control.cpp" line="1756"/> + <source>Sink callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Échec du rappel du récepteur</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1698"/> + <location filename="../ukmedia_volume_control.cpp" line="1778"/> + <source>Source callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Échec du rappel de la source</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="97"/> + <source>Fatal Error: Unable to connect to PulseAudio</source> +- <translation type="unfinished"></translation> ++ <translation>Erreur fatale : Impossible de se connecter à PulseAudio</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="287"/> + <location filename="../ukmedia_volume_control.cpp" line="2106"/> + <location filename="../ukmedia_volume_control.cpp" line="2191"/> + <source>pa_context_get_server_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_server_info() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1799"/> + <location filename="../ukmedia_volume_control.cpp" line="2336"/> + <source>Sink input callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Échec du rappel d’entrée du récepteur</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1818"/> + <source>Source output callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Échec du rappel de sortie source</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1846"/> + <source>Client callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Échec du rappel du client</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1862"/> + <location filename="../ukmedia_volume_control.cpp" line="1906"/> + <source>Server info callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Échec de la fonction de rappel des informations sur le serveur</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1969"/> + <source>Failed to initialize device restore extension: %s</source> +- <translation type="unfinished"></translation> ++ <translation>Echec de l’initialisation de l’extension de restauration de périphérique : %s</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1990"/> + <source>pa_ext_device_restore_read_sink_formats() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_ext_device_restore_read_sink_formats() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2008"/> + <source>Failed to initialize device manager extension: %s</source> +- <translation type="unfinished"></translation> ++ <translation>Echec de l’initialisation de l’extension du gestionnaire de périphériques : %s</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2027"/> + <source>pa_ext_device_manager_read() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_ext_device_manager_read() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2070"/> + <location filename="../ukmedia_volume_control.cpp" line="2083"/> + <source>pa_context_get_sink_input_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_input_info() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2096"/> + <source>pa_context_get_client_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_client_info() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2198"/> + <source>pa_context_client_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_client_info_list() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2226"/> + <source>pa_context_get_sink_input_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_input_info_list() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2233"/> + <source>pa_context_get_source_output_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_source_output_info_list() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2267"/> + <source>moduleInfoCb callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Echec du callback moduleInfoCb</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="2284"/> + <source>Ukui Media Volume Control</source> +- <translation type="unfinished"></translation> ++ <translation>Contrôle du volume multimédia Ukui</translation> + </message> + <message> + <location filename="../ukmedia_main_widget.cpp" line="3044"/> + <location filename="../ukmedia_main_widget.cpp" line="3071"/> + <location filename="../ukmedia_main_widget.cpp" line="3126"/> + <source>pa_context_load_module() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_load_module() a échoué</translation> + </message> + <message> + <location filename="../main.cpp" line="72"/> + <source>ukui-volume-control-applet-qt is already running!</source> +- <translation type="unfinished"></translation> ++ <translation>ukui-volume-control-applet-qt est déjà en cours d’exécution !</translation> + </message> + </context> + <context> +@@ -273,7 +273,7 @@ + <message> + <location filename="../ukmedia_main_widget.cpp" line="110"/> + <source>Output volume control</source> +- <translation type="unfinished"></translation> ++ <translation>Contrôle du volume de sortie</translation> + </message> + <message> + <source>Mute</source> +@@ -283,22 +283,22 @@ + <location filename="../ukmedia_main_widget.cpp" line="112"/> + <location filename="../ukmedia_main_widget.cpp" line="114"/> + <source>Sound preference</source> +- <translation type="unfinished"></translation> ++ <translation>Préférence sonore</translation> + </message> + <message> + <location filename="../ukmedia_main_widget.cpp" line="180"/> + <source>System Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Volume du système</translation> + </message> + <message> + <location filename="../ukmedia_main_widget.cpp" line="182"/> + <source>App Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Volume de l’application</translation> + </message> + <message> + <location filename="../ukmedia_main_widget.cpp" line="788"/> + <source>Current volume:</source> +- <translation type="unfinished"></translation> ++ <translation>Volume actuel :</translation> + </message> + </context> + <context> +@@ -317,17 +317,17 @@ + <message> + <location filename="../ukmedia_system_volume_widget.cpp" line="74"/> + <source>Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Volume</translation> + </message> + <message> + <location filename="../ukmedia_system_volume_widget.cpp" line="86"/> + <source>Output</source> +- <translation type="unfinished"></translation> ++ <translation>Sortie</translation> + </message> + <message> + <location filename="../ukmedia_system_volume_widget.cpp" line="103"/> + <source>Sound Settings</source> +- <translation type="unfinished"></translation> ++ <translation>Paramètres sonores</translation> + </message> + </context> + <context> +@@ -336,7 +336,7 @@ + <location filename="../ukmedia_volume_control.cpp" line="108"/> + <location filename="../ukmedia_volume_control.cpp" line="129"/> + <source>pa_context_set_sink_mute_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_sink_mute_by_index() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="134"/> +@@ -345,128 +345,128 @@ + <location filename="../ukmedia_volume_control.cpp" line="343"/> + <location filename="../ukmedia_volume_control.cpp" line="360"/> + <source>pa_context_set_sink_volume_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_sink_volume_by_index() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="154"/> + <location filename="../ukmedia_volume_control.cpp" line="211"/> + <source>pa_context_set_source_mute_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_mute_by_index() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="159"/> + <location filename="../ukmedia_volume_control.cpp" line="242"/> + <source>pa_context_set_source_volume_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_volume_by_index() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="380"/> + <source>pa_context_move_sink_input_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_move_sink_input_by_index() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="399"/> + <source>pa_context_move_source_output_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_move_source_output_by_name() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="420"/> + <location filename="../ukmedia_volume_control.cpp" line="424"/> + <source>pa_context_set_source_output_volume() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_output_volume() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="442"/> + <source>pa_context_set_source_output_mute() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_output_mute() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="460"/> + <source>pa_context_set_card_profile_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_card_profile_by_index() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="479"/> + <location filename="../ukmedia_volume_control.cpp" line="486"/> + <source>pa_context_set_default_sink() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_default_sink() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="504"/> + <source>pa_context_set_default_source() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_default_source() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="520"/> + <source>pa_context_set_sink_port_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_sink_port_by_name() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="535"/> + <source>pa_context_set_source_port_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_port_by_name() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="548"/> + <source>pa_context_kill_sink_input() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_kill_sink_input() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="577"/> + <source> (plugged in)</source> +- <translation type="unfinished"></translation> ++ <translation> (branché)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="581"/> + <location filename="../ukmedia_volume_control.cpp" line="739"/> + <source> (unavailable)</source> +- <translation type="unfinished"></translation> ++ <translation> (non disponible)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="583"/> + <location filename="../ukmedia_volume_control.cpp" line="736"/> + <source> (unplugged)</source> +- <translation type="unfinished"></translation> ++ <translation> (débranché)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1072"/> + <source>Failed to read data from stream</source> +- <translation type="unfinished"></translation> ++ <translation>Échec de la lecture des données du flux</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1113"/> + <source>Peak detect</source> +- <translation type="unfinished"></translation> ++ <translation>Détection de pic</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1114"/> + <source>Failed to create monitoring stream</source> +- <translation type="unfinished"></translation> ++ <translation>Échec de la création du flux de surveillance</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1129"/> + <source>Failed to connect monitoring stream</source> +- <translation type="unfinished"></translation> ++ <translation>Échec de la connexion au flux de surveillance</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1290"/> + <source>Ignoring sink-input due to it being designated as an event and thus handled by the Event widget</source> +- <translation type="unfinished"></translation> ++ <translation>Ignorer sink-input car il est désigné comme un événement et donc géré par le widget Event</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1527"/> + <source>Establishing connection to PulseAudio. Please wait...</source> +- <translation type="unfinished"></translation> ++ <translation>Établissement de la connexion à PulseAudio. Veuillez patienter...</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1871"/> + <source>pa_context_get_sink_info_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_info_by_name() a échoué</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1875"/> + <source>pa_context_get_source_info_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_source_info_by_name() a échoué</translation> + </message> + </context> + <context> +@@ -474,32 +474,32 @@ + <message> + <location filename="../ukui_media_set_headset_widget.cpp" line="36"/> + <source>Sound Settings</source> +- <translation type="unfinished"></translation> ++ <translation>Paramètres sonores</translation> + </message> + <message> + <location filename="../ukui_media_set_headset_widget.cpp" line="37"/> + <source>Cancel</source> +- <translation type="unfinished"></translation> ++ <translation>Annuler</translation> + </message> + <message> + <location filename="../ukui_media_set_headset_widget.cpp" line="38"/> + <source>Select Sound Device</source> +- <translation type="unfinished"></translation> ++ <translation>Sélectionnez Périphérique audio</translation> + </message> + <message> + <location filename="../ukui_media_set_headset_widget.cpp" line="67"/> + <source>Headphone</source> +- <translation type="unfinished"></translation> ++ <translation>Écouteur</translation> + </message> + <message> + <location filename="../ukui_media_set_headset_widget.cpp" line="68"/> + <source>Headset</source> +- <translation type="unfinished"></translation> ++ <translation>Casque</translation> + </message> + <message> + <location filename="../ukui_media_set_headset_widget.cpp" line="69"/> + <source>Microphone</source> +- <translation type="unfinished"></translation> ++ <translation>Microphone</translation> + </message> + </context> + </TS> diff -Nru ukui-media-3.25.0.0/debian/patches/0070-Translated-using-Weblate-Spanish.patch ukui-media-3.25.0.0/debian/patches/0070-Translated-using-Weblate-Spanish.patch --- ukui-media-3.25.0.0/debian/patches/0070-Translated-using-Weblate-Spanish.patch 1970-01-01 08:00:00.000000000 +0800 +++ ukui-media-3.25.0.0/debian/patches/0070-Translated-using-Weblate-Spanish.patch 2024-10-28 11:26:40.000000000 +0800 @@ -0,0 +1,1351 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Thu, 13 Feb 2025 03:14:06 +0000 +Subject: Translated using Weblate (Spanish) + +Currently translated at 100.0% (99 of 99 strings) + +Translation: openkylin-nile-new/audio +Translate-URL: http://weblate.openkylin.top/projects/openkylin-nile-new/audio/es/ +--- + audio/translations/de.ts | 198 +++++++++++++++++++++++------------------------ + audio/translations/es.ts | 198 +++++++++++++++++++++++------------------------ + 2 files changed, 198 insertions(+), 198 deletions(-) + +diff --git a/audio/translations/de.ts b/audio/translations/de.ts +index 2a9bf74..1b73794 100644 +--- a/audio/translations/de.ts ++++ b/audio/translations/de.ts +@@ -7,18 +7,18 @@ + <location filename="../audio.ui" line="26"/> + <location filename="../audio.cpp" line="38"/> + <source>Audio</source> +- <translation type="unfinished"></translation> ++ <translation>Audio</translation> + </message> + <message> + <location filename="../audio.cpp" line="93"/> + <source>UkccPlugin</source> +- <translation type="unfinished"></translation> ++ <translation>UkccPlugin (Englisch)</translation> + <extra-contents_path>/UkccPlugin/UkccPlugin</extra-contents_path> + </message> + <message> + <location filename="../audio.cpp" line="95"/> + <source>ukccplugin test</source> +- <translation type="unfinished"></translation> ++ <translation>ukccplugin-Test</translation> + <extra-contents_path>/UkccPlugin/ukccplugin test</extra-contents_path> + </message> + </context> +@@ -27,12 +27,12 @@ + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="426"/> + <source>Input Devices</source> +- <translation type="unfinished"></translation> ++ <translation>Eingabegeräte</translation> + </message> + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="463"/> + <source>Confirm</source> +- <translation type="unfinished"></translation> ++ <translation>Bestätigen</translation> + </message> + </context> + <context> +@@ -40,12 +40,12 @@ + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="112"/> + <source>Output Devices</source> +- <translation type="unfinished"></translation> ++ <translation>Ausgabegeräte</translation> + </message> + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="149"/> + <source>Confirm</source> +- <translation type="unfinished"></translation> ++ <translation>Bestätigen</translation> + </message> + </context> + <context> +@@ -55,132 +55,132 @@ + <location filename="../ukmedia_volume_control.cpp" line="1835"/> + <location filename="../ukmedia_volume_control.cpp" line="1914"/> + <source>pa_context_get_server_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_server_info() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1414"/> + <source>Card callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Fehler beim Kartenrückruf</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1432"/> + <location filename="../ukmedia_volume_control.cpp" line="1504"/> + <source>Sink callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Fehler beim Senkenrückruf</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1465"/> + <location filename="../ukmedia_volume_control.cpp" line="1533"/> + <source>Source callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Fehler beim Quell-Callback</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1562"/> + <location filename="../ukmedia_volume_control.cpp" line="2068"/> + <source>Sink input callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Fehler beim Rückruf der Senkeeingabe</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1581"/> + <source>Source output callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Fehler beim Rückruf der Quellausgabe</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1626"/> + <source>Client callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Fehler beim Client-Callback</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1642"/> + <location filename="../ukmedia_volume_control.cpp" line="1656"/> + <source>Server info callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Fehler beim Rückruf von Serverinformationen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1703"/> + <source>Failed to initialize stream_restore extension: %s</source> +- <translation type="unfinished"></translation> ++ <translation>Fehler beim Initialisieren stream_restore Erweiterung: %s</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1720"/> + <source>pa_ext_stream_restore_read() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_ext_stream_restore_read() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1737"/> + <source>Failed to initialize device manager extension: %s</source> +- <translation type="unfinished"></translation> ++ <translation>Fehler beim Initialisieren der Geräte-Manager-Erweiterung: %s</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1756"/> + <source>pa_ext_device_manager_read() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_ext_device_manager_read() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1773"/> + <source>pa_context_get_sink_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_info_by_index() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1786"/> + <source>pa_context_get_source_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_source_info_by_index() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1799"/> + <location filename="../ukmedia_volume_control.cpp" line="1812"/> + <source>pa_context_get_sink_input_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_input_info() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1825"/> + <source>pa_context_get_client_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_client_info() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1865"/> + <source>pa_context_get_card_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_card_info_by_index() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1905"/> + <source>pa_context_subscribe() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_subscribe() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1921"/> + <source>pa_context_client_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_client_info_list() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1928"/> + <source>pa_context_get_card_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_card_info_list() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1935"/> + <source>pa_context_get_sink_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_info_list() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1942"/> + <source>pa_context_get_source_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_source_info_list() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1949"/> + <source>pa_context_get_sink_input_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_input_info_list() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1956"/> + <source>pa_context_get_source_output_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_source_output_info_list() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1992"/> + <source>Ukui Media Volume Control</source> +- <translation type="unfinished"></translation> ++ <translation>Ukui Media Lautstärkeregelung</translation> + </message> + </context> + <context> +@@ -188,18 +188,18 @@ + <message> + <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="37"/> + <source>App Sound Control</source> +- <translation type="unfinished"></translation> ++ <translation>App-Klangsteuerung</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="342"/> + <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="363"/> + <source>None</source> +- <translation type="unfinished"></translation> ++ <translation>Nichts</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="899"/> + <source>System Volume</source> +- <translation type="unfinished"></translation> ++ <translation>System-Lautstärke</translation> + </message> + </context> + <context> +@@ -207,37 +207,37 @@ + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="21"/> + <source>Application</source> +- <translation type="unfinished"></translation> ++ <translation>Anwendung</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="47"/> + <source>Output Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Ausgangsvolumen</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="77"/> + <source>Input Device</source> +- <translation type="unfinished"></translation> ++ <translation>Eingabegerät</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="84"/> + <source>This case does not support setting the input device</source> +- <translation type="unfinished"></translation> ++ <translation>Dieses Gehäuse unterstützt das Einstellen des Eingabegeräts nicht</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="104"/> + <source>Output Device</source> +- <translation type="unfinished"></translation> ++ <translation>Ausgabegerät</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="111"/> + <source>This case does not support setting the output device</source> +- <translation type="unfinished"></translation> ++ <translation>In diesem Fall wird das Einstellen des Ausgabegeräts nicht unterstützt</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="131"/> + <source>Confirm</source> +- <translation type="unfinished"></translation> ++ <translation>Bestätigen</translation> + </message> + </context> + <context> +@@ -257,17 +257,17 @@ + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="14"/> + <source>Sound Equipment Control</source> +- <translation type="unfinished"></translation> ++ <translation>Steuerung der Tontechnik</translation> + </message> + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="26"/> + <source>Output Devices</source> +- <translation type="unfinished"></translation> ++ <translation>Ausgabegeräte</translation> + </message> + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="27"/> + <source>Input Devices</source> +- <translation type="unfinished"></translation> ++ <translation>Eingabegeräte</translation> + </message> + </context> + <context> +@@ -275,48 +275,48 @@ + <message> + <location filename="../ukmedia_input_widget.cpp" line="57"/> + <source>Input</source> +- <translation type="unfinished"></translation> ++ <translation>Eingabe</translation> + <extra-contents_path>/Audio/Input</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="64"/> + <source>Input Device</source> +- <translation type="unfinished"></translation> ++ <translation>Eingabegerät</translation> + <extra-contents_path>/Audio/Input Device</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="68"/> + <source>Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Volumen</translation> + <extra-contents_path>/Audio/Volume</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="74"/> + <source>Input Level</source> +- <translation type="unfinished"></translation> ++ <translation>Eingangspegel</translation> + <extra-contents_path>/Audio/Input Level</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="84"/> + <source>Noise Reduction</source> +- <translation type="unfinished"></translation> ++ <translation>Geräuschreduzierung</translation> + <extra-contents_path>/Audio/Noise Reduction</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="89"/> + <source>Voice Monitor</source> +- <translation type="unfinished"></translation> ++ <translation>Sprachmonitor</translation> + <extra-contents_path>/audio/Voice Monitor</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="91"/> + <source>(None Device)</source> +- <translation type="unfinished"></translation> ++ <translation>(Kein Gerät)</translation> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="93"/> + <source>You can hear your voice in the output device of your choice</source> +- <translation type="unfinished"></translation> ++ <translation>Sie können Ihre Stimme im Ausgabegerät Ihrer Wahl hören</translation> + </message> + </context> + <context> +@@ -334,7 +334,7 @@ + <location filename="../ukmedia_main_widget.cpp" line="375"/> + <location filename="../ukmedia_main_widget.cpp" line="1179"/> + <source>Custom</source> +- <translation type="unfinished"></translation> ++ <translation>Gewohnheit</translation> + </message> + <message> + <location filename="../ukmedia_main_widget.cpp" line="1611"/> +@@ -351,7 +351,7 @@ + <location filename="../ukmedia_main_widget.cpp" line="3232"/> + <location filename="../ukmedia_main_widget.cpp" line="3473"/> + <source>None</source> +- <translation type="unfinished"></translation> ++ <translation>Nichts</translation> + </message> + </context> + <context> +@@ -359,56 +359,56 @@ + <message> + <location filename="../ukmedia_output_widget.cpp" line="74"/> + <source>Output</source> +- <translation type="unfinished"></translation> ++ <translation>Ausgabe</translation> + <extra-contents_path>/Audio/Output</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="80"/> + <source>Output Device</source> +- <translation type="unfinished"></translation> ++ <translation>Ausgabegerät</translation> + <extra-contents_path>/Audio/Output Device</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="84"/> + <source>Master Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Master-Lautstärke</translation> + <extra-contents_path>/Audio/Master Volume</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="90"/> + <source>Balance</source> +- <translation type="unfinished"></translation> ++ <translation>Gleichgewicht</translation> + <extra-contents_path>/Audio/Balance</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="92"/> + <source>Left</source> +- <translation type="unfinished"></translation> ++ <translation>Links</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="95"/> + <source>Right</source> +- <translation type="unfinished"></translation> ++ <translation>Rechts</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="100"/> + <source>Volume Increase</source> +- <translation type="unfinished"></translation> ++ <translation>Volumenerhöhung</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="102"/> + <source>Volume above 100% can cause sound distortion and damage your speakers.</source> +- <translation type="unfinished"></translation> ++ <translation>Eine Lautstärke über 100 % kann zu Klangverzerrungen führen und Ihre Lautsprecher beschädigen.</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="125"/> + <source>Mono Audio</source> +- <translation type="unfinished"></translation> ++ <translation>Mono-Audio</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="127"/> + <source>It merges the left and right channels into one channel.</source> +- <translation type="unfinished"></translation> ++ <translation>Er führt den linken und rechten Kanal zu einem Kanal zusammen.</translation> + </message> + </context> + <context> +@@ -416,24 +416,24 @@ + <message> + <location filename="../ukmedia_settings_widget.cpp" line="17"/> + <source>Advanced Settings</source> +- <translation type="unfinished"></translation> ++ <translation>Erweiterte Einstellungen</translation> + </message> + <message> + <location filename="../ukmedia_settings_widget.cpp" line="24"/> + <source>Sound Equipment Control</source> +- <translation type="unfinished"></translation> ++ <translation>Steuerung der Tontechnik</translation> + <extra-contents_path>/Audio/Sound Equipment Control</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_settings_widget.cpp" line="27"/> + <location filename="../ukmedia_settings_widget.cpp" line="34"/> + <source>Details</source> +- <translation type="unfinished"></translation> ++ <translation>Details</translation> + </message> + <message> + <location filename="../ukmedia_settings_widget.cpp" line="31"/> + <source>App Sound Control</source> +- <translation type="unfinished"></translation> ++ <translation>App-Klangsteuerung</translation> + <extra-contents_path>/Audio/App Sound Control</extra-contents_path> + </message> + </context> +@@ -442,54 +442,54 @@ + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="59"/> + <source>System Sound</source> +- <translation type="unfinished"></translation> ++ <translation>Klang des Systems</translation> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="64"/> + <source>Sound Theme</source> +- <translation type="unfinished"></translation> ++ <translation>Klangthema</translation> + <extra-contents_path>/Audio/Sound Theme</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="68"/> + <source>Beep Switch</source> +- <translation type="unfinished"></translation> ++ <translation>Signalton-Schalter</translation> + <extra-contents_path>/Audio/Beep Switch</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="71"/> + <source>Poweroff Music</source> +- <translation type="unfinished"></translation> ++ <translation>Poweroff-Musik</translation> + <extra-contents_path>/Audio/Poweroff Music</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="74"/> + <source>Startup Music</source> +- <translation type="unfinished"></translation> ++ <translation>Startup-Musik</translation> + <extra-contents_path>/Audio/Startup Music</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="77"/> + <source>Wakeup Music</source> +- <translation type="unfinished"></translation> ++ <translation>Musik zum Aufwecken</translation> + <extra-contents_path>/Audio/Wakeup Music</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="83"/> + <source>Notification Sound</source> +- <translation type="unfinished"></translation> ++ <translation>Benachrichtigungston</translation> + <extra-contents_path>/Audio/Notification Sound</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="88"/> + <source>Volume Control Sound</source> +- <translation type="unfinished"></translation> ++ <translation>Klang der Lautstärkeregelung</translation> + <extra-contents_path>/Audio/Volume Control Sound</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="80"/> + <source>Logout Music</source> +- <translation type="unfinished"></translation> ++ <translation>Logout Musik</translation> + <extra-contents_path>/Audio/Logout Music</extra-contents_path> + </message> + </context> +@@ -502,110 +502,110 @@ + <location filename="../ukmedia_volume_control.cpp" line="256"/> + <location filename="../ukmedia_volume_control.cpp" line="268"/> + <source>pa_context_set_sink_volume_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_sink_volume_by_index() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="68"/> + <source>pa_context_set_sink_mute_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_sink_mute_by_index() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="117"/> + <source>pa_context_set_source_mute_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_mute_by_index() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="141"/> + <source>pa_context_set_source_volume_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_volume_by_index() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="285"/> + <location filename="../ukmedia_volume_control.cpp" line="289"/> + <source>pa_context_set_source_output_volume() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_output_volume() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="301"/> + <source>pa_context_set_source_output_mute() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_output_mute() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="313"/> + <source>pa_context_set_card_profile_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_card_profile_by_index() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="327"/> + <source>pa_context_set_default_sink() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_default_sink() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="340"/> + <source>pa_context_set_default_source() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_default_source() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="356"/> + <source>pa_context_set_sink_port_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_sink_port_by_name() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="370"/> + <source>pa_context_set_source_port_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_port_by_name() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="399"/> + <source> (plugged in)</source> +- <translation type="unfinished"></translation> ++ <translation> (eingesteckt)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="403"/> + <location filename="../ukmedia_volume_control.cpp" line="586"/> + <source> (unavailable)</source> +- <translation type="unfinished"></translation> ++ <translation> (nicht verfügbar)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="405"/> + <location filename="../ukmedia_volume_control.cpp" line="583"/> + <source> (unplugged)</source> +- <translation type="unfinished"></translation> ++ <translation> (ausgesteckt)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="761"/> + <source>Failed to read data from stream</source> +- <translation type="unfinished"></translation> ++ <translation>Fehler beim Lesen von Daten aus dem Stream</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="804"/> + <source>Peak detect</source> +- <translation type="unfinished"></translation> ++ <translation>Peak-Erkennung</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="805"/> + <source>Failed to create monitoring stream</source> +- <translation type="unfinished"></translation> ++ <translation>Fehler beim Erstellen des Überwachungsdatenstroms</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="819"/> + <source>Failed to connect monitoring stream</source> +- <translation type="unfinished"></translation> ++ <translation>Fehler beim Verbinden des Überwachungsstreams</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="959"/> + <source>Ignoring sink-input due to it being designated as an event and thus handled by the Event widget</source> +- <translation type="unfinished"></translation> ++ <translation>Ignorieren von Sink-Input, da sie als Ereignis gekennzeichnet ist und daher vom Ereignis-Widget behandelt wird</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1049"/> + <source>pa_context_kill_source_output() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_kill_source_output() fehlgeschlagen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1381"/> + <source>Establishing connection to PulseAudio. Please wait...</source> +- <translation type="unfinished"></translation> ++ <translation>Herstellung einer Verbindung zu PulseAudio. Bitte warten...</translation> + </message> + </context> + </TS> +diff --git a/audio/translations/es.ts b/audio/translations/es.ts +index eb4cdb6..b8de741 100644 +--- a/audio/translations/es.ts ++++ b/audio/translations/es.ts +@@ -7,18 +7,18 @@ + <location filename="../audio.ui" line="26"/> + <location filename="../audio.cpp" line="38"/> + <source>Audio</source> +- <translation type="unfinished"></translation> ++ <translation>Audio</translation> + </message> + <message> + <location filename="../audio.cpp" line="93"/> + <source>UkccPlugin</source> +- <translation type="unfinished"></translation> ++ <translation>UkccPlugin</translation> + <extra-contents_path>/UkccPlugin/UkccPlugin</extra-contents_path> + </message> + <message> + <location filename="../audio.cpp" line="95"/> + <source>ukccplugin test</source> +- <translation type="unfinished"></translation> ++ <translation>Prueba de ukccplugin</translation> + <extra-contents_path>/UkccPlugin/ukccplugin test</extra-contents_path> + </message> + </context> +@@ -27,12 +27,12 @@ + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="426"/> + <source>Input Devices</source> +- <translation type="unfinished"></translation> ++ <translation>Dispositivos de entrada</translation> + </message> + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="463"/> + <source>Confirm</source> +- <translation type="unfinished"></translation> ++ <translation>Confirmar</translation> + </message> + </context> + <context> +@@ -40,12 +40,12 @@ + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="112"/> + <source>Output Devices</source> +- <translation type="unfinished"></translation> ++ <translation>Dispositivos de salida</translation> + </message> + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="149"/> + <source>Confirm</source> +- <translation type="unfinished"></translation> ++ <translation>Confirmar</translation> + </message> + </context> + <context> +@@ -55,132 +55,132 @@ + <location filename="../ukmedia_volume_control.cpp" line="1835"/> + <location filename="../ukmedia_volume_control.cpp" line="1914"/> + <source>pa_context_get_server_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_server_info() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1414"/> + <source>Card callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Error de devolución de llamada de la tarjeta</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1432"/> + <location filename="../ukmedia_volume_control.cpp" line="1504"/> + <source>Sink callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Error de devolución de llamada del receptor</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1465"/> + <location filename="../ukmedia_volume_control.cpp" line="1533"/> + <source>Source callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Error de devolución de llamada de origen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1562"/> + <location filename="../ukmedia_volume_control.cpp" line="2068"/> + <source>Sink input callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Error de devolución de llamada de entrada del receptor</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1581"/> + <source>Source output callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Error de devolución de llamada de salida de origen</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1626"/> + <source>Client callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Error de devolución de llamada del cliente</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1642"/> + <location filename="../ukmedia_volume_control.cpp" line="1656"/> + <source>Server info callback failure</source> +- <translation type="unfinished"></translation> ++ <translation>Error de devolución de llamada de información del servidor</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1703"/> + <source>Failed to initialize stream_restore extension: %s</source> +- <translation type="unfinished"></translation> ++ <translation>No se pudo inicializar stream_restore extensión: %s</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1720"/> + <source>pa_ext_stream_restore_read() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_ext_stream_restore_read() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1737"/> + <source>Failed to initialize device manager extension: %s</source> +- <translation type="unfinished"></translation> ++ <translation>No se pudo inicializar la extensión del administrador de dispositivos: %s</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1756"/> + <source>pa_ext_device_manager_read() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_ext_device_manager_read() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1773"/> + <source>pa_context_get_sink_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_info_by_index() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1786"/> + <source>pa_context_get_source_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_source_info_by_index() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1799"/> + <location filename="../ukmedia_volume_control.cpp" line="1812"/> + <source>pa_context_get_sink_input_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_input_info() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1825"/> + <source>pa_context_get_client_info() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_client_info() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1865"/> + <source>pa_context_get_card_info_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_card_info_by_index() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1905"/> + <source>pa_context_subscribe() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_subscribe() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1921"/> + <source>pa_context_client_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_client_info_list() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1928"/> + <source>pa_context_get_card_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_card_info_list() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1935"/> + <source>pa_context_get_sink_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_info_list() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1942"/> + <source>pa_context_get_source_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_source_info_list() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1949"/> + <source>pa_context_get_sink_input_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_sink_input_info_list() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1956"/> + <source>pa_context_get_source_output_info_list() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_get_source_output_info_list() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1992"/> + <source>Ukui Media Volume Control</source> +- <translation type="unfinished"></translation> ++ <translation>Control de volumen de medios Ukui</translation> + </message> + </context> + <context> +@@ -188,18 +188,18 @@ + <message> + <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="37"/> + <source>App Sound Control</source> +- <translation type="unfinished"></translation> ++ <translation>Control de sonido de la aplicación</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="342"/> + <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="363"/> + <source>None</source> +- <translation type="unfinished"></translation> ++ <translation>Ninguno</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_device_ctrl.cpp" line="899"/> + <source>System Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Volumen del sistema</translation> + </message> + </context> + <context> +@@ -207,37 +207,37 @@ + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="21"/> + <source>Application</source> +- <translation type="unfinished"></translation> ++ <translation>Aplicación</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="47"/> + <source>Output Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Volumen de salida</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="77"/> + <source>Input Device</source> +- <translation type="unfinished"></translation> ++ <translation>Dispositivo de entrada</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="84"/> + <source>This case does not support setting the input device</source> +- <translation type="unfinished"></translation> ++ <translation>Este caso no admite la configuración del dispositivo de entrada</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="104"/> + <source>Output Device</source> +- <translation type="unfinished"></translation> ++ <translation>Dispositivo de salida</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="111"/> + <source>This case does not support setting the output device</source> +- <translation type="unfinished"></translation> ++ <translation>Este caso no admite la configuración del dispositivo de salida</translation> + </message> + <message> + <location filename="../app-device-control/ukmedia_app_item_widget.cpp" line="131"/> + <source>Confirm</source> +- <translation type="unfinished"></translation> ++ <translation>Confirmar</translation> + </message> + </context> + <context> +@@ -257,17 +257,17 @@ + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="14"/> + <source>Sound Equipment Control</source> +- <translation type="unfinished"></translation> ++ <translation>Control de equipos de sonido</translation> + </message> + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="26"/> + <source>Output Devices</source> +- <translation type="unfinished"></translation> ++ <translation>Dispositivos de salida</translation> + </message> + <message> + <location filename="../audio-device-control/ukmedia_device_control_widget.cpp" line="27"/> + <source>Input Devices</source> +- <translation type="unfinished"></translation> ++ <translation>Dispositivos de entrada</translation> + </message> + </context> + <context> +@@ -275,48 +275,48 @@ + <message> + <location filename="../ukmedia_input_widget.cpp" line="57"/> + <source>Input</source> +- <translation type="unfinished"></translation> ++ <translation>Entrada</translation> + <extra-contents_path>/Audio/Input</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="64"/> + <source>Input Device</source> +- <translation type="unfinished"></translation> ++ <translation>Dispositivo de entrada</translation> + <extra-contents_path>/Audio/Input Device</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="68"/> + <source>Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Volumen</translation> + <extra-contents_path>/Audio/Volume</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="74"/> + <source>Input Level</source> +- <translation type="unfinished"></translation> ++ <translation>Nivel de entrada</translation> + <extra-contents_path>/Audio/Input Level</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="84"/> + <source>Noise Reduction</source> +- <translation type="unfinished"></translation> ++ <translation>Reducción de ruido</translation> + <extra-contents_path>/Audio/Noise Reduction</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="89"/> + <source>Voice Monitor</source> +- <translation type="unfinished"></translation> ++ <translation>Monitor de voz</translation> + <extra-contents_path>/audio/Voice Monitor</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="91"/> + <source>(None Device)</source> +- <translation type="unfinished"></translation> ++ <translation>(Ningún dispositivo)</translation> + </message> + <message> + <location filename="../ukmedia_input_widget.cpp" line="93"/> + <source>You can hear your voice in the output device of your choice</source> +- <translation type="unfinished"></translation> ++ <translation>Puede escuchar su voz en el dispositivo de salida de su elección</translation> + </message> + </context> + <context> +@@ -334,7 +334,7 @@ + <location filename="../ukmedia_main_widget.cpp" line="375"/> + <location filename="../ukmedia_main_widget.cpp" line="1179"/> + <source>Custom</source> +- <translation type="unfinished"></translation> ++ <translation>Costumbre</translation> + </message> + <message> + <location filename="../ukmedia_main_widget.cpp" line="1611"/> +@@ -351,7 +351,7 @@ + <location filename="../ukmedia_main_widget.cpp" line="3232"/> + <location filename="../ukmedia_main_widget.cpp" line="3473"/> + <source>None</source> +- <translation type="unfinished"></translation> ++ <translation>Ninguno</translation> + </message> + </context> + <context> +@@ -359,56 +359,56 @@ + <message> + <location filename="../ukmedia_output_widget.cpp" line="74"/> + <source>Output</source> +- <translation type="unfinished"></translation> ++ <translation>Salida</translation> + <extra-contents_path>/Audio/Output</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="80"/> + <source>Output Device</source> +- <translation type="unfinished"></translation> ++ <translation>Dispositivo de salida</translation> + <extra-contents_path>/Audio/Output Device</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="84"/> + <source>Master Volume</source> +- <translation type="unfinished"></translation> ++ <translation>Volumen Maestro</translation> + <extra-contents_path>/Audio/Master Volume</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="90"/> + <source>Balance</source> +- <translation type="unfinished"></translation> ++ <translation>Equilibrar</translation> + <extra-contents_path>/Audio/Balance</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="92"/> + <source>Left</source> +- <translation type="unfinished"></translation> ++ <translation>Izquierda</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="95"/> + <source>Right</source> +- <translation type="unfinished"></translation> ++ <translation>Derecha</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="100"/> + <source>Volume Increase</source> +- <translation type="unfinished"></translation> ++ <translation>Aumento de volumen</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="102"/> + <source>Volume above 100% can cause sound distortion and damage your speakers.</source> +- <translation type="unfinished"></translation> ++ <translation>Un volumen superior al 100% puede causar distorsión del sonido y dañar los altavoces.</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="125"/> + <source>Mono Audio</source> +- <translation type="unfinished"></translation> ++ <translation>Mono Audio</translation> + </message> + <message> + <location filename="../ukmedia_output_widget.cpp" line="127"/> + <source>It merges the left and right channels into one channel.</source> +- <translation type="unfinished"></translation> ++ <translation>Fusiona los canales izquierdo y derecho en un solo canal.</translation> + </message> + </context> + <context> +@@ -416,24 +416,24 @@ + <message> + <location filename="../ukmedia_settings_widget.cpp" line="17"/> + <source>Advanced Settings</source> +- <translation type="unfinished"></translation> ++ <translation>Ajustes avanzados</translation> + </message> + <message> + <location filename="../ukmedia_settings_widget.cpp" line="24"/> + <source>Sound Equipment Control</source> +- <translation type="unfinished"></translation> ++ <translation>Control de equipos de sonido</translation> + <extra-contents_path>/Audio/Sound Equipment Control</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_settings_widget.cpp" line="27"/> + <location filename="../ukmedia_settings_widget.cpp" line="34"/> + <source>Details</source> +- <translation type="unfinished"></translation> ++ <translation>Detalles</translation> + </message> + <message> + <location filename="../ukmedia_settings_widget.cpp" line="31"/> + <source>App Sound Control</source> +- <translation type="unfinished"></translation> ++ <translation>Control de sonido de la aplicación</translation> + <extra-contents_path>/Audio/App Sound Control</extra-contents_path> + </message> + </context> +@@ -442,54 +442,54 @@ + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="59"/> + <source>System Sound</source> +- <translation type="unfinished"></translation> ++ <translation>Sonido del sistema</translation> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="64"/> + <source>Sound Theme</source> +- <translation type="unfinished"></translation> ++ <translation>Tema sonoro</translation> + <extra-contents_path>/Audio/Sound Theme</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="68"/> + <source>Beep Switch</source> +- <translation type="unfinished"></translation> ++ <translation>Interruptor de pitido</translation> + <extra-contents_path>/Audio/Beep Switch</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="71"/> + <source>Poweroff Music</source> +- <translation type="unfinished"></translation> ++ <translation>Música apagada</translation> + <extra-contents_path>/Audio/Poweroff Music</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="74"/> + <source>Startup Music</source> +- <translation type="unfinished"></translation> ++ <translation>Música de inicio</translation> + <extra-contents_path>/Audio/Startup Music</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="77"/> + <source>Wakeup Music</source> +- <translation type="unfinished"></translation> ++ <translation>Música para despertar</translation> + <extra-contents_path>/Audio/Wakeup Music</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="83"/> + <source>Notification Sound</source> +- <translation type="unfinished"></translation> ++ <translation>Sonido de notificación</translation> + <extra-contents_path>/Audio/Notification Sound</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="88"/> + <source>Volume Control Sound</source> +- <translation type="unfinished"></translation> ++ <translation>Control de volumen Sonido</translation> + <extra-contents_path>/Audio/Volume Control Sound</extra-contents_path> + </message> + <message> + <location filename="../ukmedia_sound_effects_widget.cpp" line="80"/> + <source>Logout Music</source> +- <translation type="unfinished"></translation> ++ <translation>Cerrar sesión de música</translation> + <extra-contents_path>/Audio/Logout Music</extra-contents_path> + </message> + </context> +@@ -502,110 +502,110 @@ + <location filename="../ukmedia_volume_control.cpp" line="256"/> + <location filename="../ukmedia_volume_control.cpp" line="268"/> + <source>pa_context_set_sink_volume_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_sink_volume_by_index() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="68"/> + <source>pa_context_set_sink_mute_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_sink_mute_by_index() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="117"/> + <source>pa_context_set_source_mute_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_mute_by_index() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="141"/> + <source>pa_context_set_source_volume_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_volume_by_index() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="285"/> + <location filename="../ukmedia_volume_control.cpp" line="289"/> + <source>pa_context_set_source_output_volume() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_output_volume() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="301"/> + <source>pa_context_set_source_output_mute() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_output_mute() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="313"/> + <source>pa_context_set_card_profile_by_index() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_card_profile_by_index() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="327"/> + <source>pa_context_set_default_sink() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_default_sink() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="340"/> + <source>pa_context_set_default_source() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_default_source() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="356"/> + <source>pa_context_set_sink_port_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_sink_port_by_name() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="370"/> + <source>pa_context_set_source_port_by_name() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_set_source_port_by_name() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="399"/> + <source> (plugged in)</source> +- <translation type="unfinished"></translation> ++ <translation> (enchufado)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="403"/> + <location filename="../ukmedia_volume_control.cpp" line="586"/> + <source> (unavailable)</source> +- <translation type="unfinished"></translation> ++ <translation> (no disponible)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="405"/> + <location filename="../ukmedia_volume_control.cpp" line="583"/> + <source> (unplugged)</source> +- <translation type="unfinished"></translation> ++ <translation> (desenchufado)</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="761"/> + <source>Failed to read data from stream</source> +- <translation type="unfinished"></translation> ++ <translation>No se pudieron leer los datos de la secuencia</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="804"/> + <source>Peak detect</source> +- <translation type="unfinished"></translation> ++ <translation>Detección de picos</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="805"/> + <source>Failed to create monitoring stream</source> +- <translation type="unfinished"></translation> ++ <translation>No se pudo crear la secuencia de supervisión</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="819"/> + <source>Failed to connect monitoring stream</source> +- <translation type="unfinished"></translation> ++ <translation>No se pudo conectar la secuencia de supervisión</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="959"/> + <source>Ignoring sink-input due to it being designated as an event and thus handled by the Event widget</source> +- <translation type="unfinished"></translation> ++ <translation>Ignorar la entrada del receptor debido a que se designa como un evento y, por lo tanto, es manejada por el widget de eventos</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1049"/> + <source>pa_context_kill_source_output() failed</source> +- <translation type="unfinished"></translation> ++ <translation>pa_context_kill_source_output() falló</translation> + </message> + <message> + <location filename="../ukmedia_volume_control.cpp" line="1381"/> + <source>Establishing connection to PulseAudio. Please wait...</source> +- <translation type="unfinished"></translation> ++ <translation>Establecer la conexión con PulseAudio. Espera...</translation> + </message> + </context> + </TS> diff -Nru ukui-media-3.25.0.0/debian/patches/series ukui-media-3.25.0.0/debian/patches/series --- ukui-media-3.25.0.0/debian/patches/series 2024-10-14 17:16:19.000000000 +0800 +++ ukui-media-3.25.0.0/debian/patches/series 2024-10-28 11:26:40.000000000 +0800 @@ -56,3 +56,15 @@ 0056-56-fix-issue-I9IYVF.patch 0057-57.patch 0058-59-fix.patch +0059-58.patch +0060-61-Fix-Check-HUAWEI-machine-error.patch +0061-62-updateSource-sourceportName.patch +0062-63-AI.patch +0063-64.patch +0064-Added-translation-using-Weblate-Vietnamese.patch +0065-Translated-using-Weblate-Vietnamese.patch +0066-Added-translation-using-Weblate-Vietnamese.patch +0067-Added-translation-using-Weblate-French.patch +0068-Translated-using-Weblate-Vietnamese.patch +0069-Translated-using-Weblate-French.patch +0070-Translated-using-Weblate-Spanish.patch