Browse Source

Ensure we always have an up to date list of language names

Jakob Borg 10 years ago
parent
commit
e952da7f91

+ 30 - 0
cmd/transifexdl/main.go

@@ -51,6 +51,8 @@ func main() {
 	}
 	resp.Body.Close()
 
+	names := make(map[string]string)
+
 	var langs []string
 	for code, stat := range stats {
 		code = strings.Replace(code, "_", "-", 1)
@@ -62,6 +64,7 @@ func main() {
 		}
 
 		langs = append(langs, code)
+		names[code] = languageName(code)
 		if code == "en" {
 			continue
 		}
@@ -85,6 +88,7 @@ func main() {
 	}
 
 	saveValidLangs(langs)
+	saveLanguageNames(names)
 }
 
 func saveValidLangs(langs []string) {
@@ -98,6 +102,16 @@ func saveValidLangs(langs []string) {
 	fd.Close()
 }
 
+func saveLanguageNames(names map[string]string) {
+	fd, err := os.Create("prettyprint.js")
+	if err != nil {
+		log.Fatal(err)
+	}
+	fmt.Fprint(fd, "var langPrettyprint = ")
+	json.NewEncoder(fd).Encode(names)
+	fd.Close()
+}
+
 func userPass() (string, string) {
 	user := os.Getenv("TRANSIFEX_USER")
 	pass := os.Getenv("TRANSIFEX_PASS")
@@ -142,3 +156,19 @@ func loadValidLangs() []string {
 
 	return langs
 }
+
+type languageResponse struct {
+	Code string
+	Name string
+}
+
+func languageName(code string) string {
+	var lang languageResponse
+	resp := req("https://www.transifex.com/api/2/language/" + code)
+	defer resp.Body.Close()
+	json.NewDecoder(resp.Body).Decode(&lang)
+	if lang.Name == "" {
+		return code
+	}
+	return lang.Name
+}

+ 1 - 0
gui/assets/lang/prettyprint.js

@@ -0,0 +1 @@
+var langPrettyprint = {"bg":"Bulgarian","ca":"Catalan","ca@valencia":"Catalan (Valencian)","cs":"Czech","de":"German","el":"Greek","en":"English","en-GB":"English (United Kingdom)","es":"Spanish","es-ES":"Spanish (Spain)","fi":"Finnish","fr":"French","hu":"Hungarian","it":"Italian","ko-KR":"Korean (Korea)","lt":"Lithuanian","nb":"Norwegian Bokmål","nl":"Dutch","nn":"Norwegian Nynorsk","pl":"Polish","pt-BR":"Portuguese (Brazil)","pt-PT":"Portuguese (Portugal)","ro-RO":"Romanian (Romania)","ru":"Russian","sv":"Swedish","tr":"Turkish","uk":"Ukrainian","zh-CN":"Chinese (China)","zh-TW":"Chinese (Taiwan)"}

+ 1 - 0
gui/index.html

@@ -1129,6 +1129,7 @@
   <script src="scripts/syncthing/core/services/localeService.js"></script>
 
   <script src="assets/lang/valid-langs.js"></script>
+  <script src="assets/lang/prettyprint.js"></script>
   <script src="scripts/syncthing/app.js"></script>
   <!-- / gui application code -->
 

File diff suppressed because it is too large
+ 0 - 1
gui/scripts/syncthing/core/services/localeService.js


File diff suppressed because it is too large
+ 2 - 2
internal/auto/gui.files.go


Some files were not shown because too many files changed in this diff