diff options
author | Daniel Baumann <daniel@debian.org> | 2024-10-18 20:33:49 +0200 |
---|---|---|
committer | Daniel Baumann <daniel@debian.org> | 2024-12-12 23:57:56 +0100 |
commit | e68b9d00a6e05b3a941f63ffb696f91e554ac5ec (patch) | |
tree | 97775d6c13b0f416af55314eb6a89ef792474615 /modules/setting/i18n.go | |
parent | Initial commit. (diff) | |
download | forgejo-e68b9d00a6e05b3a941f63ffb696f91e554ac5ec.tar.xz forgejo-e68b9d00a6e05b3a941f63ffb696f91e554ac5ec.zip |
Adding upstream version 9.0.3.
Signed-off-by: Daniel Baumann <daniel@debian.org>
Diffstat (limited to 'modules/setting/i18n.go')
-rw-r--r-- | modules/setting/i18n.go | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/modules/setting/i18n.go b/modules/setting/i18n.go new file mode 100644 index 0000000..889e52b --- /dev/null +++ b/modules/setting/i18n.go @@ -0,0 +1,68 @@ +// Copyright 2021 The Gitea Authors. All rights reserved. +// SPDX-License-Identifier: MIT + +package setting + +// defaultI18nLangNames must be a slice, we need the order +var defaultI18nLangNames = []string{ + "en-US", "English", + "zh-CN", "简体中文", + "zh-HK", "繁體中文(香港)", + "zh-TW", "繁體中文(台灣)", + "de-DE", "Deutsch", + "fr-FR", "Français", + "nl-NL", "Nederlands", + "lv-LV", "Latviešu", + "ru-RU", "Русский", + "uk-UA", "Українська", + "ja-JP", "日本語", + "es-ES", "Español", + "pt-BR", "Português do Brasil", + "pt-PT", "Português de Portugal", + "pl-PL", "Polski", + "bg", "Български", + "it-IT", "Italiano", + "fi-FI", "Suomi", + "fil", "Filipino", + "eo", "Esperanto", + "tr-TR", "Türkçe", + "cs-CZ", "Čeština", + "sl", "Slovenščina", + "sv-SE", "Svenska", + "ko-KR", "한국어", + "el-GR", "Ελληνικά", + "fa-IR", "فارسی", + "hu-HU", "Magyar nyelv", + "id-ID", "Bahasa Indonesia", +} + +func defaultI18nLangs() (res []string) { + for i := 0; i < len(defaultI18nLangNames); i += 2 { + res = append(res, defaultI18nLangNames[i]) + } + return res +} + +func defaultI18nNames() (res []string) { + for i := 0; i < len(defaultI18nLangNames); i += 2 { + res = append(res, defaultI18nLangNames[i+1]) + } + return res +} + +var ( + // I18n settings + Langs []string + Names []string +) + +func loadI18nFrom(rootCfg ConfigProvider) { + Langs = rootCfg.Section("i18n").Key("LANGS").Strings(",") + if len(Langs) == 0 { + Langs = defaultI18nLangs() + } + Names = rootCfg.Section("i18n").Key("NAMES").Strings(",") + if len(Names) == 0 { + Names = defaultI18nNames() + } +} |