mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-10-29 17:58:36 +08:00
fix(region): cloudregion&zone add namei18n
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user