Compare commits

...

101 commits

Author SHA1 Message Date
Fco. Javier F. Serrador
eee0e8f22f Translated using Weblate (Spanish)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/es/
2025-10-01 05:20:04 +02:00
Fco. Javier F. Serrador
b50c28af2c Translated using Weblate (Spanish)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/es/
2025-10-01 05:20:04 +02:00
Martin Srebotnjak
210f4742e7 Translated using Weblate (Slovenian)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/sl/
2025-10-01 05:20:04 +02:00
Temuri Doghonadze
53532e63bf Translated using Weblate (Georgian)
Currently translated at 79.3% (454 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ka/
2025-10-01 05:20:04 +02:00
Jim Spentzos
6834e0041c Translated using Weblate (Greek)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/el/
2025-10-01 05:20:04 +02:00
김인수
329c05b04f Translated using Weblate (Korean)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ko/
2025-10-01 05:20:04 +02:00
Jim Spentzos
76320675d8 Translated using Weblate (Greek)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/el/
2025-10-01 05:20:04 +02:00
Salvatore Cocuzza
d5b58d29ea Translated using Weblate (Italian)
Currently translated at 99.6% (570 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/it/
2025-10-01 05:20:04 +02:00
Salvatore Cocuzza
511926ab4b Translated using Weblate (Italian)
Currently translated at 99.3% (568 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/it/
2025-10-01 05:20:04 +02:00
Fco. Javier F. Serrador
f6e1124942 Translated using Weblate (Spanish)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/es/
2025-10-01 05:20:04 +02:00
Fco. Javier F. Serrador
c7db9d60a6 Translated using Weblate (Spanish)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/es/
2025-10-01 05:20:04 +02:00
Fco. Javier F. Serrador
7493990c84 Translated using Weblate (Spanish)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/es/
2025-10-01 05:20:04 +02:00
김인수
79455f69f7 Translated using Weblate (Korean)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ko/
2025-10-01 05:20:04 +02:00
Remus-Gabriel Chelu
a1fef186d0 Translated using Weblate (Romanian)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ro/
2025-10-01 05:20:04 +02:00
Sergey A
4fa2e83ac3 Translated using Weblate (Russian)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ru/
2025-10-01 05:20:04 +02:00
Temuri Doghonadze
f081327511 Translated using Weblate (Georgian)
Currently translated at 78.8% (451 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ka/
2025-10-01 05:20:04 +02:00
Rafael Fontenelle
d3f1e217e7 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/pt_BR/
2025-10-01 05:20:04 +02:00
Zayed Al-Saidi
5a3b45cda1 Translated using Weblate (Arabic)
Currently translated at 34.4% (197 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ar/
2025-10-01 05:20:04 +02:00
Rômulo Borges
b4b3889f3c pactl: add JSON output format
Previously, using the -f json or --format=json flags did not return JSON for the following commands:
- get-sink-volume
- get-source-volume
- get-sink-mute
- get-source-mute

This change adds proper JSON output for these commands.
2025-09-28 12:25:49 -03:00
Jonathan Marler
6358bcdf15 ci: Fetch tags by default before building
The CI for merge requests is failing because the meson script is unable
to parse the version. With some print debugging I determined that the
version string being generated on the CI is empty because it has no
git tags. I've added a command to fetch the tags before the build.
2025-09-15 13:15:55 -04:00
Arun Raghavan
1699a78f5b test: Demote once-test failure for meson to skip
Since this fails on CI (presumably due to pthread_setffinity_np() not
being permitted, let's make this a soft failure.
2025-09-15 13:06:54 -04:00
Arun Raghavan
17e471868e stream: Minor whitespace fixups 2025-09-15 13:06:54 -04:00
Jonathan Marler
1fbc6b0e0e stream: fix array out-of-bounds in stream_get_timing_info_callback
This issue was found by enabling ubsan. For me it consistently triggered
after about 28 seconds running a simple example that plays a sine wave
via the mainloop api.

I added a log and confirmed that before the ubsan is triggered the
index variable j is indeed 32 which is out-of-bounds.

Co-authored-by: Arun Raghavan <arun@asymptotic.io>
2025-09-13 12:19:35 -06:00
Yauhen Bugamol
98c7c9eafb Translated using Weblate (Belarusian)
Currently translated at 93.0% (532 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/be/
2025-05-01 08:49:06 +02:00
Yauhen Bugamol
20c853d84b Translated using Weblate (Belarusian)
Currently translated at 91.9% (526 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/be/
2025-05-01 02:34:19 +02:00
Weblate Translation Memory
7daeec45ff Translated using Weblate (Arabic)
Currently translated at 32.5% (186 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ar/
2025-04-27 14:48:30 +02:00
Zayed Al-Saidi
a6d0341209 Translated using Weblate (Arabic)
Currently translated at 32.5% (186 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ar/
2025-04-27 14:48:30 +02:00
Zayed Al-Saidi
6403e29230 Translated using Weblate (Arabic)
Currently translated at 29.3% (168 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ar/
2025-04-27 10:33:19 +02:00
Weblate Translation Memory
7dce3ffcb6 Translated using Weblate (Arabic)
Currently translated at 29.3% (168 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ar/
2025-04-27 10:33:19 +02:00
Ricky Tigg
a2d6f37bce Translated using Weblate (Finnish)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/fi/
2025-04-22 18:19:14 +02:00
Salvatore Cocuzza
92993fa4c2 Translated using Weblate (Italian)
Currently translated at 98.9% (566 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/it/
2025-04-18 20:51:23 +02:00
Temuri Doghonadze
73e9692118 Translated using Weblate (Georgian)
Currently translated at 78.8% (451 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ka/
2025-04-13 22:52:44 +02:00
hsu zangmen
e2e1aabc19 Translated using Weblate (Chinese (Traditional) (zh_TW))
Currently translated at 91.9% (526 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/zh_TW/
2025-04-09 03:53:35 +02:00
Remus-Gabriel Chelu
ca39322d5a Translated using Weblate (Romanian)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ro/
2025-02-23 21:53:05 +01:00
Remus-Gabriel Chelu
8d7da0d505 Translated using Weblate (Romanian)
Currently translated at 0.3% (2 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ro/
2025-02-19 14:59:47 +01:00
Ricky Tigg
8d12c147af Translated using Weblate (Finnish)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/fi/
2024-12-20 13:38:35 +01:00
DK Guy
c03faae6be Translated using Weblate (Danish)
Currently translated at 98.6% (564 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/da/
2024-12-13 18:38:37 +01:00
Andika Triwidada
5cd579acc3 Translated using Weblate (Indonesian)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/id/
2024-11-03 11:40:38 +01:00
Andika Triwidada
0296a5cefc Translated using Weblate (Indonesian)
Currently translated at 98.4% (563 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/id/
2024-11-02 17:07:00 +01:00
Arif Budiman
7c5c877a52 Translated using Weblate (Indonesian)
Currently translated at 95.6% (547 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/id/
2024-10-25 13:11:28 +02:00
Hugo Carvalho
31f4c27a5c Translated using Weblate (Portuguese)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/pt/
2024-10-17 17:38:41 +02:00
Remus-Gabriel Chelu
ed789a4dc2 Added translation using Weblate (Romanian) 2024-10-11 18:01:03 +02:00
Rafael Fontenelle
93459a47c0 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.4% (569 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/pt_BR/
2024-10-11 18:01:02 +02:00
Giannis Antypas
906362119e Translated using Weblate (Greek)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/el/
2024-09-04 18:38:33 +02:00
Giannis Antypas
60a85fb304 Translated using Weblate (Greek)
Currently translated at 99.3% (568 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/el/
2024-09-01 13:38:29 +02:00
Giannis Antypas
3e2bb8a1ec Translated using Weblate (Greek)
Currently translated at 98.7% (565 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/el/
2024-08-22 11:38:37 +02:00
bert
8ef0d597a1 rtp-recv: Remove inappropriate byte order conversion
Conversion of the `service` argument of `getaddrinfo()` to big-endian
byte order causes module-rtp-recv to bind to an incorrect port (37670)
for SAP announcements on little-endian architectures

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/828>
2024-08-21 13:22:14 +00:00
Martin Srebotnjak
90124125de Translated using Weblate (Slovenian)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/sl/
2024-08-17 20:38:38 +02:00
Martin Srebotnjak
2c379c1a3d Translated using Weblate (Slovenian)
Currently translated at 91.2% (522 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/sl/
2024-08-16 18:38:37 +02:00
Giannis Antypas
3b3f763380 Translated using Weblate (Greek)
Currently translated at 96.8% (554 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/el/
2024-08-16 18:38:36 +02:00
Martin Srebotnjak
cba313d8f5 Translated using Weblate (Slovenian)
Currently translated at 33.9% (194 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/sl/
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/826>
2024-08-05 23:18:43 +00:00
Arun Raghavan
3da5e62741 ci: Add workflow rules to create merge request pipelines
This should make Weblate MRs run again.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/827>
2024-08-05 19:14:12 -04:00
Martin Srebotnjak
7341e5d16d Translated using Weblate (Slovenian)
Currently translated at 33.3% (191 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/sl/
2024-08-04 21:41:21 +02:00
김인수
246b3ecf60 Translated using Weblate (Korean)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ko/
2024-08-04 21:41:20 +02:00
Giannis Antypas
398103a15a Translated using Weblate (Greek)
Currently translated at 96.6% (553 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/el/
2024-08-03 09:49:52 +02:00
Oğuz Ersen
a14239d2dc Translated using Weblate (Turkish)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/tr/
2024-08-01 06:41:28 +02:00
Giannis Antypas
e3d30f8020 Translated using Weblate (Greek)
Currently translated at 96.3% (551 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/el/
2024-07-30 22:41:57 +02:00
Martin Srebotnjak
5c65aa5c11 Translated using Weblate (Slovenian)
Currently translated at 30.4% (174 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/sl/
2024-07-26 15:38:50 +02:00
Giannis Antypas
2502f98666 Translated using Weblate (Greek)
Currently translated at 87.2% (499 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/el/
2024-07-20 02:38:56 +02:00
Scrambled 777
aa36bebf23 Translated using Weblate (Hindi)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/hi/
2024-07-20 02:38:56 +02:00
Martin Srebotnjak
608d92e9a6 Translated using Weblate (Slovenian)
Currently translated at 28.8% (165 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/sl/
2024-07-20 02:38:56 +02:00
Martin Srebotnjak
565c129e90 Translated using Weblate (Slovenian)
Currently translated at 28.1% (161 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/sl/
2024-07-20 02:38:56 +02:00
Martin Srebotnjak
b30d1a0a45 Translated using Weblate (Slovenian)
Currently translated at 27.4% (157 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/sl/
2024-07-20 02:38:56 +02:00
Martin Srebotnjak
5de032e69b Added translation using Weblate (Slovenian) 2024-07-20 02:38:56 +02:00
Sabri Ünal
1678ede2be Translated using Weblate (Turkish)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/tr/
2024-07-20 02:38:56 +02:00
김인수
22cef109b9 Translated using Weblate (Korean)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ko/
2024-07-20 02:38:56 +02:00
mooo
eacc110590 Translated using Weblate (Lithuanian)
Currently translated at 96.6% (553 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/lt/
2024-07-20 02:38:56 +02:00
김인수
c3af288ab9 Translated using Weblate (Korean)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ko/
2024-07-20 02:38:56 +02:00
Matěj Valášek
3230a92540 Translated using Weblate (Czech)
Currently translated at 92.6% (530 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/cs/
2024-07-20 02:38:56 +02:00
Charles Lee
ea836fab31 Translated using Weblate (Chinese (Simplified) (zh_CN))
Currently translated at 94.7% (542 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/zh_CN/
2024-07-20 02:38:56 +02:00
김인수
ea0045e725 Translated using Weblate (Korean)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ko/
2024-07-20 02:38:56 +02:00
Temuri Doghonadze
0e862b4508 Translated using Weblate (Georgian)
Currently translated at 76.9% (440 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ka/
2024-07-20 02:38:56 +02:00
Sergey A
3639b05767 Translated using Weblate (Russian)
Currently translated at 100.0% (572 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ru/
2024-07-20 02:38:56 +02:00
Temuri Doghonadze
d6b74207da Translated using Weblate (Georgian)
Currently translated at 76.7% (439 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ka/
2024-07-20 02:38:56 +02:00
Yousef Alzahrani
5839e00127 Translated using Weblate (Arabic)
Currently translated at 11.7% (67 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ar/
2024-07-20 02:38:56 +02:00
Yousef Alzahrani
ee3c2499fa Added translation using Weblate (Arabic) 2024-07-20 02:38:56 +02:00
mooo
aa395c4094 Translated using Weblate (Lithuanian)
Currently translated at 96.1% (550 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/lt/
2024-07-20 02:38:56 +02:00
Temuri Doghonadze
2ad14f33d8 Translated using Weblate (Georgian)
Currently translated at 75.0% (429 of 572 strings)

Translation: pulseaudio/pulseaudio
Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ka/
2024-07-20 02:38:56 +02:00
Arun Raghavan
874a609959 json: Allow non-ASCII UTF-8 strings
Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1398
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/813>
2024-07-02 14:15:43 +00:00
Arun Raghavan
3b09ca3a15 echo-cancel: Fix multichannel processing
Missed the new parameters in the webrtc-audio-processing 1.0 move.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/823>
2024-06-25 15:35:42 -04:00
Mohamed Akram
c1990dd026 build-sys: Fix running on macOS
Ensure modules are built as .so files so that they are found by ltdl at
runtime.

Fix HAVE_COREAUDIO not being set on macOS leading to sound not working
in the default configuration.

Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/3808
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/817>
2024-05-01 21:54:17 +04:00
kwangshik.kim
6c77b0191a cli-command: Fix wrong condition check of pa_module_load
pa_module_load API's return value is integer which is
enum pa_error_code_t with minus such as -PA_ERR_IO
if the module loading is failed.
pa_cli_command_load gets a return value of pa_module_load
as pa_error_code_t which is wrong.
Minus integer value could not covert to enum which is defined
equal or larger than 0 so that pa_cli_command_load would
recognize the return value as larger than 0 if pa_module_load
return value (integer) is minus.

To fix this issue, I modified return value check logic
of pa_module_load API.
As same as pa_module_load's return type, integer would be used
to check if module load is failed in pa_cli_command_load
and the return value would be compared with minus.

Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/3801
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/814>
2024-04-05 09:31:47 -04:00
Arun Raghavan
84f5b742e3 tests: Don't run volume tests with impossible alignments
This worked so far somehow, but we were sending in some samples at
unrealistic alignments (given that pa_memblockq will be frame-aligned,
and we expect all operations to occur per-frame as well).

Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/3803
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/812>
2024-03-22 11:17:35 -04:00
Arun Raghavan
21d7a63e8c build-sys: Add a wrap file for Orc
Makes building Orc as a subproject easier.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/811>
2024-03-22 08:53:46 -04:00
Martin Tournoij
5d7cd8bd0b Don't log battery level and dock status every minute
My log files get completely clobbered by this; thousands of lines of:

	Jan 18 18:14:44 pulseaudio[29946]: [pulseaudio] backend-native.c: Dock Status: undocked
	Jan 18 18:15:39 pulseaudio[29946]: [pulseaudio] backend-native.c: Battery Level: 50%
	Jan 18 18:15:39 pulseaudio[29946]: [pulseaudio] backend-native.c: Dock Status: undocked
	Jan 18 18:16:34 pulseaudio[29946]: [pulseaudio] backend-native.c: Battery Level: 50%
	Jan 18 18:16:34 pulseaudio[29946]: [pulseaudio] backend-native.c: Dock Status: undocked
	Jan 18 18:17:29 pulseaudio[29946]: [pulseaudio] backend-native.c: Battery Level: 50%
	Jan 18 18:17:29 pulseaudio[29946]: [pulseaudio] backend-native.c: Dock Status: undocked
	Jan 18 18:18:25 pulseaudio[29946]: [pulseaudio] backend-native.c: Battery Level: 50%
	Jan 18 18:18:25 pulseaudio[29946]: [pulseaudio] backend-native.c: Dock Status: undocked
	Jan 18 18:19:20 pulseaudio[29946]: [pulseaudio] backend-native.c: Battery Level: 50%
	Jan 18 18:19:20 pulseaudio[29946]: [pulseaudio] backend-native.c: Dock Status: undocked
	Jan 18 18:20:15 pulseaudio[29946]: [pulseaudio] backend-native.c: Battery Level: 50%

This seems like it should be a debug log, not a notice.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/810>
2024-03-18 23:44:09 +00:00
matoro
26ccd1167a tests: remove check2 timeouts in favor of meson
Meson already handles timeouts, configurable on the command line with
--timeout-multiplier.  They are set to 300s for all tests.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/807>
2024-01-30 12:39:47 -05:00
Alper Nebi Yasak
ed3d4f0837 alsa-ucm: Replace port device UCM context assertion with an error
The pa_alsa_ucm_set_port() function is passed both a mapping context and
a device port, and both of these refer to their respective UCM device.
While switching over to having one port per mapping per UCM device, I
expected both of these to be the same device struct, so added an assert
checking so.

This assertion gets triggered when we have multiple UCM verbs declaring
the same UCM device name. The root cause here is that the ports' UCM
device references are set once while creating the ports for the card, so
they happen to be those of a specific verb and may not match those from
a different UCM verb's profiles' mappings.

Solving the root cause necessitates a larger refactor. What we actually
assume here is that name of the UCM device is same for both the port and
the UCM context, which ends up always true in practice. For now, replace
the assert with a check and error.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/802>
2024-01-12 20:34:54 +00:00
Alper Nebi Yasak
f5cacd94ab alsa-ucm: Check UCM verb before working with device status
Some versions of the ALSA libraries run into a segmentation fault when
we query a UCM device/modifier status without first setting a UCM verb.
It's not a reasonable thing to do anyway, so check for this case and
return an error. Also do the check in other helpers.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/801>
2024-01-12 19:54:29 +00:00
Arun Raghavan
1f020889c9 Update NEWS for 17.0
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/805>
2024-01-12 12:22:09 -05:00
Hui Wang
d7dc04e8f5 backend-native: Handle multi AT commands in a buffer
When we connect Lenovo XT99 bt headset in the Ubuntu 22.04, this
headset could only work in A2DP profile, couldn't work in HFP profile
with a high chance.

This headset supports mSBC, after pulseaudio replies "+BCS:2" to
headset, we expect to receive a "AT+BCS=2\r" from the headset, but
with a high chance, it will receive 2 AT commands in a buffer like
this "AT+CHLD=?\rAT+BCS=2\r", and we also observed other 2 AT commands
in a buffer like this "AT+NREC=0\rAT+CGMI?\r".

Here we don't suppose there is only one AT command in a buffer, we
will find each command by the delimiter "\r" and handle each command
by sequence.

Signed-off-by: Hui Wang <hui.wang@canonical.com>
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/804>
2024-01-05 23:12:18 +08:00
Igor V. Kovalenko
81a6cc4967 Fix crash running in restricted environment.
When `pwd.h` header is not available (i.e. not using glibc) and environment
variables are not set (e.g. running via `env --ignore-environment`) client
library would crash due to uninitialized variable in `pa_get_home_dir()`.
Add missing initialization to fix that.

Fixes: #3792
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/800>
2023-11-12 15:53:38 +03:00
Igor V. Kovalenko
06ccfbb996 memblockq: Adjust tail chunk offset into memblock after split
If pa_memblockq_push needs to write into the middle of a chunk, target chunk
is split into head and tail sharing the same memblock. Size of head and
tail chunks is adjusted correctly, head chunk pointer into memblock remains
unchanged from target chunk.

The problem is with tail chunk offset into memblock which should be advanced
past write region of memblock, but currently it is left as 0.

This is causing an issue where seeking a few frames back into the middle of
memblock and writing a frame there ends up with tail chunk referencing frames
from very beginning of memblock causing corrupted output from memblockq.

Fix this by adjusting tail chunk offset into memblock past write region and
add a test case.

Fixes #3789

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/798>
2023-10-25 13:21:34 +00:00
Igor V. Kovalenko
13ea94a1b6 shell-completion: Fix typo in --use-pid-file= suggestion
Fixes #3786

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/799>
2023-10-24 22:53:51 +03:00
Arun Raghavan
13ef02da1b build-sys: Bump webrtc-audio-processing wrap to 1.3
Minor pkgconfig fixup.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/797>
2023-09-05 11:32:53 -04:00
Arun Raghavan
6abe0c58d2 build-sys: Bump webrtc-audio-processing wrap to 1.2
Should make builds actually work now.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/795>
2023-09-01 11:21:29 -04:00
Arun Raghavan
63d38a6864 ci: Drop -werror in build
Can't rely on this while building abseil on older Ubuntu (or at all,
perhaps).

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/795>
2023-09-01 11:21:27 -04:00
Arun Raghavan
3e68ebf4ec ci: Add doxygen to build image
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/795>
2023-09-01 11:21:26 -04:00
Arun Raghavan
217c0e90ef ci: Force build of webrtc-aec
Makes sure we build this, either with system deps or the fallback wrap
file. We also bump the CI meson version to support [provide] in the
wrap file.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/795>
2023-09-01 11:21:15 -04:00
Arun Raghavan
9b37e8d9dc build-sys: Add a webrtc-audio-processing wrap file
This will make things easier on systems where this is missing, as well
as allow us to test things in CI until packages land in
Ubuntu/Fedora/...

The wrap file is taken as-is from the GStreamer project.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/795>
2023-09-01 11:21:12 -04:00
Arun Raghavan
e2b63d157f build-sys: Bump cpp_std to c++17
Match it with webrtc-audio-processing, which is what we care about.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/795>
2023-09-01 11:21:11 -04:00
Rudi Heitbaum
421cf15486 shm: allow for older versions of Linux without MFD_NOEXEC_SEAL
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/794>
2023-08-13 09:37:32 +00:00
62 changed files with 11881 additions and 1915 deletions

1
.gitignore vendored
View file

@ -37,3 +37,4 @@ stamp-*
.dirstamp
*.orig
*.rej
subprojects/*/

View file

@ -10,6 +10,15 @@
# there doesn't seem to be significant value to splitting the stages at the
# moment.
# Create merge request pipelines for open merge requests, branch pipelines
# otherwise. This allows MRs for new users to run CI.
workflow:
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
- if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
when: never
- if: $CI_COMMIT_BRANCH
stages:
- container
- build
@ -19,7 +28,7 @@ variables:
# CI runs, for example when adding new packages to FDO_DISTRIBUTION_PACKAGES.
# The tag is an arbitrary string that identifies the exact container
# contents.
FDO_DISTRIBUTION_TAG: '2023-04-21-00'
FDO_DISTRIBUTION_TAG: '2023-08-13-00'
FDO_DISTRIBUTION_VERSION: '20.04'
FDO_UPSTREAM_REPO: 'pulseaudio/pulseaudio'
@ -47,6 +56,7 @@ build-container:
check
curl
dbus-x11
doxygen
g++
gcc
gettext
@ -90,14 +100,16 @@ build-meson:
extends: .fdo.distribution-image@ubuntu
stage: build
script:
# Install meson
- wget -q https://github.com/mesonbuild/meson/releases/download/0.50.0/meson-0.50.0.tar.gz
- tar -xf meson-0.50.0.tar.gz
- cd meson-0.50.0
# Install meson (higher than our min version to support our wrap file)
- wget -q https://github.com/mesonbuild/meson/releases/download/0.63.2/meson-0.63.2.tar.gz
- tar -xf meson-0.63.2.tar.gz
- cd meson-0.63.2
- python3 setup.py install
- cd ..
# needed to generate a version
- git fetch https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git --tags
# Do the actual build
- meson build --werror
- meson build -Dwebrtc-aec=enabled
- cd build
- ninja
- ulimit -c 0 # don't dump core files on tests that are supposed to assert

73
NEWS
View file

@ -1,3 +1,76 @@
PulseAudio 17.0
Changes at a glance:
* Notes for end users
* Updates to ALSA UCM-based setups
* Battery level indication to Bluetooth devices
* Support for the Bluetooth FastStream codec
* webrtc-audio-processing dependency updated
* Trigger role groups added to module-role-cork
* XDG base directory spec for profile-set loading
* Notes for application developers
* PA_RATE_MAX increased
* Notes for packagers
* webrtc-audio-processing dependency updated
Contributors
Alistair Leslie-Hughes
Alper Nebi Yasak
Arun Raghavan
Asier Sarasua Garmendia
Ataberk Özen
Balázs Meskó
Biswapriyo Nath
Dylan Van Assche
Eero Nurkkala
Ettore Atalan
Fabrice Fontaine
Fran Diéguez
Georg Chini
Gioele Barabucci
Gogo Gogsi
Hector Martin
Hugo Carvalho
Hui Wang
Igor V. Kovalenko
Jaechul Lee
Jan Kuparinen
Jan Palus
Jaroslav Kysela
Jiri Grönroos
Joachim Philipp
Jordi Mas
Marijn Suijten
Mart Raudsepp
Nicolas Cavallari
Peter Meerwald-Stadler
Philip Goto
Rosen Penev
Rudi Heitbaum
Sabri Ünal
Sean Greenslade
Seong-ho Cho
Shunsuke Shimizu
SimonP
Takashi Sakamoto
Tanu Kaskinen
Temuri Doghonadze
Toni Estevez
Weijia Wang
Wim Taymans
Yureka
acheronfail
flyingOwl
grimst
hashitaku
mooo
peijiankang
redfast00
wael
김인수
PulseAudio 16.1
A bug fix release.

View file

@ -1,7 +1,7 @@
project('pulseaudio', 'c',
version : run_command(find_program('git-version-gen'), join_paths(meson.current_source_dir(), '.tarball-version'), check : false).stdout().strip(),
meson_version : '>= 0.50.0',
default_options : [ 'c_std=gnu11', 'cpp_std=c++11' ]
default_options : [ 'c_std=gnu11', 'cpp_std=c++17' ]
)
if not meson.is_subproject()
@ -152,8 +152,6 @@ cdata.set_quoted('PA_SRCDIR', join_paths(meson.current_source_dir(), 'src'))
cdata.set_quoted('PA_BUILDDIR', meson.current_build_dir())
if host_machine.system() == 'windows'
cdata.set_quoted('PA_SOEXT', '.dll')
elif host_machine.system() == 'darwin'
cdata.set_quoted('PA_SOEXT', '.dylib')
else
cdata.set_quoted('PA_SOEXT', '.so')
endif
@ -192,6 +190,7 @@ endif
# rather than ending up in the config.h file?
if host_machine.system() == 'darwin'
cdata.set('OS_IS_DARWIN', 1)
cdata.set('HAVE_COREAUDIO', 1)
cdata.set('_DARWIN_C_SOURCE', '200112L') # Needed to get NSIG on Mac OS
elif host_machine.system() == 'windows'
cdata.set('OS_IS_WIN32', 1)

View file

@ -50,3 +50,6 @@ eo
si
ka
eu
ar
sl
ro

2903
po/ar.po Normal file

File diff suppressed because it is too large Load diff

207
po/be.po
View file

@ -10,19 +10,21 @@ msgstr ""
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/"
"issues/new\n"
"POT-Creation-Date: 2022-06-18 09:49+0300\n"
"PO-Revision-Date: 2016-07-19 11:06+0300\n"
"Last-Translator: Viktar Vaŭčkievič <victorenator@gmail.com>\n"
"Language-Team: Belarusian <>\n"
"PO-Revision-Date: 2025-05-01 06:49+0000\n"
"Last-Translator: Yauhen Bugamol "
"<bugamol@users.noreply.translate.fedoraproject.org>\n"
"Language-Team: Belarusian <https://translate.fedoraproject.org/projects/"
"pulseaudio/pulseaudio/be/>\n"
"Language: be\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Lokalize 2.0\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 5.11.1\n"
#: src/daemon/cmdline.c:113
#, fuzzy, c-format
#, c-format
msgid ""
"%s [options]\n"
"\n"
@ -97,70 +99,71 @@ msgstr ""
"Каманды:\n"
" -h, --help Паказаць гэту даведку.\n"
" --version Паказаць версію.\n"
" --dump-conf Вывесці агаданую канфігурацыю.\n"
" --dump-modules Вывесці спіс даступных модуляў.\n"
" --dump-resample-methods Вывесці спіс даступных метадаў\n"
" --dump-conf Выгрузіць прадвызначаную "
"канфігурацыю.\n"
" --dump-modules Выгрузіць спіс даступных модуляў.\n"
" --dump-resample-methods Выгрузіць спіс даступных метадаў\n"
" перадыскрэтызацыі.\n"
" --cleanup-shm Ачысціць выкарыстаныя сегменты\n"
" сумеснай памяці.\n"
" --start Запусціць фонавы сэрвіс, калі ён\n"
" --start Запусціць дэман, калі ён\n"
" яшчэ не запушчаны.\n"
" -k --kill Знішчыць запушчаны фонавы сэрвіс.\n"
" --check Праверыць ці запушчаны фонавы "
"сэрвіс\n"
" -k --kill Знішчыць запушчаны дэман.\n"
" --check Праверыць ці запушчаны дэман\n"
" (толькі код завяршэння).\n"
"\n"
"Параметры:\n"
" --system[=BOOL] Агульнасістэмны рэжым.\n"
" -D, --daemonize[=BOOL] Запусціць як фонавы сэрвіс.\n"
" -D, --daemonize[=BOOL] Запусціць як дэман.\n"
" --fail[=BOOL] Выйсці пры памылцы запуску.\n"
" --high-priority[=BOOL] Паспрабаваць павысіць прыярытэт\n"
" (nice)\n"
" (даступна толькі карыстальніку "
"root,\n"
" з уключаным SUID ці з павышаным\n"
" --high-priority[=BOOL] Паспрабаваць павысіць прыярытэт "
"(nice)\n"
" (даступна толькі карыстальніку root,"
"\n"
" з уключаным SUID або з павышаным\n"
" RLIMIT_NICE).\n"
" --realtime[=BOOL] Паспрабаваць уключыць планіроўшчык\n"
" рэальнага часу\n"
" (даступна толькі root,\n"
" з уключаным SUID ці з павышаным\n"
" (даступна толькі карыстальніку root,"
"\n"
" з уключаным SUID або з павышаным\n"
" RLIMIT_RTPRIO).\n"
" --disallow-module-loading[=BOOL] Забараніць загрузку/выгрузку "
"модуляў\n"
" па запыту карыстальніка пасля\n"
" запуску.\n"
" па запыту карыстальніка пасля "
"запуску.\n"
" --disallow-exit[=BOOL] Забараніць выхад па запыту\n"
" карыстальніка.\n"
" --exit-idle-time=СЕКУНДЫ Завяршыць работу пасля азначанага\n"
" часу бяздзеяння.\n"
" --scache-idle-time=СЕКУНДЫ Выгрузіць аўтаматычна загружаныя\n"
" сэмплы пасля азначанага часу\n"
" бяздзеяння.\n"
" сэмплы пасля азначанага часу "
"бяздзеяння.\n"
" --log-level[=УЗРОВЕНЬ] Павялічыць або ўставіць узровень\n"
" інфарматыўнасці.\n"
" -v --verbose Павялічыць узровень "
"інфарматыўнасці.\n"
" -v --verbose Павялічыць узровень інфарматыўнасці."
"\n"
" --log-target={auto,syslog,stderr,file:PATH,newfile:PATH}\n"
" Вызначыць журнал.\n"
" --log-meta[=BOOL] Дадаць месца ў коду да паведамленняў "
"журнала.\n"
" --log-time[=BOOL] Дадаць час да паведамленняў "
"журнала.\n"
" --log-meta[=BOOL] Дадаць месца ў кодзе да "
"паведамленняў журнала.\n"
" --log-time[=BOOL] Дадаць час да паведамленняў журнала."
"\n"
" --log-backtrace=FRAMES Дадаць стэк выклікаў да "
"паведамленняў журнала.\n"
" -p, --dl-search-path=ШЛЯХ Задаць шлях для пошуку дынамічных\n"
" раздзяляльных абʼектаў (дадаткаў).\n"
" раздзяляльных абʼектаў (плагінаў).\n"
" --resample-method=МЕТАД Выкарыстоўваць азначаны метад\n"
" перадыскрэтызацыі\n"
" (Глядзіце --dump-resample-methods\n"
" для магчымых значэнняў).\n"
" (Глядзіце --dump-resample-methods "
"для магчымых значэнняў).\n"
" --use-pid-file[=BOOL] Стварыць PID-файл.\n"
" --no-cpu-limit[=BOOL] Не ўсталёўваць абмежаванні на "
"выкарыстанне\n"
" працэсара на платформах, якія\n"
" падтрымліваюць гэта.\n"
" --disable-shm[=BOOL] Адключыць падтрымку сумеснай "
"памяці.\n"
" --disable-shm[=BOOL] Адключыць падтрымку сумеснай памяці."
"\n"
" --enable-memfd[=BOOL] Уключыць падтрымку memfd-сумеснай\n"
" памяці.\n"
"\n"
@ -170,7 +173,8 @@ msgstr ""
" -F, --file=НАЗВААЙЛА Выканаць азначаны сцэнарый.\n"
" -C Адкрыць камандны радок у\n"
" бягучым тэрмінале пасля запуску.\n"
" -n Не загружаць агаданы файл сцэнарыю.\n"
" -n Не загружаць прадвызначаны файл "
"сцэнарыя.\n"
#: src/daemon/cmdline.c:246
msgid "--daemonize expects boolean argument"
@ -508,7 +512,7 @@ msgstr ""
#: src/daemon/main.c:922
msgid "Failed to acquire stdio."
msgstr "Не атрымалася атрымаць stdio."
msgstr "Не ўдалося атрымаць stdio."
#: src/daemon/main.c:928 src/daemon/main.c:999
#, c-format
@ -536,7 +540,7 @@ msgstr "setsid() пацярпела няўдачу: %s"
#: src/daemon/main.c:1119
msgid "Failed to get machine ID"
msgstr "Не атрымалася атрымаць ідэнтыфікатар машыны"
msgstr "Не ўдалося атрымаць ідэнтыфікатар машыны"
#: src/daemon/main.c:1145
msgid ""
@ -561,9 +565,8 @@ msgid "pa_core_new() failed."
msgstr "pa_core_new() пацярпела няўдачу."
#: src/daemon/main.c:1268
#, fuzzy
msgid "command line arguments"
msgstr "Занадта шмат аргументаў."
msgstr "аргументы каманднага радка"
#: src/daemon/main.c:1275
#, c-format
@ -696,14 +699,12 @@ msgid "Analog Output"
msgstr "Аналагавы выхад"
#: src/modules/alsa/alsa-mixer.c:2808
#, fuzzy
msgid "Headphones 2"
msgstr "Навушнікі"
msgstr "Навушнікі 2"
#: src/modules/alsa/alsa-mixer.c:2809
#, fuzzy
msgid "Headphones Mono Output"
msgstr "Аналагавы монавыхад"
msgstr "Манавыхад навушнікаў"
#: src/modules/alsa/alsa-mixer.c:2810
msgid "Line Out"
@ -711,7 +712,7 @@ msgstr "Лінейны выхад"
#: src/modules/alsa/alsa-mixer.c:2811
msgid "Analog Mono Output"
msgstr "Аналагавы монавыхад"
msgstr "Аналагавы манавыхад"
#: src/modules/alsa/alsa-mixer.c:2812
msgid "Speakers"
@ -738,38 +739,32 @@ msgid "Multichannel Output"
msgstr "Шматканальны выхад"
#: src/modules/alsa/alsa-mixer.c:2818
#, fuzzy
msgid "Game Output"
msgstr "%s выхад"
msgstr "Выхад гульні"
#: src/modules/alsa/alsa-mixer.c:2819 src/modules/alsa/alsa-mixer.c:2820
#, fuzzy
msgid "Chat Output"
msgstr "%s выхад"
msgstr "Выхад размовы"
#: src/modules/alsa/alsa-mixer.c:2821
#, fuzzy
msgid "Chat Input"
msgstr "%s уваход"
msgstr "Уваход размовы"
#: src/modules/alsa/alsa-mixer.c:2822
#, fuzzy
msgid "Virtual Surround 7.1"
msgstr "Віртуальны абʼёмны прыёмнік"
msgstr "Віртуальны абʼёмны 7.1"
#: src/modules/alsa/alsa-mixer.c:4563
msgid "Analog Mono"
msgstr "Аналагавы мона"
#: src/modules/alsa/alsa-mixer.c:4564
#, fuzzy
msgid "Analog Mono (Left)"
msgstr "Аналагавы мона"
msgstr "Аналагавы мона (левы)"
#: src/modules/alsa/alsa-mixer.c:4565
#, fuzzy
msgid "Analog Mono (Right)"
msgstr "Аналагавы мона"
msgstr "Аналагавы мона (правы)"
#. Note: Not translated to "Analog Stereo Input", because the source
#. * name gets "Input" appended to it automatically, so adding "Input"
@ -796,9 +791,8 @@ msgid "Headset"
msgstr "Гарнітура"
#: src/modules/alsa/alsa-mixer.c:4577 src/modules/alsa/alsa-mixer.c:4735
#, fuzzy
msgid "Speakerphone"
msgstr "Дынамік"
msgstr "Гучная сувязь"
#: src/modules/alsa/alsa-mixer.c:4578 src/modules/alsa/alsa-mixer.c:4579
msgid "Multichannel"
@ -874,36 +868,35 @@ msgstr "Лічбавы абʼёмны 5.1 (HDMI)"
#: src/modules/alsa/alsa-mixer.c:4597
msgid "Chat"
msgstr ""
msgstr "Размова"
#: src/modules/alsa/alsa-mixer.c:4598
msgid "Game"
msgstr ""
msgstr "Гульня"
#: src/modules/alsa/alsa-mixer.c:4732
msgid "Analog Mono Duplex"
msgstr "Аналагавы мона дуплекс"
msgstr "Дуплексны аналагавы мона"
#: src/modules/alsa/alsa-mixer.c:4733
msgid "Analog Stereo Duplex"
msgstr "Аналагавы стэрэа дуплекс"
msgstr "Дуплексны аналагавы стэрэа"
#: src/modules/alsa/alsa-mixer.c:4736
msgid "Digital Stereo Duplex (IEC958)"
msgstr "Лічбавы стэрэа дуплекс (IEC958)"
msgstr "Дуплексны лічбавы стэрэа (IEC958)"
#: src/modules/alsa/alsa-mixer.c:4737
msgid "Multichannel Duplex"
msgstr "Шматканальны дуплекс"
msgstr "Дуплексны шматканальны"
#: src/modules/alsa/alsa-mixer.c:4738
#, fuzzy
msgid "Stereo Duplex"
msgstr "Аналагавы стэрэа дуплекс"
msgstr "Дуплексны стэрэа"
#: src/modules/alsa/alsa-mixer.c:4739
msgid "Mono Chat + 7.1 Surround"
msgstr ""
msgstr "Размова, мона + аб'ёмны 7.1"
#: src/modules/alsa/alsa-mixer.c:4740 src/modules/alsa/module-alsa-card.c:197
#: src/modules/bluetooth/module-bluez5-device.c:2263
@ -1260,7 +1253,6 @@ msgid "Virtual surround sink"
msgstr "Віртуальны абʼёмны прыёмнік"
#: src/modules/module-virtual-surround-sink.c:54
#, fuzzy
msgid ""
"sink_name=<name for the sink> sink_properties=<properties for the sink> "
"master=<name of sink to filter> sink_master=<name of sink to filter> "
@ -1271,19 +1263,21 @@ msgid ""
"this module is being loaded automatically> "
msgstr ""
"sink_name=<назва прыёмніка> sink_properties=<уласцівасці прыёмніка> "
"master=<назва прыёмніка для фільтрацыі> format=<фармат сэмлаў> rate=<частата "
"сэмлаў> channels=<number of channels> channel_map=<колькасць каналаў> "
"use_volume_sharing=<yes ці no> force_flat_volume=<yes ці no> hrir=<шлях да "
"left_hrir.wav> "
"master=<назва прыёмніка для фільтрацыі> sink_master=<назва прыёмніка для "
"фільтрацыі> format=<фармат сэмлаў> rate=<частата дыскрэдытацыі> "
"channels=<колькасць каналаў> channel_map=<карта каналаў> "
"use_volume_sharing=<yes або no> force_flat_volume=<yes або no> hrir=/шлях/да/"
евага_hrir.wav hrir_left=/шлях/да/левага_hrir.wav "
"hrir_right=/шлях/да/неабавязковага/правага_hrir.wav autoloaded=<задаецца, "
"калі модуль загружаецца аўтаматычна> "
#: src/modules/raop/module-raop-discover.c:295
#, fuzzy
msgid "Unknown device model"
msgstr "Невядомы код памылкі"
msgstr "Невядомая мадэль прылады"
#: src/modules/raop/raop-sink.c:689
msgid "RAOP standard profile"
msgstr ""
msgstr "Стандартны профіль RAOP"
#: src/modules/reserve-wrap.c:149
msgid "PulseAudio Sound Server"
@ -1832,7 +1826,7 @@ msgstr "Паток перасунуты ў прыладу %s (%u, %sпрыпын
#: src/utils/pacat.c:393
msgid "not "
msgstr "не"
msgstr "не "
#: src/utils/pacat.c:400
#, c-format
@ -1903,7 +1897,7 @@ msgstr "Атрыманы сігнал — выхад."
#: src/utils/pacat.c:640
#, c-format
msgid "Failed to get latency: %s"
msgstr "Не атрымалася атрымаць затрымку: %s"
msgstr "Не ўдалося атрымаць затрымку: %s"
#: src/utils/pacat.c:645
#, c-format
@ -2368,7 +2362,7 @@ msgstr "read(): %s"
#: src/utils/pactl.c:183
#, c-format
msgid "Failed to get statistics: %s"
msgstr "Не атрымалася атрымаць статыстыку: %s"
msgstr "Не ўдалося атрымаць статыстыку: %s"
#: src/utils/pactl.c:199
#, fuzzy, c-format
@ -2404,7 +2398,7 @@ msgstr "Памер кэшу сэмплаў: %s\n"
#: src/utils/pactl.c:219 src/utils/pactl.c:231 src/utils/pactl.c:245
#, c-format
msgid "Failed to get server information: %s"
msgstr "Не атрымалася атрымаць інфармацыю аб серверы: %s"
msgstr "Не ўдалося атрымаць інфармацыю аб серверы: %s"
#: src/utils/pactl.c:224 src/utils/pactl.c:236
#, c-format
@ -2453,15 +2447,15 @@ msgstr ""
#: src/utils/pactl.c:320
msgid "availability unknown"
msgstr ""
msgstr "даступнасць невядомая"
#: src/utils/pactl.c:321
msgid "available"
msgstr ""
msgstr "даступна"
#: src/utils/pactl.c:322
msgid "not available"
msgstr ""
msgstr "недаступна"
#: src/utils/pactl.c:331 src/utils/pactl.c:355
#, fuzzy
@ -2479,7 +2473,7 @@ msgstr "Лінейны ўваход"
#: src/utils/pactl.c:336
msgid "Mic"
msgstr ""
msgstr "Мікрафон"
#: src/utils/pactl.c:338
#, fuzzy
@ -2492,11 +2486,11 @@ msgstr ""
#: src/utils/pactl.c:340
msgid "SPDIF"
msgstr ""
msgstr "SPDIF"
#: src/utils/pactl.c:341
msgid "HDMI"
msgstr ""
msgstr "HDMI"
#: src/utils/pactl.c:342
msgid "TV"
@ -2504,7 +2498,7 @@ msgstr ""
#: src/utils/pactl.c:345
msgid "USB"
msgstr ""
msgstr "USB"
#: src/utils/pactl.c:346
#, fuzzy
@ -2513,18 +2507,17 @@ msgstr "Bluetooth-уваход"
#: src/utils/pactl.c:352
msgid "Network"
msgstr ""
msgstr "Сетка"
#: src/utils/pactl.c:353
#, fuzzy
msgid "Analog"
msgstr "Аналагавы мона"
msgstr "Аналагавы"
#: src/utils/pactl.c:567 src/utils/pactl.c:1834 src/utils/pactl.c:1852
#: src/utils/pactl.c:1875 src/utils/pactl.c:1992
#, c-format
msgid "Failed to get sink information: %s"
msgstr "Не атрымалася атрымаць інфармацыю аб прыёмніку: %s"
msgstr "Не ўдалося атрымаць інфармацыю аб прыёмніку: %s"
#: src/utils/pactl.c:664
#, c-format
@ -2571,13 +2564,13 @@ msgid "\tPorts:\n"
msgstr "\tПарты:\n"
#: src/utils/pactl.c:708 src/utils/pactl.c:892
#, fuzzy, c-format
#, c-format
msgid "\t\t%s: %s (type: %s, priority: %u%s%s, %s)\n"
msgstr "\t\t%s: %s (прыёмнікаў: %u, крыніц: %u, прыярытэт: %u, даступны: %s)\n"
msgstr "\t\t%s: %s (тып: %s, прыярытэт: %u%s%s, %s)\n"
#: src/utils/pactl.c:710 src/utils/pactl.c:894 src/utils/pactl.c:1256
msgid ", availability group: "
msgstr ""
msgstr ", група даступнасці: "
#: src/utils/pactl.c:715 src/utils/pactl.c:899
#, c-format
@ -2593,7 +2586,7 @@ msgstr "\tФарматы:\n"
#: src/utils/pactl.c:1934 src/utils/pactl.c:2007
#, c-format
msgid "Failed to get source information: %s"
msgstr "Не атрымалася атрымаць інфармацыю аб крыніцы: %s"
msgstr "Не ўдалося атрымаць інфармацыю аб крыніцы: %s"
#: src/utils/pactl.c:849
#, c-format
@ -2645,7 +2638,7 @@ msgstr "н/д"
#: src/utils/pactl.c:924 src/utils/pactl.c:1793
#, c-format
msgid "Failed to get module information: %s"
msgstr "Не атрымалася атрымаць інфармацыю аб модулі: %s"
msgstr "Не ўдалося атрымаць інфармацыю аб модулі: %s"
#: src/utils/pactl.c:976
#, c-format
@ -2667,7 +2660,7 @@ msgstr ""
#: src/utils/pactl.c:1002
#, c-format
msgid "Failed to get client information: %s"
msgstr "Не атрымалася атрымаць інфармацыю аб кліенце: %s"
msgstr "Не ўдалося атрымаць інфармацыю аб кліенце: %s"
#: src/utils/pactl.c:1056
#, c-format
@ -2687,7 +2680,7 @@ msgstr ""
#: src/utils/pactl.c:1168
#, c-format
msgid "Failed to get card information: %s"
msgstr "Не атрымалася атрымаць інфармацыю аб картцы: %s"
msgstr "Не ўдалося атрымаць інфармацыю аб картцы: %s"
#: src/utils/pactl.c:1224
#, c-format
@ -2744,7 +2737,7 @@ msgstr "\t\t\tЧастка профілю(яў): %s"
#: src/utils/pactl.c:1290 src/utils/pactl.c:1954 src/utils/pactl.c:2022
#, c-format
msgid "Failed to get sink input information: %s"
msgstr "Не атрымалася атрымаць інфармацыю аб уваходзе прыёмніка: %s"
msgstr "Не ўдалося атрымаць інфармацыю аб уваходзе прыёмніка: %s"
#: src/utils/pactl.c:1366
#, c-format
@ -2788,7 +2781,7 @@ msgstr ""
#: src/utils/pactl.c:1413 src/utils/pactl.c:1974 src/utils/pactl.c:2037
#, c-format
msgid "Failed to get source output information: %s"
msgstr "Не атрымалася атрымаць інфармацыю аб выхадзе крыніцы: %s"
msgstr "Не ўдалося атрымаць інфармацыю аб выхадзе крыніцы: %s"
#: src/utils/pactl.c:1489
#, c-format
@ -2832,7 +2825,7 @@ msgstr ""
#: src/utils/pactl.c:1536
#, c-format
msgid "Failed to get sample information: %s"
msgstr "Не атрымалася атрымаць інфармацыю аб сэмпле: %s"
msgstr "Не ўдалося атрымаць інфармацыю аб сэмпле: %s"
#: src/utils/pactl.c:1604
#, c-format
@ -2892,9 +2885,9 @@ msgid "list-handlers message response array element %d is not a JSON object"
msgstr ""
#: src/utils/pactl.c:1800
#, fuzzy, c-format
#, c-format
msgid "Failed to unload module: Module %s not loaded"
msgstr "Не атрымалася выгрузіць модуль: модуль не загружаны"
msgstr "Не ўдалося выгрузіць модуль: модуль %s не загружаны"
#: src/utils/pactl.c:1818
#, fuzzy, c-format
@ -3268,7 +3261,7 @@ msgstr ""
#: src/utils/pactl.c:3194
msgid "You have to specify a card name/index, a port name and a latency offset"
msgstr "Неабходна задаць нумар ці назву карткі, назву порту і зрух затрымкі."
msgstr "Неабходна задаць назву/нумар карты, назву порта і зрух затрымкі"
#: src/utils/pactl.c:3201
msgid "Could not parse latency offset"
@ -3423,7 +3416,7 @@ msgstr "Не атрымалася захаваць дадзеныя cookie\n"
#: src/utils/pax11publish.c:168
#, c-format
msgid "Failed to get FQDN.\n"
msgstr "Не атрымалася атрымаць поўнае даменнае імя (FQDN).\n"
msgstr "Не ўдалося атрымаць поўнае даменнае імя (FQDN).\n"
#: src/utils/pax11publish.c:188
#, c-format

View file

@ -11,15 +11,16 @@ msgstr ""
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/"
"issues/new\n"
"POT-Creation-Date: 2022-06-18 09:49+0300\n"
"PO-Revision-Date: 2018-09-30 17:34+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: čeština <gnome-cs-list@gnome.org>\n"
"PO-Revision-Date: 2023-12-31 14:36+0000\n"
"Last-Translator: Matěj Valášek <valmatej@seznam.cz>\n"
"Language-Team: Czech <https://translate.fedoraproject.org/projects/"
"pulseaudio/pulseaudio/cs/>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Gtranslator 2.91.7\n"
"X-Generator: Weblate 5.3.1\n"
#: src/daemon/cmdline.c:113
#, fuzzy, c-format
@ -561,6 +562,8 @@ msgid ""
"Failed to initialize daemon due to errors while executing startup commands. "
"Source of commands: %s"
msgstr ""
"Nepodařilo se inicializovat démona kvůli chybám při provádění startup "
"příkazů. Zdroj příkazů: %s"
#: src/daemon/main.c:1280
msgid "Daemon startup without any loaded modules, refusing to work."
@ -859,11 +862,11 @@ msgstr "Digitální Surround 5.1 (HDMI)"
#: src/modules/alsa/alsa-mixer.c:4597
msgid "Chat"
msgstr ""
msgstr "Chat"
#: src/modules/alsa/alsa-mixer.c:4598
msgid "Game"
msgstr ""
msgstr "Hra"
#: src/modules/alsa/alsa-mixer.c:4732
msgid "Analog Mono Duplex"
@ -887,7 +890,7 @@ msgstr "Duplexní stereo"
#: src/modules/alsa/alsa-mixer.c:4739
msgid "Mono Chat + 7.1 Surround"
msgstr ""
msgstr "Mono Chat + 7.1 Surround"
#: src/modules/alsa/alsa-mixer.c:4740 src/modules/alsa/module-alsa-card.c:197
#: src/modules/bluetooth/module-bluez5-device.c:2263
@ -2435,15 +2438,15 @@ msgstr ""
#: src/utils/pactl.c:320
msgid "availability unknown"
msgstr ""
msgstr "dostupnost neznámá"
#: src/utils/pactl.c:321
msgid "available"
msgstr ""
msgstr "dostupné"
#: src/utils/pactl.c:322
msgid "not available"
msgstr ""
msgstr "není dostupné"
#: src/utils/pactl.c:331 src/utils/pactl.c:355
#, fuzzy
@ -2452,7 +2455,7 @@ msgstr "neznámo"
#: src/utils/pactl.c:332
msgid "Aux"
msgstr ""
msgstr "Aux"
#: src/utils/pactl.c:335
#, fuzzy
@ -2461,7 +2464,7 @@ msgstr "Linkový vstup"
#: src/utils/pactl.c:336
msgid "Mic"
msgstr ""
msgstr "Mic"
#: src/utils/pactl.c:338
#, fuzzy
@ -2470,23 +2473,23 @@ msgstr "Náhlavní souprava"
#: src/utils/pactl.c:339
msgid "Earpiece"
msgstr ""
msgstr "Sluchátka do uší"
#: src/utils/pactl.c:340
msgid "SPDIF"
msgstr ""
msgstr "SPDIF"
#: src/utils/pactl.c:341
msgid "HDMI"
msgstr ""
msgstr "HDMI"
#: src/utils/pactl.c:342
msgid "TV"
msgstr ""
msgstr "TV"
#: src/utils/pactl.c:345
msgid "USB"
msgstr ""
msgstr "USB"
#: src/utils/pactl.c:346
#, fuzzy
@ -2495,7 +2498,7 @@ msgstr "Vstup přes Bluetooth"
#: src/utils/pactl.c:352
msgid "Network"
msgstr ""
msgstr "Síť"
#: src/utils/pactl.c:353
#, fuzzy
@ -2858,20 +2861,22 @@ msgstr "Selhalo volání read(): %s"
#: src/utils/pactl.c:1695
#, c-format
msgid "list-handlers message failed: %s"
msgstr ""
msgstr "list-handlers zpráva selhala: %s"
#: src/utils/pactl.c:1711 src/utils/pactl.c:1760
#, fuzzy
msgid "list-handlers message response could not be parsed correctly"
msgstr ""
msgstr "odpověď na zprávu list-handlers nelze správně analyzovat"
#: src/utils/pactl.c:1718
#, fuzzy
msgid "list-handlers message response is not a JSON array"
msgstr ""
msgstr "odpověď zprávy list-handlers není pole JSON"
#: src/utils/pactl.c:1729
#, c-format
msgid "list-handlers message response array element %d is not a JSON object"
msgstr ""
msgstr "prvek pole odpovědí list-handlers %d není objekt JSON"
#: src/utils/pactl.c:1800
#, c-format
@ -3238,6 +3243,8 @@ msgid ""
"Excess arguments given, they will be ignored. Note that all message "
"parameters must be given as a single string."
msgstr ""
"Nadbytečné argumenty budou ignorovány. Všimněte si, že všechny parametry "
"zprávy musí být zadány jako jeden řetězec."
#: src/utils/pactl.c:3182
msgid ""

View file

@ -8,8 +8,8 @@ msgstr ""
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/"
"issues/new\n"
"POT-Creation-Date: 2022-06-18 09:49+0300\n"
"PO-Revision-Date: 2021-05-21 23:01+0000\n"
"Last-Translator: scootergrisen <scootergrisen@gmail.com>\n"
"PO-Revision-Date: 2024-12-13 17:38+0000\n"
"Last-Translator: DK Guy <peter@nozen.dk>\n"
"Language-Team: Danish <https://translate.fedoraproject.org/projects/"
"pulseaudio/pulseaudio/da/>\n"
"Language: da\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.6.2\n"
"X-Generator: Weblate 5.8.4\n"
#: src/daemon/cmdline.c:113
#, c-format
@ -175,13 +175,12 @@ msgid "--fail expects boolean argument"
msgstr "--fail venter boolesk argument"
#: src/daemon/cmdline.c:265
#, fuzzy
msgid ""
"--log-level expects log level argument (either numeric in range 0..4 or one "
"of error, warn, notice, info, debug)."
msgstr ""
"--log-level venter logniveau argument (enten numerisk i området 0..4 eller "
"en af debug, info, notice, warn, error)."
"--log-level forventer logniveau argument (enten numerisk i området 0..4 "
"eller en af debug, info, notice, warn, error)."
#: src/daemon/cmdline.c:277
msgid "--high-priority expects boolean argument"

472
po/el.po

File diff suppressed because it is too large Load diff

View file

@ -14,8 +14,8 @@ msgstr ""
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/"
"issues/new\n"
"POT-Creation-Date: 2022-06-18 09:49+0300\n"
"PO-Revision-Date: 2022-12-18 11:19+0000\n"
"Last-Translator: Toni Estevez <toni.estevez@gmail.com>\n"
"PO-Revision-Date: 2025-07-29 09:34+0000\n"
"Last-Translator: \"Fco. Javier F. Serrador\" <fserrador@gmail.com>\n"
"Language-Team: Spanish <https://translate.fedoraproject.org/projects/"
"pulseaudio/pulseaudio/es/>\n"
"Language: es\n"
@ -23,7 +23,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.15\n"
"X-Generator: Weblate 5.12.2\n"
"X-Poedit-Language: Spanish\n"
#: src/daemon/cmdline.c:113
@ -97,7 +97,7 @@ msgid ""
"\n"
" -n Don't load default script file\n"
msgstr ""
"%s [opciones]\n"
"--dl-search-path%s [opciones]\n"
"\n"
"ÓRDENES:\n"
" -h, --help Mostrar esta ayuda\n"
@ -123,8 +123,8 @@ msgstr ""
"inicio\n"
" --fail[=BOOL] Salir cuando falla el inicio\n"
" --high-priority[=BOOL] Intentar asignar una prioridad alta\n"
" (solo disponible como superusuario, "
"con SUID\n"
" (solo disponible como admin, con "
"SUID\n"
" o con un valor RLIMIT_NICE elevado)\n"
" --realtime[=BOOL] Intentar activar la programación en "
"tiempo real\n"
@ -136,19 +136,19 @@ msgstr ""
" del usuario tras el inicio\n"
" --disallow-exit[=BOOL] Denegar la salida a petición del "
"usuario\n"
" --exit-idle-time=SEGUNDOS Finalizar el servicio cuando esté "
" --exit-idle-time=SEGS Finalizar el servicio cuando esté "
"inactivo y\n"
" haya pasado este tiempo\n"
" --scache-idle-time=SEGUNDOS Descargar las muestras cargadas "
" --scache-idle-time=SEGS Descargar las muestras cargadas "
"automáticamente\n"
" cuando esté inactivo y haya pasado "
" cuando esté inactivo y haya pasado "
"este tiempo\n"
" --log-level[=NIVEL] Aumentar o configurar el nivel de "
" --log-level[=NIVEL] Aumentar o configurar el nivel de "
"registro\n"
" -v --verbose Aumentar el nivel de registro\n"
" --log-target={auto,syslog,stderr,file:RUTA,newfile:RUTA}\n"
" Especificar el destino del registro\n"
" --log-meta[=BOOL] Incluir ubicaciones del código en el "
" --log-meta[=BOOL] Incluir lugares del código en el "
"registro\n"
" --log-time[=BOOL] Incluir marcas de tiempo en el "
"registro\n"
@ -156,16 +156,19 @@ msgstr ""
"registro\n"
" -p, --dl-search-path=RUTA Configurar la ruta de búsqueda de "
"objetos\n"
" dinámicos compartidos (complementos)"
"\n"
" "
"dinámicos compartidos (complementos)\n"
" --resample-method=MÉTODO Usar el método de remuestreo "
"especificado\n"
" (Consulte los valores posibles con\n"
" --dump-resample-methods)\n"
" "
"(Consulte los valores posibles con\n"
" "
"--dump-resample-methods)\n"
" --use-pid-file[=BOOL] Crear un archivo PID\n"
" --no-cpu-limit[=BOOL] No instalar el limitador de carga de "
"la CPU\n"
" en las plataformas compatibles.\n"
" en las "
"plataformas compatibles.\n"
" --disable-shm[=BOOL] Desactivar el uso de memoria "
"compartida\n"
" --enable-memfd[=BOOL] Activar el uso de memoria compartida "
@ -174,10 +177,12 @@ msgstr ""
"GUION DE INICIO:\n"
" -L, --load=\"ARGUMENTO DEL MÓDULO\" Cargar el módulo del complemento "
"especificado\n"
" con el argumento especificado\n"
" -F, --file=ARCHIVO Ejecutar el guion especificado\n"
" -C Abrir una línea de órdenes en el TTY "
"en\n"
" "
"con el argumento especificado\n"
" -F, --file=ARCHIVO Ejecutar el guion "
"especificado\n"
" -C Abrir una línea de "
"órdenes en el TTY en\n"
" ejecución tras el inicio\n"
" -n No cargar el archivo de órdenes "
"predeterminado\n"
@ -195,9 +200,9 @@ msgid ""
"--log-level expects log level argument (either numeric in range 0..4 or one "
"of error, warn, notice, info, debug)."
msgstr ""
"--log-level espera un argumento para el nivel de registro (un valor numérico "
"en el rango de 0-4 o bien uno de estos valores: error, warn, notice, info, "
"debug)."
"--log-level espera un argumento para el nivel de bitácora (un valor numérico "
"en el intervalo de 0..4 o bien uno de estos valores: error, warn, notice, "
"info, debug)."
#: src/daemon/cmdline.c:277
msgid "--high-priority expects boolean argument"
@ -217,7 +222,7 @@ msgstr "--disallow-exit espera un argumento booleano"
#: src/daemon/cmdline.c:309
msgid "--use-pid-file expects boolean argument"
msgstr "--use pid-file espera un argumento booleano"
msgstr "--use-pid-file espera un argumento booleano"
#: src/daemon/cmdline.c:328
msgid ""
@ -750,11 +755,11 @@ msgstr "Salida de juego"
#: src/modules/alsa/alsa-mixer.c:2819 src/modules/alsa/alsa-mixer.c:2820
msgid "Chat Output"
msgstr "Salida de chat"
msgstr "Salida de charla"
#: src/modules/alsa/alsa-mixer.c:2821
msgid "Chat Input"
msgstr "Entrada de chat"
msgstr "Entrada de charla"
#: src/modules/alsa/alsa-mixer.c:2822
msgid "Virtual Surround 7.1"
@ -1546,10 +1551,10 @@ msgid ""
"e.g. happen if you try to connect to a non-root PulseAudio as a root user, "
"over the native protocol. Don't do that.)"
msgstr ""
"XDG_RUNTIME_DIR (%s) no es de nuestra propiedad (usuario %d), sino del "
"usuario %d. (Esto puede pasar, por ejemplo, al intentar conectarse como "
"superusuario a un servidor PulseAudio que se ejecuta sin privilegios de "
"administrador mediante el protocolo nativo. No lo haga.)"
"XDG_RUNTIME_DIR (%s) no es de nuestra propiedad (uid %d), sino del usuario "
"%d. (Esto puede pasar, por ejemplo, al intentar conectarse como superusuario "
"a un servidor PulseAudio que se ejecuta sin privilegios de administrador "
"mediante el protocolo nativo. No lo haga.)"
#: src/pulsecore/core-util.h:97
msgid "yes"
@ -1742,7 +1747,7 @@ msgstr "pa_stream_drain(): %s"
#: src/utils/pacat.c:194 src/utils/pacat.c:543
#, c-format
msgid "pa_stream_begin_write() failed: %s"
msgstr "Ha fallado pa_stream_write(): %s"
msgstr "Ha fallado pa_stream_begin_write(): %s"
#: src/utils/pacat.c:244 src/utils/pacat.c:274
#, c-format
@ -2285,7 +2290,7 @@ msgstr "NOMBRE|NÚMERO PUERTO"
#: src/utils/pacmd.c:74 src/utils/pactl.c:2658
msgid "CARD-NAME|CARD-#N PORT OFFSET"
msgstr "NOMBRE-TARJETA|NÚMERO-TARJETA PUERTO COMPENSACIÓN"
msgstr "NOMBRE-TARJETA|Nº-TARJETA PUERTO COMPENSACIÓN"
#: src/utils/pacmd.c:75
msgid "TARGET"

View file

@ -10,8 +10,8 @@ msgstr ""
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/"
"issues/new\n"
"POT-Creation-Date: 2022-06-18 09:49+0300\n"
"PO-Revision-Date: 2023-02-10 20:20+0000\n"
"Last-Translator: Jan Kuparinen <copper_fin@hotmail.com>\n"
"PO-Revision-Date: 2025-04-22 16:19+0000\n"
"Last-Translator: Ricky Tigg <ricky.tigg@gmail.com>\n"
"Language-Team: Finnish <https://translate.fedoraproject.org/projects/"
"pulseaudio/pulseaudio/fi/>\n"
"Language: fi\n"
@ -19,7 +19,7 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.15.2\n"
"X-Generator: Weblate 5.11\n"
#: src/daemon/cmdline.c:113
#, c-format
@ -742,11 +742,11 @@ msgstr "Peli ulostulo"
#: src/modules/alsa/alsa-mixer.c:2819 src/modules/alsa/alsa-mixer.c:2820
msgid "Chat Output"
msgstr "Chatti ulostulo"
msgstr "Pikakeskustelun lähtö"
#: src/modules/alsa/alsa-mixer.c:2821
msgid "Chat Input"
msgstr "Chatti sisääntulo"
msgstr "Pikakeskustelun syöttö"
#: src/modules/alsa/alsa-mixer.c:2822
msgid "Virtual Surround 7.1"
@ -1576,7 +1576,7 @@ msgstr "Modeemi"
#: src/pulse/error.c:38
msgid "OK"
msgstr "OK"
msgstr "Hyvä on"
#: src/pulse/error.c:39
msgid "Access denied"

1736
po/hi.po

File diff suppressed because it is too large Load diff

158
po/id.po
View file

@ -10,7 +10,7 @@ msgstr ""
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/"
"issues/new\n"
"POT-Creation-Date: 2022-06-18 09:49+0300\n"
"PO-Revision-Date: 2021-09-24 12:05+0000\n"
"PO-Revision-Date: 2024-11-03 10:40+0000\n"
"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
"Language-Team: Indonesian <https://translate.fedoraproject.org/projects/"
"pulseaudio/pulseaudio/id/>\n"
@ -19,10 +19,10 @@ 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.8\n"
"X-Generator: Weblate 5.8.2\n"
#: src/daemon/cmdline.c:113
#, fuzzy, c-format
#, c-format
msgid ""
"%s [options]\n"
"\n"
@ -113,8 +113,8 @@ msgstr ""
"OPSI:\n"
" --system[=BOOL] Jalankan sebagai instansi seluruh "
"sistem\n"
" -D, --daemonize[=BOOL] Jadikan daemon setelah awalan\n"
" --fail[=BOOL] Keluar ketika awalan gagal\n"
" -D, --daemonize[=BOOL] Jadikan daemon setelah awal mula\n"
" --fail[=BOOL] Keluar ketika awal mula gagal\n"
" --high-priority[=BOOL] Coba tata ke aras nice tinggi\n"
" (hanya tersedia sebagai root, ketika "
"SUID\n"
@ -126,21 +126,19 @@ msgstr ""
" atau RLIMIT_RTPRIO yang dinaikkan)\n"
" --disallow-module-loading[=BOOL] Larang muat/bongkar modul yang "
"diminta\n"
" pengguna setelah awalan\n"
" pengguna setelah awal mula\n"
" --disallow-exit[=BOOL] Larang permintaan keluar dari "
"pengguna\n"
" --exit-idle-time=SECS Matikan daemon ketika menganggur "
"dan\n"
" waktu ini habis\n"
" --module-idle-time=SECS Bongkar modul yang dimuat sendiri "
"ketika\n"
" menganggur dan waktu ini habis\n"
" waktu ini berlalu\n"
" --scache-idle-time=SECS Bongkar contoh yang dimuat sendiri "
"ketika\n"
" menganggur dan waktu ini habis\n"
" menganggur dan waktu ini berlalu\n"
" --log-level[=LEVEL] Naikkan atau tata aras kerincian\n"
" -v Naikkan aras kerincian\n"
" --log-target={auto,syslog,stderr} Nyatakan target log\n"
" -v --verbose Naikkan aras kerincian\n"
" --log-target={auto,syslog,stderr,file:PATH,newfile:PATH} \n"
" Nyatakan target log\n"
" --log-meta[=BOOL] Sertakan lokasi kode dalam pesan "
"log\n"
" --log-time[=BOOL] Sertakan penanda waktu dalam pesan "
@ -159,8 +157,10 @@ msgstr ""
" --no-cpu-limit[=BOOL] Jangan pasang pembatas beban CPU\n"
" pada platform yang mendukungannya.\n"
" --disable-shm[=BOOL] Matikan dukungan memori bersama.\n"
" --enable-memfd[=BOOL] Fungsikan dukungan memori bersama "
"memfd.\n"
"\n"
"SKRIP AWALAN:\n"
"SKRIP AWAL MULA:\n"
" -L, --load=\"ARGUMEN MODUL\" Muat modul plugin yang dinyatakan\n"
" dengan argumen yang disertakan\n"
" -F, --file=NAMABERKAS Jalankan skrip yang dinyatakan\n"
@ -179,13 +179,12 @@ msgid "--fail expects boolean argument"
msgstr "--fail mengharapkan argumen bool"
#: src/daemon/cmdline.c:265
#, fuzzy
msgid ""
"--log-level expects log level argument (either numeric in range 0..4 or one "
"of error, warn, notice, info, debug)."
msgstr ""
"--log-level mengharapkan argumen aras log (bisa berupa angka 0..4 atau salah "
"satu dari debug, info, notice, warn, error)."
"satu dari error, warn, notice, info, debug)."
#: src/daemon/cmdline.c:277
msgid "--high-priority expects boolean argument"
@ -591,12 +590,10 @@ msgid "Docking Station Microphone"
msgstr "Mikrofon Docking Station"
#: src/modules/alsa/alsa-mixer.c:2711
#, fuzzy
msgid "Docking Station Line In"
msgstr "Jalur Masuk Docking Station"
#: src/modules/alsa/alsa-mixer.c:2712 src/modules/alsa/alsa-mixer.c:2803
#, fuzzy
msgid "Line In"
msgstr "Jalur Masuk"
@ -698,7 +695,6 @@ msgid "Headphones Mono Output"
msgstr "Keluaran Mono Headphone"
#: src/modules/alsa/alsa-mixer.c:2810
#, fuzzy
msgid "Line Out"
msgstr "Jalur Keluar"
@ -731,9 +727,8 @@ msgid "Multichannel Output"
msgstr "Keluaran Multikanal"
#: src/modules/alsa/alsa-mixer.c:2818
#, fuzzy
msgid "Game Output"
msgstr "Keluaran %s"
msgstr "Keluaran Game"
#: src/modules/alsa/alsa-mixer.c:2819 src/modules/alsa/alsa-mixer.c:2820
msgid "Chat Output"
@ -941,7 +936,7 @@ msgstr ""
"mengembalikan 0 atau nilai lain < min_avail."
#: src/modules/alsa/alsa-util.c:1183 src/modules/alsa/alsa-util.c:1277
#, fuzzy, c-format
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu byte (%lu "
"ms).\n"
@ -953,13 +948,13 @@ msgid_plural ""
"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
"to the ALSA developers."
msgstr[0] ""
"snd_pcm_avail() mengembalikan nilai yang luar biasa besar: %lu byte (%lu "
"ms).\n"
"snd_pcm_avail() mengembalikan nilai yang luar biasa besar: %lu byte (%lu ms)."
"\n"
"Sangat mungkin ini adalah kutu pada driver ALSA '%s'. Silakan laporkan hal "
"ini ke para pengembang ALSA."
#: src/modules/alsa/alsa-util.c:1249
#, fuzzy, c-format
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li byte (%s"
"%lu ms).\n"
@ -990,7 +985,7 @@ msgstr ""
"kasus ini ke para pengembang ALSA."
#: src/modules/alsa/alsa-util.c:1339
#, fuzzy, c-format
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu byte "
"(%lu ms).\n"
@ -1002,8 +997,8 @@ msgid_plural ""
"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
"to the ALSA developers."
msgstr[0] ""
"snd_pcm_mmap_begin() mengembalikan nilai yang luar biasa besar: %lu byte "
"(%lu ms).\n"
"snd_pcm_mmap_begin() mengembalikan nilai yang luar biasa besar: %lu byte ("
"%lu ms).\n"
"Sangat mungkin ini adalah kutu pada driver ALSA '%s'. Silakan laporkan hal "
"ini ke para pengembang ALSA."
@ -1043,37 +1038,30 @@ msgid "Phone"
msgstr "Telepon"
#: src/modules/bluetooth/module-bluez5-device.c:2042
#, fuzzy
msgid "High Fidelity Playback (A2DP Sink)"
msgstr "High Fidelity Playback (Muara A2DP)"
msgstr "Putar High Fidelity (Muara A2DP)"
#: src/modules/bluetooth/module-bluez5-device.c:2054
#, fuzzy
msgid "High Fidelity Capture (A2DP Source)"
msgstr "High Fidelity Capture (Sumber A2DP)"
msgstr "Penangkapan High Fidelity (Sumber A2DP)"
#: src/modules/bluetooth/module-bluez5-device.c:2066
#, fuzzy
msgid "Headset Head Unit (HSP)"
msgstr "Headset Head Unit (HSP/HFP)"
#: src/modules/bluetooth/module-bluez5-device.c:2079
#, fuzzy
msgid "Headset Audio Gateway (HSP)"
msgstr "Headset Audio Gateway (HSP/HFP)"
msgstr "Gateway Audio Headset (HSP/HFP)"
#: src/modules/bluetooth/module-bluez5-device.c:2092
#, fuzzy
msgid "Handsfree Head Unit (HFP)"
msgstr "Headset Head Unit (HSP/HFP)"
msgstr "Unit Kepala Handsfree (HFP)"
#: src/modules/bluetooth/module-bluez5-device.c:2105
#, fuzzy
msgid "Handsfree Audio Gateway (HFP)"
msgstr "Headset Audio Gateway (HSP/HFP)"
msgstr "Gateway Audio Handsfree (HSP/HFP)"
#: src/modules/echo-cancel/module-echo-cancel.c:59
#, fuzzy
msgid ""
"source_name=<name for the source> source_properties=<properties for the "
"source> source_master=<name of source to filter> sink_name=<name for the "
@ -1086,16 +1074,16 @@ msgid ""
"loaded automatically> use_volume_sharing=<yes or no> use_master_format=<yes "
"or no> "
msgstr ""
"source_name=<name for the source> source_properties=<properties for the "
"source> source_master=<name of source to filter> sink_name=<name for the "
"sink> sink_properties=<properties for the sink> sink_master=<name of sink to "
"filter> adjust_time=<how often to readjust rates in s> adjust_threshold=<how "
"much drift to readjust after in ms> format=<sample format> rate=<sample "
"rate> channels=<number of channels> channel_map=<channel map> "
"aec_method=<implementation to use> aec_args=<parameters for the AEC engine> "
"save_aec=<save AEC data in /tmp> autoloaded=<set if this module is being "
"loaded automatically> use_volume_sharing=<yes or no> use_master_format=<yes "
"or no> "
"source_name=<nama sumber> source_properties=<properti sumber> "
"source_master=<nama sumber untuk disaring> sink_name=<nama muara> "
"sink_properties=<properti muara> sink_master=<nama muara untuk disaraing> "
"adjust_time=<seberapa sering menyetel ulang laju dalam detik> "
"adjust_threshold=<seberapa banyak drift disetel ulang setelahnya dalam mili "
"detik> format=<format cuplikan> rate=<laju cuplikan> channels=<cacah kanal> "
"channel_map=<peta kanal> aec_method=<implementasi yang dipakai> "
"aec_args=<parameter bagi mesin AEC> save_aec=<simpan data AEC dalam /tmp> "
"autoloaded=<tata apakah modul ini dimuat secara otomatis> "
"use_volume_sharing=<yes atau no> use_master_format=<yes atau no> "
#. add on profile
#: src/modules/macosx/module-coreaudio-device.c:825
@ -1116,7 +1104,6 @@ msgid "Always keeps at least one source loaded even if it's a null one"
msgstr "Selalu jaga paling tidak satu muara bermuatan bahkan jika berupa null"
#: src/modules/module-equalizer-sink.c:68
#, fuzzy
msgid "General Purpose Equalizer"
msgstr "Equalizer Tujuan Umum"
@ -1147,7 +1134,6 @@ msgid "Virtual LADSPA sink"
msgstr "Muara virtual LADSPA"
#: src/modules/module-ladspa-sink.c:54
#, fuzzy
msgid ""
"sink_name=<name for the sink> sink_properties=<properties for the sink> "
"sink_input_properties=<properties for the sink input> master=<name of sink "
@ -1159,15 +1145,15 @@ msgid ""
"separated list of output LADSPA port names> autoloaded=<set if this module "
"is being loaded automatically> "
msgstr ""
"sink_name=<nama bagi muara> sink_properties=<properti bagi muara> "
"sink_input_properties=<properti bagi masukan muara> master=<nama muara untuk "
"sink_name=<nama muara> sink_properties=<properti muara> "
"sink_input_properties=<properti masukan muara> master=<nama muara untuk "
"disaring> sink_master=<nama muara yang akan disaring> format=<format "
"cuplikan> rate=<laju cuplikan> channels=<cacah kanal> channel_map=<peta "
"kanal> plugin=<nama plugin ladspa> label=<label plugin ladspa> "
"control=<daftar nilai kendali masukan yang dipisahkan dengan koma> \n"
"input_ladspaport_map=<comma separated list of input LADSPA port names> "
"output_ladspaport_map=<comma separated list of output LADSPA port names> "
"autoloaded=<set if this module is being loaded automatically> "
"control=<daftar nilai kendali masukan yang dipisah koma> "
"input_ladspaport_map=<daftar dipisah koma dari nama port masukan LADSPA> "
"output_ladspaport_map=<daftar dipisah koma dari nama port keluaran LADSPA> "
"autoloaded=<tata apakah modul dimuat secara otomatis> "
#: src/modules/module-null-sink.c:46
msgid "Clocked NULL sink"
@ -1876,7 +1862,7 @@ msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() gagal: %s"
#: src/utils/pacat.c:676
#, fuzzy, c-format
#, c-format
msgid ""
"%s [options]\n"
"%s\n"
@ -1955,7 +1941,9 @@ msgstr ""
" -v, --verbose Aktifkan operasi cerewet\n"
"\n"
" -s, --server=SERVER Nama server untuk dihubungi\n"
" -d, --device=DEVICE Nama muara/sumber untuk dihubungi\n"
" -d, --device=DEVICE Nama muara/sumber untuk dihubungi. "
"Nama khusus @DEFAULT_SINK@, @DEFAULT_SOURCE@, dan @DEFAULT_MONITOR@ masing-"
"masing dapat dipakai untuk menyatakan muara, sumber, dan monitor.\n"
" -n, --client-name=NAME Bagaimana memanggil klien ini di "
"server\n"
" --stream-name=NAME Bagaimana memanggil stream ini di "
@ -1964,35 +1952,34 @@ msgstr ""
"jangkauan 0...65536\n"
" --rate=SAMPLERATE Laju cuplikan dalam Hz (nilai baku "
"44100)\n"
" --format=SAMPLEFORMAT Jenis cuplikan, salah satu dari "
"s16le, s16be, u8, float32le,\n"
" float32be, ulaw, alaw, s32le, s32be, "
"s24le, s24be,\n"
" s24-32le, s24-32be (nilai baku "
"s16ne)\n"
" --format=SAMPLEFORMAT Format cuplikan, lihat\n"
" https://www.freedesktop.org/wiki/"
"Software/PulseAudio/Documentation/User/SupportedAudioFormats/\n"
" untuk nilai-nilai yang mungkin ("
"nilai baku s16ne)\n"
" --channels=CHANNELS Cacah kanal, 1 untuk mono, 2 untuk "
"stereo\n"
" (nilai baku 2)\n"
" --channel-map=CHANNELMAP Peta kanal yang dipakai sebagai "
"pengganti baku\n"
" --fix-format Ambil format cuplikan dari muara "
"stream\n"
" --fix-format Ambil format cuplikan dari muara/"
"sumber stream\n"
" yang sedang tersambung.\n"
" --fix-rate Ambil laju cuplikan dari muara "
"stream\n"
" --fix-rate Ambil laju cuplikan dari muara/"
"sumber stream\n"
" yang sedang tersambung.\n"
" --fix-channels Ambil cacah kanal dan peta kanal "
"dari muara stream\n"
"dari muara/sumber stream\n"
" yang sedang tersambung.\n"
" --no-remix Jangan upmix atau downmix kanal.\n"
" --no-remap Petakan kanal berdasar indeks bukan "
"nama.\n"
" --latency=BYTE Minta latensi yang dinyatakan, dalam "
" --latency=BYTE Minta latensi yang dinyatakan dalam "
"byte.\n"
" --process-time=BYTE Minta waktu proses yang dinyatakan "
"bagi tiap permintaan\n"
" dalam byte.\n"
" --latency-msec=MSEC Minta latensi yang dinyatakan, dalam "
" --latency-msec=MSEC Minta latensi yang dinyatakan dalam "
"milidetik.\n"
" --process-time-msec=MSEC Minta waktu proses yang dinyatakan "
"bagi tiap permintaan\n"
@ -2262,12 +2249,10 @@ msgid "TARGET"
msgstr "TARGET"
#: src/utils/pacmd.c:76
#, fuzzy
msgid "NUMERIC-LEVEL"
msgstr "NUMERIC-LEVEL"
msgstr "ARAS-NUMERIK"
#: src/utils/pacmd.c:79
#, fuzzy
msgid "FRAMES"
msgstr "BINGKAI"
@ -2434,9 +2419,8 @@ msgid "Aux"
msgstr "Aux"
#: src/utils/pactl.c:335
#, fuzzy
msgid "Line"
msgstr "Jalur Masuk"
msgstr "Jalur"
#: src/utils/pactl.c:336
msgid "Mic"
@ -2526,7 +2510,7 @@ msgstr ""
#: src/utils/pactl.c:706 src/utils/pactl.c:890 src/utils/pactl.c:1251
#, c-format
msgid "\tPorts:\n"
msgstr "»Port:\n"
msgstr "\tPort:\n"
#: src/utils/pactl.c:708 src/utils/pactl.c:892
#, c-format
@ -2540,7 +2524,7 @@ msgstr ", grup ketersediaan: "
#: src/utils/pactl.c:715 src/utils/pactl.c:899
#, c-format
msgid "\tActive Port: %s\n"
msgstr "»Port Aktif: %s\n"
msgstr "\tPort Aktif: %s\n"
#: src/utils/pactl.c:721 src/utils/pactl.c:905
#, c-format
@ -3009,7 +2993,7 @@ msgstr ""
"dapat dipakai untuk menyatakan muara, sumber, dan pemantau baku.\n"
#: src/utils/pactl.c:2664
#, fuzzy, c-format
#, c-format
msgid ""
"\n"
" -h, --help Show this help\n"
@ -3026,6 +3010,8 @@ msgstr ""
" -h, --help Tampilkan bantuan ini\n"
" --version Tampilkan versi\n"
"\n"
" -f, --format=FORMAT Format keluaran. \"normal\" atau "
"\"json\"\n"
" -s, --server=SERVER Nama server tujuan koneksi\n"
" -n, --client-name=NAMA Bagaimana memanggil klien ini pada "
"server\n"
@ -3042,9 +3028,9 @@ msgstr ""
"Ditaut dengan libpulse %s\n"
#: src/utils/pactl.c:2751
#, fuzzy, c-format
#, c-format
msgid "Invalid format value '%s'"
msgstr "Nama stream '%s' tak valid"
msgstr "Nilai format '%s' tidak valid"
#: src/utils/pactl.c:2778
#, c-format
@ -3276,7 +3262,7 @@ msgid "WARNING: Child process terminated by signal %u\n"
msgstr "PERINGATAN: Proses anak diakhiri oleh sinyal %u\n"
#: src/utils/pasuspender.c:228
#, fuzzy, c-format
#, c-format
msgid ""
"%s [options] -- PROGRAM [ARGUMENTS ...]\n"
"\n"
@ -3288,7 +3274,9 @@ msgid ""
"to\n"
"\n"
msgstr ""
"%s [opsi] ... \n"
"%s [opsi] -- PROGRAM [ARGUMEN ...]\n"
"\n"
"Sementara mensuspensi PulseAudio ketika PROGRAM berjalan.\n"
"\n"
" -h, --help Tampilkan bantuan ini\n"
" --version Tampilkan versi\n"

View file

@ -12,8 +12,8 @@ msgstr ""
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/"
"issues/new\n"
"POT-Creation-Date: 2022-06-18 09:49+0300\n"
"PO-Revision-Date: 2021-04-19 20:02+0000\n"
"Last-Translator: Milo Casagrande <milo@milo.name>\n"
"PO-Revision-Date: 2025-06-08 14:42+0000\n"
"Last-Translator: Salvatore Cocuzza <info@salvatorecocuzza.it>\n"
"Language-Team: Italian <https://translate.fedoraproject.org/projects/"
"pulseaudio/pulseaudio/it/>\n"
"Language: it\n"
@ -21,7 +21,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.6\n"
"X-Generator: Weblate 5.11.4\n"
# mamma mia che impressione
#: src/daemon/cmdline.c:113
@ -198,14 +198,12 @@ msgid "--fail expects boolean argument"
msgstr "--fail richiede un argomento booleano"
#: src/daemon/cmdline.c:265
#, fuzzy
msgid ""
"--log-level expects log level argument (either numeric in range 0..4 or one "
"of error, warn, notice, info, debug)."
msgstr ""
"--log-level richiede il livello di registro come argomento (sia "
"nell'intervallo numerico 0..4 oppure uno tra debug, info, notice, warn, "
"error)."
"--log-level si aspetta un argomento a livello di log (un valore numerico "
"compreso tra 0 e 4 oppure uno tra error, warn, notice, info, debug)."
#: src/daemon/cmdline.c:277
msgid "--high-priority expects boolean argument"
@ -1247,7 +1245,6 @@ msgid "Virtual surround sink"
msgstr "Sink surround virtuale"
#: src/modules/module-virtual-surround-sink.c:54
#, fuzzy
msgid ""
"sink_name=<name for the sink> sink_properties=<properties for the sink> "
"master=<name of sink to filter> sink_master=<name of sink to filter> "
@ -2420,7 +2417,7 @@ msgstr "Recupero delle informazioni del server non riuscito: %s"
#: src/utils/pactl.c:224 src/utils/pactl.c:236
#, c-format
msgid "%s\n"
msgstr ""
msgstr "%s\n"
#: src/utils/pactl.c:281
#, c-format
@ -2491,7 +2488,6 @@ msgid "Mic"
msgstr "Mic"
#: src/utils/pactl.c:338
#, fuzzy
msgid "Handset"
msgstr "Cuffie con microfono"
@ -2586,7 +2582,6 @@ msgid "\t\t%s: %s (type: %s, priority: %u%s%s, %s)\n"
msgstr "\t\t%s: %s (tipo: %s, priorità: %u%s%s, %s)\n"
#: src/utils/pactl.c:710 src/utils/pactl.c:894 src/utils/pactl.c:1256
#, fuzzy
msgid ", availability group: "
msgstr ", gruppo disponibilità: "
@ -2898,7 +2893,7 @@ msgstr "Invia messaggio non riuscito: %s"
#: src/utils/pactl.c:1695
#, c-format
msgid "list-handlers message failed: %s"
msgstr ""
msgstr "messaggio list-handlers non riuscito: %s"
#: src/utils/pactl.c:1711 src/utils/pactl.c:1760
msgid "list-handlers message response could not be parsed correctly"
@ -2912,6 +2907,8 @@ msgstr ""
#, c-format
msgid "list-handlers message response array element %d is not a JSON object"
msgstr ""
"l'elemento %d dell'array di risposta al messaggio dei gestori di elenchi non "
"è un oggetto JSON"
#: src/utils/pactl.c:1800
#, c-format
@ -3110,9 +3107,9 @@ msgstr ""
"Link eseguito con libpulse %s\n"
#: src/utils/pactl.c:2751
#, fuzzy, c-format
#, c-format
msgid "Invalid format value '%s'"
msgstr "Nome dello stream «%s» non valido"
msgstr "Formato valore non valido '%s'"
#: src/utils/pactl.c:2778
#, c-format
@ -3198,18 +3195,16 @@ msgid "You have to specify a source name"
msgstr "È necessario specificare il nome di una sorgente"
#: src/utils/pactl.c:2998 src/utils/pactl.c:3076
#, fuzzy
msgid "You have to specify a sink name/index"
msgstr "È necessario specificare un nome di sink"
msgstr "Devi specificare un nome/indice del sink"
#: src/utils/pactl.c:3008
msgid "You have to specify a sink name/index and a volume"
msgstr "È necessario specificare un nome/indice di sink e un nome di porta"
#: src/utils/pactl.c:3021 src/utils/pactl.c:3101
#, fuzzy
msgid "You have to specify a source name/index"
msgstr "È necessario specificare il nome di una sorgente"
msgstr "Devi specificare un nome/indice sorgente"
#: src/utils/pactl.c:3031
msgid "You have to specify a source name/index and a volume"
@ -3275,15 +3270,17 @@ msgid "Invalid source output index specification"
msgstr "Specifica di indice di uscita per la sorgente non valida"
#: src/utils/pactl.c:3162
#, fuzzy
msgid "You have to specify at least an object path and a message name"
msgstr "È necessario specificare un nome/indice di sink e un nome di porta"
msgstr ""
"Devi specificare almeno un percorso dell'oggetto e un nome del messaggio"
#: src/utils/pactl.c:3172
msgid ""
"Excess arguments given, they will be ignored. Note that all message "
"parameters must be given as a single string."
msgstr ""
"Gli argomenti in eccesso verranno ignorati. Si noti che tutti i parametri "
"del messaggio devono essere specificati come un'unica stringa."
#: src/utils/pactl.c:3182
msgid ""

349
po/ka.po

File diff suppressed because it is too large Load diff

View file

@ -7,7 +7,7 @@ msgstr ""
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/"
"issues/new\n"
"POT-Creation-Date: 2022-06-18 09:49+0300\n"
"PO-Revision-Date: 2023-07-19 15:21+0000\n"
"PO-Revision-Date: 2025-06-14 13:17+0000\n"
"Last-Translator: 김인수 <simmon@nplob.com>\n"
"Language-Team: Korean <https://translate.fedoraproject.org/projects/"
"pulseaudio/pulseaudio/ko/>\n"
@ -16,7 +16,7 @@ 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.18.2\n"
"X-Generator: Weblate 5.11.4\n"
#: src/daemon/cmdline.c:113
#, c-format
@ -95,15 +95,15 @@ msgstr ""
" -h, --help 도움말을 표시\n"
" --version 버전을 표시\n"
" --dump-conf 기본 구성 덤프\n"
" --dump-modules 사용 가능한 모듈의 목록 덤프\n"
" --dump-resample-methods 사용 가능한 재표본 방식으로 덤프\n"
" --dump-modules 사용 가능한 모듈의 덤프 목록\n"
" --dump-resample-methods 재표본 방법 덤프\n"
" --cleanup-shm 오래된 공유 메모리 세그멘트 정리\n"
" --start 만약 실행되지 않았으면 데몬을 시작\n"
" -k --kill 실행 중인 데몬을 제거\n"
" --check 동작 중인 데몬 점검 (종료 코드만 "
"환)\n"
" --check 동작 중인 데몬 점검 (종료 코드만 "
"환)\n"
"\n"
"OPTIONS:\n"
"옵션:\n"
" --system[=BOOL] 시스템-전반의 인스턴스로 실행\n"
" -D, --daemonize[=BOOL] 시작 후에 데몬화\n"
" --fail[=BOOL] 시작이 실패 할 때에 종료\n"
@ -114,10 +114,10 @@ msgstr ""
" (root로만 사용 가능, SUID 또는\n"
" 높은 RLIMIT_RTPRIO일 때에)\n"
" --disallow-module-loading[=BOOL] 시작 후 사용자가 요청 모듈을\n"
" 적재/적재하지 않는 부분을 허용하지 "
"음\n"
" --disallow-exit[=BOOL] 사용자가 요청한 종료를 허용하지 "
"음\n"
" 적재/적재하지 않는 부분을 허용하지 "
"음\n"
" --disallow-exit[=BOOL] 사용자가 요청한 종료를 허용하지 "
"음\n"
" --exit-idle-time=SECS 유휴 상태이고 시간이 경과하면\n"
" 데몬을 종료함\n"
" --scache-idle-time=SECS 유휴 상태이고 시간이 경과하면\n"
@ -142,8 +142,8 @@ msgstr ""
" --enable-memfd[=BOOL] memfd 공유 메모리 지원을 활성화.\n"
"\n"
"스크립트 시작:\n"
" -L, --load=\"MODULE ARGUMENTS\" 지정된 인수와 함께 지정된 플러그"
"인\n"
" -L, --load=\"MODULE ARGUMENTS\" 지정된 인수와 함께 지정된 "
"플러그인\n"
" 모듈을 적재\n"
" -F, --file=FILENAME 지정 스크립트 실행\n"
" -C 시작 후에 동작 중인 TTY에서\n"
@ -230,7 +230,7 @@ msgstr "--disable-shm 에는 부울 인자 값이 필요합니다"
#: src/daemon/cmdline.c:397
msgid "--enable-memfd expects boolean argument"
msgstr "--enable-memfd는 부울 인수가 필요합니다"
msgstr "--enable-memfd 는 부울 인수가 예상됩니다"
#: src/daemon/daemon-conf.c:270
#, c-format
@ -275,12 +275,12 @@ msgstr "[%s:%u] 잘못된 채널 맵 '%s'."
#: src/daemon/daemon-conf.c:433
#, c-format
msgid "[%s:%u] Invalid number of fragments '%s'."
msgstr "[%s:%u] 잘못된 fragment 수 '%s'."
msgstr "[%s:%u] 잘못된 조각 수 '%s'."
#: src/daemon/daemon-conf.c:450
#, c-format
msgid "[%s:%u] Invalid fragment size '%s'."
msgstr "[%s:%u] 잘못된 fragment 크기 '%s'."
msgstr "[%s:%u] 잘못된 조각 크기 '%s'."
#: src/daemon/daemon-conf.c:467
#, c-format
@ -423,9 +423,8 @@ msgstr "명령어 행 분석 실패."
msgid ""
"System mode refused for non-root user. Only starting the D-Bus server lookup "
"service."
msgstr ""
"비 루트 사용자의 시스템 모드 전환을 거부했습니다. D-Bus 서버 검색 서비스만 시"
"작합니다."
msgstr "non-root 사용자에게 시스템 방식이 거부되었습니다. D-Bus 서버 검색 서비스만 "
"시작합니다."
#: src/daemon/main.c:788
#, c-format
@ -436,9 +435,8 @@ msgstr "데몬 종료 실패: %s"
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
msgstr ""
"이 프로그램은 루트 계정으로 실행하도록 만들지 않았습니다. (실행하려면 --"
"system을 명기하십시오)."
msgstr "이와 같은 프로그램은 root로 동작하도록 의도되지 않았습니다 (--system 이 "
"지정되지 않은 경우)."
#: src/daemon/main.c:820
msgid "Root privileges required."
@ -451,24 +449,22 @@ msgstr "--start는 시스템 인스턴스에 대해 지원되지 않습니다."
#: src/daemon/main.c:867
#, c-format
msgid "User-configured server at %s, refusing to start/autospawn."
msgstr "%s에서 사용자 설정한 서버, start/autospawn을 거부하고 있습니다."
msgstr "%s에 User-configured 서버, start/autospawn을 거부하고 있습니다."
#: src/daemon/main.c:873
#, c-format
msgid ""
"User-configured server at %s, which appears to be local. Probing deeper."
msgstr "%s에 사용자가 설정한 서버, 이는 로컬에 있습니다. 상세히 조사합니다."
msgstr "%s에 User-configured 서버, 이는 로컬에 있습니다. 상세히 조사합니다."
#: src/daemon/main.c:878
msgid "Running in system mode, but --disallow-exit not set."
msgstr ""
"시스템 모드에서 실행 중입니다. 하지만 --disallow-exit을 설정하지 않았습니다."
msgstr "시스템 방식에서 실행 중이지만, --disallow-exit 를 설정하지 않았습니다."
#: src/daemon/main.c:881
msgid "Running in system mode, but --disallow-module-loading not set."
msgstr ""
"시스템 모드에서 실행 중입니다. 하지만 --disallow-module-loading을 설정하지 않"
"았습니다."
msgstr "시스템 방식에서 실행 중이지만, --disallow-module-loading 를 설정하지 "
"않았습니다."
#: src/daemon/main.c:884
msgid "Running in system mode, forcibly disabling SHM mode."
@ -1014,15 +1010,15 @@ msgstr "전화기"
#: src/modules/bluetooth/module-bluez5-device.c:2042
msgid "High Fidelity Playback (A2DP Sink)"
msgstr "Hi-Fi 재생 (A2DP Sink)"
msgstr "고음질 재생 (A2DP Sink)"
#: src/modules/bluetooth/module-bluez5-device.c:2054
msgid "High Fidelity Capture (A2DP Source)"
msgstr "Hi-Fi 캡쳐 (A2DP Source)"
msgstr "고음질 캡쳐 (A2DP Source)"
#: src/modules/bluetooth/module-bluez5-device.c:2066
msgid "Headset Head Unit (HSP)"
msgstr "헤드셋 헤드 유닛 (HSP)"
msgstr "헤드셋 헤드 단위 (HSP)"
#: src/modules/bluetooth/module-bluez5-device.c:2079
msgid "Headset Audio Gateway (HSP)"
@ -1030,7 +1026,7 @@ msgstr "헤드셋 오디오 게이트웨어 (HSP)"
#: src/modules/bluetooth/module-bluez5-device.c:2092
msgid "Handsfree Head Unit (HFP)"
msgstr "핸즈프리 헤드 유닛 (HFP)"
msgstr "핸즈프리 헤드 단위 (HFP)"
#: src/modules/bluetooth/module-bluez5-device.c:2105
msgid "Handsfree Audio Gateway (HFP)"
@ -1479,9 +1475,9 @@ msgid ""
"e.g. happen if you try to connect to a non-root PulseAudio as a root user, "
"over the native protocol. Don't do that.)"
msgstr ""
"XDG_RUNTIME_DIR (%s) 우리(uid %d)가 아니라 uid %d가 소유합니다! (자체 프로"
"토콜로 비 루트 펄스오디오 사용자가 루트 사용자 권한으로 연결할 때 이 문제가 "
"일어납니다. 그렇게 하지 마십시오.)"
"XDG_RUNTIME_DIR (%s) 우리(uid %d)가 아니라 uid %d가 소유합니다! (자체 "
"통신규약을 통해 root 사용자로 root가 아닌 PluseAudio에 연결을 시도 할 때에 "
"예시로 발생 할 수 있습니다. 그렇게 하지 않습니다.)"
#: src/pulsecore/core-util.h:97
msgid "yes"
@ -2442,7 +2438,7 @@ msgid ""
"\tProperties:\n"
"\t\t%s\n"
msgstr ""
"싱크 #%u\n"
"Sink #%u\n"
"\t상태: %s\n"
"\t이름: %s\n"
"\t설명: %s\n"
@ -2451,10 +2447,10 @@ msgstr ""
"\t채널 맵: %s\n"
"\t소유자 모듈: %u\n"
"\t무음: %s\n"
"\t볼륨: %s%s%s\n"
"\t균형 %0.2f\n"
"\t기본 볼륨: %s%s%s\n"
"\t모니터 소스: %s\n"
"\t음량: %s\n"
"\t 균형 %0.2f\n"
"\t기본 음량: %s\n"
"\t모니터 원천: %s\n"
"\t지연시간: %0.0f usec, 설정 %0.0f usec\n"
"\t플래그: %s%s%s%s%s%s%s\n"
"\t속성:\n"
@ -2511,7 +2507,7 @@ msgid ""
"\tProperties:\n"
"\t\t%s\n"
msgstr ""
"소스 #%u\n"
"원천 #%u\n"
"\t상태: %s\n"
"\t이름: %s\n"
"\t설명: %s\n"
@ -2520,11 +2516,11 @@ msgstr ""
"\t채널 맵: %s\n"
"\t소유자 모듈: %u\n"
"\t무음: %s\n"
"\t볼륨: %s%s%s\n"
"\t볼륨: %s\n"
"\t 균형 %0.2f\n"
"\t기본 볼륨: %s%s%s\n"
"\t싱크 모니터: %s\n"
"\t지연시간: %0.0f usec, 설정 %0.0f usec\n"
"\t기본 볼륨: %s\n"
"\t싱크 모니터:%s\n"
"\t지연시간:%0.0f usec, 설정 %0.0f usec\n"
"\t플래그: %s%s%s%s%s%s\n"
"\t속성:\n"
"\t\t%s\n"
@ -2674,8 +2670,7 @@ msgstr ""
"\t코르크: %s\n"
"\t무음: %s\n"
"\t볼륨: %s\n"
"\t %s\n"
"\t균형 %0.2f\n"
"\t 균형 %0.2f\n"
"\t버퍼 지연 시간: %0.0f usec\n"
"\t싱크 지연 시간: %0.0f usec\n"
"\t리샘플링 방법: %s\n"
@ -2752,8 +2747,7 @@ msgstr ""
"\t샘플 사양: %s\n"
"\t채널맵: %s\n"
"\t볼륨: %s\n"
"\t %s\n"
"\t균형 %0.2f\n"
"\t 균형 %0.2f\n"
"\t길이: %0.1fs\n"
"\t크기: %s\n"
"\t레이지: %s\n"

View file

@ -9,7 +9,7 @@ msgstr ""
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/"
"issues/new\n"
"POT-Creation-Date: 2022-06-18 09:49+0300\n"
"PO-Revision-Date: 2023-02-21 23:21+0000\n"
"PO-Revision-Date: 2024-02-15 22:36+0000\n"
"Last-Translator: mooo <hazap@hotmail.com>\n"
"Language-Team: Lithuanian <https://translate.fedoraproject.org/projects/"
"pulseaudio/pulseaudio/lt/>\n"
@ -19,7 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && ("
"n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Weblate 4.15.2\n"
"X-Generator: Weblate 5.4\n"
#: src/daemon/cmdline.c:113
#, c-format
@ -755,23 +755,20 @@ msgid "Chat Input"
msgstr "Pokalbio įvestis"
#: src/modules/alsa/alsa-mixer.c:2822
#, fuzzy
msgid "Virtual Surround 7.1"
msgstr "Virtualus erdvinis rinktuvas"
msgstr "Virtuali erdvinė 7.1"
#: src/modules/alsa/alsa-mixer.c:4563
msgid "Analog Mono"
msgstr "Analoginė mono"
#: src/modules/alsa/alsa-mixer.c:4564
#, fuzzy
msgid "Analog Mono (Left)"
msgstr "Analoginė mono"
msgstr "Analoginė mono (kairioji)"
#: src/modules/alsa/alsa-mixer.c:4565
#, fuzzy
msgid "Analog Mono (Right)"
msgstr "Analoginė mono"
msgstr "Analoginė mono (dešinioji)"
#. Note: Not translated to "Analog Stereo Input", because the source
#. * name gets "Input" appended to it automatically, so adding "Input"
@ -876,11 +873,11 @@ msgstr "Skaitmeninė erdvinė 5.1 (HDMI)"
#: src/modules/alsa/alsa-mixer.c:4597
msgid "Chat"
msgstr ""
msgstr "Pokalbis"
#: src/modules/alsa/alsa-mixer.c:4598
msgid "Game"
msgstr ""
msgstr "Žaidimas"
#: src/modules/alsa/alsa-mixer.c:4732
msgid "Analog Mono Duplex"
@ -904,7 +901,7 @@ msgstr "Dvipusė stereo"
#: src/modules/alsa/alsa-mixer.c:4739
msgid "Mono Chat + 7.1 Surround"
msgstr ""
msgstr "Mono pokalbis + 7.1 erdvinė"
#: src/modules/alsa/alsa-mixer.c:4740 src/modules/alsa/module-alsa-card.c:197
#: src/modules/bluetooth/module-bluez5-device.c:2263
@ -1101,19 +1098,16 @@ msgid "Headset Head Unit (HSP)"
msgstr "Ausinių su mikrofonu pagrindinis įtaisas (HSP/HFP)"
#: src/modules/bluetooth/module-bluez5-device.c:2079
#, fuzzy
msgid "Headset Audio Gateway (HSP)"
msgstr "Ausinių su mikrofonu garso tinklų sietuvas (HSP/HFP)"
msgstr "Ausinių su mikrofonu garso tinklų sietuvas (HSP)"
#: src/modules/bluetooth/module-bluez5-device.c:2092
#, fuzzy
msgid "Handsfree Head Unit (HFP)"
msgstr "Ausinių su mikrofonu pagrindinis įtaisas (HSP/HFP)"
msgstr "Laisvų rankų įrangos pagrindinis įtaisas (HFP)"
#: src/modules/bluetooth/module-bluez5-device.c:2105
#, fuzzy
msgid "Handsfree Audio Gateway (HFP)"
msgstr "Ausinių su mikrofonu garso tinklų sietuvas (HSP/HFP)"
msgstr "Laisvų rankų įrangos garso tinklų sietuvas (HFP)"
#: src/modules/echo-cancel/module-echo-cancel.c:59
msgid ""
@ -2415,9 +2409,9 @@ msgid "Failed to get server information: %s"
msgstr "Nepavyko gauti serverio informacijos: %s"
#: src/utils/pactl.c:224 src/utils/pactl.c:236
#, fuzzy, c-format
#, c-format
msgid "%s\n"
msgstr "%s %s\n"
msgstr "%s\n"
#: src/utils/pactl.c:281
#, c-format
@ -2461,20 +2455,19 @@ msgstr ""
#: src/utils/pactl.c:320
msgid "availability unknown"
msgstr ""
msgstr "prieinamumas nežinomas"
#: src/utils/pactl.c:321
msgid "available"
msgstr ""
msgstr "prieinama"
#: src/utils/pactl.c:322
msgid "not available"
msgstr ""
msgstr "neprieinama"
#: src/utils/pactl.c:331 src/utils/pactl.c:355
#, fuzzy
msgid "Unknown"
msgstr "nežinoma"
msgstr "Nežinoma"
#: src/utils/pactl.c:332
msgid "Aux"
@ -2487,12 +2480,11 @@ msgstr "Įvadinė linija"
#: src/utils/pactl.c:336
msgid "Mic"
msgstr ""
msgstr "Mikrofonas"
#: src/utils/pactl.c:338
#, fuzzy
msgid "Handset"
msgstr "Ausinės su mikrofonu"
msgstr "Telefono ragelis"
#: src/utils/pactl.c:339
msgid "Earpiece"
@ -2500,28 +2492,27 @@ msgstr ""
#: src/utils/pactl.c:340
msgid "SPDIF"
msgstr ""
msgstr "SPDIF"
#: src/utils/pactl.c:341
msgid "HDMI"
msgstr ""
msgstr "HDMI"
#: src/utils/pactl.c:342
msgid "TV"
msgstr ""
msgstr "Televizorius"
#: src/utils/pactl.c:345
msgid "USB"
msgstr ""
msgstr "USB"
#: src/utils/pactl.c:346
#, fuzzy
msgid "Bluetooth"
msgstr "Bluetooth įvestis"
msgstr "Bluetooth"
#: src/utils/pactl.c:352
msgid "Network"
msgstr ""
msgstr "Tinklas"
#: src/utils/pactl.c:353
#, fuzzy
@ -2579,14 +2570,13 @@ msgid "\tPorts:\n"
msgstr "\tPrievadai:\n"
#: src/utils/pactl.c:708 src/utils/pactl.c:892
#, fuzzy, c-format
#, c-format
msgid "\t\t%s: %s (type: %s, priority: %u%s%s, %s)\n"
msgstr ""
"\t\t%s: %s (rinktuvų: %u, šaltinių: %u, pirmenybė: %u, prieinama: %s)\n"
msgstr "\t\t%s: %s (tipas: %s, pirmenybė: %u%s%s, %s)\n"
#: src/utils/pactl.c:710 src/utils/pactl.c:894 src/utils/pactl.c:1256
msgid ", availability group: "
msgstr ""
msgstr ", prieinamumo grupė: "
#: src/utils/pactl.c:715 src/utils/pactl.c:899
#, c-format
@ -2879,9 +2869,9 @@ msgid "Failure: %s"
msgstr "Triktis: %s"
#: src/utils/pactl.c:1667
#, fuzzy, c-format
#, c-format
msgid "Send message failed: %s"
msgstr "read() nepavyko: %s"
msgstr "Nepavyko išsiųsti pranešimo: %s"
#: src/utils/pactl.c:1695
#, c-format
@ -2890,11 +2880,11 @@ msgstr ""
#: src/utils/pactl.c:1711 src/utils/pactl.c:1760
msgid "list-handlers message response could not be parsed correctly"
msgstr ""
msgstr "nepavyko teisingai išnagrinėti list-handlers pranešimo atsako"
#: src/utils/pactl.c:1718
msgid "list-handlers message response is not a JSON array"
msgstr ""
msgstr "list-handlers pranešimo atsakas nėra JSON masyvas"
#: src/utils/pactl.c:1729
#, c-format

View file

@ -10,7 +10,7 @@ msgstr ""
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/"
"issues/new\n"
"POT-Creation-Date: 2022-06-18 09:49+0300\n"
"PO-Revision-Date: 2022-08-15 14:19+0000\n"
"PO-Revision-Date: 2024-10-17 15:38+0000\n"
"Last-Translator: Hugo Carvalho <hugokarvalho@hotmail.com>\n"
"Language-Team: Portuguese <https://translate.fedoraproject.org/projects/"
"pulseaudio/pulseaudio/pt/>\n"
@ -19,7 +19,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Weblate 4.13\n"
"X-Generator: Weblate 5.7.2\n"
"X-Poedit-Language: Portuguese\n"
"X-Poedit-Country: PORTUGAL\n"
@ -102,7 +102,7 @@ msgstr ""
" --dump-conf Despeja configuração predefinida\n"
" --dump-modules Despeja a lista de módulos "
"disponíveis\n"
" --dump-resample-methods Despeja oa métodos de reamostragem "
" --dump-resample-methods Despeja os métodos de reamostragem "
"disponíveis\n"
" --cleanup-shm Limpa segmentos de memória "
"partilhados encravados\n"
@ -251,7 +251,7 @@ msgstr "--disable-shm espera argumento booleano"
#: src/daemon/cmdline.c:397
msgid "--enable-memfd expects boolean argument"
msgstr "--realtime espera argumento booleano"
msgstr "--enable-memfd espera argumento booleano"
#: src/daemon/daemon-conf.c:270
#, c-format
@ -486,23 +486,23 @@ msgstr ""
#: src/daemon/main.c:878
msgid "Running in system mode, but --disallow-exit not set."
msgstr "Executando no modo sistema, mas --disallow-exit não foi configurado."
msgstr "A executar em modo de sistema, mas --disallow-exit não está definido."
#: src/daemon/main.c:881
msgid "Running in system mode, but --disallow-module-loading not set."
msgstr ""
"Executando no modo sistema, mas --disallow-module-loading não foi "
"configurado."
"A executar em modo de sistema, mas --disallow-module-loading não está "
"definido."
#: src/daemon/main.c:884
msgid "Running in system mode, forcibly disabling SHM mode."
msgstr "Executando no modo sistema, desabilitando forçadamente o modo SHM."
msgstr "A executar em modo de sistema, a forçar a desactivação do modo SHM."
#: src/daemon/main.c:889
msgid "Running in system mode, forcibly disabling exit idle time."
msgstr ""
"Executando no modo sistema, desabilitando forçadamente o tempo ocioso para "
"saída."
"A executar em modo de sistema, a forçar a desativação da saída por "
"inatividade."
#: src/daemon/main.c:922
msgid "Failed to acquire stdio."
@ -544,13 +544,11 @@ msgid ""
"Documentation/User/WhatIsWrongWithSystemWide/ for an explanation why system "
"mode is usually a bad idea."
msgstr ""
"Ok, então está a correr PA em modo de sistema. Por favor repare que não "
"deveria estar a fazê-lo.\n"
"Se, na mesma, o continuar a fazer e as coisas não correrem como esperado, a "
"culpa será sua.\n"
"Por favor leia http://www.freedesktop.org/wiki/Software/PulseAudio/"
"Documentation/User/WhatIsWrongWithSystemWide/ para uma explicação de como o "
"modo de sistema é usualmente uma má ideia."
"OK, então está a executar o PA no modo de sistema. Por favor, certifique-se "
"de que quer mesmo fazer isso.\n"
"Por favor, leia http://www.freedesktop.org/wiki/Software/PulseAudio/"
"Documentation/User/WhatIsWrongWithSystemWide/ para uma explicação de porque "
"é que o modo de sistema é normalmente uma má ideia."
#: src/daemon/main.c:1161
msgid "pa_pid_file_create() failed."
@ -956,12 +954,12 @@ msgid_plural ""
"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
"to the ALSA developers."
msgstr[0] ""
"snd_pcm_avail() retornou um valor excecionalmente elevado: %lu byte (%lu ms)."
"\n"
"snd_pcm_avail() retornou um valor excepcionalmente elevado: %lu byte (%lu "
"ms).\n"
"Provavelmente isto é um erro no controlador ALSA '%s'. Por favor, reporte "
"este problema aos programadores do ALSA."
msgstr[1] ""
"snd_pcm_avail() retornou um valor excecionalmente elevado: %lu bytes (%lu "
"snd_pcm_avail() retornou um valor excepcionalmente elevado: %lu bytes (%lu "
"ms).\n"
"Provavelmente isto é um erro no controlador ALSA '%s'. Por favor, reporte "
"este problema aos programadores do ALSA."
@ -979,12 +977,12 @@ msgid_plural ""
"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
"to the ALSA developers."
msgstr[0] ""
"snd_pcm_delay() retornou um valor excecionalmente elevado: %li byte (%s%lu "
"snd_pcm_delay() retornou um valor excepcionalmente elevado: %li byte (%s%lu "
"ms).\n"
"Provavelmente isto é um erro no driver ALSA '%s'. Por favor, reporte este "
"problema aos programadores do ALSA."
msgstr[1] ""
"snd_pcm_delay() retornou um valor excecionalmente elevado: %li bytes (%s%lu "
"snd_pcm_delay() retornou um valor excepcionalmente elevado: %li bytes (%s%lu "
"ms).\n"
"Provavelmente isto é um erro no driver ALSA '%s'. Por favor, reporte este "
"problema aos programadores do ALSA."
@ -1015,12 +1013,12 @@ msgid_plural ""
"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
"to the ALSA developers."
msgstr[0] ""
"snd_pcm_mmap_begin() retornou um valor excecionalmente elevado: %lu byte ("
"snd_pcm_mmap_begin() retornou um valor excepcionalmente elevado: %lu byte ("
"%lu ms).\n"
"Provavelmente isto é um erro no driver ALSA '%s'. Por favor, reporte este "
"problema aos programadores do ALSA."
msgstr[1] ""
"snd_pcm_mmap_begin() retornou um valor excecionalmente elevado: %lu bytes ("
"snd_pcm_mmap_begin() retornou um valor excepcionalmente elevado: %lu bytes ("
"%lu ms).\n"
"Provavelmente isto é um erro no driver ALSA '%s'. Por favor, reporte este "
"problema aos programadores do ALSA."
@ -1111,7 +1109,7 @@ msgstr ""
#. add on profile
#: src/modules/macosx/module-coreaudio-device.c:825
msgid "On"
msgstr "Ativar"
msgstr "Ligado"
#: src/modules/module-allow-passthrough.c:71
#: src/modules/module-always-sink.c:80
@ -1246,7 +1244,7 @@ msgstr ""
#: src/modules/raop/module-raop-discover.c:295
msgid "Unknown device model"
msgstr "Código de erro desconhecido"
msgstr "Modelo de dispositivo desconhecido"
#: src/modules/raop/raop-sink.c:689
msgid "RAOP standard profile"
@ -1952,6 +1950,7 @@ msgid ""
"index INDEX.\n"
msgstr ""
"%s [opções]\n"
"%s\n"
"\n"
" -h, --help Mostra esta ajuda\n"
" --version Mostra a versão\n"
@ -2295,7 +2294,7 @@ msgid ""
"Compiled with libpulse %s\n"
"Linked with libpulse %s\n"
msgstr ""
"pacat %s\n"
"pacmd %s\n"
"Compilado com libpulse %s\n"
"Ligado com libpulse %s\n"
@ -2346,8 +2345,8 @@ msgstr "Falhou a obtenção de estatísticas: %s"
#, c-format
msgid "Currently in use: %u block containing %s bytes total.\n"
msgid_plural "Currently in use: %u blocks containing %s bytes total.\n"
msgstr[0] "Correntemente em uso: %u bloco contendo %s bytes no total.\n"
msgstr[1] "Correntemente em uso: %u blocos contendo %s bytes no total.\n"
msgstr[0] "Atualmente em uso: %u bloco contendo %s bytes no total.\n"
msgstr[1] "Atualmente em uso: %u blocos contendo %s bytes no total.\n"
#: src/utils/pactl.c:205
#, c-format
@ -2424,11 +2423,11 @@ msgstr "disponível"
#: src/utils/pactl.c:322
msgid "not available"
msgstr "indisponível"
msgstr "não disponível"
#: src/utils/pactl.c:331 src/utils/pactl.c:355
msgid "Unknown"
msgstr "Desconhecida"
msgstr "Desconhecido"
#: src/utils/pactl.c:332
msgid "Aux"
@ -2444,7 +2443,7 @@ msgstr "Microfone"
#: src/utils/pactl.c:338
msgid "Handset"
msgstr "Handset"
msgstr "Aparelho"
#: src/utils/pactl.c:339
msgid "Earpiece"
@ -2514,9 +2513,9 @@ msgstr ""
"\tMapa de canais: %s\n"
"\tMódulo proprietário: %u\n"
"\tMudo: %s\n"
"\tVolume: %s%s%s\n"
"\tVolume: %s\n"
"\t balanço %0.2f\n"
"\tVolume base: %s%s%s\n"
"\tVolume base: %s\n"
"\tMonitor de origem: %s\n"
"\tLatência: %0.0f usec, configurado %0.0f usec\n"
"\tParâmetros: %s%s%s%s%s%s%s\n"
@ -2531,7 +2530,7 @@ msgstr "\tPorto:\n"
#: src/utils/pactl.c:708 src/utils/pactl.c:892
#, c-format
msgid "\t\t%s: %s (type: %s, priority: %u%s%s, %s)\n"
msgstr "\t\t%s: %s (tipo: %s, prioridade: %u%%s, %s)\n"
msgstr "\t\t%s: %s (tipo: %s, prioridade: %u%s%s, %s)\n"
#: src/utils/pactl.c:710 src/utils/pactl.c:894 src/utils/pactl.c:1256
msgid ", availability group: "
@ -2583,9 +2582,9 @@ msgstr ""
"\tMapa de canais: %s\n"
"\tMódulo Dono: %u\n"
"\tMudo: %s\n"
"\tVolume: %s%s%s\n"
"\tVolume: %s\n"
"\t balanço %0.2f\n"
"\tVolume Base: %s%s%s\n"
"\tVolume Base: %s\n"
"\tMonitor do Depósito: %s\n"
"\tCadência: %0.0f usec, configurado %0.0f usec\n"
"\tBandeiras: %s%s%s%s%s%s\n"
@ -2815,7 +2814,6 @@ msgstr ""
"\tEspecificação da Amostra: %s\n"
"\tMapa de Canais: %s\n"
"\tVolume: %s\n"
"\t %s\n"
"\t balanço %0.2f\n"
"\tDuração: %0.1fs\n"
"\tTamanho: %s\n"
@ -2908,7 +2906,7 @@ msgstr "depósito"
#: src/utils/pactl.c:2164
msgid "source"
msgstr "origem"
msgstr "fonte"
#: src/utils/pactl.c:2167
msgid "sink-input"
@ -3036,6 +3034,8 @@ msgstr ""
" -h, --help Mostra esta ajuda\n"
" --version Mostra a versão\n"
"\n"
" -f, --format=FORMAT O formato da saída. Ou \"normal\" ou "
"\"json\"\n"
" -s, --server=SERVER Nome do servidor ao qual ligar\n"
" -n, --client-name=NAME Como chamar este cliente no "
"servidor\n"
@ -3054,7 +3054,7 @@ msgstr ""
#: src/utils/pactl.c:2751
#, c-format
msgid "Invalid format value '%s'"
msgstr "Nome de fluxo inválido '%s'"
msgstr "Valor de formato inválido '%s'"
#: src/utils/pactl.c:2778
#, c-format
@ -3162,7 +3162,7 @@ msgstr "Índice de depósito de entrada inválido"
#: src/utils/pactl.c:3060
msgid "You have to specify a source output index and a volume"
msgstr "Tem de especificar um índice de saída de origem e um volume"
msgstr "Tem de especificar um índice de saída de fonte e um volume"
#: src/utils/pactl.c:3065
msgid "Invalid source output index"
@ -3200,7 +3200,7 @@ msgstr "Tem de especificar um nome/índice de origem e um lógico mudo"
#: src/utils/pactl.c:3149
msgid "Invalid source output index specification"
msgstr "Especificação de índice de saída de origem inválida"
msgstr "Especificação de índice de saída de fonte inválida"
#: src/utils/pactl.c:3162
msgid "You have to specify at least an object path and a message name"
@ -3287,7 +3287,9 @@ msgid ""
"to\n"
"\n"
msgstr ""
"%s [opções] ... \n"
"%s [opções] -- PROGRAM [ARGUMENTS ...]\n"
"\n"
"Suspende temporariamente o PulseAudio enquanto o PROGRAM é executado.\n"
"\n"
" -h, --help Mostra esta ajuda\n"
" --version Mostra a versão\n"

View file

@ -11,7 +11,7 @@ msgstr ""
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/"
"issues/new\n"
"POT-Creation-Date: 2022-06-18 09:49+0300\n"
"PO-Revision-Date: 2021-08-04 08:04+0000\n"
"PO-Revision-Date: 2025-05-10 22:55+0000\n"
"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
"Language-Team: Portuguese (Brazil) <https://translate.fedoraproject.org/"
"projects/pulseaudio/pulseaudio/pt_BR/>\n"
@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.7.2\n"
"X-Generator: Weblate 5.11.3\n"
#: src/daemon/cmdline.c:113
#, c-format
@ -193,13 +193,12 @@ msgid "--fail expects boolean argument"
msgstr "--fail espera argumento booleano"
#: src/daemon/cmdline.c:265
#, fuzzy
msgid ""
"--log-level expects log level argument (either numeric in range 0..4 or one "
"of error, warn, notice, info, debug)."
msgstr ""
"--log-level espera um argumento em nível de log (seja numérico na faixa de "
"0..4 seja algum entre debug, info, notice, warn, error)."
"0..4 seja algum entre error, warn, notice, info, debug)."
#: src/daemon/cmdline.c:277
msgid "--high-priority expects boolean argument"
@ -1909,7 +1908,7 @@ msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() falhou: %s"
#: src/utils/pacat.c:676
#, fuzzy, c-format
#, c-format
msgid ""
"%s [options]\n"
"%s\n"
@ -1988,62 +1987,58 @@ msgstr ""
" -v, --verbose Habilita operações no modo "
"detalhado\n"
"\n"
" -s, --server=SERVIDOR O nome do servidor a conectar-se\n"
" -d, --device=DISPOSITIVO O nome do destino/fonte a conectar-"
"se\n"
" -s, --server=SERVIDOR O nome do servidor para se conectar\n"
" -d, --device=DISPOSITIVO O nome do destino/fonte para se "
"conectar\n"
" -n, --client-name=NOME Como chamar este cliente no "
"servidor\n"
" --stream-name=NOME Como chamar este fluxo no servidor\n"
" --volume=VOLUME Especifica a faixa (linear) inicial\n"
" de volume no intervalo 0...65536\n"
" --rate=TAXA_DE_AMOSTRAGEM Taxa de amostragem, Hz (padrão "
" --volume=VOLUME Especifica o volume (linear) inicial "
"no intervalo 0...65536\n"
" --rate=TAXA_DE_AMOSTRAGEM Taxa de amostragem em Hz (padrão: "
"44100)\n"
" --format=FORMATO_DE_AMOSTRAGEM Tipo de amostragem, veja\n"
" --format=FORMATO_DE_AMOSTRAGEM Formato da amostragem, veja\n"
" https://www.freedesktop.org/wiki/"
"Software/PulseAudio/Documentation/User/SupportedAudioFormats/\n"
" para valores possíveis (padrão: "
"s16ne)\n"
" --channels=CANAIS O número de canais, 1 para mono,\n"
" 2 para estéreo (padrão: 2)\n"
" --channel-map=MAPA_DE_CANAIS Mapeamento de canais a ser usado no\n"
" lugar do padrão\n"
" --fix-format Obtém o formato da amostragem do\n"
" destino/fonte onde o fluxo está\n"
" sendo conectado.\n"
" --fix-rate Obtém a taxa de amostragem do\n"
" destino/fonte onde o fluxo está\n"
" sendo conectado.\n"
" --fix-channels Obtém o número de canais e o mapa "
"de\n"
" canais do destino onde o fluxo está\n"
" sendo conectado.\n"
" --no-remix Não faz upmix nem downmix dos "
"canais.\n"
" --no-remap Mapeia os canais por índice em vez\n"
" de nome\n"
" --latency=BYTES Requisita a latência especificada "
"em\n"
" bytes.\n"
" --process-time=BYTES Requisita o tempo de processo\n"
" especificado por requisições em "
" --channels=CANAIS O número de canais, 1 para mono, 2 "
"para estéreo\n"
" (padrão: 2)\n"
" --channel-map=MAPA_DE_CANAIS Mapeamento de canais para usar em "
"vez do padrão\n"
" --fix-format Obtém o formato da amostragem do "
"destino/fonte onde\n"
" o fluxo está sendo conectado.\n"
" --fix-rate Obtém a taxa de amostragem do "
"destino/fonte onde\n"
" o fluxo está sendo conectado.\n"
" --fix-channels Obtém o número de canais e o mapa de "
"canais do destino\n"
" onde o fluxo está sendo conectado.\n"
" --no-remix Não faz upmix nem downmix dos canais."
"\n"
" --no-remap Mapeia os canais por índice em vez "
"de nome.\n"
" --latency=BYTES Requisita a latência especificada em "
"bytes.\n"
" --latency-msec=MSEGUNDOS Requisita a latência especificada "
"em\n"
" milissegundos.\n"
" --process-time-msec=MSEGUNDOS Requisita a o tempo do processo por\n"
" requisição em milissegundos.\n"
" --process-time=BYTES Requisita o tempo de processo por "
"requisições em bytes.\n"
" --latency-msec=MSEGUNDOS Requisita a latência especificada em "
"milissegundos.\n"
" --process-time-msec=MSEGUNDOS Requisita o tempo de processo por "
"requisições em milissegundos.\n"
" --property=PROPRIEDADE=VALOR Define a propriedade especificada "
"para\n"
" o valor especificado.\n"
"para o valor especificado.\n"
" --raw Grava/reproduz dados PCM não "
"tratados.\n"
" --passthrough Dados para conversão.\n"
" --file-format[=FORMATO_ARQUIVO] Grava/reproduz dados PCM "
"formatados.\n"
" --file-format[=FORMATO_ARQUIVO] Grava/reproduz dados PCM formatados."
"\n"
" --list-file-formats Lista formatos de arquivo "
"disponíveis.\n"
" --monitor-stream=ÍNDICE Grava da entrada do destino com "
"índice.\n"
"índice ÍNDICE.\n"
#: src/utils/pacat.c:793
msgid "Play back encoded audio files on a PulseAudio sound server."
@ -2876,11 +2871,12 @@ msgstr "mensagem list-handlers falhou: %s"
#: src/utils/pactl.c:1711 src/utils/pactl.c:1760
msgid "list-handlers message response could not be parsed correctly"
msgstr "a resposta da mensagem list-handlers não pôde ser tratada corretamente"
msgstr ""
"a resposta da mensagem de list-handlers não pôde ser tratada corretamente"
#: src/utils/pactl.c:1718
msgid "list-handlers message response is not a JSON array"
msgstr "a resposta da mensagem list-handlers não é um array JSON"
msgstr "a resposta da mensagem de list-handlers não é um array JSON"
#: src/utils/pactl.c:1729
#, c-format
@ -3052,7 +3048,7 @@ msgstr ""
"padrão.\n"
#: src/utils/pactl.c:2664
#, fuzzy, c-format
#, c-format
msgid ""
"\n"
" -h, --help Show this help\n"
@ -3069,7 +3065,9 @@ msgstr ""
" -h, --help Mostra esta ajuda\n"
" --version Mostra a versão\n"
"\n"
" -s, --server=SERVIDOR Nome do servidor a ser conectado\n"
" -f, --format=FORMATO O formato da saída. \"normal\" ou "
"\"json\"\n"
" -s, --server=SERVIDOR Nome do servidor para se conectar\n"
" -n, --client-name=NOME Como chamar este cliente no "
"servidor\n"
@ -3085,9 +3083,9 @@ msgstr ""
"Vinculado com libpulse %s\n"
#: src/utils/pactl.c:2751
#, fuzzy, c-format
#, c-format
msgid "Invalid format value '%s'"
msgstr "Nome do fluxo “%s” inválido"
msgstr "Valor de formato “%s” inválido"
#: src/utils/pactl.c:2778
#, c-format

3412
po/ro.po Normal file

File diff suppressed because it is too large Load diff

View file

@ -10,17 +10,17 @@ msgstr ""
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/"
"issues/new\n"
"POT-Creation-Date: 2022-06-18 09:49+0300\n"
"PO-Revision-Date: 2022-05-23 11:18+0000\n"
"Last-Translator: Sergey A. <sw@atrus.ru>\n"
"PO-Revision-Date: 2025-05-11 00:38+0000\n"
"Last-Translator: \"Sergey A.\" <Ser82-png@yandex.ru>\n"
"Language-Team: Russian <https://translate.fedoraproject.org/projects/"
"pulseaudio/pulseaudio/ru/>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.12.2\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 5.11.3\n"
#: src/daemon/cmdline.c:113
#, c-format
@ -397,7 +397,7 @@ msgstr ""
#: src/daemon/ltdl-bind-now.c:144
msgid "Failed to add bind-now-loader."
msgstr "Не удалось добавить новый загрузчик bind-now."
msgstr "Не удалось добавить bind-now-loader."
#: src/daemon/main.c:265
#, c-format
@ -1063,7 +1063,7 @@ msgstr "Хендс-фри"
#: src/modules/bluetooth/module-bluez5-device.c:1971
msgid "Headphone"
msgstr "Наушник"
msgstr "Наушники"
#: src/modules/bluetooth/module-bluez5-device.c:1977 src/utils/pactl.c:347
msgid "Portable"
@ -2498,7 +2498,7 @@ msgstr "Гарнитура"
#: src/utils/pactl.c:339
msgid "Earpiece"
msgstr "Наушник"
msgstr "Наушники-вкладыши"
#: src/utils/pactl.c:340
msgid "SPDIF"
@ -3260,7 +3260,7 @@ msgstr ""
#: src/utils/pactl.c:3131
msgid "Invalid sink input index specification"
msgstr "Недопустимый номер входа аудиоприёмника"
msgstr "Недопустимая спецификация номера входа аудиоприёмника"
#: src/utils/pactl.c:3144
msgid ""

3376
po/sl.po Normal file

File diff suppressed because it is too large Load diff

View file

@ -11,8 +11,8 @@ msgstr ""
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/"
"issues/new\n"
"POT-Creation-Date: 2022-06-18 09:49+0300\n"
"PO-Revision-Date: 2023-05-27 21:20+0000\n"
"Last-Translator: Sabri Ünal <libreajans@gmail.com>\n"
"PO-Revision-Date: 2024-08-01 04:41+0000\n"
"Last-Translator: Oğuz Ersen <oguz@ersen.moe>\n"
"Language-Team: Turkish <https://translate.fedoraproject.org/projects/"
"pulseaudio/pulseaudio/tr/>\n"
"Language: tr\n"
@ -20,7 +20,7 @@ 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.17\n"
"X-Generator: Weblate 5.6.2\n"
#: src/daemon/cmdline.c:113
#, c-format
@ -1706,7 +1706,7 @@ msgstr "Akış boşaltma başarısız oldu: %s"
#: src/utils/pacat.c:139
msgid "Playback stream drained."
msgstr "Playback akışı boşaltıldı."
msgstr "Oynatım akışı boşaltıldı."
#: src/utils/pacat.c:150
msgid "Draining connection to server."
@ -3332,12 +3332,11 @@ msgid ""
msgstr ""
"%s [-D ekran] [-S sunucu] [-O alıcı] [-I kaynak] [-c dosya] [-d|-e|-i|-r]\n"
"\n"
" -d X11 ekranına bağlı geçerli PulseAudio verilerini gösterir "
"(öntanımlı)\n"
" -e X11 ekranına bağlı yerel PulseAudio verilerini dışa aktarır\n"
" -d X11 ekranına bağlı geçerli PulseAudio verilerini göster (öntanımlı)\n"
" -e X11 ekranına bağlı yerel PulseAudio verilerini dışa aktar\n"
" -i X11 ekranından PulseAudio verilerini yerel çevresel değişkenlere ve "
"çerez dosyalarına aktarır.\n"
" -r X11 ekranından PulseAudio verilerini kaldırır\n"
"çerez dosyalarına aktar\n"
" -r X11 ekranından PulseAudio verilerini kaldır\n"
#: src/utils/pax11publish.c:91
#, c-format

View file

@ -13,8 +13,8 @@ msgstr ""
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/"
"issues/new\n"
"POT-Creation-Date: 2022-06-18 09:49+0300\n"
"PO-Revision-Date: 2021-12-04 09:16+0000\n"
"Last-Translator: Lv Genggeng <lvgenggeng@uniontech.com>\n"
"PO-Revision-Date: 2023-12-22 16:37+0000\n"
"Last-Translator: Charles Lee <lchopn@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/"
"projects/pulseaudio/pulseaudio/zh_CN/>\n"
"Language: zh_CN\n"
@ -22,7 +22,7 @@ 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.9.1\n"
"X-Generator: Weblate 5.3\n"
"X-Launchpad-Export-Date: 2016-03-22 13:23+0000\n"
#: src/daemon/cmdline.c:113
@ -1816,7 +1816,7 @@ msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() 失败:%s"
#: src/utils/pacat.c:676
#, fuzzy, c-format
#, c-format
msgid ""
"%s [options]\n"
"%s\n"
@ -1885,6 +1885,7 @@ msgid ""
msgstr ""
"%s [选项]\n"
"%s\n"
"\n"
" -h, --help 显示此帮助\n"
" --version 显示版本\n"
"\n"
@ -1897,21 +1898,21 @@ msgstr ""
" -d, --device=设备名 要连接的信宿/信源名称\n"
" -n, --client-name=名称 如何在服务器中调用此客户端\n"
" --stream-name=名称 如何在服务器中调用这个流\n"
" --volume=音量 指定初始线性音量取值在0...65536之"
"间\n"
" --volume=音量 指定初始线性音量取值在0..."
"65536之间\n"
" --rate=SAMPLERATE 采样频率(单位 Hz默认为44100\n"
" --format=SAMPLEFORMAT 采样类型s16le、s16be、u8、float32le "
"一\n"
" float32be、ulaw、alaw、s32le、s32be 中取"
"(默认为 s16ne\n"
" --format=SAMPLEFORMAT 采样类型s16le、s16be、u8、float32le "
"一\n"
" float32be、ulaw、alaw、s32le、s32be "
"中取(默认为 s16ne\n"
" --channels=CHANNELS 通道数1为单声道2为立体声默认为2\n"
" --channel-map=CHANNELMAP 取代默认值的通道映射表\n"
" --fix-format 从流连接的信宿中提取采样格式。\n"
" --fix-rate 从流连接的信宿中提取采样率。\n"
" --fix-channels 从流连接的信宿中提取通道数和通道映射"
"表。\n"
" --no-remix 不要对通道进行 upmix 或者 downmix 操"
"作。\n"
" --fix-channels 从流连接的信宿中提取通道数和通道映射表。"
"\n"
" --no-remix 不要对通道进行 upmix 或者 downmix 操作。"
"\n"
" --no-remap 根据下标而非名称来映射通道。\n"
" --latency=BYTES 请求指定字节数的延迟。\n"
" --process-time=BYTES 每次请求指定字节数的处理时间。\n"

View file

@ -10,15 +10,16 @@ msgstr ""
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/"
"issues/new\n"
"POT-Creation-Date: 2022-06-18 09:49+0300\n"
"PO-Revision-Date: 2020-01-11 13:49+0800\n"
"Last-Translator: pan93412 <pan93412@gmail.com>\n"
"Language-Team: Chinese <zh-l10n@lists.linux.org.tw>\n"
"PO-Revision-Date: 2025-04-09 01:53+0000\n"
"Last-Translator: hsu zangmen <chzang55@gmail.com>\n"
"Language-Team: Chinese (Traditional) <https://translate.fedoraproject.org/"
"projects/pulseaudio/pulseaudio/zh_TW/>\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 19.12.0\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.10.4\n"
#: src/daemon/cmdline.c:113
#, c-format
@ -2751,11 +2752,11 @@ msgstr ""
#: src/utils/pactl.c:1711 src/utils/pactl.c:1760
msgid "list-handlers message response could not be parsed correctly"
msgstr ""
msgstr "無法正確解析 list-handlers 訊息回應"
#: src/utils/pactl.c:1718
msgid "list-handlers message response is not a JSON array"
msgstr ""
msgstr "list-handlers 訊息回應內容不是 JSON 陣列"
#: src/utils/pactl.c:1729
#, c-format

View file

@ -503,7 +503,7 @@ _pulseaudio()
--start -k --kill --check --system= -D --daemonize= --fail= --high-priority=
--realtime= --disallow-module-loading= --disallow-exit= --exit-idle-time=
--scache-idle-time= --log-level= -v --log-target= --log-meta= --log-time=
--log-backtrace= -p --dl-search-path= --resample-method= --use-pit-file=
--log-backtrace= -p --dl-search-path= --resample-method= --use-pid-file=
--no-cpu-limit= --disable-shm= --enable-memfd= -L --load= -F --file= -C -n'
_init_completion -n = || return

View file

@ -624,6 +624,11 @@ static long ucm_device_status(pa_alsa_ucm_config *ucm, pa_alsa_ucm_device *dev)
char *devstatus;
long status = 0;
if (!ucm->active_verb) {
pa_log_error("Failed to get status for UCM device %s: no UCM verb set", dev_name);
return -1;
}
devstatus = pa_sprintf_malloc("_devstatus/%s", dev_name);
if (snd_use_case_geti(ucm->ucm_mgr, devstatus, &status) < 0) {
pa_log_debug("Failed to get status for UCM device %s", dev_name);
@ -637,6 +642,11 @@ static long ucm_device_status(pa_alsa_ucm_config *ucm, pa_alsa_ucm_device *dev)
static int ucm_device_disable(pa_alsa_ucm_config *ucm, pa_alsa_ucm_device *dev) {
const char *dev_name = pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_NAME);
if (!ucm->active_verb) {
pa_log_error("Failed to disable UCM device %s: no UCM verb set", dev_name);
return -1;
}
/* If any of dev's conflicting devices is enabled, trying to disable
* dev gives an error despite the fact that it's already disabled.
* Check that dev is enabled to avoid this error. */
@ -657,6 +667,11 @@ static int ucm_device_disable(pa_alsa_ucm_config *ucm, pa_alsa_ucm_device *dev)
static int ucm_device_enable(pa_alsa_ucm_config *ucm, pa_alsa_ucm_device *dev) {
const char *dev_name = pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_NAME);
if (!ucm->active_verb) {
pa_log_error("Failed to enable UCM device %s: no UCM verb set", dev_name);
return -1;
}
/* We don't need to enable devices that are already enabled */
if (ucm_device_status(ucm, dev) > 0) {
pa_log_debug("UCM device %s is already enabled", dev_name);
@ -707,6 +722,11 @@ static long ucm_modifier_status(pa_alsa_ucm_config *ucm, pa_alsa_ucm_modifier *m
char *modstatus;
long status = 0;
if (!ucm->active_verb) {
pa_log_error("Failed to get status for UCM modifier %s: no UCM verb set", mod_name);
return -1;
}
modstatus = pa_sprintf_malloc("_modstatus/%s", mod_name);
if (snd_use_case_geti(ucm->ucm_mgr, modstatus, &status) < 0) {
pa_log_debug("Failed to get status for UCM modifier %s", mod_name);
@ -720,6 +740,11 @@ static long ucm_modifier_status(pa_alsa_ucm_config *ucm, pa_alsa_ucm_modifier *m
static int ucm_modifier_disable(pa_alsa_ucm_config *ucm, pa_alsa_ucm_modifier *mod) {
const char *mod_name = pa_proplist_gets(mod->proplist, PA_ALSA_PROP_UCM_NAME);
if (!ucm->active_verb) {
pa_log_error("Failed to disable UCM modifier %s: no UCM verb set", mod_name);
return -1;
}
/* We don't need to disable modifiers that are already disabled */
if (ucm_modifier_status(ucm, mod) == 0) {
pa_log_debug("UCM modifier %s is already disabled", mod_name);
@ -738,6 +763,11 @@ static int ucm_modifier_disable(pa_alsa_ucm_config *ucm, pa_alsa_ucm_modifier *m
static int ucm_modifier_enable(pa_alsa_ucm_config *ucm, pa_alsa_ucm_modifier *mod) {
const char *mod_name = pa_proplist_gets(mod->proplist, PA_ALSA_PROP_UCM_NAME);
if (!ucm->active_verb) {
pa_log_error("Failed to disable UCM modifier %s: no UCM verb set", mod_name);
return -1;
}
/* We don't need to enable modifiers that are already enabled */
if (ucm_modifier_status(ucm, mod) > 0) {
pa_log_debug("UCM modifier %s is already enabled", mod_name);
@ -1551,6 +1581,7 @@ int pa_alsa_ucm_set_port(pa_alsa_ucm_mapping_context *context, pa_device_port *p
pa_alsa_ucm_config *ucm;
pa_alsa_ucm_device *dev;
pa_alsa_ucm_port_data *data;
const char *dev_name, *ucm_dev_name;
pa_assert(context && context->ucm);
@ -1558,8 +1589,17 @@ int pa_alsa_ucm_set_port(pa_alsa_ucm_mapping_context *context, pa_device_port *p
pa_assert(ucm->ucm_mgr);
data = PA_DEVICE_PORT_DATA(port);
dev = context->ucm_device;
pa_assert(dev == data->device);
dev = data->device;
pa_assert(dev);
if (context->ucm_device) {
dev_name = pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_NAME);
ucm_dev_name = pa_proplist_gets(context->ucm_device->proplist, PA_ALSA_PROP_UCM_NAME);
if (!pa_streq(dev_name, ucm_dev_name)) {
pa_log_error("Failed to set port %s with wrong UCM context: %s", dev_name, ucm_dev_name);
return -1;
}
}
return ucm_device_enable(ucm, dev);
}

View file

@ -889,106 +889,120 @@ static void rfcomm_io_callback(pa_mainloop_api *io, pa_io_event *e, int fd, pa_i
}
if (events & PA_IO_EVENT_INPUT) {
char buf[512];
char rbuf[512];
ssize_t len;
int gain, dummy;
bool do_reply = false;
int vendor, product, version, features;
char *buf = rbuf;
int num;
len = pa_read(fd, buf, 511, NULL);
len = pa_read(fd, rbuf, 511, NULL);
if (len < 0) {
pa_log_error("RFCOMM read error: %s", pa_cstrerror(errno));
goto fail;
}
buf[len] = 0;
pa_log_debug("RFCOMM << %s", buf);
rbuf[len] = 0;
pa_log_debug("RFCOMM << %s", rbuf);
/* There are only four HSP AT commands:
* AT+VGS=value: value between 0 and 15, sent by the HS to AG to set the speaker gain.
* +VGS=value is sent by AG to HS as a response to an AT+VGS command or when the gain
* is changed on the AG side.
* AT+VGM=value: value between 0 and 15, sent by the HS to AG to set the microphone gain.
* +VGM=value is sent by AG to HS as a response to an AT+VGM command or when the gain
* is changed on the AG side.
* AT+CKPD=200: Sent by HS when headset button is pressed.
* RING: Sent by AG to HS to notify of an incoming call. It can safely be ignored because
* it does not expect a reply. */
if (sscanf(buf, "AT+VGS=%d", &gain) == 1 || sscanf(buf, "\r\n+VGM%*[=:]%d\r\n", &gain) == 1) {
if (!t->set_sink_volume) {
pa_log_debug("HS/HF peer supports speaker gain control");
t->set_sink_volume = set_sink_volume;
}
t->sink_volume = hsp_gain_to_volume(gain);
pa_hook_fire(pa_bluetooth_discovery_hook(t->device->discovery, PA_BLUETOOTH_HOOK_TRANSPORT_SINK_VOLUME_CHANGED), t);
do_reply = true;
} else if (sscanf(buf, "AT+VGM=%d", &gain) == 1 || sscanf(buf, "\r\n+VGS%*[=:]%d\r\n", &gain) == 1) {
if (!t->set_source_volume) {
pa_log_debug("HS/HF peer supports microphone gain control");
t->set_source_volume = set_source_volume;
}
t->source_volume = hsp_gain_to_volume(gain);
pa_hook_fire(pa_bluetooth_discovery_hook(t->device->discovery, PA_BLUETOOTH_HOOK_TRANSPORT_SOURCE_VOLUME_CHANGED), t);
do_reply = true;
} else if (sscanf(buf, "AT+CKPD=%d", &dummy) == 1) {
do_reply = true;
} else if (sscanf(buf, "AT+XAPL=%04x-%04x-%04x,%d", &vendor, &product, &version, &features) == 4) {
if (features & 0x2)
/* claim, that we support battery status reports */
rfcomm_write_response(fd, "+XAPL=iPhone,6");
do_reply = true;
} else if (sscanf(buf, "AT+IPHONEACCEV=%d", &num) == 1) {
char *substr = buf, *keystr;
int key, val, i;
do_reply = true;
for (i = 0; i < num; ++i) {
keystr = strchr(substr, ',');
if (!keystr) {
pa_log_warn("%s misses key for argument #%d", buf, i);
do_reply = false;
break;
while (buf[0]) {
/* There are only four HSP AT commands:
* AT+VGS=value: value between 0 and 15, sent by the HS to AG to set the speaker gain.
* +VGS=value is sent by AG to HS as a response to an AT+VGS command or when the gain
* is changed on the AG side.
* AT+VGM=value: value between 0 and 15, sent by the HS to AG to set the microphone gain.
* +VGM=value is sent by AG to HS as a response to an AT+VGM command or when the gain
* is changed on the AG side.
* AT+CKPD=200: Sent by HS when headset button is pressed.
* RING: Sent by AG to HS to notify of an incoming call. It can safely be ignored because
* it does not expect a reply. */
if (sscanf(buf, "AT+VGS=%d", &gain) == 1 || sscanf(buf, "\r\n+VGM%*[=:]%d\r\n", &gain) == 1) {
if (!t->set_sink_volume) {
pa_log_debug("HS/HF peer supports speaker gain control");
t->set_sink_volume = set_sink_volume;
}
keystr++;
substr = strchr(keystr, ',');
if (!substr) {
pa_log_warn("%s misses value for argument #%d", buf, i);
do_reply = false;
break;
}
substr++;
key = atoi(keystr);
val = atoi(substr);
t->sink_volume = hsp_gain_to_volume(gain);
pa_hook_fire(pa_bluetooth_discovery_hook(t->device->discovery, PA_BLUETOOTH_HOOK_TRANSPORT_SINK_VOLUME_CHANGED), t);
do_reply = true;
switch (key) {
case 1:
pa_log_notice("Battery Level: %d0%%", val + 1);
pa_bluetooth_device_report_battery_level(t->device, (val + 1) * 10, "Apple accessory indication");
break;
case 2:
pa_log_notice("Dock Status: %s", val ? "docked" : "undocked");
break;
default:
pa_log_debug("Unexpected IPHONEACCEV key %#x", key);
break;
} else if (sscanf(buf, "AT+VGM=%d", &gain) == 1 || sscanf(buf, "\r\n+VGS%*[=:]%d\r\n", &gain) == 1) {
if (!t->set_source_volume) {
pa_log_debug("HS/HF peer supports microphone gain control");
t->set_source_volume = set_source_volume;
}
}
if (!do_reply)
t->source_volume = hsp_gain_to_volume(gain);
pa_hook_fire(pa_bluetooth_discovery_hook(t->device->discovery, PA_BLUETOOTH_HOOK_TRANSPORT_SOURCE_VOLUME_CHANGED), t);
do_reply = true;
} else if (sscanf(buf, "AT+CKPD=%d", &dummy) == 1) {
do_reply = true;
} else if (sscanf(buf, "AT+XAPL=%04x-%04x-%04x,%d", &vendor, &product, &version, &features) == 4) {
if (features & 0x2)
/* claim, that we support battery status reports */
rfcomm_write_response(fd, "+XAPL=iPhone,6");
do_reply = true;
} else if (sscanf(buf, "AT+IPHONEACCEV=%d", &num) == 1) {
char *substr = buf, *keystr;
int key, val, i;
do_reply = true;
for (i = 0; i < num; ++i) {
keystr = strchr(substr, ',');
if (!keystr) {
pa_log_warn("%s misses key for argument #%d", buf, i);
do_reply = false;
break;
}
keystr++;
substr = strchr(keystr, ',');
if (!substr) {
pa_log_warn("%s misses value for argument #%d", buf, i);
do_reply = false;
break;
}
substr++;
key = atoi(keystr);
val = atoi(substr);
switch (key) {
case 1:
pa_log_debug("Battery Level: %d0%%", val + 1);
pa_bluetooth_device_report_battery_level(t->device, (val + 1) * 10, "Apple accessory indication");
break;
case 2:
pa_log_debug("Dock Status: %s", val ? "docked" : "undocked");
break;
default:
pa_log_debug("Unexpected IPHONEACCEV key %#x", key);
break;
}
}
if (!do_reply)
rfcomm_write_response(fd, "ERROR");
} else if (t->config) { /* t->config is only non-null for hfp profile */
do_reply = hfp_rfcomm_handle(fd, t, buf);
} else {
rfcomm_write_response(fd, "ERROR");
} else if (t->config) { /* t->config is only non-null for hfp profile */
do_reply = hfp_rfcomm_handle(fd, t, buf);
} else {
rfcomm_write_response(fd, "ERROR");
do_reply = false;
}
do_reply = false;
}
if (do_reply)
rfcomm_write_response(fd, "OK");
if (do_reply)
rfcomm_write_response(fd, "OK");
if (buf[0] == '\r') /* in case it is the command with format \r\nCOMMAND\r\n, skip the starting \r */
buf = buf + 1;
buf = strstr(buf, "\r"); /* try to find the next AT command in the buf */
if (!buf)
break;
else if (buf[1] == '\n')
buf = buf + 2; /* skip \r\n */
else
buf = buf + 1; /* skip \r */
}
}
return;

View file

@ -242,6 +242,8 @@ bool pa_webrtc_ec_init(pa_core *c, pa_echo_canceller *ec,
config.high_pass_filter.enabled = false;
config.echo_canceller.enabled = true;
config.pipeline.multi_channel_capture = rec_ss->channels > 1;
config.pipeline.multi_channel_render = play_ss->channels > 1;
if (!mobile)
config.echo_canceller.mobile_mode = false;

View file

@ -311,6 +311,12 @@ else
no_undefined_args = []
endif
module_suffix = []
if host_machine.system() == 'darwin'
# meson defaults to dylib but ltdl expects so
module_suffix = 'so'
endif
foreach m : all_modules
name = m[0]
sources = m[1]
@ -331,5 +337,6 @@ foreach m : all_modules
link_args : [nodelete_link_args, no_undefined_args],
link_with : extra_libs,
name_prefix : '',
name_suffix : module_suffix,
implicit_include_directories : false)
endforeach

View file

@ -710,7 +710,7 @@ int pa__init(pa_module*m) {
pa_zero(hints);
service = pa_sprintf_malloc("%d", htons(SAP_PORT));
service = pa_sprintf_malloc("%d", SAP_PORT);
hints.ai_flags = AI_NUMERICHOST;
if (getaddrinfo(sap_address, service, &hints, &sap_addrinfo) != 0) {

View file

@ -1915,9 +1915,12 @@ static void stream_get_timing_info_callback(pa_pdispatch *pd, uint32_t command,
/* Go through the saved correction values and add up the
* total correction.*/
for (n = 0, j = o->stream->current_write_index_correction+1;
for (n = 0, j = o->stream->current_write_index_correction + 1;
n < PA_MAX_WRITE_INDEX_CORRECTIONS;
n++, j = (j + 1) % PA_MAX_WRITE_INDEX_CORRECTIONS) {
n++, j++) {
/* First fix up the index to be within the array */
j = j % PA_MAX_WRITE_INDEX_CORRECTIONS;
/* Step over invalid data or out-of-date data */
if (!o->stream->write_index_corrections[j].valid ||

View file

@ -167,7 +167,7 @@ char *pa_get_host_name(char *s, size_t l) {
char *pa_get_home_dir(char *s, size_t l) {
char *e;
char *dir;
char *dir = NULL;
#ifdef HAVE_PWD_H
struct passwd *r;
#endif

View file

@ -424,7 +424,7 @@ static int pa_cli_command_info(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, bool
static int pa_cli_command_load(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, bool *fail) {
const char *name;
pa_error_code_t err;
int err;
pa_module *m = NULL;
pa_core_assert_ref(c);
@ -438,7 +438,7 @@ static int pa_cli_command_load(pa_core *c, pa_tokenizer *t, pa_strbuf *buf, bool
}
if ((err = pa_module_load(&m, c, name, pa_tokenizer_get(t, 2))) < 0) {
if (err == PA_ERR_EXIST) {
if (err == -PA_ERR_EXIST) {
pa_strbuf_puts(buf, "Module already loaded; ignoring.\n");
} else {
pa_strbuf_puts(buf, "Module load failed.\n");

View file

@ -148,9 +148,10 @@ static const char* parse_string(const char *str, pa_json_object *obj) {
while (*str && *str != '"') {
if (*str != '\\') {
/* We only accept ASCII printable characters. */
if (*str < 0x20 || *str > 0x7E) {
pa_log("Invalid non-ASCII character: 0x%x", (unsigned int) *str);
/* JSON specifies that ASCII control characters 0x00 through 0x1F
* must not appear in the string. */
if (*str < 0x20) {
pa_log("Invalid ASCII character: 0x%x", (unsigned int) *str);
goto error;
}

View file

@ -353,6 +353,7 @@ int pa_memblockq_push(pa_memblockq* bq, const pa_memchunk *uchunk) {
/* Drop it from the new entry */
p->index = q->index + (int64_t) d;
p->chunk.index = d;
p->chunk.length -= d;
/* Add it to the list */

View file

@ -164,7 +164,11 @@ static int sharedmem_create(pa_shm *m, pa_mem_type_t type, size_t size, mode_t m
#endif
#ifdef HAVE_MEMFD
case PA_MEM_TYPE_SHARED_MEMFD:
/* For linux >= 6.3 create fd with MFD_NOEXEC_SEAL flag */
fd = memfd_create("pulseaudio", MFD_ALLOW_SEALING|MFD_CLOEXEC|MFD_NOEXEC_SEAL);
/* Retry creating fd without MFD_NOEXEC_SEAL to support linux < 6.3 */
if (fd < 0)
fd = memfd_create("pulseaudio", MFD_ALLOW_SEALING|MFD_CLOEXEC);
break;
#endif
default:

View file

@ -107,7 +107,6 @@ int main(int argc, char *argv[]) {
s = suite_create("Alsa-mixer-path");
tc = tcase_create("alsa-mixer-path");
tcase_add_test(tc, mixer_path_test);
tcase_set_timeout(tc, 30);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -223,7 +223,6 @@ int main(int argc, char *argv[]) {
s = suite_create("Connect Stress");
tc = tcase_create("connectstress");
tcase_add_test(tc, connect_stress_test);
tcase_set_timeout(tc, 20 * 60);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -212,7 +212,6 @@ int main(int argc, char *argv[]) {
#if defined (__arm__) && defined (__linux__) && defined (HAVE_NEON)
tcase_add_test(tc, mix_neon_test);
#endif
tcase_set_timeout(tc, 120);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -524,7 +524,6 @@ int main(int argc, char *argv[]) {
#if defined (__arm__) && defined (__linux__) && defined (HAVE_NEON)
tcase_add_test(tc, remap_neon_test);
#endif
tcase_set_timeout(tc, 120);
suite_add_tcase(s, tc);
tc = tcase_create("rearrange");
@ -532,7 +531,6 @@ int main(int argc, char *argv[]) {
#if defined (__arm__) && defined (__linux__) && defined (HAVE_NEON)
tcase_add_test(tc, rearrange_neon_test);
#endif
tcase_set_timeout(tc, 120);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -251,7 +251,6 @@ int main(int argc, char *argv[]) {
#if defined (__arm__) && defined (__linux__) && defined (HAVE_NEON)
tcase_add_test(tc, sconv_neon_test);
#endif
tcase_set_timeout(tc, 120);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -43,6 +43,7 @@ static void run_volume_test(
int channels,
bool correct,
bool perf) {
fail_unless(align % channels == 0);
PA_DECLARE_ALIGNED(8, int16_t, s[SAMPLES]) = { 0 };
PA_DECLARE_ALIGNED(8, int16_t, s_ref[SAMPLES]) = { 0 };
@ -56,8 +57,6 @@ static void run_volume_test(
samples_ref = s_ref + (8 - align);
samples_orig = s_orig + (8 - align);
nsamples = SAMPLES - (8 - align);
if (nsamples % channels)
nsamples -= nsamples % channels;
size = nsamples * sizeof(int16_t);
pa_random(samples, size);
@ -119,12 +118,12 @@ START_TEST (svolume_mmx_test) {
pa_log_debug("Checking MMX svolume");
for (i = 1; i <= 3; i++) {
for (j = 0; j < 7; j++)
run_volume_test(mmx_func, orig_func, j, i, true, false);
for (j = 0; j <= 7; j += i)
run_volume_test(mmx_func, orig_func, j, i, true, j == 0);
}
run_volume_test(mmx_func, orig_func, 7, 1, true, true);
run_volume_test(mmx_func, orig_func, 7, 2, true, true);
run_volume_test(mmx_func, orig_func, 7, 3, true, true);
run_volume_test(mmx_func, orig_func, 6, 2, true, true);
run_volume_test(mmx_func, orig_func, 6, 3, true, true);
}
END_TEST
@ -146,12 +145,12 @@ START_TEST (svolume_sse_test) {
pa_log_debug("Checking SSE2 svolume");
for (i = 1; i <= 3; i++) {
for (j = 0; j < 7; j++)
run_volume_test(sse_func, orig_func, j, i, true, false);
for (j = 0; j < 7; j += i)
run_volume_test(sse_func, orig_func, j, i, true, j == 0);
}
run_volume_test(sse_func, orig_func, 7, 1, true, true);
run_volume_test(sse_func, orig_func, 7, 2, true, true);
run_volume_test(sse_func, orig_func, 7, 3, true, true);
run_volume_test(sse_func, orig_func, 6, 2, true, true);
run_volume_test(sse_func, orig_func, 6, 3, true, true);
}
END_TEST
#endif /* defined (__i386__) || defined (__amd64__) */
@ -175,12 +174,12 @@ START_TEST (svolume_arm_test) {
pa_log_debug("Checking ARM svolume");
for (i = 1; i <= 3; i++) {
for (j = 0; j < 7; j++)
run_volume_test(arm_func, orig_func, j, i, true, false);
for (j = 0; j < 7; j += i)
run_volume_test(arm_func, orig_func, j, i, true, j == 0);
}
run_volume_test(arm_func, orig_func, 7, 1, true, true);
run_volume_test(arm_func, orig_func, 7, 2, true, true);
run_volume_test(arm_func, orig_func, 7, 3, true, true);
run_volume_test(arm_func, orig_func, 6, 2, true, true);
run_volume_test(arm_func, orig_func, 6, 3, true, true);
}
END_TEST
#endif /* defined (__arm__) && defined (__linux__) */
@ -207,11 +206,11 @@ START_TEST (svolume_orc_test) {
pa_log_debug("Checking Orc svolume");
for (i = 1; i <= 2; i++) {
for (j = 0; j < 7; j++)
run_volume_test(orc_func, orig_func, j, i, true, false);
for (j = 0; j < 7; j += i)
run_volume_test(orc_func, orig_func, j, i, true, j == 0);
}
run_volume_test(orc_func, orig_func, 7, 1, true, true);
run_volume_test(orc_func, orig_func, 7, 2, true, true);
run_volume_test(orc_func, orig_func, 6, 2, true, true);
}
END_TEST
@ -235,7 +234,6 @@ int main(int argc, char *argv[]) {
tcase_add_test(tc, svolume_arm_test);
#endif
tcase_add_test(tc, svolume_orc_test);
tcase_set_timeout(tc, 120);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -211,7 +211,6 @@ int main(int argc, char *argv[]) {
tc = tcase_create("extended");
tcase_add_test(tc, extended_test);
/* 4s of audio, 0.5s grace time */
tcase_set_timeout(tc, 4.5);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -282,7 +282,6 @@ int main(int argc, char *argv[]) {
s = suite_create("Interpol");
tc = tcase_create("interpol");
tcase_add_test(tc, interpol_test);
tcase_set_timeout(tc, 5 * 60);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -184,7 +184,6 @@ int main(int argc, char *argv[]) {
s = suite_create("lfe-filter");
tc = tcase_create("lfe-filter");
tcase_add_test(tc, lfe_filter_test);
tcase_set_timeout(tc, 10);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -175,7 +175,6 @@ int main(int argc, char *argv[]) {
s = suite_create("Loopback latency");
tc = tcase_create("loopback latency");
tcase_add_test(tc, loopback_test);
tcase_set_timeout(tc, 5 * 60);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -114,10 +114,6 @@ int main(int argc, char *argv[]) {
s = suite_create("Lock Auto Spawn");
tc = tcase_create("lockautospawn");
tcase_add_test(tc, lockautospawn_test);
/* the default timeout is too small,
* set it to a reasonable large one.
*/
tcase_set_timeout(tc, 60 * 60);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -632,6 +632,55 @@ START_TEST (memblockq_test_tlength_change) {
}
END_TEST
START_TEST (memblockq_test_push_to_middle) {
const char *expected_contents = "123456FE90______";
pa_sample_spec ss = {
.format = PA_SAMPLE_S16BE,
.rate = 48000,
.channels = 1
};
pa_memchunk silence;
pa_mempool *p;
pa_memblockq *bq;
pa_memchunk chunk1, chunk2;
pa_memchunk out;
pa_strbuf *buf;
char *str;
p = pa_mempool_new(PA_MEM_TYPE_PRIVATE, 0, true);
ck_assert_ptr_ne(p, NULL);
silence = memchunk_from_str(p, "__");
bq = pa_memblockq_new("test memblockq", 0, 200, 10, &ss, 4, 4, 40, &silence);
chunk1 = memchunk_from_str(p, "1234567890");
pa_memblockq_push(bq, &chunk1);
chunk2 = memchunk_from_str(p, "FE");
pa_memblockq_seek(bq, -4, 0, true);
pa_memblockq_push(bq, &chunk2);
pa_memblockq_peek_fixed_size(bq, 16, &out);
buf = pa_strbuf_new();
fprintf(stderr, "EXPECTED >%s<\n", expected_contents);
fprintf(stderr, "ACTUAL >");
dump_chunk(&out, buf);
fprintf(stderr, "<\n");
pa_memblock_unref(out.memblock);
str = pa_strbuf_to_string_free(buf);
fail_unless(pa_streq(str, expected_contents));
pa_xfree(str);
/* cleanup */
pa_memblockq_free(bq);
pa_memblock_unref(chunk1.memblock);
pa_memblock_unref(chunk2.memblock);
pa_memblock_unref(silence.memblock);
pa_mempool_unref(p);
}
END_TEST
int main(int argc, char *argv[]) {
int failed = 0;
@ -650,6 +699,7 @@ int main(int argc, char *argv[]) {
tcase_add_test(tc, memblockq_test_length_changes);
tcase_add_test(tc, memblockq_test_pop_missing);
tcase_add_test(tc, memblockq_test_tlength_change);
tcase_add_test(tc, memblockq_test_push_to_middle);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -208,6 +208,7 @@ endif
test_env = environment()
test_env.set('MAKE_CHECK', '1')
test_env.set('CK_DEFAULT_TIMEOUT', '0')
foreach t : default_tests + norun_tests
name = t[0]

View file

@ -102,7 +102,6 @@ int main(int argc, char *argv[]) {
s = suite_create("Mult-s16");
tc = tcase_create("mult-s16");
tcase_add_test(tc, mult_s16_test);
tcase_set_timeout(tc, 120);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -39,6 +39,8 @@
#include <pulsecore/atomic.h>
#include <pulse/xmalloc.h>
#define EXIT_FAILURE_SKIP 77
static pa_once once = PA_ONCE_INIT;
static volatile unsigned n_run = 0;
static const char * volatile ran_by = NULL;
@ -132,10 +134,6 @@ int main(int argc, char *argv[]) {
s = suite_create("Once");
tc = tcase_create("once");
tcase_add_test(tc, once_test);
/* the default timeout is too small,
* set it to a reasonable large one.
*/
tcase_set_timeout(tc, 60 * 60);
suite_add_tcase(s, tc);
sr = srunner_create(s);
@ -143,5 +141,5 @@ int main(int argc, char *argv[]) {
failed = srunner_ntests_failed(sr);
srunner_free(sr);
return (failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
return (failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE_SKIP;
}

View file

@ -335,7 +335,6 @@ int main(int argc, char *argv[]) {
tcase_add_test(tc, passthrough_playback_test);
sink_num++;
tcase_add_test(tc, passthrough_volume_test);
tcase_set_timeout(tc, 5);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -91,10 +91,6 @@ int main(int argc, char *argv[]) {
s = suite_create("RT Poll");
tc = tcase_create("rtpoll");
tcase_add_test(tc, rtpoll_test);
/* the default timeout is too small,
* set it to a reasonable large one.
*/
tcase_set_timeout(tc, 60 * 60);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -208,7 +208,6 @@ int main(int argc, char *argv[]) {
tc = tcase_create("syncplayback");
tcase_add_test(tc, sync_playback_test);
/* 4s of audio, 0.5s grace time */
tcase_set_timeout(tc, 4.5);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -102,10 +102,6 @@ int main(int argc, char *argv[]) {
s = suite_create("Thread MainLoop");
tc = tcase_create("threadmainloop");
tcase_add_test(tc, thread_mainloop_test);
/* the default timeout is too small,
* set it to a reasonable large one.
*/
tcase_set_timeout(tc, 60 * 60);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -153,7 +153,6 @@ int main(int argc, char *argv[]) {
s = suite_create("Thread");
tc = tcase_create("thread");
tcase_add_test(tc, thread_test);
tcase_set_timeout(tc, 60 * 60);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -161,7 +161,6 @@ int main(int argc, char *argv[]) {
s = suite_create("Volume");
tc = tcase_create("volume");
tcase_add_test(tc, volume_test);
tcase_set_timeout(tc, 120);
suite_add_tcase(s, tc);
sr = srunner_create(s);

View file

@ -1841,8 +1841,18 @@ static void get_sink_mute_callback(pa_context *c, const pa_sink_info *i, int is_
pa_assert(i);
printf(("Mute: %s\n"),
pa_yes_no_localised(i->mute));
if (format == JSON) {
pa_json_encoder *encoder = pa_json_encoder_new();
pa_json_encoder_begin_element_object(encoder);
pa_json_encoder_add_member_bool(encoder, "mute", i->mute);
pa_json_encoder_end_object(encoder);
char* json_str = pa_json_encoder_to_string_free(encoder);
printf("%s\n", json_str);
pa_xfree(json_str);
} else {
printf(("Mute: %s\n"),
pa_yes_no_localised(i->mute));
}
complete_action();
}
@ -1860,10 +1870,21 @@ static void get_sink_volume_callback(pa_context *c, const pa_sink_info *i, int i
pa_assert(i);
char cv[PA_CVOLUME_SNPRINT_VERBOSE_MAX];
printf(("Volume: %s\n"
" balance %0.2f\n"),
pa_cvolume_snprint_verbose(cv, sizeof(cv), &i->volume, &i->channel_map, true),
pa_cvolume_get_balance(&i->volume, &i->channel_map));
if (format == JSON) {
pa_json_encoder *encoder = pa_json_encoder_new();
pa_json_encoder_begin_element_object(encoder);
pa_json_encoder_add_member_raw_json(encoder, "volume", pa_cvolume_to_json_object(&i->volume, &i->channel_map, i->flags & PA_SINK_DECIBEL_VOLUME));
pa_json_encoder_add_member_double(encoder, "balance", pa_cvolume_get_balance(&i->volume, &i->channel_map), 2);
pa_json_encoder_end_object(encoder);
char* json_str = pa_json_encoder_to_string_free(encoder);
printf("%s\n", json_str);
pa_xfree(json_str);
} else {
printf(("Volume: %s\n"
" balance %0.2f\n"),
pa_cvolume_snprint_verbose(cv, sizeof(cv), &i->volume, &i->channel_map, true),
pa_cvolume_get_balance(&i->volume, &i->channel_map));
}
complete_action();
}
@ -1907,8 +1928,18 @@ static void get_source_mute_callback(pa_context *c, const pa_source_info *i, int
pa_assert(i);
printf(("Mute: %s\n"),
pa_yes_no_localised(i->mute));
if (format == JSON) {
pa_json_encoder *encoder = pa_json_encoder_new();
pa_json_encoder_begin_element_object(encoder);
pa_json_encoder_add_member_bool(encoder, "mute", i->mute);
pa_json_encoder_end_object(encoder);
char* json_str = pa_json_encoder_to_string_free(encoder);
printf("%s\n", json_str);
pa_xfree(json_str);
} else {
printf(("Mute: %s\n"),
pa_yes_no_localised(i->mute));
}
complete_action();
}
@ -1926,10 +1957,21 @@ static void get_source_volume_callback(pa_context *c, const pa_source_info *i, i
pa_assert(i);
char cv[PA_CVOLUME_SNPRINT_VERBOSE_MAX];
printf(("Volume: %s\n"
" balance %0.2f\n"),
pa_cvolume_snprint_verbose(cv, sizeof(cv), &i->volume, &i->channel_map, true),
pa_cvolume_get_balance(&i->volume, &i->channel_map));
if (format == JSON) {
pa_json_encoder *encoder = pa_json_encoder_new();
pa_json_encoder_begin_element_object(encoder);
pa_json_encoder_add_member_raw_json(encoder, "volume", pa_cvolume_to_json_object(&i->volume, &i->channel_map, i->flags & PA_SINK_DECIBEL_VOLUME));
pa_json_encoder_add_member_double(encoder, "balance", pa_cvolume_get_balance(&i->volume, &i->channel_map), 2);
pa_json_encoder_end_object(encoder);
char* json_str = pa_json_encoder_to_string_free(encoder);
printf("%s\n", json_str);
pa_xfree(json_str);
} else {
printf(("Volume: %s\n"
" balance %0.2f\n"),
pa_cvolume_snprint_verbose(cv, sizeof(cv), &i->volume, &i->channel_map, true),
pa_cvolume_get_balance(&i->volume, &i->channel_map));
}
complete_action();
}

8
subprojects/orc.wrap Normal file
View file

@ -0,0 +1,8 @@
[wrap-git]
directory=orc
url=https://gitlab.freedesktop.org/gstreamer/orc.git
push-url=git@gitlab.freedesktop.org:gstreamer/orc.git
revision=main
[provide]
orc-0.4 = orc_dep

View file

@ -0,0 +1,8 @@
[wrap-git]
directory = webrtc-audio-processing
url = https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing.git
push-url = git@gitlab.freedesktop.org:pulseaudio/webrtc-audio-processing.git
revision = v1.3
[provide]
dependency_names = webrtc-audio-coding-1, webrtc-audio-processing-1