.gitignore | 4 Makefile.am | 3 bootstrap.sh | 1 configure.ac | 6 doc/html2txt | 2 doc/meson.build | 34 ++ meson.build | 41 ++ meson_options.txt | 3 po/LINGUAS | 1 po/Makevars | 78 +++++ po/POTFILES.in | 1 po/id.po | 643 +++++++++++++++++++++++++++++++++++++++++++++ po/ko.po | 141 ++++----- po/meson.build | 4 po/pavucontrol.pot | 84 +++-- src/Makefile.am | 5 src/meson.build | 34 ++ src/pavucontrol.desktop.in | 8 src/pavucontrol.glade | 26 + src/sinkwidget.cc | 22 + src/sinkwidget.h | 2 21 files changed, 1015 insertions(+), 128 deletions(-)
New commits: commit 964f2987a46aa984d9ba83369b1f27c0bb28e9af Author: Arun Raghavan <a...@asymptotic.io> Date: Sat Jan 15 13:45:00 2022 -0500 Fix warning in .desktop file With the underscore, we got: ../src/pavucontrol.desktop.in:12:0: warning: invalid non-blank line diff --git a/src/pavucontrol.desktop.in b/src/pavucontrol.desktop.in index 7499e2e..0298219 100644 --- a/src/pavucontrol.desktop.in +++ b/src/pavucontrol.desktop.in @@ -8,4 +8,4 @@ Icon=multimedia-volume-control StartupNotify=true Type=Application Categories=AudioVideo;Audio;Mixer;GTK;Settings;X-XFCE-SettingsDialog;X-XFCE-HardwareSettings; -_Keywords=pavucontrol;Microphone;Volume;Fade;Balance;Headset;Speakers;Headphones;Audio;Mixer;Output;Input;Devices;Playback;Recording;System Sounds;Sound Card;Settings;Preferences; +Keywords=pavucontrol;Microphone;Volume;Fade;Balance;Headset;Speakers;Headphones;Audio;Mixer;Output;Input;Devices;Playback;Recording;System Sounds;Sound Card;Settings;Preferences; commit 805d6522c6c161f7bf30c859d39678011b359f31 Author: Arun Raghavan <a...@asymptotic.io> Date: Fri Jan 14 18:35:55 2022 -0500 build-sys: Add a meson-based build systeom The only missing feature for parity with autotools is generating a text README using lynx. I think this might be okay to skip as it seems unnecessary as a dependency. diff --git a/.gitignore b/.gitignore index 91ce06a..61a40b2 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ config.h.in config.log config.status configure +build depcomp README README.html diff --git a/doc/html2txt b/doc/html2txt new file mode 100755 index 0000000..63e5a20 --- /dev/null +++ b/doc/html2txt @@ -0,0 +1,2 @@ +#!/bin/sh +lynx --dump $1 | sed 's,file://localhost/.*/doc/README.html,README,' diff --git a/doc/meson.build b/doc/meson.build new file mode 100644 index 0000000..12056d6 --- /dev/null +++ b/doc/meson.build @@ -0,0 +1,34 @@ +doc_cdata = configuration_data() + +doc_cdata.set('PACKAGE_VERSION', meson.project_version()) +doc_cdata.set('PACKAGE_URL', 'http://freedesktop.org/software/pulseaudio/pavucontrol/') + +readme_html = configure_file( + input : 'README.html.in', + output : 'README.html', + configuration : doc_cdata, + install : true, + install_dir : docdir, +) + +if tidy.found() + test('XHTML documentation uses correct mark-up', tidy, args: ['-e', readme_html]) +endif + +if with_lynx + custom_target( + 'README', + input: readme_html, + output: 'README', + command: [find_program('./html2txt'), '@INPUT@'], + capture: true, + build_by_default: true, + install : true, + install_dir : docdir, + ) +endif + +install_data( + sources : 'style.css', + install_dir : docdir, +) diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..15acb6c --- /dev/null +++ b/meson.build @@ -0,0 +1,41 @@ +project('pavucontrol', 'cpp', + version : '5.0', + meson_version : '>= 0.50.0', + default_options : [ 'c_std=gnu11', 'cpp_std=c++11' ] + ) + +with_lynx = get_option('lynx') + +gtkmm_dep = dependency('gtkmm-3.0', version : '>= 3.0', required : true) +sigcpp_dep = dependency('sigc++-2.0', required : true) +canberragtk_dep = dependency('libcanberra-gtk3', version : '>= 0.16', required : true) + +libpulse_dep = dependency('libpulse', version : '>= 5.0', required : true) +libpulsemlglib_dep = dependency('libpulse-mainloop-glib', version : '>= 0.9.16', required : true) + +lynx = find_program('lynx', required: with_lynx) +tidy = find_program('tidy', required: false) + +configinc = include_directories('.') + +prefix = get_option('prefix') +datadir = join_paths(prefix, get_option('datadir')) +docdir = join_paths(datadir, 'doc', 'pavucontrol') +localedir = join_paths(prefix, get_option('localedir')) + +cdata = configuration_data() +cdata.set('ENABLE_NLS', 1) +cdata.set_quoted('PACKAGE', 'pavucontrol') +cdata.set_quoted('PACKAGE_NAME', 'pavucontrol') +cdata.set_quoted('PACKAGE_STRING', 'pavucontrol') +cdata.set_quoted('PACKAGE_VERSION', meson.project_version()) +cdata.set_quoted('GETTEXT_PACKAGE', 'pavucontrol') +cdata.set_quoted('LOCALEDIR', localedir) +cdata.set_quoted('GLADE_FILE', join_paths(datadir, 'pavucontrol', 'pavucontrol.glade')) + +# Now generate config.h from everything above +configure_file(output : 'config.h', configuration : cdata) + +subdir('doc') +subdir('po') +subdir('src') diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000..31fe3ba --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,3 @@ +option('lynx', + type : 'boolean', value : true, + description : 'Enable building of the README text file for installation') diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 0000000..bd3d3ff --- /dev/null +++ b/po/Makevars @@ -0,0 +1,78 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --from-code=UTF-8 + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = PulseAudio contributors + +# This tells whether or not to prepend "GNU " prefix to the package +# name that gets inserted into the header of the $(DOMAIN).pot file. +# Possible values are "yes", "no", or empty. If it is empty, try to +# detect it automatically by scanning the files in $(top_srcdir) for +# "GNU packagename" string. +PACKAGE_GNU = + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' +# context. Possible values are "yes" and "no". Set this to yes if the +# package uses functions taking also a message context, like pgettext(), or +# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. +USE_MSGCTXT = no + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = + +# These options get passed to msginit. +# If you want to disable line wrapping when writing PO files, add +# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and +# MSGINIT_OPTIONS. +MSGINIT_OPTIONS = + +# This tells whether or not to regenerate a PO file when $(DOMAIN).pot +# has changed. Possible values are "yes" and "no". Set this to no if +# the POT file is checked in the repository and the version control +# program ignores timestamps. +PO_DEPENDS_ON_POT = no + +# This tells whether or not to forcibly update $(DOMAIN).pot and +# regenerate PO files on "make dist". Possible values are "yes" and +# "no". Set this to no if the POT file and PO files are maintained +# externally. +DIST_DEPENDS_ON_UPDATE_PO = no diff --git a/po/meson.build b/po/meson.build new file mode 100644 index 0000000..91b73ea --- /dev/null +++ b/po/meson.build @@ -0,0 +1,4 @@ +i18n = import('i18n') +i18n.gettext(meson.project_name(), preset: 'glib') + +po_dir = meson.current_source_dir() diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 0000000..fa2abf4 --- /dev/null +++ b/src/meson.build @@ -0,0 +1,34 @@ +pavucontrol_sources = [ + 'cardwidget.cc', + 'channelwidget.cc', + 'devicewidget.cc', + 'mainwindow.cc', + 'minimalstreamwidget.cc', + 'pavuapplication.cc', + 'pavucontrol.cc', + 'rolewidget.cc', + 'sinkinputwidget.cc', + 'sinkwidget.cc', + 'sourceoutputwidget.cc', + 'sourcewidget.cc', + 'streamwidget.cc', +] + +executable('pavucontrol', + pavucontrol_sources, + install: true, + cpp_args: ['-DHAVE_CONFIG_H'], + include_directories : configinc, + dependencies : [gtkmm_dep, sigcpp_dep, canberragtk_dep, libpulse_dep, libpulsemlglib_dep], +) + +install_data('pavucontrol.glade') + +desktop_file = i18n.merge_file( + input : 'pavucontrol.desktop.in', + output : 'pavucontrol.desktop', + po_dir : po_dir, + type : 'desktop', + install : true, + install_dir : join_paths(datadir, 'applications'), +) commit 791c1055d4867432041cc14419306df085406d21 Author: Arun Raghavan <a...@asymptotic.io> Date: Fri Jan 14 18:35:53 2022 -0500 build-sys: Use list e-mail while initialising project diff --git a/configure.ac b/configure.ac index 156730a..056ba5e 100644 --- a/configure.ac +++ b/configure.ac @@ -19,7 +19,7 @@ # along with pavucontrol. If not, see <http://www.gnu.org/licenses/>. AC_PREREQ(2.62) -AC_INIT([pavucontrol],[5.0],[mzcnihpbageby (at) 0pointer (dot) de]) +AC_INIT([pavucontrol],[5.0],[pulseaudio-discuss (at) lists (dot) freedesktop (dot) org]) AC_CONFIG_SRCDIR([src/pavucontrol.cc]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS([config.h]) commit 327288055b3ec5ce3ba61a5a7a9571c49a7c5259 Author: Arun Raghavan <a...@asymptotic.io> Date: Fri Jan 14 18:35:50 2022 -0500 i18n: Migrate to upstream gettext over intltool Newer gettext has feature parity, rendering intltool obsolete. Details at: https://wiki.gnome.org/MigratingFromIntltoolToGettext diff --git a/.gitignore b/.gitignore index 194775a..91ce06a 100644 --- a/.gitignore +++ b/.gitignore @@ -4,9 +4,6 @@ ChangeLog config.guess config.rpath config.sub -intltool-extract.in -intltool-merge.in -intltool-update.in aclocal.m4 *.cache compile diff --git a/Makefile.am b/Makefile.am index 175caa7..01d7d4d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -18,9 +18,6 @@ EXTRA_DIST = \ bootstrap.sh \ LICENSE \ - intltool-merge.in \ - intltool-update.in \ - intltool-extract.in \ po/pavucontrol.pot SUBDIRS=src doc po diff --git a/bootstrap.sh b/bootstrap.sh index 4719e9c..133b70f 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -23,7 +23,6 @@ if [ -f .git/hooks/pre-commit.sample -a ! -f .git/hooks/pre-commit ] ; then echo "Activated pre-commit hook." fi -intltoolize --force --automake autoreconf --force --install --symlink if test "x$NOCONFIGURE" = "x"; then diff --git a/configure.ac b/configure.ac index 45f825e..156730a 100644 --- a/configure.ac +++ b/configure.ac @@ -67,11 +67,11 @@ fi ZP_LYNX_DOC -IT_PROG_INTLTOOL([0.35.0]) GETTEXT_PACKAGE=pavucontrol AC_SUBST([GETTEXT_PACKAGE]) AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package]) -AM_GLIB_GNU_GETTEXT +AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT_VERSION([0.19.8]) AC_CONFIG_FILES([ po/Makefile.in diff --git a/po/POTFILES.in b/po/POTFILES.in index e9d0f55..931f312 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,4 +1,3 @@ -[encoding: UTF-8] src/pavucontrol.desktop.in src/pavucontrol.glade src/pavucontrol.cc diff --git a/src/Makefile.am b/src/Makefile.am index b5c0314..adec68e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -21,8 +21,11 @@ localedir = $(datadir)/locale bin_PROGRAMS=pavucontrol glade_DATA=pavucontrol.glade + desktop_in_files=pavucontrol.desktop.in desktop_DATA=$(desktop_in_files:.desktop.in=.desktop) +$(desktop_DATA): $(desktop_in_files) + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ pavucontrol_SOURCES= \ minimalstreamwidget.h minimalstreamwidget.cc \ @@ -48,5 +51,3 @@ pavucontrol_CXXFLAGS+=-DGLADE_FILE=\"$(gladedir)/pavucontrol.glade\" EXTRA_DIST = $(glade_DATA) $(desktop_in_files) CLEANFILES = $(desktop_DATA) - -@INTLTOOL_DESKTOP_RULE@ diff --git a/src/pavucontrol.desktop.in b/src/pavucontrol.desktop.in index 06f55e7..7499e2e 100644 --- a/src/pavucontrol.desktop.in +++ b/src/pavucontrol.desktop.in @@ -1,8 +1,8 @@ [Desktop Entry] Version=1.0 -_Name=PulseAudio Volume Control -_GenericName=Volume Control -_Comment=Adjust the volume level +Name=PulseAudio Volume Control +GenericName=Volume Control +Comment=Adjust the volume level Exec=pavucontrol Icon=multimedia-volume-control StartupNotify=true commit 8b3a5999a6aff7f6088be90c92198f9efc06f955 Author: Tanu Kaskinen <ta...@iki.fi> Date: Wed Jan 12 17:10:28 2022 +0200 i18n: Update pavucontrol.pot Part-of: <https://gitlab.freedesktop.org/pulseaudio/pavucontrol/-/merge_requests/72> diff --git a/po/pavucontrol.pot b/po/pavucontrol.pot index 17bc27d..64f2f29 100644 --- a/po/pavucontrol.pot +++ b/po/pavucontrol.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-15 18:55+0300\n" +"POT-Creation-Date: 2022-01-12 17:09+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <l...@li.org>\n" @@ -21,7 +21,7 @@ msgstr "" msgid "PulseAudio Volume Control" msgstr "" -#: ../src/pavucontrol.desktop.in.h:2 ../src/pavucontrol.glade.h:33 +#: ../src/pavucontrol.desktop.in.h:2 ../src/pavucontrol.glade.h:35 msgid "Volume Control" msgstr "" @@ -106,126 +106,134 @@ msgid "AAC" msgstr "" #: ../src/pavucontrol.glade.h:19 -msgid "<b>Latency offset:</b>" +msgid "TrueHD" msgstr "" #: ../src/pavucontrol.glade.h:20 -msgid "ms" +msgid "DTS-HD" msgstr "" #: ../src/pavucontrol.glade.h:21 -msgid "Advanced" +msgid "<b>Latency offset:</b>" msgstr "" #: ../src/pavucontrol.glade.h:22 -msgid "All Streams" +msgid "ms" msgstr "" #: ../src/pavucontrol.glade.h:23 -msgid "Applications" +msgid "Advanced" msgstr "" #: ../src/pavucontrol.glade.h:24 -msgid "Virtual Streams" +msgid "All Streams" msgstr "" #: ../src/pavucontrol.glade.h:25 -msgid "All Output Devices" +msgid "Applications" msgstr "" #: ../src/pavucontrol.glade.h:26 -msgid "Hardware Output Devices" +msgid "Virtual Streams" msgstr "" #: ../src/pavucontrol.glade.h:27 -msgid "Virtual Output Devices" +msgid "All Output Devices" msgstr "" #: ../src/pavucontrol.glade.h:28 -msgid "All Input Devices" +msgid "Hardware Output Devices" msgstr "" #: ../src/pavucontrol.glade.h:29 -msgid "All Except Monitors" +msgid "Virtual Output Devices" msgstr "" #: ../src/pavucontrol.glade.h:30 -msgid "Hardware Input Devices" +msgid "All Input Devices" msgstr "" #: ../src/pavucontrol.glade.h:31 -msgid "Virtual Input Devices" +msgid "All Except Monitors" msgstr "" #: ../src/pavucontrol.glade.h:32 -msgid "Monitors" +msgid "Hardware Input Devices" +msgstr "" + +#: ../src/pavucontrol.glade.h:33 +msgid "Virtual Input Devices" msgstr "" #: ../src/pavucontrol.glade.h:34 +msgid "Monitors" +msgstr "" + +#: ../src/pavucontrol.glade.h:36 msgid "<i>No application is currently playing audio.</i>" msgstr "" -#: ../src/pavucontrol.glade.h:35 +#: ../src/pavucontrol.glade.h:37 msgid "<b>_Show:</b>" msgstr "" -#: ../src/pavucontrol.glade.h:36 +#: ../src/pavucontrol.glade.h:38 msgid "_Playback" msgstr "" -#: ../src/pavucontrol.glade.h:37 +#: ../src/pavucontrol.glade.h:39 msgid "<i>No application is currently recording audio.</i>" msgstr "" -#: ../src/pavucontrol.glade.h:38 +#: ../src/pavucontrol.glade.h:40 msgid "_Recording" msgstr "" -#: ../src/pavucontrol.glade.h:39 +#: ../src/pavucontrol.glade.h:41 msgid "<i>No output devices available</i>" msgstr "" -#: ../src/pavucontrol.glade.h:40 +#: ../src/pavucontrol.glade.h:42 msgid "<b>S_how:</b>" msgstr "" -#: ../src/pavucontrol.glade.h:41 +#: ../src/pavucontrol.glade.h:43 msgid "_Output Devices" msgstr "" -#: ../src/pavucontrol.glade.h:42 +#: ../src/pavucontrol.glade.h:44 msgid "<i>No input devices available</i>" msgstr "" -#: ../src/pavucontrol.glade.h:43 +#: ../src/pavucontrol.glade.h:45 msgid "<b>Sho_w:</b>" msgstr "" -#: ../src/pavucontrol.glade.h:44 +#: ../src/pavucontrol.glade.h:46 msgid "_Input Devices" msgstr "" -#: ../src/pavucontrol.glade.h:45 +#: ../src/pavucontrol.glade.h:47 msgid "<i>No cards available for configuration</i>" msgstr "" -#: ../src/pavucontrol.glade.h:46 +#: ../src/pavucontrol.glade.h:48 msgid "Show volume meters" msgstr "" -#: ../src/pavucontrol.glade.h:47 +#: ../src/pavucontrol.glade.h:49 msgid "_Configuration" msgstr "" -#: ../src/pavucontrol.glade.h:48 +#: ../src/pavucontrol.glade.h:50 msgid "<b>Rename device to:</b>" msgstr "" -#: ../src/pavucontrol.glade.h:49 +#: ../src/pavucontrol.glade.h:51 msgid "Stream Title" msgstr "" -#: ../src/pavucontrol.glade.h:50 +#: ../src/pavucontrol.glade.h:52 msgid "direction" msgstr "" @@ -556,27 +564,27 @@ msgstr "" msgid "pa_context_kill_sink_input() failed" msgstr "" -#: ../src/sinkwidget.cc:95 +#: ../src/sinkwidget.cc:117 msgid "pa_context_set_sink_volume_by_index() failed" msgstr "" -#: ../src/sinkwidget.cc:110 +#: ../src/sinkwidget.cc:132 msgid "Volume Control Feedback Sound" msgstr "" -#: ../src/sinkwidget.cc:127 +#: ../src/sinkwidget.cc:149 msgid "pa_context_set_sink_mute_by_index() failed" msgstr "" -#: ../src/sinkwidget.cc:141 +#: ../src/sinkwidget.cc:163 msgid "pa_context_set_default_sink() failed" msgstr "" -#: ../src/sinkwidget.cc:161 +#: ../src/sinkwidget.cc:183 msgid "pa_context_set_sink_port_by_index() failed" msgstr "" -#: ../src/sinkwidget.cc:203 +#: ../src/sinkwidget.cc:225 msgid "pa_ext_device_restore_save_sink_formats() failed" msgstr "" commit 0236fe7ffd40b0933187e90506f1c77a75ce4c93 Author: Sungjoon Moon <sum...@seoulsaram.org> Date: Sun Jan 9 04:16:32 2022 +0100 Translated using Weblate (Korean) Currently translated at 100.0% (149 of 149 strings) Co-authored-by: Sungjoon Moon <sum...@seoulsaram.org> Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pavucontrol/ko/ Translation: pulseaudio/pavucontrol Part-of: <https://gitlab.freedesktop.org/pulseaudio/pavucontrol/-/merge_requests/72> diff --git a/po/ko.po b/po/ko.po index 039adc8..9ec38e7 100644 --- a/po/ko.po +++ b/po/ko.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the pavucontrol package. # Jung-Kyu Park <bagjung...@gmail.com>, 2018. # simmon <sim...@nplob.com>, 2021. +# Sungjoon Moon <sum...@seoulsaram.org>, 2022. msgid "" msgstr "" "Project-Id-Version: pavucontrol\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-08-15 18:55+0300\n" -"PO-Revision-Date: 2021-08-17 19:04+0000\n" -"Last-Translator: simmon <sim...@nplob.com>\n" +"PO-Revision-Date: 2022-01-09 03:16+0000\n" +"Last-Translator: Sungjoon Moon <sum...@seoulsaram.org>\n" "Language-Team: Korean <https://translate.fedoraproject.org/projects/" "pulseaudio/pavucontrol/ko/>\n" "Language: ko\n" @@ -17,11 +18,11 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.7.2\n" +"X-Generator: Weblate 4.10.1\n" #: ../src/pavucontrol.desktop.in.h:1 ../src/pavucontrol.cc:874 msgid "PulseAudio Volume Control" -msgstr "PulseAudio 크기 조절" +msgstr "PulseAudio 볼륨 조절" #: ../src/pavucontrol.desktop.in.h:2 ../src/pavucontrol.glade.h:33 msgid "Volume Control" @@ -29,7 +30,7 @@ msgstr "볼륨 조절" #: ../src/pavucontrol.desktop.in.h:3 msgid "Adjust the volume level" -msgstr "볼륨 레벨 조절" +msgstr "볼륨 레벨 조정" #: ../src/pavucontrol.desktop.in.h:4 msgid "" @@ -37,9 +38,8 @@ msgid "" "Mixer;Output;Input;Devices;Playback;Recording;System Sounds;Sound Card;" "Settings;Preferences;" msgstr "" -"pavucontrol;Microphone;Volume;Fade;Balance;Headset;Speakers;Headphones;Audio;" -"Mixer;Output;Input;Devices;Playback;Recording;System Sounds;Sound Card;" -"Settings;Preferences;" +"pavucontrol;마이크;볼륨;페이드;밸런스;헤드셋;스피커;헤드폰;오디오;믹서;출력;입력;장치;재생;녹음;시스템 사운드;사운드 " +"카드;설정;환경설정;" #: ../src/pavucontrol.glade.h:1 msgid "<b>left-front</b>" @@ -56,7 +56,7 @@ msgstr "카드 이름" #: ../src/pavucontrol.glade.h:5 msgid "Lock card to this profile" -msgstr "이 프로필에서 카드 잠금" +msgstr "이 프로필에 카드 잠금" #: ../src/pavucontrol.glade.h:6 msgid "<b>Profile:</b>" @@ -68,11 +68,11 @@ msgstr "<b>코덱:</b>" #: ../src/pavucontrol.glade.h:8 msgid "Device Title" -msgstr "장치 제목" +msgstr "장치 이름" #: ../src/pavucontrol.glade.h:9 msgid "Mute audio" -msgstr "오디오 묵음" +msgstr "음소거" #: ../src/pavucontrol.glade.h:10 msgid "Lock channels together" @@ -80,7 +80,7 @@ msgstr "채널 함께 잠금" #: ../src/pavucontrol.glade.h:11 msgid "Set as fallback" -msgstr "대체용으로 설정" +msgstr "대체 용으로 설정" #: ../src/pavucontrol.glade.h:12 msgid "<b>Port:</b>" @@ -112,11 +112,11 @@ msgstr "AAC" #: ../src/pavucontrol.glade.h:19 msgid "<b>Latency offset:</b>" -msgstr "<b>지연 갈라짐:</b>" +msgstr "<b>지연 오프셋:</b>" #: ../src/pavucontrol.glade.h:20 msgid "ms" -msgstr "ms" +msgstr "밀리초" #: ../src/pavucontrol.glade.h:21 msgid "Advanced" @@ -124,11 +124,11 @@ msgstr "고급" #: ../src/pavucontrol.glade.h:22 msgid "All Streams" -msgstr "모든 스티림" +msgstr "모든 스트림" #: ../src/pavucontrol.glade.h:23 msgid "Applications" -msgstr "응용프로그램" +msgstr "응용 프로그램" #: ../src/pavucontrol.glade.h:24 msgid "Virtual Streams" @@ -168,7 +168,7 @@ msgstr "모니터" #: ../src/pavucontrol.glade.h:34 msgid "<i>No application is currently playing audio.</i>" -msgstr "<i>오디오를 재생하는 응용프로그램이 없습니다.</i>" +msgstr "<i>현재 오디오를 재생하는 응용 프로그램이 없습니다.</i>" #: ../src/pavucontrol.glade.h:35 msgid "<b>_Show:</b>" @@ -180,7 +180,7 @@ msgstr "재생(_P)" #: ../src/pavucontrol.glade.h:37 msgid "<i>No application is currently recording audio.</i>" -msgstr "<i>오디오를 녹음하는응용프로그램이 없습니다.</i>" +msgstr "<i>현재 오디오를 녹음하고 있는 응용 프로그램이 없습니다.</i>" #: ../src/pavucontrol.glade.h:38 msgid "_Recording" @@ -216,7 +216,7 @@ msgstr "<i>설정 가능한 카드가 없습니다</i>" #: ../src/pavucontrol.glade.h:46 msgid "Show volume meters" -msgstr "음향 미터 보기" +msgstr "볼륨 미터 표시" #: ../src/pavucontrol.glade.h:47 msgid "_Configuration" @@ -228,68 +228,68 @@ msgstr "<b>장치 이름 변경:</b>" #: ../src/pavucontrol.glade.h:49 msgid "Stream Title" -msgstr "스트림 제목" +msgstr "스트림 이름" #: ../src/pavucontrol.glade.h:50 msgid "direction" -msgstr "디렉션" +msgstr "방향" #: ../src/pavucontrol.cc:104 #, c-format msgid "could not read JSON from list-codecs message response: %s" -msgstr "목록-코덱 메시지 응답에서 JSON을 읽을 수 없습니다: %s" +msgstr "list-codecs 메시지 응답에서 JSON을 읽을 수 없습니다: %s" #: ../src/pavucontrol.cc:113 msgid "list-codecs message response is not a JSON array" -msgstr "목록-코덱 메시지 응답은 JSON 배열이 아닙니다" +msgstr "list-codecs 메시지 응답이 JSON 배열이 아닙니다" #: ../src/pavucontrol.cc:161 msgid "list-codecs message response could not be parsed correctly" -msgstr "목록-코덱 메시지 응답은 정확하게 구문 분석 할 수 없습니다" +msgstr "list-codecs 메시지 응답을 올바르게 구문 분석 할 수 없습니다" #: ../src/pavucontrol.cc:181 #, c-format msgid "could not read JSON from get-codec message response: %s" -msgstr "코덱 가져오기(get-codec) 메시지 응답에서 JSON 항목을 읽을 수 없습니다: %s" +msgstr "get-codec 메시지 응답에서 JSON을 읽을 수 없습니다: %s" #: ../src/pavucontrol.cc:190 msgid "get-codec message response is not a JSON value" -msgstr "코덱 가져오기(get-codec) 메시지 응답은 JSON 값이 아닙니다" +msgstr "get-codec 메시지 응답이 JSON 값이 아닙니다" #: ../src/pavucontrol.cc:198 msgid "could not get codec name from get-codec message response" -msgstr "코덱 가져오기(get-codec) 메시지 응답에서 코덱 이름을 가져 올 수 없습니다" +msgstr "get-codec 메시지 응답에서 코덱 이름을 가져 올 수 없습니다" #: ../src/pavucontrol.cc:220 #, c-format msgid "could not read JSON from get-profile-sticky message response: %s" -msgstr "프로필 고정(get-profile-sticky) 메시지 응답에서 JSON 항목을 읽을 수 없습니다: %s" +msgstr "get-profile-sticky 메시지 응답에서 JSON 항목을 읽을 수 없습니다: %s" #: ../src/pavucontrol.cc:229 msgid "get-profile-sticky message response is not a JSON value" -msgstr "프로필 고정(get-profile-sticky) 메시지 응답은 JSON 값이 아닙니다" +msgstr "get-profile-sticky 메시지 응답이 JSON 값이 아닙니다" #: ../src/pavucontrol.cc:249 ../src/cardwidget.cc:153 ../src/cardwidget.cc:181 #, c-format msgid "pa_context_send_message_to_object() failed: %s" -msgstr "pa_context_send_message_to_object() 실패함: %s" +msgstr "pa_context_send_message_to_object() 실패: %s" #: ../src/pavucontrol.cc:267 #, c-format msgid "could not read JSON from list-handlers message response: %s" -msgstr "목록-처리기 응답에서 JSON 항목을 읽을 수 없습니다: %s" +msgstr "list-handlers 메세지 응답에서 JSON 항목을 읽을 수 없습니다: %s" #: ../src/pavucontrol.cc:276 msgid "list-handlers message response is not a JSON array" -msgstr "항목-처리기 메시지 응답은 JSON 배열이 아닙니다" +msgstr "list-handlers 메시지 응답이 JSON 배열이 아닙니다" #: ../src/pavucontrol.cc:324 msgid "list-handlers message response could not be parsed correctly" -msgstr "항목-처리기 메시지 응답은 정확하게 구문 분석 할 수 없습니다" +msgstr "list-handlers 메시지 응답을 올바르게 구문 분석 할 수 없습니다" #: ../src/pavucontrol.cc:358 msgid "Card callback failure" -msgstr "카드 콜백 실패" +msgstr "사운드 카드 콜백 실패" #: ../src/pavucontrol.cc:386 msgid "Sink callback failure" @@ -318,7 +318,7 @@ msgstr "서버 정보 콜백 실패" #: ../src/pavucontrol.cc:512 ../src/pavucontrol.cc:809 #, c-format msgid "Failed to initialize stream_restore extension: %s" -msgstr "스트림 복원 확장 시동 실패(_R): %s" +msgstr "stream_restore 확장을 초기화하지 못했습니다: %s" #: ../src/pavucontrol.cc:530 msgid "pa_ext_stream_restore_read() failed" @@ -327,16 +327,16 @@ msgstr "pa_ext_stream_restore_read() 실패" #: ../src/pavucontrol.cc:548 ../src/pavucontrol.cc:823 #, c-format msgid "Failed to initialize device restore extension: %s" -msgstr "장치 복원 확장을 초기화하지 못했습니다: %s" +msgstr "device restore 확장을 초기화하지 못했습니다: %s" #: ../src/pavucontrol.cc:569 msgid "pa_ext_device_restore_read_sink_formats() failed" -msgstr "pa_ext_device_restore_read_sink_formats() 실패하였습니다" +msgstr "pa_ext_device_restore_read_sink_formats() 실패" #: ../src/pavucontrol.cc:587 ../src/pavucontrol.cc:836 #, c-format msgid "Failed to initialize device manager extension: %s" -msgstr "장치 관리 확장 초기화에 실패하였습니다: %s" +msgstr "device manager 확장을 초기화하지 못했습니다: %s" #: ../src/pavucontrol.cc:606 msgid "pa_ext_device_manager_read() failed" @@ -396,7 +396,7 @@ msgstr "pa_context_get_source_output_info_list() 실패" #: ../src/pavucontrol.cc:851 ../src/pavucontrol.cc:902 msgid "Connection failed, attempting reconnect" -msgstr "연결 실패, 재연결 시도" +msgstr "연결에 실패했습니다,다시 연결 시도합니다" #: ../src/pavucontrol.cc:889 msgid "" @@ -411,15 +411,13 @@ msgid "" "not configured you should\n" "run start-pulseaudio-x11 manually." msgstr "" -"PulseAudio 연결에 실패하였습니다. 자동으로 5초안에 재시도 합니다\n" +"PulseAudio에 연결하지 못했습니다. 5초 후에 자동으로 재시도 합니다.\n" "\n" -"이와 같은 경우에 이는 환경/X11 루트 윈도우 특성의 PULSE_SERVER 때문이거나\n" -"client.conf에 있는 default-server가 잘못 설정되었기 때문입니다.\n" -"이 상태는 PulseAudio 충돌과 X11 루트 윈도우에서 오래된 상세한 정보를 남겼을 " -"때에도 발생 할 수 있습니다.\n" -"만약 이와 같은 경우라면, 그러면 PulseAudio는 다시 자동 생성되며\n" -"또는 이 것이 설정되지 않았다면 수동으로 start-pulseaudio-x11을 실행해야 합니" -"다." +"이 문제의 원인은 환경의 PULSE_SERVER 또는 X11 루트 창 속성 또는\n" +"client.conf의 default-server가 잘못 설정되었기 때문일 수 있습니다.\n" +"이는 PulseAudio가 충돌하고 X11 루트 창에 오래된 세부 정보를 남길 때도 발생할 수 있습니다.\n" +"그렇다면 PulseAudio가 자동으로 다시 시작되어야 하며, \n" +"그렇지 않을 경우 start-pulseaudio-x11을 수동으로 실행하십시오." #: ../src/cardwidget.cc:126 msgid "pa_context_set_card_profile_by_index() failed" @@ -458,7 +456,7 @@ msgstr "<small><i>베이스</i></small>" #: ../src/devicewidget.cc:59 msgid "Rename Device..." -msgstr "장치 이름변경..." +msgstr "장치 이름 바꾸기..." #: ../src/devicewidget.cc:163 msgid "pa_context_set_port_latency_offset() failed" @@ -466,22 +464,21 @@ msgstr "pa_context_set_port_latency_offset() 실패" #: ../src/devicewidget.cc:244 msgid "Sorry, but device renaming is not supported." -msgstr "죄송합니다, 장치 이름변경이 지원되지 않습니다." +msgstr "죄송합니다, 장치 이름 바꾸기가 지원되지 않습니다." #: ../src/devicewidget.cc:249 msgid "" "You need to load module-device-manager in the PulseAudio server in order to " "rename devices" -msgstr "" -"장치 이름 변경에 PulseAudio 서버에서 module-device-manager를 적재해야 합니다" +msgstr "장치 이름을 바꾸려면 PulseAudio 서버에서 module-device-manager를 로드해야 합니다" #: ../src/devicewidget.cc:262 msgid "_Cancel" -msgstr "_취소" +msgstr "취소(_C)" #: ../src/devicewidget.cc:263 msgid "_OK" -msgstr "_확인" +msgstr "확인(_O)" #: ../src/devicewidget.cc:270 msgid "pa_ext_device_manager_write() failed" @@ -490,40 +487,40 @@ msgstr "pa_ext_device_manager_write() 실패" #: ../src/mainwindow.cc:171 #, c-format msgid "Error reading config file %s: %s" -msgstr "설정 파일 읽기 오류 %s: %s" +msgstr "구성 파일 %s을(를) 읽는 동안 오류 발생: %s" #: ../src/mainwindow.cc:250 msgid "Error saving preferences" -msgstr "환경 설정 저장 오류" +msgstr "환경 설정을 저장하는 중에 오류가 발생했습니다" #: ../src/mainwindow.cc:258 #, c-format msgid "Error writing config file %s" -msgstr "쓰기 설정 파일 %s 오류" +msgstr "설정 파일 %s을(를) 쓰는 동안 오류가 발생했습니다" #: ../src/mainwindow.cc:322 msgid " (plugged in)" -msgstr " (plugged in)" +msgstr " (연결됨)" #: ../src/mainwindow.cc:326 ../src/mainwindow.cc:434 msgid " (unavailable)" -msgstr " (이용 할 수 없는)" +msgstr " (사용 불가)" #: ../src/mainwindow.cc:328 ../src/mainwindow.cc:431 msgid " (unplugged)" -msgstr " (unplugged)" +msgstr " (연결되어 있지 않음)" #: ../src/mainwindow.cc:633 msgid "Failed to read data from stream" -msgstr "스트림에서 자료 읽기에 실패하였습니다" +msgstr "스트림에서 데이터를 읽지 못했습니다" #: ../src/mainwindow.cc:677 msgid "Peak detect" -msgstr "최대 검출" +msgstr "피크 감지" #: ../src/mainwindow.cc:678 msgid "Failed to create monitoring stream" -msgstr "모니터링 스트림 생성에 실패하였습니다" +msgstr "모니터링 스트림 생성 실패" #: ../src/mainwindow.cc:693 msgid "Failed to connect monitoring stream" @@ -533,7 +530,7 @@ msgstr "모니터링 스트림 연결에 실패하였습니다" msgid "" "Ignoring sink-input due to it being designated as an event and thus handled " "by the Event widget" -msgstr "이벤트로 지정되어 이벤트 위젯에 의해 처리되므로 싱크 입력을 무시합니다" +msgstr "싱크 입력은 이벤트로 지정되어 이벤트 위젯에 의해 처리되기 때문에 무시됩니다" #: ../src/mainwindow.cc:1005 msgid "System Sounds" @@ -541,7 +538,7 @@ msgstr "시스템 사운드" #: ../src/mainwindow.cc:1351 msgid "Establishing connection to PulseAudio. Please wait..." -msgstr "PulseAudio에 연결이 성립되었습니다. 기다려 주세요..." +msgstr "PulseAudio에 연결하는 중입니다. 잠시만 기다려 주십시오..." #: ../src/rolewidget.cc:72 msgid "pa_ext_stream_restore_write() failed" @@ -553,11 +550,11 @@ msgstr "켜짐" #: ../src/sinkinputwidget.cc:38 msgid "Terminate Playback" -msgstr "재생 마침" +msgstr "재생 종료" #: ../src/sinkinputwidget.cc:78 msgid "Unknown output" -msgstr "모르는 출력" +msgstr "알 수 없는 출력" #: ../src/sinkinputwidget.cc:87 msgid "pa_context_set_sink_input_volume() failed" @@ -601,11 +598,11 @@ msgstr "에서" #: ../src/sourceoutputwidget.cc:38 msgid "Terminate Recording" -msgstr "녹음 마침" +msgstr "녹음 종료" #: ../src/sourceoutputwidget.cc:83 msgid "Unknown input" -msgstr "모르는 입력" +msgstr "알 수 없는 입력" #: ../src/sourceoutputwidget.cc:93 msgid "pa_context_set_source_output_volume() failed" @@ -637,11 +634,11 @@ msgstr "pa_context_set_source_port_by_index() 실패" #: ../src/streamwidget.cc:52 msgid "Terminate" -msgstr "종료되었습니다" +msgstr "종료" #: ../src/pavuapplication.cc:160 msgid "Select a specific tab on load." -msgstr "적재하기에 지정한 탭을 선택합니다." +msgstr "로드할 때 특정 탭을 선택합니다." #: ../src/pavuapplication.cc:161 msgid "number" @@ -649,7 +646,7 @@ msgstr "숫자" #: ../src/pavuapplication.cc:166 msgid "Retry forever if pa quits (every 5 seconds)." -msgstr "pa가 종료되면 영구히 재시도 합니다(매 5초 마다)." +msgstr "pa가 종료되면 계속 재시도 합니다(5초 마다)." #: ../src/pavuapplication.cc:171 msgid "Maximize the window." @@ -657,7 +654,7 @@ msgstr "창을 최대화합니다." #: ../src/pavuapplication.cc:176 msgid "Show version." -msgstr "버전 보기." +msgstr "버전을 표시합니다." #~ msgid "50%" #~ msgstr "50%" commit 473d19ef824af9a00a0680407f626eaec22bc101 Author: Andika Triwidada <and...@gmail.com> Date: Sun Jan 9 04:16:32 2022 +0100 Added translation using Weblate (Indonesian) Co-authored-by: Andika Triwidada <and...@gmail.com> Part-of: <https://gitlab.freedesktop.org/pulseaudio/pavucontrol/-/merge_requests/72> diff --git a/po/LINGUAS b/po/LINGUAS index b988433..e4be5c4 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -49,3 +49,4 @@ be he si ro +id diff --git a/po/id.po b/po/id.po new file mode 100644 index 0000000..878e742 --- /dev/null +++ b/po/id.po @@ -0,0 +1,643 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Andika Triwidada <and...@gmail.com>, 2021. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-15 18:55+0300\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/pavucontrol.desktop.in.h:1 ../src/pavucontrol.cc:874 +msgid "PulseAudio Volume Control" +msgstr "" + +#: ../src/pavucontrol.desktop.in.h:2 ../src/pavucontrol.glade.h:33 +msgid "Volume Control" +msgstr "" + +#: ../src/pavucontrol.desktop.in.h:3 +msgid "Adjust the volume level" +msgstr "" + +#: ../src/pavucontrol.desktop.in.h:4 +msgid "" +"pavucontrol;Microphone;Volume;Fade;Balance;Headset;Speakers;Headphones;Audio;" +"Mixer;Output;Input;Devices;Playback;Recording;System Sounds;Sound Card;" +"Settings;Preferences;" +msgstr "" + +#: ../src/pavucontrol.glade.h:1 +msgid "<b>left-front</b>" +msgstr "" + +#: ../src/pavucontrol.glade.h:3 +#, no-c-format +msgid "<small>50%</small>" +msgstr "" + +#: ../src/pavucontrol.glade.h:4 +msgid "Card Name" +msgstr "" + +#: ../src/pavucontrol.glade.h:5 +msgid "Lock card to this profile" +msgstr "" + +#: ../src/pavucontrol.glade.h:6 +msgid "<b>Profile:</b>" +msgstr "" + +#: ../src/pavucontrol.glade.h:7 +msgid "<b>Codec:</b>" +msgstr "" + +#: ../src/pavucontrol.glade.h:8 +msgid "Device Title" +msgstr "" + +#: ../src/pavucontrol.glade.h:9 +msgid "Mute audio" +msgstr "" + +#: ../src/pavucontrol.glade.h:10 +msgid "Lock channels together" +msgstr "" + +#: ../src/pavucontrol.glade.h:11 +msgid "Set as fallback" +msgstr "" + +#: ../src/pavucontrol.glade.h:12 +msgid "<b>Port:</b>" +msgstr "" + +#: ../src/pavucontrol.glade.h:13 +msgid "PCM" +msgstr "" + +#: ../src/pavucontrol.glade.h:14 +msgid "AC-3" +msgstr "" + +#: ../src/pavucontrol.glade.h:15 +msgid "DTS" +msgstr "" + +#: ../src/pavucontrol.glade.h:16 +msgid "E-AC-3" +msgstr "" + +#: ../src/pavucontrol.glade.h:17 +msgid "MPEG" +msgstr "" + +#: ../src/pavucontrol.glade.h:18 +msgid "AAC" +msgstr "" + +#: ../src/pavucontrol.glade.h:19 +msgid "<b>Latency offset:</b>" +msgstr "" + +#: ../src/pavucontrol.glade.h:20 +msgid "ms" +msgstr "" + +#: ../src/pavucontrol.glade.h:21 +msgid "Advanced" +msgstr "" + +#: ../src/pavucontrol.glade.h:22 +msgid "All Streams" +msgstr "" + +#: ../src/pavucontrol.glade.h:23 +msgid "Applications" +msgstr "" + +#: ../src/pavucontrol.glade.h:24 +msgid "Virtual Streams" +msgstr "" + +#: ../src/pavucontrol.glade.h:25 +msgid "All Output Devices" +msgstr "" + +#: ../src/pavucontrol.glade.h:26 +msgid "Hardware Output Devices" +msgstr "" + +#: ../src/pavucontrol.glade.h:27 +msgid "Virtual Output Devices" +msgstr "" + +#: ../src/pavucontrol.glade.h:28 +msgid "All Input Devices" +msgstr "" + +#: ../src/pavucontrol.glade.h:29 +msgid "All Except Monitors" +msgstr "" + +#: ../src/pavucontrol.glade.h:30 +msgid "Hardware Input Devices" +msgstr "" + +#: ../src/pavucontrol.glade.h:31 +msgid "Virtual Input Devices" +msgstr "" + +#: ../src/pavucontrol.glade.h:32 +msgid "Monitors" +msgstr "" + +#: ../src/pavucontrol.glade.h:34 +msgid "<i>No application is currently playing audio.</i>" +msgstr "" + +#: ../src/pavucontrol.glade.h:35 +msgid "<b>_Show:</b>" +msgstr "" + +#: ../src/pavucontrol.glade.h:36 +msgid "_Playback" +msgstr "" + +#: ../src/pavucontrol.glade.h:37 +msgid "<i>No application is currently recording audio.</i>" +msgstr "" + +#: ../src/pavucontrol.glade.h:38 +msgid "_Recording" +msgstr "" + +#: ../src/pavucontrol.glade.h:39 +msgid "<i>No output devices available</i>" +msgstr "" + +#: ../src/pavucontrol.glade.h:40 +msgid "<b>S_how:</b>" +msgstr "" + +#: ../src/pavucontrol.glade.h:41 +msgid "_Output Devices" +msgstr "" + +#: ../src/pavucontrol.glade.h:42 +msgid "<i>No input devices available</i>" +msgstr "" + +#: ../src/pavucontrol.glade.h:43 +msgid "<b>Sho_w:</b>" +msgstr "" + +#: ../src/pavucontrol.glade.h:44 +msgid "_Input Devices" +msgstr "" + +#: ../src/pavucontrol.glade.h:45 +msgid "<i>No cards available for configuration</i>" +msgstr "" + +#: ../src/pavucontrol.glade.h:46 +msgid "Show volume meters" +msgstr "" + +#: ../src/pavucontrol.glade.h:47 +msgid "_Configuration" +msgstr "" + +#: ../src/pavucontrol.glade.h:48 +msgid "<b>Rename device to:</b>" +msgstr "" + +#: ../src/pavucontrol.glade.h:49 +msgid "Stream Title" +msgstr "" + +#: ../src/pavucontrol.glade.h:50 +msgid "direction" +msgstr "" + +#: ../src/pavucontrol.cc:104 +#, c-format +msgid "could not read JSON from list-codecs message response: %s" +msgstr "" + +#: ../src/pavucontrol.cc:113 +msgid "list-codecs message response is not a JSON array" +msgstr "" + +#: ../src/pavucontrol.cc:161 +msgid "list-codecs message response could not be parsed correctly" +msgstr "" + +#: ../src/pavucontrol.cc:181 +#, c-format +msgid "could not read JSON from get-codec message response: %s" +msgstr "" + +#: ../src/pavucontrol.cc:190 +msgid "get-codec message response is not a JSON value" +msgstr "" + +#: ../src/pavucontrol.cc:198 +msgid "could not get codec name from get-codec message response" +msgstr "" + +#: ../src/pavucontrol.cc:220 +#, c-format +msgid "could not read JSON from get-profile-sticky message response: %s" +msgstr "" + +#: ../src/pavucontrol.cc:229 +msgid "get-profile-sticky message response is not a JSON value" +msgstr "" + +#: ../src/pavucontrol.cc:249 ../src/cardwidget.cc:153 ../src/cardwidget.cc:181 +#, c-format +msgid "pa_context_send_message_to_object() failed: %s" +msgstr "" + +#: ../src/pavucontrol.cc:267 +#, c-format +msgid "could not read JSON from list-handlers message response: %s" +msgstr "" + +#: ../src/pavucontrol.cc:276 +msgid "list-handlers message response is not a JSON array" +msgstr "" + +#: ../src/pavucontrol.cc:324 +msgid "list-handlers message response could not be parsed correctly" +msgstr "" + +#: ../src/pavucontrol.cc:358 +msgid "Card callback failure" +msgstr "" + +#: ../src/pavucontrol.cc:386 +msgid "Sink callback failure" +msgstr "" + +#: ../src/pavucontrol.cc:410 +msgid "Source callback failure" +msgstr "" + +#: ../src/pavucontrol.cc:429 +msgid "Sink input callback failure" +msgstr "" + +#: ../src/pavucontrol.cc:448 +msgid "Source output callback failure" +msgstr "" + +#: ../src/pavucontrol.cc:478 +msgid "Client callback failure" +msgstr "" + +#: ../src/pavucontrol.cc:494 +msgid "Server info callback failure" +msgstr "" + +#: ../src/pavucontrol.cc:512 ../src/pavucontrol.cc:809 +#, c-format +msgid "Failed to initialize stream_restore extension: %s" +msgstr "" + +#: ../src/pavucontrol.cc:530 +msgid "pa_ext_stream_restore_read() failed" +msgstr "" + +#: ../src/pavucontrol.cc:548 ../src/pavucontrol.cc:823 +#, c-format +msgid "Failed to initialize device restore extension: %s" +msgstr "" + +#: ../src/pavucontrol.cc:569 +msgid "pa_ext_device_restore_read_sink_formats() failed" +msgstr "" + +#: ../src/pavucontrol.cc:587 ../src/pavucontrol.cc:836 +#, c-format +msgid "Failed to initialize device manager extension: %s" +msgstr "" + +#: ../src/pavucontrol.cc:606 +msgid "pa_ext_device_manager_read() failed" +msgstr "" + +#: ../src/pavucontrol.cc:623 +msgid "pa_context_get_sink_info_by_index() failed" +msgstr "" + +#: ../src/pavucontrol.cc:636 +msgid "pa_context_get_source_info_by_index() failed" +msgstr "" + +#: ../src/pavucontrol.cc:649 ../src/pavucontrol.cc:662 +msgid "pa_context_get_sink_input_info() failed" +msgstr "" + +#: ../src/pavucontrol.cc:675 +msgid "pa_context_get_client_info() failed" +msgstr "" + +#: ../src/pavucontrol.cc:685 ../src/pavucontrol.cc:750 +msgid "pa_context_get_server_info() failed" +msgstr "" + +#: ../src/pavucontrol.cc:698 +msgid "pa_context_get_card_info_by_index() failed" +msgstr "" + +#: ../src/pavucontrol.cc:741 +msgid "pa_context_subscribe() failed" +msgstr "" + +#: ../src/pavucontrol.cc:757 +msgid "pa_context_client_info_list() failed" +msgstr "" + +#: ../src/pavucontrol.cc:764 +msgid "pa_context_get_card_info_list() failed" +msgstr "" + +#: ../src/pavucontrol.cc:771 +msgid "pa_context_get_sink_info_list() failed" +msgstr "" + +#: ../src/pavucontrol.cc:778 +msgid "pa_context_get_source_info_list() failed" +msgstr "" + +#: ../src/pavucontrol.cc:785 +msgid "pa_context_get_sink_input_info_list() failed" +msgstr "" + +#: ../src/pavucontrol.cc:792 +msgid "pa_context_get_source_output_info_list() failed" +msgstr "" + +#: ../src/pavucontrol.cc:851 ../src/pavucontrol.cc:902 +msgid "Connection failed, attempting reconnect" +msgstr "" + +#: ../src/pavucontrol.cc:889 +msgid "" +"Connection to PulseAudio failed. Automatic retry in 5s\n" +"\n" +"In this case this is likely because PULSE_SERVER in the Environment/X11 Root " +"Window Properties\n" +"or default-server in client.conf is misconfigured.\n" +"This situation can also arise when PulseAudio crashed and left stale details " +"in the X11 Root Window.\n" +"If this is the case, then PulseAudio should autospawn again, or if this is " +"not configured you should\n" +"run start-pulseaudio-x11 manually." +msgstr "" + +#: ../src/cardwidget.cc:126 +msgid "pa_context_set_card_profile_by_index() failed" +msgstr "" + +#: ../src/channelwidget.cc:101 +#, c-format +msgid "<small>%0.0f%% (%0.2f dB)</small>" +msgstr "" + +#: ../src/channelwidget.cc:103 +#, c-format +msgid "<small>%0.0f%% (-∞ dB)</small>" +msgstr "" + +#: ../src/channelwidget.cc:106 +#, c-format +msgid "%0.0f%%" +msgstr "" + +#: ../src/channelwidget.cc:139 +msgid "<small>Silence</small>" +msgstr "" + +#: ../src/channelwidget.cc:139 +msgid "<small>Min</small>" +msgstr "" + +#: ../src/channelwidget.cc:141 +msgid "<small>100% (0 dB)</small>" +msgstr "" + +#: ../src/channelwidget.cc:145 +msgid "<small><i>Base</i></small>" +msgstr "" + +#: ../src/devicewidget.cc:59 +msgid "Rename Device..." +msgstr "" + +#: ../src/devicewidget.cc:163 +msgid "pa_context_set_port_latency_offset() failed" +msgstr "" + +#: ../src/devicewidget.cc:244 +msgid "Sorry, but device renaming is not supported." +msgstr "" + +#: ../src/devicewidget.cc:249 +msgid "" +"You need to load module-device-manager in the PulseAudio server in order to " +"rename devices" +msgstr "" + +#: ../src/devicewidget.cc:262 +msgid "_Cancel" +msgstr "" + +#: ../src/devicewidget.cc:263 +msgid "_OK" +msgstr "" + +#: ../src/devicewidget.cc:270 +msgid "pa_ext_device_manager_write() failed" +msgstr "" + +#: ../src/mainwindow.cc:171 +#, c-format +msgid "Error reading config file %s: %s" +msgstr "" + +#: ../src/mainwindow.cc:250 +msgid "Error saving preferences" +msgstr "" + +#: ../src/mainwindow.cc:258 +#, c-format +msgid "Error writing config file %s" +msgstr "" + +#: ../src/mainwindow.cc:322 +msgid " (plugged in)" +msgstr "" + +#: ../src/mainwindow.cc:326 ../src/mainwindow.cc:434 +msgid " (unavailable)" +msgstr "" + +#: ../src/mainwindow.cc:328 ../src/mainwindow.cc:431 +msgid " (unplugged)" +msgstr "" + +#: ../src/mainwindow.cc:633 +msgid "Failed to read data from stream" +msgstr "" + +#: ../src/mainwindow.cc:677 +msgid "Peak detect" +msgstr "" + +#: ../src/mainwindow.cc:678 +msgid "Failed to create monitoring stream" +msgstr "" + +#: ../src/mainwindow.cc:693 +msgid "Failed to connect monitoring stream" +msgstr "" + +#: ../src/mainwindow.cc:830 +msgid "" +"Ignoring sink-input due to it being designated as an event and thus handled " +"by the Event widget" +msgstr "" + +#: ../src/mainwindow.cc:1005 +msgid "System Sounds" +msgstr "" + +#: ../src/mainwindow.cc:1351 +msgid "Establishing connection to PulseAudio. Please wait..." +msgstr "" + +#: ../src/rolewidget.cc:72 +msgid "pa_ext_stream_restore_write() failed" +msgstr "" + +#: ../src/sinkinputwidget.cc:35 +msgid "on" +msgstr "" + +#: ../src/sinkinputwidget.cc:38 +msgid "Terminate Playback" +msgstr "" + +#: ../src/sinkinputwidget.cc:78 +msgid "Unknown output" +msgstr "" + +#: ../src/sinkinputwidget.cc:87 +msgid "pa_context_set_sink_input_volume() failed" +msgstr "" + +#: ../src/sinkinputwidget.cc:102 +msgid "pa_context_set_sink_input_mute() failed" +msgstr "" + +#: ../src/sinkinputwidget.cc:112 +msgid "pa_context_kill_sink_input() failed" +msgstr "" + +#: ../src/sinkwidget.cc:95 +msgid "pa_context_set_sink_volume_by_index() failed" +msgstr "" + +#: ../src/sinkwidget.cc:110 +msgid "Volume Control Feedback Sound" +msgstr "" + +#: ../src/sinkwidget.cc:127 +msgid "pa_context_set_sink_mute_by_index() failed" +msgstr "" + +#: ../src/sinkwidget.cc:141 +msgid "pa_context_set_default_sink() failed" +msgstr "" + +#: ../src/sinkwidget.cc:161 +msgid "pa_context_set_sink_port_by_index() failed" +msgstr "" + +#: ../src/sinkwidget.cc:203 +msgid "pa_ext_device_restore_save_sink_formats() failed" +msgstr "" + +#: ../src/sourceoutputwidget.cc:35 +msgid "from" +msgstr "" + +#: ../src/sourceoutputwidget.cc:38 +msgid "Terminate Recording" +msgstr "" + +#: ../src/sourceoutputwidget.cc:83 +msgid "Unknown input" +msgstr "" + +#: ../src/sourceoutputwidget.cc:93 +msgid "pa_context_set_source_output_volume() failed" +msgstr "" + +#: ../src/sourceoutputwidget.cc:108 +msgid "pa_context_set_source_output_mute() failed" +msgstr "" + +#: ../src/sourceoutputwidget.cc:119 +msgid "pa_context_kill_source_output() failed" +msgstr "" + +#: ../src/sourcewidget.cc:46 +msgid "pa_context_set_source_volume_by_index() failed" +msgstr "" + +#: ../src/sourcewidget.cc:61 +msgid "pa_context_set_source_mute_by_index() failed" +msgstr "" + +#: ../src/sourcewidget.cc:75 +msgid "pa_context_set_default_source() failed" +msgstr "" + +#: ../src/sourcewidget.cc:97 +msgid "pa_context_set_source_port_by_index() failed" +msgstr "" + +#: ../src/streamwidget.cc:52 +msgid "Terminate" +msgstr "" + +#: ../src/pavuapplication.cc:160 +msgid "Select a specific tab on load." +msgstr "" + +#: ../src/pavuapplication.cc:161 +msgid "number" +msgstr "" + +#: ../src/pavuapplication.cc:166 +msgid "Retry forever if pa quits (every 5 seconds)." +msgstr "" + +#: ../src/pavuapplication.cc:171 +msgid "Maximize the window." +msgstr "" + +#: ../src/pavuapplication.cc:176 +msgid "Show version." +msgstr "" commit a400e057d182391f51cd7ab5078b9c5818efd7e8 Author: Wim Taymans <wtaym...@redhat.com> Date: Mon Jan 10 17:55:02 2022 +0100 sink-widget: add support for TrueHD and DTS-HD formats Also add toggles for TrueHD and DTS-HD formats in the sink widget. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pavucontrol/-/merge_requests/71> diff --git a/src/pavucontrol.glade b/src/pavucontrol.glade index 253534e..d081e8a 100644 --- a/src/pavucontrol.glade +++ b/src/pavucontrol.glade @@ -581,6 +581,32 @@ <property name="top_attach">1</property> </packing> </child> + <child> + <object class="GtkCheckButton" id="encodingFormatTRUEHD"> + <property name="label" translatable="yes">TrueHD</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="encodingFormatDTSHD"> + <property name="label" translatable="yes">DTS-HD</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">2</property> + </packing> + </child> </object> <packing> <property name="expand">False</property> diff --git a/src/sinkwidget.cc b/src/sinkwidget.cc index b9002dd..f30bd37 100644 --- a/src/sinkwidget.cc +++ b/src/sinkwidget.cc @@ -73,6 +73,28 @@ SinkWidget::SinkWidget(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder> encodings[i].widget->signal_toggled().connect(sigc::mem_fun(*this, &SinkWidget::onEncodingsChange)); encodings[i].widget->set_sensitive(true); } +#endif + ++i; + encodings[i].encoding = PA_ENCODING_INVALID; + x->get_widget("encodingFormatTRUEHD", encodings[i].widget); + encodings[i].widget->set_sensitive(false); +#ifdef PA_ENCODING_TRUEHD_IEC61937 + if (pa_context_get_server_protocol_version(get_context()) >= 33) { + encodings[i].encoding = PA_ENCODING_TRUEHD_IEC61937; + encodings[i].widget->signal_toggled().connect(sigc::mem_fun(*this, &SinkWidget::onEncodingsChange)); + encodings[i].widget->set_sensitive(true); + } +#endif + ++i; + encodings[i].encoding = PA_ENCODING_INVALID; + x->get_widget("encodingFormatDTSHD", encodings[i].widget); + encodings[i].widget->set_sensitive(false); +#ifdef PA_ENCODING_DTSHD_IEC61937 + if (pa_context_get_server_protocol_version(get_context()) >= 33) { + encodings[i].encoding = PA_ENCODING_DTSHD_IEC61937; + encodings[i].widget->signal_toggled().connect(sigc::mem_fun(*this, &SinkWidget::onEncodingsChange)); + encodings[i].widget->set_sensitive(true); + } #endif #endif } diff --git a/src/sinkwidget.h b/src/sinkwidget.h index 924fca0..207d115 100644 --- a/src/sinkwidget.h +++ b/src/sinkwidget.h @@ -27,7 +27,7 @@ #if HAVE_EXT_DEVICE_RESTORE_API # include <pulse/format.h> -# define PAVU_NUM_ENCODINGS 6 +# define PAVU_NUM_ENCODINGS 8 typedef struct { pa_encoding encoding;