From 01a6ba437865f69fb68b044a0473b160afb630fa Mon Sep 17 00:00:00 2001 From: Virgil Date: Thu, 2 Apr 2026 10:44:39 +0000 Subject: [PATCH] feat(i18n): add current available languages alias Co-Authored-By: Virgil --- i18n.go | 10 ++++++++++ i18n_test.go | 15 +++++++++++++++ 2 files changed, 25 insertions(+) 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) { -- 2.45.3