Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Vanessa 2025-07-07 15:41:49 +08:00
commit a7a239ca35
16 changed files with 424 additions and 202 deletions

View file

@ -253,16 +253,23 @@
"numberFormatNone": "رقم",
"numberFormatCommas": "رقم مع فواصل",
"numberFormatPercent": "في المئة",
"numberFormatUSDollar": "دولار أمريكي",
"numberFormatYuan": "يوان",
"numberFormatEuro": "يورو",
"numberFormatPound": "جنيه",
"numberFormatYen": "ين",
"numberFormatRuble": "روبل",
"numberFormatRupee": "روبية",
"numberFormatWon": "وون",
"numberFormatCanadianDollar": "دولار كندي",
"numberFormatFranc": "فرنك",
"numberFormatUSD": "دولار أمريكي",
"numberFormatCNY": "يوان",
"numberFormatEUR": "يورو",
"numberFormatGBP": "جنيه",
"numberFormatJPY": "ين",
"numberFormatRUB": "روبل",
"numberFormatINR": "روبية",
"numberFormatKRW": "وون",
"numberFormatCAD": "دولار كندي",
"numberFormatCHF": "فرنك سويسري",
"numberFormatTHB": "بات تايلاندي",
"numberFormatAUD": "دولار أسترالي",
"numberFormatHKD": "دولار هونغ كونغ",
"numberFormatTWD": "دولار تايواني جديد",
"numberFormatMOP": "باتاكا ماكاوي",
"numberFormatSGD": "دولار سنغافوري",
"numberFormatNZD": "دولار نيوزيلندي",
"email": "بريد إلكتروني",
"phone": "رقم هاتف",
"inboxTip": "‫افتح دليل المستخدم للبحث عن <code class='fn__code'>علبة الوارد (inbox)</code> لعرض التعليمات‬",

View file

@ -253,16 +253,23 @@
"numberFormatNone": "Nummer",
"numberFormatCommas": "Nummer mit Kommata",
"numberFormatPercent": "Prozent",
"numberFormatUSDollar": "US-Dollar",
"numberFormatYuan": "Yuan",
"numberFormatEuro": "Euro",
"numberFormatPound": "Pfund",
"numberFormatYen": "Yen",
"numberFormatRuble": "Rubel",
"numberFormatRupee": "Rupie",
"numberFormatWon": "Won",
"numberFormatCanadianDollar": "Kanadischer Dollar",
"numberFormatFranc": "Franken",
"numberFormatUSD": "US-Dollar",
"numberFormatCNY": "Yuan",
"numberFormatEUR": "Euro",
"numberFormatGBP": "Pfund",
"numberFormatJPY": "Yen",
"numberFormatRUB": "Rubel",
"numberFormatINR": "Rupie",
"numberFormatKRW": "Won",
"numberFormatCAD": "Kanadischer Dollar",
"numberFormatCHF": "Schweizer 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 <code class='fn__code'>Posteingang</code> zu durchsuchen, um die Anweisungen anzuzeigen",

View file

@ -253,16 +253,23 @@
"numberFormatNone": "Number",
"numberFormatCommas": "Number with commas",
"numberFormatPercent": "Percent",
"numberFormatUSDollar": "US Dollar",
"numberFormatYuan": "Yuan",
"numberFormatEuro": "Euro",
"numberFormatPound": "Pound",
"numberFormatYen": "Yen",
"numberFormatRuble": "Ruble",
"numberFormatRupee": "Rupee",
"numberFormatWon": "Won",
"numberFormatCanadianDollar": "Canadian Dollar",
"numberFormatFranc": "Franc",
"numberFormatUSD": "US Dollar",
"numberFormatCNY": "Yuan",
"numberFormatEUR": "Euro",
"numberFormatGBP": "Pound",
"numberFormatJPY": "Yen",
"numberFormatRUB": "Ruble",
"numberFormatINR": "Rupee",
"numberFormatKRW": "Won",
"numberFormatCAD": "Canadian Dollar",
"numberFormatCHF": "Swiss 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 <code class='fn__code'>inbox</code> to view the instructions",

View file

