mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-08-30 17:13:08 +08:00
fix(region): remove i18n fix & zone ®ion name support i18n
This commit is contained in:
+13
-13
@@ -4,7 +4,6 @@ import (
|
||||
"context"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"golang.org/x/text/language"
|
||||
|
||||
"yunion.io/x/log"
|
||||
"yunion.io/x/pkg/util/compare"
|
||||
@@ -127,17 +126,6 @@ func init() {
|
||||
I18nManager.SetVirtualObject(I18nManager)
|
||||
}
|
||||
|
||||
var tableLangSupported = []language.Tag{
|
||||
language.English,
|
||||
language.Chinese,
|
||||
}
|
||||
var tableLangMatcher = language.NewMatcher(tableLangSupported)
|
||||
|
||||
func tableLangMatch(tag language.Tag) language.Tag {
|
||||
_, i, _ := tableLangMatcher.Match(tag)
|
||||
return tableLangSupported[i]
|
||||
}
|
||||
|
||||
func (manager *SModelBaseManager) GetModelI18N(ctx context.Context, model IModel) ([]SI18n, error) {
|
||||
ret := []SI18n{}
|
||||
q := manager.Query().Equals("obj_type", model.Keyword()).Equals("obj_id", model.GetId())
|
||||
@@ -149,6 +137,17 @@ func (manager *SModelBaseManager) GetModelI18N(ctx context.Context, model IModel
|
||||
return ret, err
|
||||
}
|
||||
|
||||
func (manager *SModelBaseManager) GetModelKeyI18N(ctx context.Context, model IModel, keyName string) ([]SI18n, error) {
|
||||
ret := []SI18n{}
|
||||
q := manager.Query().Equals("obj_type", model.Keyword()).Equals("obj_id", model.GetId()).Equals("key_name", keyName)
|
||||
err := FetchModelObjects(manager, q, &ret)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "FetchModelObjects")
|
||||
}
|
||||
|
||||
return ret, err
|
||||
}
|
||||
|
||||
func (manager *SI18nManager) getExternalI18nItems(ctx context.Context, table IModelI18nTable) []IModelI18nEntry {
|
||||
ret := make([]IModelI18nEntry, 0)
|
||||
items := table.GetI18nEntries()
|
||||
@@ -161,7 +160,8 @@ func (manager *SI18nManager) getExternalI18nItems(ctx context.Context, table IMo
|
||||
|
||||
func (manager *SI18nManager) RemoveI18ns(ctx context.Context, userCred mcclient.TokenCredential, model IModel) error {
|
||||
dbItems := []SI18n{}
|
||||
err := manager.Query().Equals("obj_type", model.Keyword()).Equals("obj_id", model.GetId()).All(&dbItems)
|
||||
q := manager.Query().Equals("obj_type", model.Keyword()).Equals("obj_id", model.GetId())
|
||||
err := FetchModelObjects(manager, q, &dbItems)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -895,10 +895,14 @@ func (self *SCloudregion) GetI18N(ctx context.Context) *jsonutils.JSONDict {
|
||||
}
|
||||
|
||||
func (self *SCloudregion) GetRegionInfo(ctx context.Context) api.CloudregionResourceInfo {
|
||||
// name := self.nameI18nLookup(ctx)
|
||||
name := self.Name
|
||||
if v, ok := self.GetModelKeyI18N(ctx, self, "name"); ok {
|
||||
name = v
|
||||
}
|
||||
|
||||
return api.CloudregionResourceInfo{
|
||||
Region: self.Name,
|
||||
Cloudregion: self.Name,
|
||||
Region: name,
|
||||
Cloudregion: name,
|
||||
RegionId: self.Id,
|
||||
RegionExtId: fetchExternalId(self.ExternalId),
|
||||
RegionExternalId: self.ExternalId,
|
||||
|
||||
@@ -62,3 +62,17 @@ func (self *SI18nResourceBase) GetModelI18N(ctx context.Context, model db.IModel
|
||||
|
||||
return _i18n
|
||||
}
|
||||
|
||||
func (self *SI18nResourceBase) GetModelKeyI18N(ctx context.Context, model db.IModel, keyName string) (string, bool) {
|
||||
entries, err := db.I18nManager.GetModelKeyI18N(ctx, model, keyName)
|
||||
if err != nil {
|
||||
log.Infof("GetModelKeyI18N %s", err)
|
||||
return "", false
|
||||
}
|
||||
|
||||
if len(entries) > 0 {
|
||||
return entries[0].Lookup(ctx), true
|
||||
}
|
||||
|
||||
return "", false
|
||||
}
|
||||
|
||||
@@ -91,7 +91,12 @@ func (manager *SZoneResourceBaseManager) FetchCustomizeColumns(
|
||||
for i := range rows {
|
||||
rows[i] = api.ZoneResourceInfo{}
|
||||
if _, ok := zones[zoneIds[i]]; ok {
|
||||
rows[i].Zone = zones[zoneIds[i]].Name
|
||||
z := zones[zoneIds[i]]
|
||||
name := z.Name
|
||||
if v, ok := z.GetModelKeyI18N(ctx, &z, "name"); ok {
|
||||
name = v
|
||||
}
|
||||
rows[i].Zone = name
|
||||
rows[i].ZoneExtId = fetchExternalId(zones[zoneIds[i]].ExternalId)
|
||||
rows[i].CloudregionId = zones[zoneIds[i]].CloudregionId
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user