From be72ef33e2514f8a75cb50eab35fd316472d45e5 Mon Sep 17 00:00:00 2001 From: fnetx Date: Wed, 14 Dec 2022 19:23:56 +0100 Subject: [PATCH 1/4] [I18N] Rename upstream files (cherry picked from commit eea077bf7e3744e61d2316158065c906edc59cb1) --- options/locale/{locale_bg-BG.ini => gitea_bg-BG.ini} | 0 options/locale/{locale_cs-CZ.ini => gitea_cs-CZ.ini} | 0 options/locale/{locale_de-DE.ini => gitea_de-DE.ini} | 0 options/locale/{locale_el-GR.ini => gitea_el-GR.ini} | 0 options/locale/{locale_en-US.ini => gitea_en-US.ini} | 0 options/locale/{locale_es-ES.ini => gitea_es-ES.ini} | 0 options/locale/{locale_fa-IR.ini => gitea_fa-IR.ini} | 0 options/locale/{locale_fi-FI.ini => gitea_fi-FI.ini} | 0 options/locale/{locale_fr-FR.ini => gitea_fr-FR.ini} | 0 options/locale/{locale_hu-HU.ini => gitea_hu-HU.ini} | 0 options/locale/{locale_id-ID.ini => gitea_id-ID.ini} | 0 options/locale/{locale_is-IS.ini => gitea_is-IS.ini} | 0 options/locale/{locale_it-IT.ini => gitea_it-IT.ini} | 0 options/locale/{locale_ja-JP.ini => gitea_ja-JP.ini} | 0 options/locale/{locale_ko-KR.ini => gitea_ko-KR.ini} | 0 options/locale/{locale_lv-LV.ini => gitea_lv-LV.ini} | 0 options/locale/{locale_ml-IN.ini => gitea_ml-IN.ini} | 0 options/locale/{locale_nl-NL.ini => gitea_nl-NL.ini} | 0 options/locale/{locale_pl-PL.ini => gitea_pl-PL.ini} | 0 options/locale/{locale_pt-BR.ini => gitea_pt-BR.ini} | 0 options/locale/{locale_pt-PT.ini => gitea_pt-PT.ini} | 0 options/locale/{locale_ru-RU.ini => gitea_ru-RU.ini} | 0 options/locale/{locale_si-LK.ini => gitea_si-LK.ini} | 0 options/locale/{locale_sk-SK.ini => gitea_sk-SK.ini} | 0 options/locale/{locale_sv-SE.ini => gitea_sv-SE.ini} | 0 options/locale/{locale_tr-TR.ini => gitea_tr-TR.ini} | 0 options/locale/{locale_uk-UA.ini => gitea_uk-UA.ini} | 0 options/locale/{locale_zh-CN.ini => gitea_zh-CN.ini} | 0 options/locale/{locale_zh-HK.ini => gitea_zh-HK.ini} | 0 options/locale/{locale_zh-TW.ini => gitea_zh-TW.ini} | 0 30 files changed, 0 insertions(+), 0 deletions(-) rename options/locale/{locale_bg-BG.ini => gitea_bg-BG.ini} (100%) rename options/locale/{locale_cs-CZ.ini => gitea_cs-CZ.ini} (100%) rename options/locale/{locale_de-DE.ini => gitea_de-DE.ini} (100%) rename options/locale/{locale_el-GR.ini => gitea_el-GR.ini} (100%) rename options/locale/{locale_en-US.ini => gitea_en-US.ini} (100%) rename options/locale/{locale_es-ES.ini => gitea_es-ES.ini} (100%) rename options/locale/{locale_fa-IR.ini => gitea_fa-IR.ini} (100%) rename options/locale/{locale_fi-FI.ini => gitea_fi-FI.ini} (100%) rename options/locale/{locale_fr-FR.ini => gitea_fr-FR.ini} (100%) rename options/locale/{locale_hu-HU.ini => gitea_hu-HU.ini} (100%) rename options/locale/{locale_id-ID.ini => gitea_id-ID.ini} (100%) rename options/locale/{locale_is-IS.ini => gitea_is-IS.ini} (100%) rename options/locale/{locale_it-IT.ini => gitea_it-IT.ini} (100%) rename options/locale/{locale_ja-JP.ini => gitea_ja-JP.ini} (100%) rename options/locale/{locale_ko-KR.ini => gitea_ko-KR.ini} (100%) rename options/locale/{locale_lv-LV.ini => gitea_lv-LV.ini} (100%) rename options/locale/{locale_ml-IN.ini => gitea_ml-IN.ini} (100%) rename options/locale/{locale_nl-NL.ini => gitea_nl-NL.ini} (100%) rename options/locale/{locale_pl-PL.ini => gitea_pl-PL.ini} (100%) rename options/locale/{locale_pt-BR.ini => gitea_pt-BR.ini} (100%) rename options/locale/{locale_pt-PT.ini => gitea_pt-PT.ini} (100%) rename options/locale/{locale_ru-RU.ini => gitea_ru-RU.ini} (100%) rename options/locale/{locale_si-LK.ini => gitea_si-LK.ini} (100%) rename options/locale/{locale_sk-SK.ini => gitea_sk-SK.ini} (100%) rename options/locale/{locale_sv-SE.ini => gitea_sv-SE.ini} (100%) rename options/locale/{locale_tr-TR.ini => gitea_tr-TR.ini} (100%) rename options/locale/{locale_uk-UA.ini => gitea_uk-UA.ini} (100%) rename options/locale/{locale_zh-CN.ini => gitea_zh-CN.ini} (100%) rename options/locale/{locale_zh-HK.ini => gitea_zh-HK.ini} (100%) rename options/locale/{locale_zh-TW.ini => gitea_zh-TW.ini} (100%) diff --git a/options/locale/locale_bg-BG.ini b/options/locale/gitea_bg-BG.ini similarity index 100% rename from options/locale/locale_bg-BG.ini rename to options/locale/gitea_bg-BG.ini diff --git a/options/locale/locale_cs-CZ.ini b/options/locale/gitea_cs-CZ.ini similarity index 100% rename from options/locale/locale_cs-CZ.ini rename to options/locale/gitea_cs-CZ.ini diff --git a/options/locale/locale_de-DE.ini b/options/locale/gitea_de-DE.ini similarity index 100% rename from options/locale/locale_de-DE.ini rename to options/locale/gitea_de-DE.ini diff --git a/options/locale/locale_el-GR.ini b/options/locale/gitea_el-GR.ini similarity index 100% rename from options/locale/locale_el-GR.ini rename to options/locale/gitea_el-GR.ini diff --git a/options/locale/locale_en-US.ini b/options/locale/gitea_en-US.ini similarity index 100% rename from options/locale/locale_en-US.ini rename to options/locale/gitea_en-US.ini diff --git a/options/locale/locale_es-ES.ini b/options/locale/gitea_es-ES.ini similarity index 100% rename from options/locale/locale_es-ES.ini rename to options/locale/gitea_es-ES.ini diff --git a/options/locale/locale_fa-IR.ini b/options/locale/gitea_fa-IR.ini similarity index 100% rename from options/locale/locale_fa-IR.ini rename to options/locale/gitea_fa-IR.ini diff --git a/options/locale/locale_fi-FI.ini b/options/locale/gitea_fi-FI.ini similarity index 100% rename from options/locale/locale_fi-FI.ini rename to options/locale/gitea_fi-FI.ini diff --git a/options/locale/locale_fr-FR.ini b/options/locale/gitea_fr-FR.ini similarity index 100% rename from options/locale/locale_fr-FR.ini rename to options/locale/gitea_fr-FR.ini diff --git a/options/locale/locale_hu-HU.ini b/options/locale/gitea_hu-HU.ini similarity index 100% rename from options/locale/locale_hu-HU.ini rename to options/locale/gitea_hu-HU.ini diff --git a/options/locale/locale_id-ID.ini b/options/locale/gitea_id-ID.ini similarity index 100% rename from options/locale/locale_id-ID.ini rename to options/locale/gitea_id-ID.ini diff --git a/options/locale/locale_is-IS.ini b/options/locale/gitea_is-IS.ini similarity index 100% rename from options/locale/locale_is-IS.ini rename to options/locale/gitea_is-IS.ini diff --git a/options/locale/locale_it-IT.ini b/options/locale/gitea_it-IT.ini similarity index 100% rename from options/locale/locale_it-IT.ini rename to options/locale/gitea_it-IT.ini diff --git a/options/locale/locale_ja-JP.ini b/options/locale/gitea_ja-JP.ini similarity index 100% rename from options/locale/locale_ja-JP.ini rename to options/locale/gitea_ja-JP.ini diff --git a/options/locale/locale_ko-KR.ini b/options/locale/gitea_ko-KR.ini similarity index 100% rename from options/locale/locale_ko-KR.ini rename to options/locale/gitea_ko-KR.ini diff --git a/options/locale/locale_lv-LV.ini b/options/locale/gitea_lv-LV.ini similarity index 100% rename from options/locale/locale_lv-LV.ini rename to options/locale/gitea_lv-LV.ini diff --git a/options/locale/locale_ml-IN.ini b/options/locale/gitea_ml-IN.ini similarity index 100% rename from options/locale/locale_ml-IN.ini rename to options/locale/gitea_ml-IN.ini diff --git a/options/locale/locale_nl-NL.ini b/options/locale/gitea_nl-NL.ini similarity index 100% rename from options/locale/locale_nl-NL.ini rename to options/locale/gitea_nl-NL.ini diff --git a/options/locale/locale_pl-PL.ini b/options/locale/gitea_pl-PL.ini similarity index 100% rename from options/locale/locale_pl-PL.ini rename to options/locale/gitea_pl-PL.ini diff --git a/options/locale/locale_pt-BR.ini b/options/locale/gitea_pt-BR.ini similarity index 100% rename from options/locale/locale_pt-BR.ini rename to options/locale/gitea_pt-BR.ini diff --git a/options/locale/locale_pt-PT.ini b/options/locale/gitea_pt-PT.ini similarity index 100% rename from options/locale/locale_pt-PT.ini rename to options/locale/gitea_pt-PT.ini diff --git a/options/locale/locale_ru-RU.ini b/options/locale/gitea_ru-RU.ini similarity index 100% rename from options/locale/locale_ru-RU.ini rename to options/locale/gitea_ru-RU.ini diff --git a/options/locale/locale_si-LK.ini b/options/locale/gitea_si-LK.ini similarity index 100% rename from options/locale/locale_si-LK.ini rename to options/locale/gitea_si-LK.ini diff --git a/options/locale/locale_sk-SK.ini b/options/locale/gitea_sk-SK.ini similarity index 100% rename from options/locale/locale_sk-SK.ini rename to options/locale/gitea_sk-SK.ini diff --git a/options/locale/locale_sv-SE.ini b/options/locale/gitea_sv-SE.ini similarity index 100% rename from options/locale/locale_sv-SE.ini rename to options/locale/gitea_sv-SE.ini diff --git a/options/locale/locale_tr-TR.ini b/options/locale/gitea_tr-TR.ini similarity index 100% rename from options/locale/locale_tr-TR.ini rename to options/locale/gitea_tr-TR.ini diff --git a/options/locale/locale_uk-UA.ini b/options/locale/gitea_uk-UA.ini similarity index 100% rename from options/locale/locale_uk-UA.ini rename to options/locale/gitea_uk-UA.ini diff --git a/options/locale/locale_zh-CN.ini b/options/locale/gitea_zh-CN.ini similarity index 100% rename from options/locale/locale_zh-CN.ini rename to options/locale/gitea_zh-CN.ini diff --git a/options/locale/locale_zh-HK.ini b/options/locale/gitea_zh-HK.ini similarity index 100% rename from options/locale/locale_zh-HK.ini rename to options/locale/gitea_zh-HK.ini diff --git a/options/locale/locale_zh-TW.ini b/options/locale/gitea_zh-TW.ini similarity index 100% rename from options/locale/locale_zh-TW.ini rename to options/locale/gitea_zh-TW.ini From ce880f20b6072c2d67a153bc3c23e62bd1a6bd48 Mon Sep 17 00:00:00 2001 From: fnetx Date: Wed, 14 Dec 2022 19:55:13 +0100 Subject: [PATCH 2/4] [I18N] Add Locale merger script (cherry picked from commit 84469b3c5c5e57f6c8492c4592111b34edc13db7) --- build/merge-forgejo-locales.go | 92 ++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 build/merge-forgejo-locales.go diff --git a/build/merge-forgejo-locales.go b/build/merge-forgejo-locales.go new file mode 100644 index 0000000000..4368fa9571 --- /dev/null +++ b/build/merge-forgejo-locales.go @@ -0,0 +1,92 @@ +// Copyright 2022 The Forgejo Authors c/o Codeberg e.V.. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +//go:build ignore + +package main + +import ( + "bufio" + "os" + "regexp" + "strings" + + "gopkg.in/ini.v1" +) + +const ( + trimPrefix = "gitea_" + sourceFolder = "options/locales/" +) + +// returns list of locales, still containing the file extension! +func generate_locale_list() []string { + localeFiles, _ := os.ReadDir(sourceFolder) + locales := []string{} + for _, localeFile := range localeFiles { + if !localeFile.IsDir() && strings.HasPrefix(localeFile.Name(), trimPrefix) { + locales = append(locales, strings.TrimPrefix(localeFile.Name(), trimPrefix)) + } + } + return locales +} + +// replace all occurrences of Gitea with Forgejo +func renameGiteaForgejo(filename string) []byte { + file, err := os.Open(filename) + if err != nil { + panic(err) + } + + replacer := strings.NewReplacer( + "Gitea", "Forgejo", + "https://docs.gitea.io/en-us/install-from-binary/", "https://forgejo.org/download/#installation-from-binary", + "https://github.com/go-gitea/gitea/tree/master/docker", "https://forgejo.org/download/#container-image", + "https://docs.gitea.io/en-us/install-from-package/", "https://forgejo.org/download", + "https://code.gitea.io/gitea", "https://forgejo.org/download", + "code.gitea.io/gitea", "Forgejo", + `GitHub`, `Codeberg`, + "https://github.com/go-gitea/gitea", "https://codeberg.org/forgejo/forgejo", + "https://blog.gitea.io", "https://forgejo.org/news", + ) + + out := make([]byte, 0, 1024) + scanner := bufio.NewScanner(file) + scanner.Split(bufio.ScanLines) + for scanner.Scan() { + line := scanner.Text() + if strings.HasPrefix(line, "[") && strings.HasSuffix(line, "]") { + out = append(out, []byte("\n"+line+"\n")...) + } else if strings.HasPrefix(line, "settings.web_hook_name_gitea") { + out = append(out, []byte("\n"+line+"\n")...) + out = append(out, []byte("settings.web_hook_name_forgejo = Forgejo\n")...) + } else if strings.HasPrefix(line, "migrate.gitea.description") { + re := regexp.MustCompile(`(.*Gitea)`) + out = append(out, []byte(re.ReplaceAllString(line, "${1}/Forgejo")+"\n")...) + } else { + out = append(out, []byte(replacer.Replace(line)+"\n")...) + } + } + file.Close() + return out +} + +func main() { + locales := generate_locale_list() + var err error + var localeFile *ini.File + for _, locale := range locales { + giteaLocale := sourceFolder + "gitea_" + locale + localeFile, err = ini.LoadSources(ini.LoadOptions{ + IgnoreInlineComment: true, + }, giteaLocale, renameGiteaForgejo(giteaLocale)) + if err != nil { + panic(err) + } + err = localeFile.SaveTo("options/locale/locale_" + locale) + if err != nil { + panic(err) + } + } +} From 9be232ae3aa6da29c99d80fea38edf831e2f41f9 Mon Sep 17 00:00:00 2001 From: fnetx Date: Wed, 14 Dec 2022 19:56:57 +0100 Subject: [PATCH 3/4] [I18N] Makefile + gitignore (cherry picked from commit 75da77f3d765b5f3cb5e83e308f58ecf661db36b) --- .gitignore | 3 +++ Makefile | 14 ++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 6d9eceb30f..6ec3c3faed 100644 --- a/.gitignore +++ b/.gitignore @@ -115,3 +115,6 @@ prime/ # Manpage /man + +# Generated merged Forgejo+Gitea language files +/options/locale/locale_* diff --git a/Makefile b/Makefile index 8745cd8d16..5805e24cdd 100644 --- a/Makefile +++ b/Makefile @@ -748,10 +748,14 @@ generate: generate-backend generate-backend: $(TAGS_PREREQ) generate-go .PHONY: generate-go -generate-go: $(TAGS_PREREQ) +generate-go: $(TAGS_PREREQ) merge-locales @echo "Running go generate..." @CC= GOOS= GOARCH= $(GO) generate -tags '$(TAGS)' $(GO_PACKAGES) +.PHONY: merge-locales +merge-locales: + $(GO) run build/merge-forgejo-locales.go + .PHONY: security-check security-check: govulncheck -v ./... @@ -908,13 +912,7 @@ lockfile-check: .PHONY: update-translations update-translations: - mkdir -p ./translations - cd ./translations && curl -L https://crowdin.com/download/project/gitea.zip > gitea.zip && unzip gitea.zip - rm ./translations/gitea.zip - $(SED_INPLACE) -e 's/="/=/g' -e 's/"$$//g' ./translations/*.ini - $(SED_INPLACE) -e 's/\\"/"/g' ./translations/*.ini - mv ./translations/*.ini ./options/locale/ - rmdir ./translations + # noop to detect merge conflicts (potentially needs updating the scripts) and avoid breaking with Gitea .PHONY: generate-license generate-license: From 8e80efc7710addfef1a1953b74d6140d8aca9981 Mon Sep 17 00:00:00 2001 From: fnetx Date: Thu, 15 Dec 2022 15:56:35 +0100 Subject: [PATCH 4/4] [I18N] Move source locales to other folder (cherry picked from commit 90bb00ef5b9b60e2aa33dfe7f854a952bcba2fe4) --- options/{locale => locales}/gitea_bg-BG.ini | 0 options/{locale => locales}/gitea_cs-CZ.ini | 0 options/{locale => locales}/gitea_de-DE.ini | 0 options/{locale => locales}/gitea_el-GR.ini | 0 options/{locale => locales}/gitea_en-US.ini | 0 options/{locale => locales}/gitea_es-ES.ini | 0 options/{locale => locales}/gitea_fa-IR.ini | 0 options/{locale => locales}/gitea_fi-FI.ini | 0 options/{locale => locales}/gitea_fr-FR.ini | 0 options/{locale => locales}/gitea_hu-HU.ini | 0 options/{locale => locales}/gitea_id-ID.ini | 0 options/{locale => locales}/gitea_is-IS.ini | 0 options/{locale => locales}/gitea_it-IT.ini | 0 options/{locale => locales}/gitea_ja-JP.ini | 0 options/{locale => locales}/gitea_ko-KR.ini | 0 options/{locale => locales}/gitea_lv-LV.ini | 0 options/{locale => locales}/gitea_ml-IN.ini | 0 options/{locale => locales}/gitea_nl-NL.ini | 0 options/{locale => locales}/gitea_pl-PL.ini | 0 options/{locale => locales}/gitea_pt-BR.ini | 0 options/{locale => locales}/gitea_pt-PT.ini | 0 options/{locale => locales}/gitea_ru-RU.ini | 0 options/{locale => locales}/gitea_si-LK.ini | 0 options/{locale => locales}/gitea_sk-SK.ini | 0 options/{locale => locales}/gitea_sv-SE.ini | 0 options/{locale => locales}/gitea_tr-TR.ini | 0 options/{locale => locales}/gitea_uk-UA.ini | 0 options/{locale => locales}/gitea_zh-CN.ini | 0 options/{locale => locales}/gitea_zh-HK.ini | 0 options/{locale => locales}/gitea_zh-TW.ini | 0 30 files changed, 0 insertions(+), 0 deletions(-) rename options/{locale => locales}/gitea_bg-BG.ini (100%) rename options/{locale => locales}/gitea_cs-CZ.ini (100%) rename options/{locale => locales}/gitea_de-DE.ini (100%) rename options/{locale => locales}/gitea_el-GR.ini (100%) rename options/{locale => locales}/gitea_en-US.ini (100%) rename options/{locale => locales}/gitea_es-ES.ini (100%) rename options/{locale => locales}/gitea_fa-IR.ini (100%) rename options/{locale => locales}/gitea_fi-FI.ini (100%) rename options/{locale => locales}/gitea_fr-FR.ini (100%) rename options/{locale => locales}/gitea_hu-HU.ini (100%) rename options/{locale => locales}/gitea_id-ID.ini (100%) rename options/{locale => locales}/gitea_is-IS.ini (100%) rename options/{locale => locales}/gitea_it-IT.ini (100%) rename options/{locale => locales}/gitea_ja-JP.ini (100%) rename options/{locale => locales}/gitea_ko-KR.ini (100%) rename options/{locale => locales}/gitea_lv-LV.ini (100%) rename options/{locale => locales}/gitea_ml-IN.ini (100%) rename options/{locale => locales}/gitea_nl-NL.ini (100%) rename options/{locale => locales}/gitea_pl-PL.ini (100%) rename options/{locale => locales}/gitea_pt-BR.ini (100%) rename options/{locale => locales}/gitea_pt-PT.ini (100%) rename options/{locale => locales}/gitea_ru-RU.ini (100%) rename options/{locale => locales}/gitea_si-LK.ini (100%) rename options/{locale => locales}/gitea_sk-SK.ini (100%) rename options/{locale => locales}/gitea_sv-SE.ini (100%) rename options/{locale => locales}/gitea_tr-TR.ini (100%) rename options/{locale => locales}/gitea_uk-UA.ini (100%) rename options/{locale => locales}/gitea_zh-CN.ini (100%) rename options/{locale => locales}/gitea_zh-HK.ini (100%) rename options/{locale => locales}/gitea_zh-TW.ini (100%) diff --git a/options/locale/gitea_bg-BG.ini b/options/locales/gitea_bg-BG.ini similarity index 100% rename from options/locale/gitea_bg-BG.ini rename to options/locales/gitea_bg-BG.ini diff --git a/options/locale/gitea_cs-CZ.ini b/options/locales/gitea_cs-CZ.ini similarity index 100% rename from options/locale/gitea_cs-CZ.ini rename to options/locales/gitea_cs-CZ.ini diff --git a/options/locale/gitea_de-DE.ini b/options/locales/gitea_de-DE.ini similarity index 100% rename from options/locale/gitea_de-DE.ini rename to options/locales/gitea_de-DE.ini diff --git a/options/locale/gitea_el-GR.ini b/options/locales/gitea_el-GR.ini similarity index 100% rename from options/locale/gitea_el-GR.ini rename to options/locales/gitea_el-GR.ini diff --git a/options/locale/gitea_en-US.ini b/options/locales/gitea_en-US.ini similarity index 100% rename from options/locale/gitea_en-US.ini rename to options/locales/gitea_en-US.ini diff --git a/options/locale/gitea_es-ES.ini b/options/locales/gitea_es-ES.ini similarity index 100% rename from options/locale/gitea_es-ES.ini rename to options/locales/gitea_es-ES.ini diff --git a/options/locale/gitea_fa-IR.ini b/options/locales/gitea_fa-IR.ini similarity index 100% rename from options/locale/gitea_fa-IR.ini rename to options/locales/gitea_fa-IR.ini diff --git a/options/locale/gitea_fi-FI.ini b/options/locales/gitea_fi-FI.ini similarity index 100% rename from options/locale/gitea_fi-FI.ini rename to options/locales/gitea_fi-FI.ini diff --git a/options/locale/gitea_fr-FR.ini b/options/locales/gitea_fr-FR.ini similarity index 100% rename from options/locale/gitea_fr-FR.ini rename to options/locales/gitea_fr-FR.ini diff --git a/options/locale/gitea_hu-HU.ini b/options/locales/gitea_hu-HU.ini similarity index 100% rename from options/locale/gitea_hu-HU.ini rename to options/locales/gitea_hu-HU.ini diff --git a/options/locale/gitea_id-ID.ini b/options/locales/gitea_id-ID.ini similarity index 100% rename from options/locale/gitea_id-ID.ini rename to options/locales/gitea_id-ID.ini diff --git a/options/locale/gitea_is-IS.ini b/options/locales/gitea_is-IS.ini similarity index 100% rename from options/locale/gitea_is-IS.ini rename to options/locales/gitea_is-IS.ini diff --git a/options/locale/gitea_it-IT.ini b/options/locales/gitea_it-IT.ini similarity index 100% rename from options/locale/gitea_it-IT.ini rename to options/locales/gitea_it-IT.ini diff --git a/options/locale/gitea_ja-JP.ini b/options/locales/gitea_ja-JP.ini similarity index 100% rename from options/locale/gitea_ja-JP.ini rename to options/locales/gitea_ja-JP.ini diff --git a/options/locale/gitea_ko-KR.ini b/options/locales/gitea_ko-KR.ini similarity index 100% rename from options/locale/gitea_ko-KR.ini rename to options/locales/gitea_ko-KR.ini diff --git a/options/locale/gitea_lv-LV.ini b/options/locales/gitea_lv-LV.ini similarity index 100% rename from options/locale/gitea_lv-LV.ini rename to options/locales/gitea_lv-LV.ini diff --git a/options/locale/gitea_ml-IN.ini b/options/locales/gitea_ml-IN.ini similarity index 100% rename from options/locale/gitea_ml-IN.ini rename to options/locales/gitea_ml-IN.ini diff --git a/options/locale/gitea_nl-NL.ini b/options/locales/gitea_nl-NL.ini similarity index 100% rename from options/locale/gitea_nl-NL.ini rename to options/locales/gitea_nl-NL.ini diff --git a/options/locale/gitea_pl-PL.ini b/options/locales/gitea_pl-PL.ini similarity index 100% rename from options/locale/gitea_pl-PL.ini rename to options/locales/gitea_pl-PL.ini diff --git a/options/locale/gitea_pt-BR.ini b/options/locales/gitea_pt-BR.ini similarity index 100% rename from options/locale/gitea_pt-BR.ini rename to options/locales/gitea_pt-BR.ini diff --git a/options/locale/gitea_pt-PT.ini b/options/locales/gitea_pt-PT.ini similarity index 100% rename from options/locale/gitea_pt-PT.ini rename to options/locales/gitea_pt-PT.ini diff --git a/options/locale/gitea_ru-RU.ini b/options/locales/gitea_ru-RU.ini similarity index 100% rename from options/locale/gitea_ru-RU.ini rename to options/locales/gitea_ru-RU.ini diff --git a/options/locale/gitea_si-LK.ini b/options/locales/gitea_si-LK.ini similarity index 100% rename from options/locale/gitea_si-LK.ini rename to options/locales/gitea_si-LK.ini diff --git a/options/locale/gitea_sk-SK.ini b/options/locales/gitea_sk-SK.ini similarity index 100% rename from options/locale/gitea_sk-SK.ini rename to options/locales/gitea_sk-SK.ini diff --git a/options/locale/gitea_sv-SE.ini b/options/locales/gitea_sv-SE.ini similarity index 100% rename from options/locale/gitea_sv-SE.ini rename to options/locales/gitea_sv-SE.ini diff --git a/options/locale/gitea_tr-TR.ini b/options/locales/gitea_tr-TR.ini similarity index 100% rename from options/locale/gitea_tr-TR.ini rename to options/locales/gitea_tr-TR.ini diff --git a/options/locale/gitea_uk-UA.ini b/options/locales/gitea_uk-UA.ini similarity index 100% rename from options/locale/gitea_uk-UA.ini rename to options/locales/gitea_uk-UA.ini diff --git a/options/locale/gitea_zh-CN.ini b/options/locales/gitea_zh-CN.ini similarity index 100% rename from options/locale/gitea_zh-CN.ini rename to options/locales/gitea_zh-CN.ini diff --git a/options/locale/gitea_zh-HK.ini b/options/locales/gitea_zh-HK.ini similarity index 100% rename from options/locale/gitea_zh-HK.ini rename to options/locales/gitea_zh-HK.ini diff --git a/options/locale/gitea_zh-TW.ini b/options/locales/gitea_zh-TW.ini similarity index 100% rename from options/locale/gitea_zh-TW.ini rename to options/locales/gitea_zh-TW.ini