<div dir="ltr"><div><div><div><div><div><div><div>Hi All,<br><br></div><div>tldr: a function in Pulseaudio returns the strings "yes" or "no". Last year, those strings were made localizable and some translators started translating them. However, apart from log messages, that function is used to construct parameters for module loading. Thus, those that translated the innocuous "yes"/"no" strings, do not get sound on their systems because the essential PA modules cannot get loaded.<br></div><div><br><br></div>A member of Ubuntu Greece noticed that audio did not work after recent updates in 15.04,<br><a href="http://forum.ubuntu-gr.org/viewtopic.php?p=326944#p326944">http://forum.ubuntu-gr.org/viewtopic.php?p=326944#p326944</a><br><a href="https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1445358">https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1445358</a><br><br></div>The relevant message in /var/log/syslog was:<br><br>Apr 20 14:03:45 user-laptop pulseaudio[1661]: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1b.0" card_name="alsa_card.pci-0000_00_1b.0" namereg_fail=false tsched=ναι fixed_latency_range=όχι ignore_dB=όχι deferred_volume=ναι use_ucm=ναι card_properties="module-udev-detect.discovered=1""): initialization failed.<br><br></div>What is says here is that "insmod" (or similar) was called with parameters like "tsched=ναι", and failed.<br><br></div>"git blame" says:<br>d806b197 src/pulsecore/core-util.h (poljar (Damir Jelić) 2013-06-27 19:28:09 +0200  92) static inline const char *pa_yes_no(bool b) {<br>cd13fb36 src/pulsecore/core-util.h (Tanu Kaskinen        2014-03-24 09:17:53 +0200  93)     return b ? _("yes") : _("no");<br><br></div>which means that about a year ago a change was made to make yes/no localisable.<br><br></div>Among the available quick fixes, one is to make pa_yes_no() non-localisable as before:<br><br>diff --git a/src/pulsecore/core-util.h b/src/pulsecore/core-util.h<br>index dcdc40e..e6be901 100644<br>--- a/src/pulsecore/core-util.h<br>+++ b/src/pulsecore/core-util.h<br>@@ -90,7 +90,7 @@ int pa_parse_boolean(const char *s) PA_GCC_PURE;<br> int pa_parse_volume(const char *s, pa_volume_t *volume);<br> <br> static inline const char *pa_yes_no(bool b) {<br>-    return b ? _("yes") : _("no");<br>+    return b ? "yes" : "no";<br> }<br> <br> static inline const char *pa_strnull(const char *x) {<br>              <br><br></div><div>Simos</div><div><br><br></div></div>