package i18n

type TemplateID string

const (
	CreateCluster                    = "create cluster"
	RestartCluster                   = "restart cluster"
	UpgradeClusterVersion            = "upgrade cluster version"
	RestoreBackup                    = "restore backup"
	RestoreMetadataBackup            = "restore metadata backup"
	DeleteCluster                    = "delete cluster"
	UpdateClusterConfiguration       = "update cluster configuration"
	UpdateClusterMetadataInformation = "update cluster metadata information"
	ImportMachine                    = "import machine"
	MachineOnline                    = "machine online"
	DeleteMachine                    = "delete machine"
	UpdateClusterWhitelist           = "update cluster whitelist"
	UpdatePlatformSetting            = "update platform setting"
	UpdatePlatformAlertingEmail      = "update platform alerting email"
	TransferPDLeader                 = "transfer pd leader"

	OperateMessageType = "operate"
)

var enUSMessageMap = map[TemplateID]string{
	CreateCluster:                    "create cluster %s",
	RestartCluster:                   "restart cluster %s",
	UpgradeClusterVersion:            "upgrade cluster %s version",
	RestoreBackup:                    "restore %s backup",
	RestoreMetadataBackup:            "restore platform metadata backup",
	DeleteCluster:                    "delete cluster %s",
	UpdateClusterConfiguration:       "update cluster %s configuration",
	UpdateClusterMetadataInformation: "update cluster %s metadata information",
	ImportMachine:                    "import machine",
	MachineOnline:                    "machine %s online",
	DeleteMachine:                    "delete machine %s ",
	UpdateClusterWhitelist:           "%s cluster %s whitelist",
	UpdatePlatformSetting:            "update platform setting",
	UpdatePlatformAlertingEmail:      "update platform alerting email",
	TransferPDLeader:                 "transfer cluster %s PD leader to %s",
}

var zhCNMessageMap = map[TemplateID]string{
	CreateCluster:                    "实例 %s 开始创建",
	RestartCluster:                   "实例 %s 开始重启",
	UpgradeClusterVersion:            "实例 %s 开始版本升级",
	RestoreBackup:                    "开始恢复 %s 备份",
	RestoreMetadataBackup:            "平台元信息开始备份恢复",
	DeleteCluster:                    "实例 %s 删除",
	UpdateClusterConfiguration:       "实例 %s 配置变更",
	UpdateClusterMetadataInformation: "实例 %s 信息变更",
	ImportMachine:                    "主机列表导入",
	MachineOnline:                    "主机 %s 上线",
	DeleteMachine:                    "主机 %s 删除",
	UpdateClusterWhitelist:           "%s 实例 %s 白名单设置",
	UpdatePlatformSetting:            "平台信息变更",
	UpdatePlatformAlertingEmail:      "平台告警邮件地址变更",
	TransferPDLeader:                 "实例  %s PD leader 变更为 %s",
}

var PlatformMessage = &Bundle{
	template: map[LANG]map[TemplateID]string{
		LangENUS: enUSMessageMap,
		LangZHCN: zhCNMessageMap,
	},
}
