@@ -73,46 +73,47 @@ func Bundle() *i18n.Bundle {
7373 return bundle
7474}
7575
76- func GetLocalizer (locale discordgo.Locale ) ( * Localizer , bool ) {
76+ func GetLocalizer (locale discordgo.Locale ) * Localizer {
7777 if l , ok := locales [locale ]; ok {
78- return l , true
78+ return l
7979 }
8080
8181 // Use default locale.
82- return locales [supportedLocales [0 ]], false
82+ return locales [supportedLocales [0 ]]
8383}
8484
8585func Localize (locale discordgo.Locale , id string ) string {
86- l , _ := GetLocalizer (locale )
87- return l .Localize (id )
86+ return GetLocalizer (locale ).Localize (id )
8887}
8988
9089func LocalizeWithData (locale discordgo.Locale , id string , data Data ) string {
91- l , _ := GetLocalizer (locale )
92- return l .LocalizeWithData (id , data )
90+ return GetLocalizer (locale ).LocalizeWithData (id , data )
9391}
9492
9593func LocalizePlural (locale discordgo.Locale , id string , count any ) string {
96- l , _ := GetLocalizer (locale )
97- return l .LocalizePlural (id , count )
94+ return GetLocalizer (locale ).LocalizePlural (id , count )
9895}
9996
10097func LocalizePluralWithData (locale discordgo.Locale , id string , count any , data Data ) string {
101- l , _ := GetLocalizer (locale )
102- return l .LocalizePluralWithData (id , count , data )
98+ return GetLocalizer (locale ).LocalizePluralWithData (id , count , data )
10399}
104100
105101type Localizer struct {
106102 * i18n.Localizer
103+ prefix string
107104}
108105
109106func newLocalizer (locale discordgo.Locale ) * Localizer {
110107 return & Localizer {Localizer : i18n .NewLocalizer (bundle , string (locale ))}
111108}
112109
110+ func (l * Localizer ) Section (name string ) * Localizer {
111+ return & Localizer {Localizer : l .Localizer , prefix : name + "." }
112+ }
113+
113114func (l * Localizer ) Localize (id string ) string {
114115 s , err := l .Localizer .Localize (& i18n.LocalizeConfig {
115- MessageID : id ,
116+ MessageID : l . prefix + id ,
116117 })
117118 if s == "" && err != nil {
118119 return id
@@ -122,7 +123,7 @@ func (l *Localizer) Localize(id string) string {
122123
123124func (l * Localizer ) LocalizeWithData (id string , data Data ) string {
124125 s , err := l .Localizer .Localize (& i18n.LocalizeConfig {
125- MessageID : id ,
126+ MessageID : l . prefix + id ,
126127 TemplateData : data ,
127128 })
128129 if s == "" && err != nil {
@@ -133,7 +134,7 @@ func (l *Localizer) LocalizeWithData(id string, data Data) string {
133134
134135func (l * Localizer ) LocalizePlural (id string , count any ) string {
135136 s , err := l .Localizer .Localize (& i18n.LocalizeConfig {
136- MessageID : id ,
137+ MessageID : l . prefix + id ,
137138 PluralCount : count ,
138139 })
139140 if s == "" && err != nil {
@@ -144,7 +145,7 @@ func (l *Localizer) LocalizePlural(id string, count any) string {
144145
145146func (l * Localizer ) LocalizePluralWithData (id string , count any , data Data ) string {
146147 s , err := l .Localizer .Localize (& i18n.LocalizeConfig {
147- MessageID : id ,
148+ MessageID : l . prefix + id ,
148149 TemplateData : data ,
149150 PluralCount : count ,
150151 })
0 commit comments