@ -253,16 +253,23 @@
"numberFormatNone": "Número",
"numberFormatCommas": "Número con comas",
"numberFormatPercent": "Porcentaje",
"numberFormatUSDollar": "Dólar estadounidense",
"numberFormatYuan": "Yuan",
"numberFormatEuro": "Euro",
"numberFormatPound": "Almohadilla",
"numberFormatYen": "Yen",
"numberFormatRuble": "Rublo",
"numberFormatRupee": "Rupia",
"numberFormatWon": "Ganado",
"numberFormatCanadianDollar": "Dólar canadiense",
"numberFormatFranc": "Franco",
"numberFormatUSD": "Dólar estadounidense",
"numberFormatCNY": "Yuan",
"numberFormatEUR": "Euro",
"numberFormatGBP": "Almohadilla",
"numberFormatJPY": "Yen",
"numberFormatRUB": "Rublo",
"numberFormatINR": "Rupia",
"numberFormatKRW": "Ganado",
"numberFormatCAD": "Dólar canadiense",
"numberFormatCHF": "Franco suizo",
"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 <code class='fn__code'>bandeja de entrada</code> para ver las instrucciones",

View file

@ -253,16 +253,23 @@
"numberFormatNone": "Numéro",
"numberFormatCommas": "Nombre avec des virgules",
"numberFormatPercent": "Pourcentage",
"numberFormatUSDollar": "Dollar américain",
"numberFormatYuan": "Yuan",
"numberFormatEuro": "Euro",
"numberFormatPound": "Livre",
"numberFormatYen": "Yen",
"numberFormatRuble": "Rouble",
"numberFormatRupee": "Roupie",
"numberFormatWon": "Gagné",
"numberFormatCanadianDollar": "Dollar canadien",
"numberFormatFranc": "Franc",
"numberFormatUSD": "Dollar américain",
"numberFormatCNY": "Yuan",
"numberFormatEUR": "Euro",
"numberFormatGBP": "Livre",
"numberFormatJPY": "Yen",
"numberFormatRUB": "Rouble",
"numberFormatINR": "Roupie",
"numberFormatKRW": "Gagné",
"numberFormatCAD": "Dollar canadien",
"numberFormatCHF": "Franc suisse",
"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 <code class='fn__code'>boîte de réception</code> pour afficher les instructions",

View file

@ -253,16 +253,23 @@
"numberFormatNone": "מספר",
"numberFormatCommas": "מספר עם פסיקים",
"numberFormatPercent": "אחוז",
"numberFormatUSDollar": "דולר אמריקאי",
"numberFormatYuan": "יואן",
"numberFormatEuro": "יורו",
"numberFormatPound": "לירה",
"numberFormatYen": "ין",
"numberFormatRuble": "רובל",
"numberFormatRupee": "רופי",
"numberFormatWon": "וון",
"numberFormatCanadianDollar": "דולר קנדי",
"numberFormatFranc": "פרנק",
"numberFormatUSD": "דולר אמריקאי",
"numberFormatCNY": "יואן",
"numberFormatEUR": "יורו",
"numberFormatGBP": "לירה",
"numberFormatJPY": "ין",
"numberFormatRUB": "רובל",
"numberFormatINR": "רופי",
"numberFormatKRW": "וון",
"numberFormatCAD": "דולר קנדי",
"numberFormatCHF": "פרנק שווייצרי",
"numberFormatTHB": "בהט תאילנדי",
"numberFormatAUD": "דולר אוסטרלי",
"numberFormatHKD": "דולר הונג קונגי",
"numberFormatTWD": "דולר טייוואני חדש",
"numberFormatMOP": "פטקה של מקאו",
"numberFormatSGD": "דולר סינגפורי",
"numberFormatNZD": "דולר ניו זילנדי",
"email": "דואר אלקטרוני",
"phone": "טלפון",
"inboxTip": "פתח את המדריך למשתמש כדי לחפש ב<code class='fn__code'>אינבוקס</code> כדי לראות את ההנחיות",

View file

