[agent/codex:gpt-5.4-mini] Read ~/spec/code/core/go/i18n/RFC.md fully. Find ONE feature... #73

Merged
Virgil merged 1 commit from agent/read---spec-code-core-go-i18n-rfc-md-ful into dev 2026-04-02 01:37:59 +00:00
2 changed files with 33 additions and 5 deletions

View file

@ -35,11 +35,9 @@ func RegisterLocales(fsys fs.FS, dir string) {
registeredLocalesMu.Lock()
defer registeredLocalesMu.Unlock()
registeredLocales = append(registeredLocales, localeRegistration{fsys: fsys, dir: dir})
if localesLoaded {
if svc := Default(); svc != nil {
if err := svc.LoadFS(fsys, dir); err != nil {
log.Printf("i18n: RegisterLocales failed to load %q: %v", dir, err)
}
if svc := defaultService.Load(); svc != nil {
if err := svc.LoadFS(fsys, dir); err != nil {
log.Printf("i18n: RegisterLocales failed to load %q: %v", dir, err)
}
}
}

View file

@ -74,6 +74,36 @@ func TestRegisterLocales_Good_AfterLocalesLoaded(t *testing.T) {
assert.Equal(t, "arrived late", got)
}
func TestRegisterLocales_Good_WithInitializedDefaultService(t *testing.T) {
svc, err := New()
require.NoError(t, err)
SetDefault(svc)
registeredLocalesMu.Lock()
savedLocales := registeredLocales
savedLoaded := localesLoaded
registeredLocales = nil
localesLoaded = false
registeredLocalesMu.Unlock()
defer func() {
registeredLocalesMu.Lock()
registeredLocales = savedLocales
localesLoaded = savedLoaded
registeredLocalesMu.Unlock()
}()
fs := fstest.MapFS{
"locales/en.json": &fstest.MapFile{
Data: []byte(`{"eager.registration": "loaded immediately"}`),
},
}
RegisterLocales(fs, "locales")
got := svc.T("eager.registration")
assert.Equal(t, "loaded immediately", got)
}
func TestInit_LoadsRegisteredLocales(t *testing.T) {
// Save and restore global service state.
registeredLocalesMu.Lock()