fix(region): cloudregion&zone add namei18n

This commit is contained in:
TangBin
2020-12-26 09:50:20 +08:00
parent ef30d23bbd
commit ea7ea1f08c
44 changed files with 737 additions and 7 deletions
+39
View File
@@ -0,0 +1,39 @@
package cloudprovider
import (
"yunion.io/x/onecloud/pkg/i18n"
)
type SModelI18nEntry struct {
Value string
valueI18n map[i18n.Tag]string
}
func NewSModelI18nEntry(value string) *SModelI18nEntry {
vn := make(map[i18n.Tag]string, 0)
return &SModelI18nEntry{Value: value, valueI18n: vn}
}
func (self *SModelI18nEntry) GetKeyValue() string {
return self.Value
}
func (self *SModelI18nEntry) Lookup(tag i18n.Tag) string {
if v, ok := self.valueI18n[tag]; ok {
return v
}
return self.Value
}
func (self *SModelI18nEntry) CN(v string) *SModelI18nEntry {
self.valueI18n[i18n.I18N_TAG_CHINESE] = v
return self
}
func (self *SModelI18nEntry) EN(v string) *SModelI18nEntry {
self.valueI18n[i18n.I18N_TAG_ENGLISH] = v
return self
}
type SModelI18nTable map[string]*SModelI18nEntry
+6
View File
@@ -55,8 +55,13 @@ type IBillingResource interface {
IsAutoRenew() bool
}
type ICloudI18nResource interface {
GetI18n() SModelI18nTable
}
type ICloudRegion interface {
ICloudResource
ICloudI18nResource
// GetLatitude() float32
// GetLongitude() float32
@@ -148,6 +153,7 @@ type ICloudRegion interface {
type ICloudZone interface {
ICloudResource
ICloudI18nResource
GetIRegion() ICloudRegion