blob: 6e1aad7db970c06e56b6a3ee72eb93643331561a [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;
Bert Frees708c67d2021-02-15 17:46:11 +010039 case "kmr":
40 ret = "Northern Kurdish";
41 break;
Bert Frees84f9dbf2017-11-12 22:38:01 +010042 case "mun":
43 ret = "Munda";
44 break;
45 case "no":
46 ret = "Norwegian";
47 break;
48 case "or":
49 ret = "Oriya";
50 break;
Bert Frees74f6e0d2021-04-26 10:31:56 +020051 case "sah":
52 ret = "Yakut"; // not "Sakha"
53 break;
Bert Frees84f9dbf2017-11-12 22:38:01 +010054 default:
55 var namer display.Namer
56 namer = display.English.Languages()
57 ret = namer.Name(language.MustParse(lang))
58 }
59 return C.CString(ret)
60}
61
62//export NativeLanguage
63func NativeLanguage(lang_c *C.char) *C.char {
64 var lang string
65 var ret string
66 var namer display.Namer
67 lang = C.GoString(lang_c)
68 namer = display.Self
69 ret = namer.Name(language.MustParse(lang))
70 return C.CString(ret)
71}
72
73// main function required for interfacing with C
74func main() {}