@ -253,16 +253,23 @@
"numberFormatNone": "Numero",
"numberFormatCommas": "Numero con virgole",
"numberFormatPercent": "Percentuale",
"numberFormatUSDollar": "Dollaro USA",
"numberFormatYuan": "Yuan",
"numberFormatEuro": "Euro",
"numberFormatPound": "Sterlina",
"numberFormatYen": "Yen",
"numberFormatRuble": "Rublo",
"numberFormatRupee": "Rupia",
"numberFormatWon": "Won",
"numberFormatCanadianDollar": "Dollaro canadese",
"numberFormatFranc": "Franco",
"numberFormatUSD": "Dollaro USA",
"numberFormatCNY": "Yuan",
"numberFormatEUR": "Euro",
"numberFormatGBP": "Sterlina",
"numberFormatJPY": "Yen",
"numberFormatRUB": "Rublo",
"numberFormatINR": "Rupia",
"numberFormatKRW": "Won",
"numberFormatCAD": "Dollaro canadese",
"numberFormatCHF": "Franco svizzero",
"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 <code class='fn__code'>inbox</code> e visualizzare le istruzioni",

View file

@ -253,16 +253,23 @@
"numberFormatNone": "数値",
"numberFormatCommas": "カンマ区切りの数値",
"numberFormatPercent": "パーセント",
"numberFormatUSDollar": "米ドル",
"numberFormatYuan": "元",
"numberFormatEuro": "ユーロ",
"numberFormatPound": "ポンド",
"numberFormatYen": "円",
"numberFormatRuble": "ルーブル",
"numberFormatRupee": "ルピー",
"numberFormatWon": "ウォン",
"numberFormatCanadianDollar": "カナダドル",
"numberFormatFranc": "フラン",
"numberFormatUSD": "米ドル",
"numberFormatCNY": "元",
"numberFormatEUR": "ユーロ",
"numberFormatGBP": "ポンド",
"numberFormatJPY": "円",
"numberFormatRUB": "ルーブル",
"numberFormatINR": "ルピー",
"numberFormatKRW": "ウォン",
"numberFormatCAD": "カナダドル",
"numberFormatCHF": "スイスフラン",
"numberFormatTHB": "タイバーツ",
"numberFormatAUD": "オーストラリアドル",
"numberFormatHKD": "香港ドル",
"numberFormatTWD": "新台湾ドル",
"numberFormatMOP": "マカオパタカ",
"numberFormatSGD": "シンガポールドル",
"numberFormatNZD": "ニュージーランドドル",
"email": "メール",
"phone": "電話",
"inboxTip": "ユーザーガイドの <code class='fn__code'>受信トレイ</code> を読んで使い方を確認してください",

View file

@ -253,16 +253,23 @@
"numberFormatNone": "Liczba",
"numberFormatCommas": "Liczba z przecinkami",
"numberFormatPercent": "Procent",
"numberFormatUSDollar": "Dolar amerykański",
"numberFormatYuan": "Yuan",
"numberFormatEuro": "Euro",
"numberFormatPound": "Funt",
"numberFormatYen": "Jen",
"numberFormatRuble": "Rubel",
"numberFormatRupee": "Rupia",
"numberFormatWon": "Won",
"numberFormatCanadianDollar": "Dolar kanadyjski",
"numberFormatFranc": "Frank",
"numberFormatUSD": "Dolar amerykański",
"numberFormatCNY": "Yuan",
"numberFormatEUR": "Euro",
"numberFormatGBP": "Funt",
"numberFormatJPY": "Jen",
"numberFormatRUB": "Rubel",
"numberFormatINR": "Rupia",
"numberFormatKRW": "Won",
"numberFormatCAD": "Dolar kanadyjski",
"numberFormatCHF": "Frank szwajcarski",
"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ć <code class='fn__code'>inbox</code>, aby zobaczyć instrukcje",

View file

