aboutsummaryrefslogtreecommitdiff
path: root/gettext_test.go
diff options
context:
space:
mode:
authorSQP <meuarrr@gmail.com>2015-06-08 13:59:21 +0200
committerSQP <meuarrr@gmail.com>2015-06-08 13:59:21 +0200
commitc7205ad47e6bd7e7816ef5186f463c53ea4a046e (patch)
treeb291ecbcd587165c27a3fd16162019daf924348f /gettext_test.go
parentStyling typos. (diff)
downloadgotext-c7205ad47e6bd7e7816ef5186f463c53ea4a046e.tar.gz
gotext-c7205ad47e6bd7e7816ef5186f463c53ea4a046e.tar.xz
Fix translations with DGettext (and other D... func) when the domain name is empty.
According to the doc, NULL allow to use the current domain as fallback: http://www.gnu.org/software/libc/manual/html_node/Translation-with-gettext.html If the domainname parameter is the null pointer the dgettext function is exactly equivalent to gettext since the default value for the domain name is used.
Diffstat (limited to 'gettext_test.go')
-rw-r--r--gettext_test.go33
1 files changed, 33 insertions, 0 deletions
diff --git a/gettext_test.go b/gettext_test.go
index b651152..8e88180 100644
--- a/gettext_test.go
+++ b/gettext_test.go
@@ -128,3 +128,36 @@ func TestGermanDeutschland(t *testing.T) {
}
}
+
+func TestDGettextFallback(t *testing.T) {
+ os.Setenv("LANGUAGE", "de_DE.utf8")
+
+ SetLocale(LC_ALL, "")
+ BindTextdomain("example", "./examples/")
+ Textdomain("example")
+
+ t1 := DGettext("", "Hello, world!")
+
+ fmt.Println(t1)
+
+ if t1 != "Hallo, Welt!" {
+ t.Errorf("Failed translation fallback.")
+ }
+
+ t2 := Sprintf(DNGettext("", "An apple", "%d apples", 1), 1, "garbage")
+
+ fmt.Println(t2)
+
+ if t2 != "Ein Apfel" {
+ t.Errorf("Failed translation fallback.")
+ }
+
+ t3 := Sprintf(DNGettext("", "An apple", "%d apples", 3), 3)
+
+ fmt.Println(t3)
+
+ if t3 != "3 Äpfel" {
+ t.Errorf("Failed translation fallback.")
+ }
+
+}