diff --git a/i18n.go b/i18n.go index 1ed37f0..feadb6a 100644 --- a/i18n.go +++ b/i18n.go @@ -85,6 +85,16 @@ func AvailableLanguages() []string { }) } +// CurrentAvailableLanguages returns the loaded language tags on the default +// service. +// +// Example: +// +// langs := i18n.CurrentAvailableLanguages() +func CurrentAvailableLanguages() []string { + return AvailableLanguages() +} + // SetMode sets the translation mode for the default service. // // Example: diff --git a/i18n_test.go b/i18n_test.go index c2e7e04..b93de54 100644 --- a/i18n_test.go +++ b/i18n_test.go @@ -187,6 +187,21 @@ func TestAvailableLanguages_Good(t *testing.T) { assert.NotEqual(t, "zz", svc.AvailableLanguages()[0]) } +func TestCurrentAvailableLanguages_Good(t *testing.T) { + prev := Default() + t.Cleanup(func() { + SetDefault(prev) + }) + + svc, err := New() + require.NoError(t, err) + SetDefault(svc) + + langs := CurrentAvailableLanguages() + require.NotEmpty(t, langs) + assert.Equal(t, svc.AvailableLanguages(), langs) +} + // --- SetMode / CurrentMode --- func TestSetMode_Good(t *testing.T) {