feat: app所有竞品报告和数据报告接口title都增加翻译
This commit is contained in:
parent
013b6ecd8e
commit
df005b3a7b
@ -457,6 +457,9 @@ func GetWorkAnalysis(ctx *gin.Context) {
|
|||||||
service.Error(ctx, err)
|
service.Error(ctx, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if locale := utils.ParseLocaleHeader(ctx.GetHeader("Accept-Language")); locale != "" {
|
||||||
|
resp.Title = utils.ConvertTitleByLocale(resp.Title, locale)
|
||||||
|
}
|
||||||
service.Success(ctx, resp)
|
service.Success(ctx, resp)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -546,24 +549,9 @@ func ListWorkAnalysisForApp(ctx *gin.Context) {
|
|||||||
service.Error(ctx, err)
|
service.Error(ctx, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// Translate titles based on Accept-Language
|
if locale := utils.ParseLocaleHeader(ctx.GetHeader("Accept-Language")); locale != "" {
|
||||||
locale := ctx.GetHeader("Accept-Language")
|
for _, item := range resp.Data {
|
||||||
// zh-CN 不需要翻译,直接跳过
|
item.Title = utils.ConvertTitleByLocale(item.Title, locale)
|
||||||
if locale != "zh-CN" && locale != "zh" && locale != "ZhCN" {
|
|
||||||
switch locale {
|
|
||||||
case "zh-TW", "ZhTW":
|
|
||||||
locale = "zh-TW"
|
|
||||||
case "en", "EN":
|
|
||||||
locale = "EN"
|
|
||||||
case "de-DE", "ja-JP":
|
|
||||||
// 直接使用
|
|
||||||
default:
|
|
||||||
locale = ""
|
|
||||||
}
|
|
||||||
if locale != "" {
|
|
||||||
for _, item := range resp.Data {
|
|
||||||
item.Title = utils.ConvertTitleByLocale(item.Title, locale)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// RefreshWorkAnalysisApproval(ctx, resp.Data)
|
// RefreshWorkAnalysisApproval(ctx, resp.Data)
|
||||||
@ -1125,6 +1113,11 @@ func TobeConfirmedList(ctx *gin.Context) {
|
|||||||
service.Error(ctx, err)
|
service.Error(ctx, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if locale := utils.ParseLocaleHeader(ctx.GetHeader("Accept-Language")); locale != "" {
|
||||||
|
for _, item := range resp.Data {
|
||||||
|
item.Title = utils.ConvertTitleByLocale(item.Title, locale)
|
||||||
|
}
|
||||||
|
}
|
||||||
service.Success(ctx, resp)
|
service.Success(ctx, resp)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@ -784,6 +784,9 @@ func GetCompetitiveReportForApp(ctx *gin.Context) {
|
|||||||
service.Error(ctx, err)
|
service.Error(ctx, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if locale := utils.ParseLocaleHeader(ctx.GetHeader("Accept-Language")); locale != "" {
|
||||||
|
resp.Title = utils.ConvertTitleByLocale(resp.Title, locale)
|
||||||
|
}
|
||||||
service.Success(ctx, resp)
|
service.Success(ctx, resp)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -884,24 +887,9 @@ func ListReportByArtistUuidForApp(ctx *gin.Context) {
|
|||||||
service.Error(ctx, err)
|
service.Error(ctx, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// Translate titles based on Accept-Language
|
if locale := utils.ParseLocaleHeader(ctx.GetHeader("Accept-Language")); locale != "" {
|
||||||
locale := ctx.GetHeader("Accept-Language")
|
for _, item := range resp.Data {
|
||||||
// zh-CN 不需要翻译,直接跳过
|
item.Title = utils.ConvertTitleByLocale(item.Title, locale)
|
||||||
if locale != "zh-CN" && locale != "zh" && locale != "ZhCN" {
|
|
||||||
switch locale {
|
|
||||||
case "zh-TW", "ZhTW":
|
|
||||||
locale = "zh-TW"
|
|
||||||
case "en", "EN":
|
|
||||||
locale = "EN"
|
|
||||||
case "de-DE", "ja-JP":
|
|
||||||
// 直接使用
|
|
||||||
default:
|
|
||||||
locale = ""
|
|
||||||
}
|
|
||||||
if locale != "" {
|
|
||||||
for _, item := range resp.Data {
|
|
||||||
item.Title = utils.ConvertTitleByLocale(item.Title, locale)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// RefreshCompetitiveReportApproval(ctx, resp.Data)
|
// RefreshCompetitiveReportApproval(ctx, resp.Data)
|
||||||
|
|||||||
@ -175,3 +175,20 @@ func ConvertTitleByLocale(title, locale string) string {
|
|||||||
return ConvertReportName(prefix, personName, reportType, locale)
|
return ConvertReportName(prefix, personName, reportType, locale)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ParseLocaleHeader 解析 Accept-Language 请求头,返回规范化的 locale 字符串。
|
||||||
|
// zh-CN / zh / ZhCN 无需翻译,返回 "";其余值规范化后返回,不支持的语言同样返回 ""。
|
||||||
|
func ParseLocaleHeader(header string) string {
|
||||||
|
if header == "zh-CN" || header == "zh" || header == "ZhCN" {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
switch header {
|
||||||
|
case "zh-TW", "ZhTW":
|
||||||
|
return "zh-TW"
|
||||||
|
case "en", "EN":
|
||||||
|
return "EN"
|
||||||
|
case "de-DE", "ja-JP":
|
||||||
|
return header
|
||||||
|
default:
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user