@ -253,16 +253,23 @@
"numberFormatNone": "Número",
"numberFormatCommas": "Número com vírgulas",
"numberFormatPercent": "Porcentagem",
"numberFormatUSDollar": "Dólar Americano",
"numberFormatYuan": "Yuan",
"numberFormatEuro": "Euro",
"numberFormatPound": "Libra",
"numberFormatYen": "Iene",
"numberFormatRuble": "Rublo",
"numberFormatRupee": "Rúpia",
"numberFormatWon": "Won",
"numberFormatCanadianDollar": "Dólar Canadense",
"numberFormatFranc": "Franco",
"numberFormatUSD": "Dólar Americano",
"numberFormatCNY": "Yuan",
"numberFormatEUR": "Euro",
"numberFormatGBP": "Libra",
"numberFormatJPY": "Iene",
"numberFormatRUB": "Rublo",
"numberFormatINR": "Rúpia",
"numberFormatKRW": "Won",
"numberFormatCAD": "Dólar Canadense",
"numberFormatCHF": "Franco suíço",
"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 <code class='fn__code'>inbox</code> e visualizar as instruções",

View file

@ -253,16 +253,23 @@
"numberFormatNone": "Число",
"numberFormatCommas": "Число с запятыми",
"numberFormatPercent": "Процент",
"numberFormatUSDollar": "Доллар США",
"numberFormatYuan": "Юань",
"numberFormatEuro": "Евро",
"numberFormatPound": "Фунт",
"numberFormatYen": "Йена",
"numberFormatRuble": "Рубль",
"numberFormatRupee": "Рупия",
"numberFormatWon": "Вон",
"numberFormatCanadianDollar": "Канадский доллар",
"numberFormatFranc": "Франк",
"numberFormatUSD": "Доллар США",
"numberFormatCNY": "Юань",
"numberFormatEUR": "Евро",
"numberFormatGBP": "Фунт",
"numberFormatJPY": "Йена",
"numberFormatRUB": "Рубль",
"numberFormatINR": "Рупия",
"numberFormatKRW": "Вон",
"numberFormatCAD": "Канадский доллар",
"numberFormatCHF": "Швейцарский франк",
"numberFormatTHB": "Тайский бат",
"numberFormatAUD": "Австралийский доллар",
"numberFormatHKD": "Гонконгский доллар",
"numberFormatTWD": "Новый тайваньский доллар",
"numberFormatMOP": "Патака Макао",
"numberFormatSGD": "Сингапурский доллар",
"numberFormatNZD": "Новозеландский доллар",
"email": "Электронная почта",
"phone": "Телефон",
"inboxTip": "Откройте руководство пользователя, чтобы найти <code class='fn__code'>inbox</code>, чтобы посмотреть инструкции",

View file

@ -253,16 +253,23 @@
"numberFormatNone": "數字",
"numberFormatCommas": "千分位",
"numberFormatPercent": "百分比",
"numberFormatUSDollar": "美元",
"numberFormatYuan": "人民幣",
"numberFormatEuro": "歐元",
"numberFormatPound": "英鎊",
"numberFormatYen": "日元",
"numberFormatRuble": "盧布",
"numberFormatRupee": "盧比",
"numberFormatWon": "韓元",
"numberFormatCanadianDollar": "加元",
"numberFormatFranc": "法郎",
"numberFormatUSD": "美元",
"numberFormatCNY": "人民幣",
"numberFormatEUR": "歐元",
"numberFormatGBP": "英鎊",
"numberFormatJPY": "日元",
"numberFormatRUB": "盧布",
"numberFormatINR": "盧比",
"numberFormatKRW": "韓元",
"numberFormatCAD": "加元",
"numberFormatCHF": "瑞士法郎",
"numberFormatTHB": "泰銖",
"numberFormatAUD": "澳元",
"numberFormatHKD": "港幣",
"numberFormatTWD": "新台幣",
"numberFormatMOP": "澳門元",
"numberFormatSGD": "新加坡元",
"numberFormatNZD": "紐西蘭元",
"email": "郵箱",
"phone": "電話",
"inboxTip": "打開用戶指南搜索 <code class='fn__code'>收集箱</code> 查看使用說明",

View file

