mirror of
https://github.com/jesseduffield/lazydocker.git
synced 2026-07-21 23:01:03 +00:00
Merge pull request #108 from jesseduffield/see-required-translations
add get_required_translations.go
This commit is contained in:
commit
a46074c581
7 changed files with 72 additions and 43 deletions
|
|
@ -1,17 +1,17 @@
|
|||
# Lazydocker menu
|
||||
# Lazydocker Menü
|
||||
|
||||
## Status
|
||||
## Projekt
|
||||
|
||||
<pre>
|
||||
<kbd>e</kbd>: bearbeite lazydocker Konfiguration
|
||||
<kbd>o</kbd>: öffne lazydocker Konfiguration
|
||||
<kbd>[</kbd>: vorheriges Tab
|
||||
<kbd>]</kbd>: nächstes tab
|
||||
<kbd>m</kbd>: zeige Protokoll
|
||||
<kbd>]</kbd>: nächstes Tab
|
||||
<kbd>m</kbd>: zeige Protokolle
|
||||
<kbd>enter</kbd>: fokusieren aufs Hauptpanel
|
||||
</pre>
|
||||
|
||||
## Containers
|
||||
## Container
|
||||
|
||||
<pre>
|
||||
<kbd>[</kbd>: vorheriges Tab
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
<kbd>enter</kbd>: fokusieren aufs Hauptpanel
|
||||
</pre>
|
||||
|
||||
## Services
|
||||
## Dienste
|
||||
|
||||
<pre>
|
||||
<kbd>d</kbd>: entferne Container
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
<kbd>enter</kbd>: fokusieren aufs Hauptpanel
|
||||
</pre>
|
||||
|
||||
## Volumes
|
||||
## Volumen
|
||||
|
||||
<pre>
|
||||
<kbd>[</kbd>: vorheriges Tab
|
||||
|
|
@ -61,7 +61,7 @@
|
|||
<kbd>enter</kbd>: fokusieren aufs Hauptpanel
|
||||
</pre>
|
||||
|
||||
## Main
|
||||
## Haupt
|
||||
|
||||
<pre>
|
||||
<kbd>esc</kbd>: zurück
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
# Lazydocker menu
|
||||
# Lazydocker menü
|
||||
|
||||
## Status
|
||||
## Proje
|
||||
|
||||
<pre>
|
||||
<kbd>e</kbd>: lazydocker ayarlarını düzenle
|
||||
<kbd>e</kbd>: lazzydocker ayarlarını düzenle
|
||||
<kbd>o</kbd>: lazydocker ayarlarını aç
|
||||
<kbd>[</kbd>: önceki sekme
|
||||
<kbd>]</kbd>: sonraki sekme
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
<kbd>enter</kbd>: ana panele odaklan
|
||||
</pre>
|
||||
|
||||
## Containers
|
||||
## Konteynerler
|
||||
|
||||
<pre>
|
||||
<kbd>[</kbd>: önceki sekme
|
||||
|
|
@ -19,50 +19,50 @@
|
|||
<kbd>d</kbd>: kaldır
|
||||
<kbd>s</kbd>: durdur
|
||||
<kbd>r</kbd>: yeniden başlat
|
||||
<kbd>a</kbd>: bağlan
|
||||
<kbd>a</kbd>: bağlan/iliştir
|
||||
<kbd>D</kbd>: çalışmayan konteynerleri temizle
|
||||
<kbd>m</kbd>: kayıt defterini görüntüle
|
||||
<kbd>c</kbd>: önceden tanımlanmış özel bir komut çalıştır
|
||||
<kbd>c</kbd>: önceden tanımlanmış özel komutu çalıştır
|
||||
<kbd>enter</kbd>: ana panele odaklan
|
||||
</pre>
|
||||
|
||||
## Services
|
||||
## Servisler
|
||||
|
||||
<pre>
|
||||
<kbd>d</kbd>: konteynerleri kaldır
|
||||
<kbd>s</kbd>: durdur
|
||||
<kbd>r</kbd>: yeniden başlat
|
||||
<kbd>a</kbd>: bağlan
|
||||
<kbd>a</kbd>: bağlan/iliştir
|
||||
<kbd>m</kbd>: kayıt defterini görüntüle
|
||||
<kbd>[</kbd>: önceki sekme
|
||||
<kbd>]</kbd>: sonraki sekme
|
||||
<kbd>R</kbd>: yeniden başlatma seçeneklerini görüntüle
|
||||
<kbd>c</kbd>: önceden tanımlanmış özel bir komut çalıştır
|
||||
<kbd>c</kbd>: önceden tanımlanmış özel komutu çalıştır
|
||||
<kbd>enter</kbd>: ana panele odaklan
|
||||
</pre>
|
||||
|
||||
## Images
|
||||
## Imajlar
|
||||
|
||||
<pre>
|
||||
<kbd>[</kbd>: önceki sekme
|
||||
<kbd>]</kbd>: sonraki sekme
|
||||
<kbd>d</kbd>: imajı kaldır
|
||||
<kbd>D</kbd>: kullanılmayan imajları kaldır
|
||||
<kbd>D</kbd>: kullanılmayan imajları temizle
|
||||
<kbd>enter</kbd>: ana panele odaklan
|
||||
</pre>
|
||||
|
||||
## Volumes
|
||||
## Alanlar
|
||||
|
||||
<pre>
|
||||
<kbd>[</kbd>: önceki sekme
|
||||
<kbd>]</kbd>: sonraki sekme
|
||||
<kbd>d</kbd>: alanı sil
|
||||
<kbd>D</kbd>: kullanılmayan alanları sil
|
||||
<kbd>d</kbd>: alanı kaldır
|
||||
<kbd>D</kbd>: kullanılmayan alanları temizle
|
||||
<kbd>enter</kbd>: ana panele odaklan
|
||||
</pre>
|
||||
|
||||
## Main
|
||||
## Ana
|
||||
|
||||
<pre>
|
||||
<kbd>esc</kbd>: geri
|
||||
<kbd>esc</kbd>: dönüş
|
||||
</pre>
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ func dutchSet() TranslationSet {
|
|||
PruneContainers: "vernietig bestaande containers",
|
||||
PruneVolumes: "vernietig ongebruikte volumes",
|
||||
PruneImages: "vernietig ongebruikte images",
|
||||
ViewRestartOptions: "beijk herstart opties",
|
||||
ViewRestartOptions: "bekijk herstart opties",
|
||||
RunCustomCommand: "draai een vooraf bedacht aangepaste opdracht",
|
||||
|
||||
AnonymousReportingTitle: "Help mee met lazydocker beter maken",
|
||||
|
|
|
|||
|
|
@ -2,8 +2,6 @@ package i18n
|
|||
|
||||
// TranslationSet is a set of localised strings for a given language
|
||||
type TranslationSet struct {
|
||||
AddFavourite string
|
||||
ErrorMessage string
|
||||
NotEnoughSpace string
|
||||
ProjectTitle string
|
||||
MainTitle string
|
||||
|
|
|
|||
|
|
@ -22,25 +22,26 @@ func NewTranslationSet(log *logrus.Entry) *TranslationSet {
|
|||
|
||||
log.Info("language: " + userLang)
|
||||
|
||||
set := englishSet()
|
||||
baseSet := englishSet()
|
||||
|
||||
if strings.HasPrefix(userLang, "pl") {
|
||||
_ = mergo.Merge(&set, polishSet(), mergo.WithOverride)
|
||||
for languageCode, translationSet := range GetTranslationSets() {
|
||||
if strings.HasPrefix(userLang, languageCode) {
|
||||
_ = mergo.Merge(&baseSet, translationSet, mergo.WithOverride)
|
||||
}
|
||||
}
|
||||
|
||||
if strings.HasPrefix(userLang, "nl") {
|
||||
_ = mergo.Merge(&set, dutchSet(), mergo.WithOverride)
|
||||
}
|
||||
return &baseSet
|
||||
}
|
||||
|
||||
if strings.HasPrefix(userLang, "de") {
|
||||
_ = mergo.Merge(&set, germanSet(), mergo.WithOverride)
|
||||
// GetTranslationSets gets all the translation sets, keyed by language code
|
||||
func GetTranslationSets() map[string]TranslationSet {
|
||||
return map[string]TranslationSet{
|
||||
"pl": polishSet(),
|
||||
"nl": dutchSet(),
|
||||
"de": germanSet(),
|
||||
"tr": turkishSet(),
|
||||
"en": englishSet(),
|
||||
}
|
||||
|
||||
if strings.HasPrefix(userLang, "tr") {
|
||||
_ = mergo.Merge(&set, turkishSet(), mergo.WithOverride)
|
||||
}
|
||||
|
||||
return &set
|
||||
}
|
||||
|
||||
// detectLanguage extracts user language from environment
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ import (
|
|||
"github.com/jesseduffield/lazydocker/pkg/app"
|
||||
"github.com/jesseduffield/lazydocker/pkg/config"
|
||||
"github.com/jesseduffield/lazydocker/pkg/gui"
|
||||
"github.com/jesseduffield/lazydocker/pkg/i18n"
|
||||
)
|
||||
|
||||
type bindingSection struct {
|
||||
|
|
@ -25,13 +26,12 @@ type bindingSection struct {
|
|||
}
|
||||
|
||||
func main() {
|
||||
langs := []string{"pl", "nl", "en"}
|
||||
mConfig, err := config.NewAppConfig("lazydocker", "", "", "", "", true, nil, "")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
for _, lang := range langs {
|
||||
for lang := range i18n.GetTranslationSets() {
|
||||
os.Setenv("LC_ALL", lang)
|
||||
mApp, _ := app.NewApp(mConfig)
|
||||
file, err := os.Create(getProjectRoot() + "/docs/keybindings/Keybindings_" + lang + ".md")
|
||||
|
|
|
|||
30
scripts/translations/get_required_translations.go
Normal file
30
scripts/translations/get_required_translations.go
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
|
||||
"github.com/jesseduffield/lazydocker/pkg/i18n"
|
||||
)
|
||||
|
||||
func main() {
|
||||
fmt.Println(getOutstandingTranslations())
|
||||
}
|
||||
|
||||
// adapted from https://github.com/a8m/reflect-examples#read-struct-tags
|
||||
func getOutstandingTranslations() string {
|
||||
output := ""
|
||||
for languageCode, translationSet := range i18n.GetTranslationSets() {
|
||||
output += languageCode + ":\n"
|
||||
v := reflect.ValueOf(translationSet)
|
||||
|
||||
for i := 0; i < v.NumField(); i++ {
|
||||
value := v.Field(i).String()
|
||||
if value == "" {
|
||||
output += v.Type().Field(i).Name + "\n"
|
||||
}
|
||||
}
|
||||
output += "\n"
|
||||
}
|
||||
return output
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue