From 53e8733848afabc6686aeae3cf9d0e592577fed0 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Mon, 7 Jul 2025 11:05:21 +0800 Subject: [PATCH] :art: Add some currency formatting support to database numeric fields https://github.com/siyuan-note/siyuan/issues/15232 --- app/appearance/langs/ar_SA.json | 7 ++++ app/appearance/langs/de_DE.json | 7 ++++ app/appearance/langs/en_US.json | 7 ++++ app/appearance/langs/es_ES.json | 7 ++++ app/appearance/langs/fr_FR.json | 7 ++++ app/appearance/langs/he_IL.json | 7 ++++ app/appearance/langs/it_IT.json | 7 ++++ app/appearance/langs/ja_JP.json | 7 ++++ app/appearance/langs/pl_PL.json | 7 ++++ app/appearance/langs/pt_BR.json | 7 ++++ app/appearance/langs/ru_RU.json | 7 ++++ app/appearance/langs/zh_CHT.json | 7 ++++ app/appearance/langs/zh_CN.json | 7 ++++ kernel/av/value.go | 55 ++++++++++++++++++++++++-------- 14 files changed, 133 insertions(+), 13 deletions(-) diff --git a/app/appearance/langs/ar_SA.json b/app/appearance/langs/ar_SA.json index 139b1cfe8..60bd8a77f 100644 --- a/app/appearance/langs/ar_SA.json +++ b/app/appearance/langs/ar_SA.json @@ -263,6 +263,13 @@ "numberFormatWon": "وون", "numberFormatCanadianDollar": "دولار كندي", "numberFormatFranc": "فرنك", + "numberFormatTHB": "بات تايلاندي", + "numberFormatAUD": "دولار أسترالي", + "numberFormatHKD": "دولار هونغ كونغ", + "numberFormatTWD": "دولار تايواني جديد", + "numberFormatMOP": "باتاكا ماكاوي", + "numberFormatSGD": "دولار سنغافوري", + "numberFormatNZD": "دولار نيوزيلندي", "email": "بريد إلكتروني", "phone": "رقم هاتف", "inboxTip": "‫افتح دليل المستخدم للبحث عن ‪علبة الوارد (inbox)‬ لعرض التعليمات‬", diff --git a/app/appearance/langs/de_DE.json b/app/appearance/langs/de_DE.json index 4051271eb..a4d0bb30f 100644 --- a/app/appearance/langs/de_DE.json +++ b/app/appearance/langs/de_DE.json @@ -263,6 +263,13 @@ "numberFormatWon": "Won", "numberFormatCanadianDollar": "Kanadischer Dollar", "numberFormatFranc": "Franken", + "numberFormatTHB": "Thailändischer Baht", + "numberFormatAUD": "Australischer Dollar", + "numberFormatHKD": "Hongkong-Dollar", + "numberFormatTWD": "Neuer Taiwan-Dollar", + "numberFormatMOP": "Macau-Pataca", + "numberFormatSGD": "Singapur-Dollar", + "numberFormatNZD": "Neuseeland-Dollar", "email": "E-Mail", "phone": "Telefon", "inboxTip": "Öffnen Sie das Benutzerhandbuch, um die Posteingang zu durchsuchen, um die Anweisungen anzuzeigen", diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index bf33dd4f0..a53bbff58 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -263,6 +263,13 @@ "numberFormatWon": "Won", "numberFormatCanadianDollar": "Canadian Dollar", "numberFormatFranc": "Franc", + "numberFormatTHB": "Thai Baht", + "numberFormatAUD": "Australian Dollar", + "numberFormatHKD": "Hong Kong Dollar", + "numberFormatTWD": "New Taiwan Dollar", + "numberFormatMOP": "Macau Pataca", + "numberFormatSGD": "Singapore Dollar", + "numberFormatNZD": "New Zealand Dollar", "email": "Email", "phone": "Phone", "inboxTip": "Open the user guide to search the inbox to view the instructions", diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index 0e4d22a76..36b2c3cf6 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -263,6 +263,13 @@ "numberFormatWon": "Ganado", "numberFormatCanadianDollar": "Dólar canadiense", "numberFormatFranc": "Franco", + "numberFormatTHB": "Baht tailandés", + "numberFormatAUD": "Dólar australiano", + "numberFormatHKD": "Dólar de Hong Kong", + "numberFormatTWD": "Nuevo dólar taiwanés", + "numberFormatMOP": "Pataca de Macao", + "numberFormatSGD": "Dólar de Singapur", + "numberFormatNZD": "Dólar neozelandés", "email": "Correo electrónico", "phone": "Teléfono", "inboxTip": "Abra la guía del usuario para buscar en la bandeja de entrada para ver las instrucciones", diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index da3264677..a206320bb 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -263,6 +263,13 @@ "numberFormatWon": "Gagné", "numberFormatCanadianDollar": "Dollar canadien", "numberFormatFranc": "Franc", + "numberFormatTHB": "Baht thaïlandais", + "numberFormatAUD": "Dollar australien", + "numberFormatHKD": "Dollar de Hong Kong", + "numberFormatTWD": "Nouveau dollar taïwanais", + "numberFormatMOP": "Pataca de Macao", + "numberFormatSGD": "Dollar de Singapour", + "numberFormatNZD": "Dollar néo-zélandais", "email": "E-mail", "phone": "Téléphone", "inboxTip": "Ouvrez le guide de l'utilisateur pour rechercher la boîte de réception pour afficher les instructions", diff --git a/app/appearance/langs/he_IL.json b/app/appearance/langs/he_IL.json index 66a386681..0b3f6acef 100644 --- a/app/appearance/langs/he_IL.json +++ b/app/appearance/langs/he_IL.json @@ -263,6 +263,13 @@ "numberFormatWon": "וון", "numberFormatCanadianDollar": "דולר קנדי", "numberFormatFranc": "פרנק", + "numberFormatTHB": "בהט תאילנדי", + "numberFormatAUD": "דולר אוסטרלי", + "numberFormatHKD": "דולר הונג קונגי", + "numberFormatTWD": "דולר טייוואני חדש", + "numberFormatMOP": "פטקה של מקאו", + "numberFormatSGD": "דולר סינגפורי", + "numberFormatNZD": "דולר ניו זילנדי", "email": "דואר אלקטרוני", "phone": "טלפון", "inboxTip": "פתח את המדריך למשתמש כדי לחפש באינבוקס כדי לראות את ההנחיות", diff --git a/app/appearance/langs/it_IT.json b/app/appearance/langs/it_IT.json index 5d84ed16f..5999e56cf 100644 --- a/app/appearance/langs/it_IT.json +++ b/app/appearance/langs/it_IT.json @@ -263,6 +263,13 @@ "numberFormatWon": "Won", "numberFormatCanadianDollar": "Dollaro canadese", "numberFormatFranc": "Franco", + "numberFormatTHB": "Baht thailandese", + "numberFormatAUD": "Dollaro australiano", + "numberFormatHKD": "Dollaro di Hong Kong", + "numberFormatTWD": "Nuovo dollaro taiwanese", + "numberFormatMOP": "Pataca di Macao", + "numberFormatSGD": "Dollaro di Singapore", + "numberFormatNZD": "Dollaro neozelandese", "email": "Email", "phone": "Telefono", "inboxTip": "Apri la guida utente per cercare inbox e visualizzare le istruzioni", diff --git a/app/appearance/langs/ja_JP.json b/app/appearance/langs/ja_JP.json index c3d15dcdb..165267b9e 100644 --- a/app/appearance/langs/ja_JP.json +++ b/app/appearance/langs/ja_JP.json @@ -263,6 +263,13 @@ "numberFormatWon": "ウォン", "numberFormatCanadianDollar": "カナダドル", "numberFormatFranc": "フラン", + "numberFormatTHB": "タイバーツ", + "numberFormatAUD": "オーストラリアドル", + "numberFormatHKD": "香港ドル", + "numberFormatTWD": "新台湾ドル", + "numberFormatMOP": "マカオパタカ", + "numberFormatSGD": "シンガポールドル", + "numberFormatNZD": "ニュージーランドドル", "email": "メール", "phone": "電話", "inboxTip": "ユーザーガイドの 受信トレイ を読んで使い方を確認してください", diff --git a/app/appearance/langs/pl_PL.json b/app/appearance/langs/pl_PL.json index 58be72d74..d59b7e2fd 100644 --- a/app/appearance/langs/pl_PL.json +++ b/app/appearance/langs/pl_PL.json @@ -263,6 +263,13 @@ "numberFormatWon": "Won", "numberFormatCanadianDollar": "Dolar kanadyjski", "numberFormatFranc": "Frank", + "numberFormatTHB": "Baht tajski", + "numberFormatAUD": "Dolar australijski", + "numberFormatHKD": "Dolar hongkoński", + "numberFormatTWD": "Nowy dolar tajwański", + "numberFormatMOP": "Pataca Makau", + "numberFormatSGD": "Dolar singapurski", + "numberFormatNZD": "Dolar nowozelandzki", "email": "Email", "phone": "Telefon", "inboxTip": "Otwórz przewodnik użytkownika, aby wyszukać inbox, aby zobaczyć instrukcje", diff --git a/app/appearance/langs/pt_BR.json b/app/appearance/langs/pt_BR.json index abd2c697c..064d301f4 100644 --- a/app/appearance/langs/pt_BR.json +++ b/app/appearance/langs/pt_BR.json @@ -263,6 +263,13 @@ "numberFormatWon": "Won", "numberFormatCanadianDollar": "Dólar Canadense", "numberFormatFranc": "Franco", + "numberFormatTHB": "Baht tailandês", + "numberFormatAUD": "Dólar australiano", + "numberFormatHKD": "Dólar de Hong Kong", + "numberFormatTWD": "Novo dólar taiwanês", + "numberFormatMOP": "Pataca de Macau", + "numberFormatSGD": "Dólar de Singapura", + "numberFormatNZD": "Dólar neozelandês", "email": "E-mail", "phone": "Telefone", "inboxTip": "Abra o guia do usuário para pesquisar o inbox e visualizar as instruções", diff --git a/app/appearance/langs/ru_RU.json b/app/appearance/langs/ru_RU.json index e9404d493..e6d1f4c47 100644 --- a/app/appearance/langs/ru_RU.json +++ b/app/appearance/langs/ru_RU.json @@ -263,6 +263,13 @@ "numberFormatWon": "Вон", "numberFormatCanadianDollar": "Канадский доллар", "numberFormatFranc": "Франк", + "numberFormatTHB": "Тайский бат", + "numberFormatAUD": "Австралийский доллар", + "numberFormatHKD": "Гонконгский доллар", + "numberFormatTWD": "Новый тайваньский доллар", + "numberFormatMOP": "Патака Макао", + "numberFormatSGD": "Сингапурский доллар", + "numberFormatNZD": "Новозеландский доллар", "email": "Электронная почта", "phone": "Телефон", "inboxTip": "Откройте руководство пользователя, чтобы найти inbox, чтобы посмотреть инструкции", diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index bc6b21b5c..6b9a85cf5 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -263,6 +263,13 @@ "numberFormatWon": "韓元", "numberFormatCanadianDollar": "加元", "numberFormatFranc": "法郎", + "numberFormatTHB": "泰銖", + "numberFormatAUD": "澳元", + "numberFormatHKD": "港幣", + "numberFormatTWD": "新台幣", + "numberFormatMOP": "澳門元", + "numberFormatSGD": "新加坡元", + "numberFormatNZD": "紐西蘭元", "email": "郵箱", "phone": "電話", "inboxTip": "打開用戶指南搜索 收集箱 查看使用說明", diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index e29345780..3c7632adf 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -263,6 +263,13 @@ "numberFormatWon": "韩元", "numberFormatCanadianDollar": "加元", "numberFormatFranc": "法郎", + "numberFormatTHB": "泰铢", + "numberFormatAUD": "澳元", + "numberFormatHKD": "港币", + "numberFormatTWD": "新台币", + "numberFormatMOP": "澳门元", + "numberFormatSGD": "新加坡元", + "numberFormatNZD": "新西兰元", "email": "邮箱", "phone": "电话", "inboxTip": "打开用户指南搜索 收集箱 查看使用说明", diff --git a/kernel/av/value.go b/kernel/av/value.go index 593cce3d8..ff22e331a 100644 --- a/kernel/av/value.go +++ b/kernel/av/value.go @@ -395,19 +395,27 @@ type ValueNumber struct { type NumberFormat string const ( - NumberFormatNone NumberFormat = "" - NumberFormatCommas NumberFormat = "commas" - NumberFormatPercent NumberFormat = "percent" - NumberFormatUSDollar NumberFormat = "usDollar" - NumberFormatYuan NumberFormat = "yuan" - NumberFormatEuro NumberFormat = "euro" - NumberFormatPound NumberFormat = "pound" - NumberFormatYen NumberFormat = "yen" - NumberFormatRuble NumberFormat = "ruble" - NumberFormatRupee NumberFormat = "rupee" - NumberFormatWon NumberFormat = "won" - NumberFormatCanadianDollar NumberFormat = "canadianDollar" - NumberFormatFranc NumberFormat = "franc" + NumberFormatNone NumberFormat = "" + NumberFormatCommas NumberFormat = "commas" + NumberFormatPercent NumberFormat = "percent" + + NumberFormatUSDollar NumberFormat = "usDollar" // 美元 + NumberFormatYuan NumberFormat = "yuan" // 人民币 + NumberFormatEuro NumberFormat = "euro" // 欧元 + NumberFormatPound NumberFormat = "pound" // 英镑 + NumberFormatYen NumberFormat = "yen" // 日元 + NumberFormatRuble NumberFormat = "ruble" // 卢布 + NumberFormatRupee NumberFormat = "rupee" // 卢比 + NumberFormatWon NumberFormat = "won" // 韩元 + NumberFormatCanadianDollar NumberFormat = "canadianDollar" // 加拿大元 + NumberFormatFranc NumberFormat = "franc" // 瑞士法郎 + NumberFormatTHB NumberFormat = "THB" // 泰铢 + NumberFormatAUD NumberFormat = "AUD" // 澳大利亚元 + NumberFormatHKD NumberFormat = "HKD" // 港币 + NumberFormatTWD NumberFormat = "TWD" // 新台币 + NumberFormatMOP NumberFormat = "MOP" // 澳门币 + NumberFormatSGD NumberFormat = "SGD" // 新加坡元 + NumberFormatNZD NumberFormat = "NZD" // 新西兰元 ) func NewFormattedValueNumber(content float64, format NumberFormat) (ret *ValueNumber) { @@ -473,6 +481,27 @@ func formatNumber(content float64, format NumberFormat) string { case NumberFormatFranc: p := message.NewPrinter(language.French) return p.Sprintf("CHF%.2f", content) + case NumberFormatTHB: + p := message.NewPrinter(language.Thai) + return p.Sprintf("฿%.2f", content) + case NumberFormatAUD: + p := message.NewPrinter(language.English) + return p.Sprintf("A$%.2f", content) + case NumberFormatHKD: + p := message.NewPrinter(language.English) + return p.Sprintf("HK$%.2f", content) + case NumberFormatTWD: + p := message.NewPrinter(language.Chinese) + return p.Sprintf("NT$%.2f", content) + case NumberFormatMOP: + p := message.NewPrinter(language.Chinese) + return p.Sprintf("MOP$%.2f", content) + case NumberFormatSGD: + p := message.NewPrinter(language.English) + return p.Sprintf("S$%.2f", content) + case NumberFormatNZD: + p := message.NewPrinter(language.English) + return p.Sprintf("NZ$%.2f", content) default: return strconv.FormatFloat(content, 'f', -1, 64) }