@ -253,16 +253,23 @@
"numberFormatNone": "数字",
"numberFormatCommas": "千分位",
"numberFormatPercent": "百分比",
"numberFormatUSDollar": "美元",
"numberFormatYuan": "人民币",
"numberFormatEuro": "欧元",
"numberFormatPound": "英镑",
"numberFormatYen": "日元",
"numberFormatRuble": "卢布",
"numberFormatRupee": "卢比",
"numberFormatWon": "韩元",
"numberFormatCanadianDollar": "加元",
"numberFormatFranc": "法郎",
"numberFormatUSD": "美元",
"numberFormatCNY": "人民币",
"numberFormatEUR": "欧元",
"numberFormatGBP": "英镑",
"numberFormatJPY": "日元",
"numberFormatRUB": "卢布",
"numberFormatINR": "卢比",
"numberFormatKRW": "韩元",
"numberFormatCAD": "加元",
"numberFormatCHF": "瑞士法郎",
"numberFormatTHB": "泰铢",
"numberFormatAUD": "澳元",
"numberFormatHKD": "港币",
"numberFormatTWD": "新台币",
"numberFormatMOP": "澳门元",
"numberFormatSGD": "新加坡元",
"numberFormatNZD": "新西兰元",
"email": "邮箱",
"phone": "电话",
"inboxTip": "打开用户指南搜索 <code class='fn__code'>收集箱</code> 查看使用说明",

View file

