瀏覽代碼

:art: i18n Bazaar package

Liang Ding 2 年之前
父節點
當前提交
2ceb5f36d5

+ 2 - 2
app/src/config/bazaar.ts

@@ -179,7 +179,7 @@ export const bazaar = {
     </div>
     <div class="fn__flex-1 fn__flex-column">
         <div class="b3-card__info fn__flex-1">
-            ${item.name}
+            ${item.preferredName} <span class="ft__on-surface ft__smaller">${item.name}</span>
             <div class="fn__hr"></div>
             <div class="ft__smaller ft__on-surface">
                 ${item.preferredDesc || ""}
@@ -240,7 +240,7 @@ export const bazaar = {
     <div class="b3-card__img"><img src="${item.iconURL}" onerror="this.src='${item.previewURLThumb}'"/></div>
     <div class="fn__flex-1 fn__flex-column">
         <div class="b3-card__info fn__flex-1">
-            ${item.name}
+            ${item.preferredName} <span class="ft__on-surface ft__smaller">${item.name}</span>
             <div class="fn__hr"></div>
             <div class="ft__smaller ft__on-surface">${item.preferredDesc || ""}</div>
         </div>

+ 1 - 0
app/src/types/index.d.ts

@@ -705,6 +705,7 @@ declare interface IMenu {
 
 declare interface IBazaarItem {
     enabled: boolean
+    preferredName: string
     preferredDesc: string
     iconURL: string
     readme: string

+ 2 - 0
kernel/bazaar/icon.go

@@ -72,6 +72,7 @@ func Icons() (icons []*Icon) {
 		icon.IconURL = util.BazaarOSSServer + "/package/" + repoURL + "/icon.png"
 		icon.Funding = repo.Package.Funding
 		icon.PreferredFunding = getPreferredFunding(icon.Funding)
+		icon.PreferredName = getPreferredName(icon.Package)
 		icon.PreferredDesc = getPreferredDesc(icon.Description)
 		icon.Updated = repo.Updated
 		icon.Stars = repo.Stars
@@ -130,6 +131,7 @@ func InstalledIcons() (ret []*Icon) {
 		icon.PreviewURLThumb = "/appearance/icons/" + dirName + "/preview.png"
 		icon.IconURL = "/appearance/icons/" + dirName + "/icon.png"
 		icon.PreferredFunding = getPreferredFunding(icon.Funding)
+		icon.PreferredName = getPreferredName(icon.Package)
 		icon.PreferredDesc = getPreferredDesc(icon.Description)
 		info, statErr := os.Stat(filepath.Join(installPath, "README.md"))
 		if nil != statErr {

+ 24 - 0
kernel/bazaar/package.go

@@ -74,6 +74,7 @@ type Package struct {
 	I18N        []string     `json:"i18n"`
 
 	PreferredFunding string `json:"preferredFunding"`
+	PreferredName    string `json:"preferredName"`
 	PreferredDesc    string `json:"preferredDesc"`
 
 	Name            string `json:"name"`
@@ -147,6 +148,29 @@ func getPreferredReadme(readme *Readme) string {
 	return ret
 }
 
+func getPreferredName(pkg *Package) string {
+	if nil == pkg.DisplayName {
+		return pkg.Name
+	}
+
+	ret := pkg.DisplayName.Default
+	switch util.Lang {
+	case "zh_CN":
+		if "" != pkg.DisplayName.ZhCN {
+			ret = pkg.DisplayName.ZhCN
+		}
+	case "en_US":
+		if "" != pkg.DisplayName.EnUS {
+			ret = pkg.DisplayName.EnUS
+		}
+	default:
+		if "" != pkg.DisplayName.EnUS {
+			ret = pkg.DisplayName.EnUS
+		}
+	}
+	return ret
+}
+
 func getPreferredDesc(desc *Description) string {
 	if nil == desc {
 		return ""

+ 2 - 0
kernel/bazaar/plugin.go

@@ -75,6 +75,7 @@ func Plugins() (plugins []*Plugin) {
 		plugin.IconURL = util.BazaarOSSServer + "/package/" + repoURL + "/icon.png"
 		plugin.Funding = repo.Package.Funding
 		plugin.PreferredFunding = getPreferredFunding(plugin.Funding)
+		plugin.PreferredName = getPreferredName(plugin.Package)
 		plugin.PreferredDesc = getPreferredDesc(plugin.Description)
 		plugin.Updated = repo.Updated
 		plugin.Stars = repo.Stars
@@ -136,6 +137,7 @@ func InstalledPlugins() (ret []*Plugin) {
 		plugin.PreviewURLThumb = "/plugins/" + dirName + "/preview.png"
 		plugin.IconURL = "/plugins/" + dirName + "/icon.png"
 		plugin.PreferredFunding = getPreferredFunding(plugin.Funding)
+		plugin.PreferredName = getPreferredName(plugin.Package)
 		plugin.PreferredDesc = getPreferredDesc(plugin.Description)
 		info, statErr := os.Stat(filepath.Join(installPath, "README.md"))
 		if nil != statErr {

+ 2 - 0
kernel/bazaar/template.go

@@ -74,6 +74,7 @@ func Templates() (templates []*Template) {
 		template.IconURL = util.BazaarOSSServer + "/package/" + repoURL + "/icon.png"
 		template.Funding = repo.Package.Funding
 		template.PreferredFunding = getPreferredFunding(template.Funding)
+		template.PreferredName = getPreferredName(template.Package)
 		template.PreferredDesc = getPreferredDesc(template.Description)
 		template.Updated = repo.Updated
 		template.Stars = repo.Stars
@@ -137,6 +138,7 @@ func InstalledTemplates() (ret []*Template) {
 		template.PreviewURLThumb = "/templates/" + dirName + "/preview.png"
 		template.IconURL = "/templates/" + dirName + "/icon.png"
 		template.PreferredFunding = getPreferredFunding(template.Funding)
+		template.PreferredName = getPreferredName(template.Package)
 		template.PreferredDesc = getPreferredDesc(template.Description)
 		info, statErr := os.Stat(filepath.Join(installPath, "README.md"))
 		if nil != statErr {

+ 2 - 0
kernel/bazaar/theme.go

@@ -75,6 +75,7 @@ func Themes() (ret []*Theme) {
 		theme.IconURL = util.BazaarOSSServer + "/package/" + repoURL + "/icon.png"
 		theme.Funding = repo.Package.Funding
 		theme.PreferredFunding = getPreferredFunding(theme.Funding)
+		theme.PreferredName = getPreferredName(theme.Package)
 		theme.PreferredDesc = getPreferredDesc(theme.Description)
 		theme.Updated = repo.Updated
 		theme.Stars = repo.Stars
@@ -138,6 +139,7 @@ func InstalledThemes() (ret []*Theme) {
 		theme.PreviewURLThumb = "/appearance/themes/" + dirName + "/preview.png"
 		theme.IconURL = "/appearance/themes/" + dirName + "/icon.png"
 		theme.PreferredFunding = getPreferredFunding(theme.Funding)
+		theme.PreferredName = getPreferredName(theme.Package)
 		theme.PreferredDesc = getPreferredDesc(theme.Description)
 		info, statErr := os.Stat(filepath.Join(installPath, "README.md"))
 		if nil != statErr {

+ 2 - 0
kernel/bazaar/widget.go

@@ -74,6 +74,7 @@ func Widgets() (widgets []*Widget) {
 		widget.IconURL = util.BazaarOSSServer + "/package/" + repoURL + "/icon.png"
 		widget.Funding = repo.Package.Funding
 		widget.PreferredFunding = getPreferredFunding(widget.Funding)
+		widget.PreferredName = getPreferredName(widget.Package)
 		widget.PreferredDesc = getPreferredDesc(widget.Description)
 		widget.Updated = repo.Updated
 		widget.Stars = repo.Stars
@@ -135,6 +136,7 @@ func InstalledWidgets() (ret []*Widget) {
 		widget.PreviewURLThumb = "/widgets/" + dirName + "/preview.png"
 		widget.IconURL = "/widgets/" + dirName + "/icon.png"
 		widget.PreferredFunding = getPreferredFunding(widget.Funding)
+		widget.PreferredName = getPreferredName(widget.Package)
 		widget.PreferredDesc = getPreferredDesc(widget.Description)
 		info, statErr := os.Stat(filepath.Join(installPath, "README.md"))
 		if nil != statErr {