25 lines
460 B
Go
25 lines
460 B
Go
//go:build js
|
|
|
|
// SPDX-Licence-Identifier: EUPL-1.2
|
|
|
|
package html
|
|
|
|
func cloneTranslator(svc Translator, locale string) Translator {
|
|
if svc == nil {
|
|
return nil
|
|
}
|
|
|
|
if cloner, ok := svc.(translatorCloner); ok && cloner != nil {
|
|
if clone := cloner.Clone(); clone != nil {
|
|
applyLocaleToService(clone, locale)
|
|
return clone
|
|
}
|
|
}
|
|
|
|
if current, ok := svc.(*defaultTranslator); ok && current != nil {
|
|
clone := *current
|
|
return &clone
|
|
}
|
|
|
|
return svc
|
|
}
|