@ -73,7 +73,7 @@ export const formatNumber = (options: {
protyle: options.protyle,
colId: options.colId,
avID: options.avID,
format: "usDollar",
format: "USD",
oldFormat: options.oldFormat,
avPanelElement: options.avPanelElement,
});
@ -82,7 +82,7 @@ export const formatNumber = (options: {
protyle: options.protyle,
colId: options.colId,
avID: options.avID,
format: "yuan",
format: "CNY",
oldFormat: options.oldFormat,
avPanelElement: options.avPanelElement,
});
@ -91,7 +91,7 @@ export const formatNumber = (options: {
protyle: options.protyle,
colId: options.colId,
avID: options.avID,
format: "euro",
format: "EUR",
oldFormat: options.oldFormat,
avPanelElement: options.avPanelElement,
});
@ -100,7 +100,7 @@ export const formatNumber = (options: {
protyle: options.protyle,
colId: options.colId,
avID: options.avID,
format: "pound",
format: "GBP",
oldFormat: options.oldFormat,
avPanelElement: options.avPanelElement,
});
@ -109,7 +109,7 @@ export const formatNumber = (options: {
protyle: options.protyle,
colId: options.colId,
avID: options.avID,
format: "yen",
format: "JPY",
oldFormat: options.oldFormat,
avPanelElement: options.avPanelElement,
});
@ -118,7 +118,7 @@ export const formatNumber = (options: {
protyle: options.protyle,
colId: options.colId,
avID: options.avID,
format: "ruble",
format: "RUB",
oldFormat: options.oldFormat,
avPanelElement: options.avPanelElement,
});
@ -127,7 +127,7 @@ export const formatNumber = (options: {
protyle: options.protyle,
colId: options.colId,
avID: options.avID,
format: "rupee",
format: "INR",
oldFormat: options.oldFormat,
avPanelElement: options.avPanelElement,
});
@ -136,7 +136,7 @@ export const formatNumber = (options: {
protyle: options.protyle,
colId: options.colId,
avID: options.avID,
format: "won",
format: "KRW",
oldFormat: options.oldFormat,
avPanelElement: options.avPanelElement,
});
@ -145,7 +145,7 @@ export const formatNumber = (options: {
protyle: options.protyle,
colId: options.colId,
avID: options.avID,
format: "canadianDollar",
format: "CAD",
oldFormat: options.oldFormat,
avPanelElement: options.avPanelElement,
});
@ -154,7 +154,70 @@ export const formatNumber = (options: {
protyle: options.protyle,
colId: options.colId,
avID: options.avID,
format: "franc",
format: "CHF",
oldFormat: options.oldFormat,
avPanelElement: options.avPanelElement,
});
addFormatItem({
menu,
protyle: options.protyle,
colId: options.colId,
avID: options.avID,
format: "THB",
oldFormat: options.oldFormat,
avPanelElement: options.avPanelElement,
});
addFormatItem({
menu,
protyle: options.protyle,
colId: options.colId,
avID: options.avID,
format: "AUD",
oldFormat: options.oldFormat,
avPanelElement: options.avPanelElement,
});
addFormatItem({
menu,
protyle: options.protyle,
colId: options.colId,
avID: options.avID,
format: "HKD",
oldFormat: options.oldFormat,
avPanelElement: options.avPanelElement,
});
addFormatItem({
menu,
protyle: options.protyle,
colId: options.colId,
avID: options.avID,
format: "TWD",
oldFormat: options.oldFormat,
avPanelElement: options.avPanelElement,
});
addFormatItem({
menu,
protyle: options.protyle,
colId: options.colId,
avID: options.avID,
format: "MOP",
oldFormat: options.oldFormat,
avPanelElement: options.avPanelElement,
});
addFormatItem({
menu,
protyle: options.protyle,
colId: options.colId,
avID: options.avID,
format: "SGD",
oldFormat: options.oldFormat,
avPanelElement: options.avPanelElement,
});
addFormatItem({
menu,
protyle: options.protyle,
colId: options.colId,
avID: options.avID,
format: "NZD",
oldFormat: options.oldFormat,
avPanelElement: options.avPanelElement,
});
@ -169,32 +232,14 @@ export const formatNumber = (options: {
};
export const getLabelByNumberFormat = (format: string) => {
switch (format) {
case "":
return window.siyuan.languages.numberFormatNone;
case "commas":
return window.siyuan.languages.numberFormatCommas;
case "percent":
return window.siyuan.languages.numberFormatPercent;
case "usDollar":
return window.siyuan.languages.numberFormatUSDollar;
case "yuan":
return window.siyuan.languages.numberFormatYuan;
case "euro":
return window.siyuan.languages.numberFormatEuro;
case "pound":
return window.siyuan.languages.numberFormatPound;
case "yen":
return window.siyuan.languages.numberFormatYen;
case "ruble":
return window.siyuan.languages.numberFormatRuble;
case "rupee":
return window.siyuan.languages.numberFormatRupee;
case "won":
return window.siyuan.languages.numberFormatWon;
case "canadianDollar":
return window.siyuan.languages.numberFormatCanadianDollar;
case "franc":
return window.siyuan.languages.numberFormatFranc;
if ("" === format) {
return window.siyuan.languages.numberFormatNone;
} else if ("commas" === format) {
return window.siyuan.languages.numberFormatCommas;
} else if ("percent" === format) {
return window.siyuan.languages.numberFormatPercent;
}
let key = "numberFormat" + format;
return window.siyuan.languages[key]
};

View file

@ -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"
NumberFormatUSD NumberFormat = "USD" // 美元
NumberFormatCNY NumberFormat = "CNY" // 人民币
NumberFormatEUR NumberFormat = "EUR" // 欧元
NumberFormatGBP NumberFormat = "GBP" // 英镑
NumberFormatJPY NumberFormat = "JPY" // 日元
NumberFormatRUB NumberFormat = "RUB" // 卢布
NumberFormatINR NumberFormat = "INR" // 卢比
NumberFormatKRW NumberFormat = "KRW" // 韩元
NumberFormatCAD NumberFormat = "CAD" // 加拿大元
NumberFormatCHF NumberFormat = "CHF" // 瑞士法郎
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) {
@ -443,36 +451,57 @@ func formatNumber(content float64, format NumberFormat) string {
case NumberFormatPercent:
s := fmt.Sprintf("%.2f", content*100)
return strings.TrimRight(strings.TrimRight(s, "0"), ".") + "%"
case NumberFormatUSDollar:
case NumberFormatUSD:
p := message.NewPrinter(language.English)
return p.Sprintf("$%.2f", content)
case NumberFormatYuan:
case NumberFormatCNY:
p := message.NewPrinter(language.Chinese)
return p.Sprintf("CN¥%.2f", content)
case NumberFormatEuro:
case NumberFormatEUR:
p := message.NewPrinter(language.German)
return p.Sprintf("€%.2f", content)
case NumberFormatPound:
case NumberFormatGBP:
p := message.NewPrinter(language.English)
return p.Sprintf("£%.2f", content)
case NumberFormatYen:
case NumberFormatJPY:
p := message.NewPrinter(language.Japanese)
return p.Sprintf("¥%.0f", content)
case NumberFormatRuble:
case NumberFormatRUB:
p := message.NewPrinter(language.Russian)
return p.Sprintf("₽%.2f", content)
case NumberFormatRupee:
case NumberFormatINR:
p := message.NewPrinter(language.Hindi)
return p.Sprintf("₹%.2f", content)
case NumberFormatWon:
case NumberFormatKRW:
p := message.NewPrinter(language.Korean)
return p.Sprintf("₩%.0f", content)
case NumberFormatCanadianDollar:
case NumberFormatCAD:
p := message.NewPrinter(language.English)
return p.Sprintf("CA$%.2f", content)
case NumberFormatFranc:
case NumberFormatCHF:
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)
}

View file

@ -145,20 +145,75 @@ func SetAttributeViewGroup(avID, blockID string, group *av.ViewGroup) (err error
view.Group = group
view.Groups = nil
// TODO Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964
// 生成分组数据
groupItems := map[string][]av.Item{}
const (
defaultGroupName = "_@default@_"
notInRange = "_@notInRange@_"
)
var groupName string
viewable := sql.RenderView(attrView, view, "")
collection := viewable.(av.Collection)
for _, item := range collection.GetItems() {
value := item.GetValue(group.Field)
switch group.Method {
case av.GroupMethodValue:
strVal := value.String(false)
groupItems[strVal] = append(groupItems[strVal], item)
}
var items []av.Item
for _, item := range viewable.(av.Collection).GetItems() {
items = append(items, item)
}
for _, items := range groupItems {
var rangeStart, rangeEnd float64
switch group.Method {
case av.GroupMethodValue:
case av.GroupMethodRangeNum:
if nil == group.Range {
logging.LogWarnf("range is nil in av [%s]", avID)
return
}
rangeStart, rangeEnd = group.Range.NumStart, group.Range.NumStart+group.Range.NumStep
sort.SliceStable(items, func(i, j int) bool {
if av.GroupOrderAsc == group.Order {
return items[i].GetValue(group.Field).Number.Content < items[j].GetValue(group.Field).Number.Content
}
return items[i].GetValue(group.Field).Number.Content > items[j].GetValue(group.Field).Number.Content
})
// TODO Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964
}
groupItemsMap := map[string][]av.Item{}
for _, item := range items {
value := item.GetValue(group.Field)
if value.IsEmpty() {
groupName = defaultGroupName
} else {
switch group.Method {
case av.GroupMethodValue:
groupName = value.String(false)
case av.GroupMethodRangeNum:
if value.Type != av.KeyTypeNumber {
logging.LogWarnf("item [%s] value [%s] type is not number in av [%s]", item.GetID(), value.String(false), avID)
return
}
if nil == value.Number {
logging.LogWarnf("item [%s] value [%s] number is nil in av [%s]", item.GetID(), value.String(false), avID)
return
}
if group.Range.NumStart > value.Number.Content || group.Range.NumEnd < value.Number.Content {
groupName = notInRange
break
}
for rangeEnd <= group.Range.NumEnd && rangeEnd < value.Number.Content {
rangeStart += group.Range.NumStep
rangeEnd += group.Range.NumStep
}
if rangeStart <= value.Number.Content && rangeEnd >= value.Number.Content {
groupName = fmt.Sprintf("%s - %s", strconv.FormatFloat(rangeStart, 'f', -1, 64), strconv.FormatFloat(rangeEnd, 'f', -1, 64))
}
}
}
groupItemsMap[groupName] = append(groupItemsMap[groupName], item)
}
for name, groupItems := range groupItemsMap {
var v *av.View
switch view.LayoutType {
case av.LayoutTypeTable:
@ -168,10 +223,12 @@ func SetAttributeViewGroup(avID, blockID string, group *av.ViewGroup) (err error
v = av.NewGalleryView()
v.Gallery = av.NewLayoutGallery()
}
for _, item := range items {
for _, item := range groupItems {
v.GroupItemIDs = append(v.GroupItemIDs, item.GetID())
}
v.Name = name
view.Groups = append(view.Groups, v)
view.GroupDefault = name == defaultGroupName
}
err = av.SaveAttributeView(attrView)