[agent/codex:gpt-5.4-mini] Read ~/spec/code/core/go/i18n/RFC.md fully. Find features de... #198
2 changed files with 117 additions and 0 deletions
|
|
@ -147,3 +147,88 @@ func (s *CoreService) SetMode(mode Mode) {
|
|||
func (s *CoreService) Mode() Mode {
|
||||
return s.svc.Mode()
|
||||
}
|
||||
|
||||
// T translates a message through the wrapped i18n service.
|
||||
func (s *CoreService) T(messageID string, args ...any) string {
|
||||
return s.svc.T(messageID, args...)
|
||||
}
|
||||
|
||||
// Translate translates a message through the wrapped i18n service.
|
||||
func (s *CoreService) Translate(messageID string, args ...any) core.Result {
|
||||
return s.svc.Translate(messageID, args...)
|
||||
}
|
||||
|
||||
// Raw translates without namespace handler magic.
|
||||
func (s *CoreService) Raw(messageID string, args ...any) string {
|
||||
return s.svc.Raw(messageID, args...)
|
||||
}
|
||||
|
||||
// SetLanguage changes the wrapped service language.
|
||||
func (s *CoreService) SetLanguage(lang string) error {
|
||||
return s.svc.SetLanguage(lang)
|
||||
}
|
||||
|
||||
// Language returns the wrapped service language.
|
||||
func (s *CoreService) Language() string {
|
||||
return s.svc.Language()
|
||||
}
|
||||
|
||||
// SetFallback changes the wrapped service fallback language.
|
||||
func (s *CoreService) SetFallback(lang string) {
|
||||
s.svc.SetFallback(lang)
|
||||
}
|
||||
|
||||
// Fallback returns the wrapped service fallback language.
|
||||
func (s *CoreService) Fallback() string {
|
||||
return s.svc.Fallback()
|
||||
}
|
||||
|
||||
// SetFormality changes the wrapped service default formality.
|
||||
func (s *CoreService) SetFormality(f Formality) {
|
||||
s.svc.SetFormality(f)
|
||||
}
|
||||
|
||||
// Formality returns the wrapped service default formality.
|
||||
func (s *CoreService) Formality() Formality {
|
||||
return s.svc.Formality()
|
||||
}
|
||||
|
||||
// SetLocation changes the wrapped service default location.
|
||||
func (s *CoreService) SetLocation(location string) {
|
||||
s.svc.SetLocation(location)
|
||||
}
|
||||
|
||||
// Location returns the wrapped service default location.
|
||||
func (s *CoreService) Location() string {
|
||||
return s.svc.Location()
|
||||
}
|
||||
|
||||
// SetDebug changes the wrapped service debug mode.
|
||||
func (s *CoreService) SetDebug(enabled bool) {
|
||||
s.svc.SetDebug(enabled)
|
||||
}
|
||||
|
||||
// Debug reports whether wrapped service debug mode is enabled.
|
||||
func (s *CoreService) Debug() bool {
|
||||
return s.svc.Debug()
|
||||
}
|
||||
|
||||
// AvailableLanguages returns the wrapped service languages.
|
||||
func (s *CoreService) AvailableLanguages() []string {
|
||||
return s.svc.AvailableLanguages()
|
||||
}
|
||||
|
||||
// Direction returns the wrapped service text direction.
|
||||
func (s *CoreService) Direction() TextDirection {
|
||||
return s.svc.Direction()
|
||||
}
|
||||
|
||||
// IsRTL reports whether the wrapped service language is right-to-left.
|
||||
func (s *CoreService) IsRTL() bool {
|
||||
return s.svc.IsRTL()
|
||||
}
|
||||
|
||||
// PluralCategory returns the plural category for the wrapped service language.
|
||||
func (s *CoreService) PluralCategory(n int) PluralCategory {
|
||||
return s.svc.PluralCategory(n)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -340,6 +340,38 @@ func TestNewCoreService_AppliesOptions(t *testing.T) {
|
|||
assert.True(t, svc.Debug())
|
||||
}
|
||||
|
||||
func TestCoreService_DelegatesToWrappedService(t *testing.T) {
|
||||
svc, err := New()
|
||||
require.NoError(t, err)
|
||||
|
||||
coreSvc := &CoreService{svc: svc}
|
||||
|
||||
assert.Equal(t, svc.T("i18n.label.status"), coreSvc.T("i18n.label.status"))
|
||||
assert.Equal(t, svc.Raw("i18n.label.status"), coreSvc.Raw("i18n.label.status"))
|
||||
assert.Equal(t, svc.Translate("i18n.label.status"), coreSvc.Translate("i18n.label.status"))
|
||||
assert.Equal(t, svc.AvailableLanguages(), coreSvc.AvailableLanguages())
|
||||
assert.Equal(t, svc.Direction(), coreSvc.Direction())
|
||||
assert.Equal(t, svc.IsRTL(), coreSvc.IsRTL())
|
||||
assert.Equal(t, svc.PluralCategory(2), coreSvc.PluralCategory(2))
|
||||
|
||||
require.NoError(t, coreSvc.SetLanguage("en"))
|
||||
assert.Equal(t, "en", coreSvc.Language())
|
||||
|
||||
coreSvc.SetFallback("fr")
|
||||
assert.Equal(t, "fr", coreSvc.Fallback())
|
||||
|
||||
coreSvc.SetFormality(FormalityFormal)
|
||||
assert.Equal(t, FormalityFormal, coreSvc.Formality())
|
||||
|
||||
coreSvc.SetLocation("workspace")
|
||||
assert.Equal(t, "workspace", coreSvc.Location())
|
||||
|
||||
coreSvc.SetDebug(true)
|
||||
assert.True(t, coreSvc.Debug())
|
||||
coreSvc.SetDebug(false)
|
||||
assert.False(t, coreSvc.Debug())
|
||||
}
|
||||
|
||||
func TestInit_ReDetectsRegisteredLocales(t *testing.T) {
|
||||
t.Setenv("LANG", "de_DE.UTF-8")
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue