MCPcopy Create free account
hub / github.com/MMadmer/EpicAssetsNotifyBot / buildLocaleMetadata

Method buildLocaleMetadata

internal/i18n/localizer.go:162–199  ·  view source on GitHub ↗
(discovered []string)

Source from the content-addressed store, hash-verified

160}
161
162func (l *Localizer) buildLocaleMetadata(discovered []string) {
163 unique := make(map[string]struct{}, len(discovered)+1)
164 for _, code := range discovered {
165 if strings.TrimSpace(code) == "" {
166 continue
167 }
168 unique[code] = struct{}{}
169 }
170 if strings.TrimSpace(l.defaultLocale) != "" {
171 unique[l.defaultLocale] = struct{}{}
172 }
173
174 l.localeCodes = make([]string, 0, len(unique))
175 for code := range unique {
176 l.localeCodes = append(l.localeCodes, code)
177 if _, ok := l.localeNames[code]; !ok {
178 l.localeNames[code] = code
179 }
180 }
181 sort.Strings(l.localeCodes)
182
183 for _, code := range l.localeCodes {
184 name := l.catalogLocaleName(code)
185 normalizedCode := strings.ToLower(code)
186 l.localeAliases[normalizedCode] = code
187 l.localeAliases[strings.ReplaceAll(normalizedCode, "-", "")] = code
188
189 short := strings.ToLower(strings.SplitN(code, "-", 2)[0])
190 if _, ok := l.localeAliases[short]; !ok {
191 l.localeAliases[short] = code
192 }
193
194 normalizedName := strings.ToLower(strings.TrimSpace(name))
195 if normalizedName != "" {
196 l.localeAliases[normalizedName] = code
197 }
198 }
199}
200
201func (l *Localizer) catalogFor(locale string) map[string]any {
202 if catalog, ok := l.catalogs[locale]; ok {

Callers 1

NewFunction · 0.95

Calls 1

catalogLocaleNameMethod · 0.95

Tested by

no test coverage detected