blob: 4ca369d0fbf920463e998638ca7075f29098908b [file] [log] [blame]
Bert Frees84f9dbf2017-11-12 22:38:01 +01001package main
2
3import (
4 "C"
5 "golang.org/x/text/language"
6 "golang.org/x/text/language/display"
7)
8
9//export DisplayLanguage
10func DisplayLanguage(lang_c *C.char) *C.char {
11 var lang string
12 var ret string
13 lang = C.GoString(lang_c)
14 switch (lang) {
15 case "bh":
16 ret = "Bihari";
17 break;
18 case "bn":
19 ret = "Bengali";
20 break;
21 case "ckb":
22 ret = "Kurdish";
23 break;
24 case "dra":
25 ret = "Dravidian";
26 break;
27 case "en-GB":
28 ret = "U.K. English";
29 break;
30 case "en-US":
31 ret = "U.S. English";
32 break;
33 case "eo-xsistemo":
34 ret = "Esperanto x-system";;
35 break;
36 case "gez":
37 ret = "Ethiopic";
38 break;
39 case "mun":
40 ret = "Munda";
41 break;
42 case "no":
43 ret = "Norwegian";
44 break;
45 case "or":
46 ret = "Oriya";
47 break;
Bert Frees74f6e0d2021-04-26 10:31:56 +020048 case "sah":
49 ret = "Yakut"; // not "Sakha"
50 break;
Bert Frees84f9dbf2017-11-12 22:38:01 +010051 default:
52 var namer display.Namer
53 namer = display.English.Languages()
54 ret = namer.Name(language.MustParse(lang))
55 }
56 return C.CString(ret)
57}
58
59//export NativeLanguage
60func NativeLanguage(lang_c *C.char) *C.char {
61 var lang string
62 var ret string
63 var namer display.Namer
64 lang = C.GoString(lang_c)
65 namer = display.Self
66 ret = namer.Name(language.MustParse(lang))
67 return C.CString(ret)
68}
69
70// main function required for interfacing with C
71func main() {}