Signed-off-by: Daniel <845765@qq.com>
This commit is contained in:
Daniel 2025-09-14 12:51:31 +08:00
parent f8d1d1958b
commit ec77e2bafd
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
14 changed files with 42 additions and 5 deletions

View file

@ -36,6 +36,7 @@
"showAllEntriesIcons": "عرض أيقونات المدخلات", "showAllEntriesIcons": "عرض أيقونات المدخلات",
"wrapAllFields": "التفاف الحقول تلقائيًا", "wrapAllFields": "التفاف الحقول تلقائيًا",
"gallery": "بطاقة", "gallery": "بطاقة",
"kanban": "Kanban",
"newTag": "علامة جديدة", "newTag": "علامة جديدة",
"pleaseWait": "يرجى الانتظار...", "pleaseWait": "يرجى الانتظار...",
"reconnectPrompt": "بعد تبديل التطبيقات، سيستغرق الأمر بعض الوقت لاستعادة تشغيل نواة SiYuan. يرجى الانتظار بضع ثوانٍ أو النقر فوق الزر \"إعادة المحاولة\"", "reconnectPrompt": "بعد تبديل التطبيقات، سيستغرق الأمر بعض الوقت لاستعادة تشغيل نواة SiYuan. يرجى الانتظار بضع ثوانٍ أو النقر فوق الزر \"إعادة المحاولة\"",
@ -1387,6 +1388,7 @@
"_attrView": { "_attrView": {
"table": "جدول", "table": "جدول",
"gallery": "بطاقة", "gallery": "بطاقة",
"kanban": "Kanban",
"key": "المفتاح الرئيسي", "key": "المفتاح الرئيسي",
"select": "تحديد" "select": "تحديد"
}, },

View file

@ -36,6 +36,7 @@
"showAllEntriesIcons": "Eintragssymbole anzeigen", "showAllEntriesIcons": "Eintragssymbole anzeigen",
"wrapAllFields": "Felder automatisch umbrechen", "wrapAllFields": "Felder automatisch umbrechen",
"gallery": "Karte", "gallery": "Karte",
"kanban": "Kanban",
"newTag": "Neuer Tag", "newTag": "Neuer Tag",
"pleaseWait": "Bitte warten...", "pleaseWait": "Bitte warten...",
"reconnectPrompt": "Nach dem Wechseln der Anwendungen dauert es einige Zeit, bis der Betrieb des SiYuan-Kernels wiederhergestellt ist. Bitte warten Sie einige Sekunden oder klicken Sie auf die Schaltfläche „Erneut versuchen“", "reconnectPrompt": "Nach dem Wechseln der Anwendungen dauert es einige Zeit, bis der Betrieb des SiYuan-Kernels wiederhergestellt ist. Bitte warten Sie einige Sekunden oder klicken Sie auf die Schaltfläche „Erneut versuchen“",
@ -1387,6 +1388,7 @@
"_attrView": { "_attrView": {
"table": "Tabelle", "table": "Tabelle",
"gallery": "Karte", "gallery": "Karte",
"kanban": "Kanban",
"key": "Primärschlüssel", "key": "Primärschlüssel",
"select": "Auswählen" "select": "Auswählen"
}, },

View file

@ -36,6 +36,7 @@
"showAllEntriesIcons": "Show entry icons", "showAllEntriesIcons": "Show entry icons",
"wrapAllFields": "Auto-wrap fields", "wrapAllFields": "Auto-wrap fields",
"gallery": "Card", "gallery": "Card",
"kanban": "Kanban",
"newTag": "New tag", "newTag": "New tag",
"pleaseWait": "Please wait...", "pleaseWait": "Please wait...",
"reconnectPrompt": "After switching applications, it will take some time to restore the SiYuan kernel operation. Please wait a few seconds or click the \"Retry\" button", "reconnectPrompt": "After switching applications, it will take some time to restore the SiYuan kernel operation. Please wait a few seconds or click the \"Retry\" button",
@ -1387,6 +1388,7 @@
"_attrView": { "_attrView": {
"table": "Table", "table": "Table",
"gallery": "Card", "gallery": "Card",
"kanban": "Kanban",
"key": "Primary Key", "key": "Primary Key",
"select": "Select" "select": "Select"
}, },

View file

@ -36,6 +36,7 @@
"showAllEntriesIcons": "Mostrar íconos de entradas", "showAllEntriesIcons": "Mostrar íconos de entradas",
"wrapAllFields": "Ajuste automático de campos", "wrapAllFields": "Ajuste automático de campos",
"gallery": "Tarjeta", "gallery": "Tarjeta",
"kanban": "Kanban",
"newTag": "Nueva etiqueta", "newTag": "Nueva etiqueta",
"pleaseWait": "Por favor, espere...", "pleaseWait": "Por favor, espere...",
"reconnectPrompt": "Después de cambiar de aplicación, tomará algún tiempo restaurar el funcionamiento del núcleo de SiYuan. Espere unos segundos o haga clic en el botón \"Reintentar\"", "reconnectPrompt": "Después de cambiar de aplicación, tomará algún tiempo restaurar el funcionamiento del núcleo de SiYuan. Espere unos segundos o haga clic en el botón \"Reintentar\"",
@ -1387,6 +1388,7 @@
"_attrView": { "_attrView": {
"table": "Tabla", "table": "Tabla",
"gallery": "Tarjeta", "gallery": "Tarjeta",
"kanban": "Kanban",
"key": "Clave principal", "key": "Clave principal",
"select": "Selección" "select": "Selección"
}, },

View file

@ -36,6 +36,7 @@
"showAllEntriesIcons": "Afficher les icônes des entrées", "showAllEntriesIcons": "Afficher les icônes des entrées",
"wrapAllFields": "Retour automatique des champs", "wrapAllFields": "Retour automatique des champs",
"gallery": "Carte", "gallery": "Carte",
"kanban": "Kanban",
"newTag": "Nouvelle étiquette", "newTag": "Nouvelle étiquette",
"pleaseWait": "Veuillez patienter...", "pleaseWait": "Veuillez patienter...",
"reconnectPrompt": "Après avoir changé d'application, il faudra un certain temps pour rétablir le fonctionnement du noyau SiYuan. Veuillez patienter quelques secondes ou cliquer sur le bouton « Réessayer »", "reconnectPrompt": "Après avoir changé d'application, il faudra un certain temps pour rétablir le fonctionnement du noyau SiYuan. Veuillez patienter quelques secondes ou cliquer sur le bouton « Réessayer »",
@ -1387,6 +1388,7 @@
"_attrView": { "_attrView": {
"table": "Tableau", "table": "Tableau",
"gallery": "Carte", "gallery": "Carte",
"kanban": "Kanban",
"key": "Clé primaire", "key": "Clé primaire",
"select": "Sélectionner" "select": "Sélectionner"
}, },

View file

@ -36,6 +36,7 @@
"showAllEntriesIcons": "הצג סמלי כניסות", "showAllEntriesIcons": "הצג סמלי כניסות",
"wrapAllFields": "עטיפת שדות אוטומטית", "wrapAllFields": "עטיפת שדות אוטומטית",
"gallery": "כרטיס", "gallery": "כרטיס",
"kanban": "קאנבן",
"newTag": "תג חדש", "newTag": "תג חדש",
"pleaseWait": "אנא המתן...", "pleaseWait": "אנא המתן...",
"reconnectPrompt": "לאחר מעבר בין יישומים, יידרש זמן מה כדי לשחזר את פעולת ליבת SiYuan. אנא המתן מספר שניות או לחץ על כפתור \"נסה שוב\"", "reconnectPrompt": "לאחר מעבר בין יישומים, יידרש זמן מה כדי לשחזר את פעולת ליבת SiYuan. אנא המתן מספר שניות או לחץ על כפתור \"נסה שוב\"",
@ -1387,6 +1388,7 @@
"_attrView": { "_attrView": {
"table": "טבלה", "table": "טבלה",
"gallery": "כרטיס", "gallery": "כרטיס",
"kanban": "קאנבן",
"key": "מפתח ראשי", "key": "מפתח ראשי",
"select": "בחר" "select": "בחר"
}, },

View file

@ -36,6 +36,7 @@
"showAllEntriesIcons": "Mostra icone delle voci", "showAllEntriesIcons": "Mostra icone delle voci",
"wrapAllFields": "Avvolgi automaticamente i campi", "wrapAllFields": "Avvolgi automaticamente i campi",
"gallery": "Scheda", "gallery": "Scheda",
"kanban": "Kanban",
"newTag": "Nuova etichetta", "newTag": "Nuova etichetta",
"pleaseWait": "Attendere prego...", "pleaseWait": "Attendere prego...",
"reconnectPrompt": "Dopo aver cambiato applicazione, ci vorrà un po' di tempo per ripristinare il funzionamento del kernel SiYuan. Attendere qualche secondo o fare clic sul pulsante \"Riprova\"", "reconnectPrompt": "Dopo aver cambiato applicazione, ci vorrà un po' di tempo per ripristinare il funzionamento del kernel SiYuan. Attendere qualche secondo o fare clic sul pulsante \"Riprova\"",
@ -1387,6 +1388,7 @@
"_attrView": { "_attrView": {
"table": "Tabella", "table": "Tabella",
"gallery": "Scheda", "gallery": "Scheda",
"kanban": "Kanban",
"key": "Chiave primaria", "key": "Chiave primaria",
"select": "Seleziona" "select": "Seleziona"
}, },

View file

@ -36,6 +36,7 @@
"showAllEntriesIcons": "エントリアイコンを表示", "showAllEntriesIcons": "エントリアイコンを表示",
"wrapAllFields": "フィールドを自動折り返し", "wrapAllFields": "フィールドを自動折り返し",
"gallery": "カード", "gallery": "カード",
"kanban": "カンバン",
"newTag": "新しいタグ", "newTag": "新しいタグ",
"pleaseWait": "しばらくお待ちください...", "pleaseWait": "しばらくお待ちください...",
"reconnectPrompt": "アプリを切り替えた後、思源カーネルの実行を再開するには少し時間がかかります。数秒待つか、「再試行」ボタンをクリックしてください", "reconnectPrompt": "アプリを切り替えた後、思源カーネルの実行を再開するには少し時間がかかります。数秒待つか、「再試行」ボタンをクリックしてください",
@ -1387,6 +1388,7 @@
"_attrView": { "_attrView": {
"table": "テーブル", "table": "テーブル",
"gallery": "カード", "gallery": "カード",
"kanban": "カンバン",
"key": "プライマリキー", "key": "プライマリキー",
"select": "選択" "select": "選択"
}, },

View file

@ -36,6 +36,7 @@
"showAllEntriesIcons": "Pokaż ikony wpisów", "showAllEntriesIcons": "Pokaż ikony wpisów",
"wrapAllFields": "Automatyczne zawijanie pól", "wrapAllFields": "Automatyczne zawijanie pól",
"gallery": "Karta", "gallery": "Karta",
"kanban": "Kanban",
"newTag": "Nowy tag", "newTag": "Nowy tag",
"pleaseWait": "Proszę czekać...", "pleaseWait": "Proszę czekać...",
"reconnectPrompt": "Po przełączeniu aplikacji ponowne uruchomienie jądra SiYuan może zająć trochę czasu. Proszę poczekać kilka sekund lub kliknąć przycisk „Ponów próbę”", "reconnectPrompt": "Po przełączeniu aplikacji ponowne uruchomienie jądra SiYuan może zająć trochę czasu. Proszę poczekać kilka sekund lub kliknąć przycisk „Ponów próbę”",
@ -1387,6 +1388,7 @@
"_attrView": { "_attrView": {
"table": "Tabela", "table": "Tabela",
"gallery": "Karta", "gallery": "Karta",
"kanban": "Kanban",
"key": "Klucz główny", "key": "Klucz główny",
"select": "Wybierz" "select": "Wybierz"
}, },

View file

@ -36,6 +36,7 @@
"showAllEntriesIcons": "Mostrar ícones de entradas", "showAllEntriesIcons": "Mostrar ícones de entradas",
"wrapAllFields": "Quebrar automaticamente os campos", "wrapAllFields": "Quebrar automaticamente os campos",
"gallery": "Cartão", "gallery": "Cartão",
"kanban": "Kanban",
"newTag": "Nova tag", "newTag": "Nova tag",
"pleaseWait": "Por favor, aguarde...", "pleaseWait": "Por favor, aguarde...",
"reconnectPrompt": "Após alternar aplicativos, levará algum tempo para restaurar a operação do kernel SiYuan. Por favor, aguarde alguns segundos ou clique no botão \"Tentar novamente\"", "reconnectPrompt": "Após alternar aplicativos, levará algum tempo para restaurar a operação do kernel SiYuan. Por favor, aguarde alguns segundos ou clique no botão \"Tentar novamente\"",
@ -1387,6 +1388,7 @@
"_attrView": { "_attrView": {
"table": "Tabela", "table": "Tabela",
"gallery": "Cartão", "gallery": "Cartão",
"kanban": "Kanban",
"key": "Chave Primária", "key": "Chave Primária",
"select": "Selecionar" "select": "Selecionar"
}, },

View file

@ -36,6 +36,7 @@
"showAllEntriesIcons": "Показать значки записей", "showAllEntriesIcons": "Показать значки записей",
"wrapAllFields": "Автоматический перенос полей", "wrapAllFields": "Автоматический перенос полей",
"gallery": "Карточка", "gallery": "Карточка",
"kanban": "Канбан",
"newTag": "Новый тег", "newTag": "Новый тег",
"pleaseWait": "Пожалуйста, подождите...", "pleaseWait": "Пожалуйста, подождите...",
"reconnectPrompt": "После переключения приложений потребуется некоторое время, чтобы восстановить работу ядра SiYuan. Пожалуйста, подождите несколько секунд или нажмите кнопку «Повторить»", "reconnectPrompt": "После переключения приложений потребуется некоторое время, чтобы восстановить работу ядра SiYuan. Пожалуйста, подождите несколько секунд или нажмите кнопку «Повторить»",
@ -1387,6 +1388,7 @@
"_attrView": { "_attrView": {
"table": "Таблица", "table": "Таблица",
"gallery": "Карточка", "gallery": "Карточка",
"kanban": "Канбан",
"key": "Первичный ключ", "key": "Первичный ключ",
"select": "Выбрать" "select": "Выбрать"
}, },

View file

@ -36,6 +36,7 @@
"showAllEntriesIcons": "顯示條目圖標", "showAllEntriesIcons": "顯示條目圖標",
"wrapAllFields": "欄位自動換行", "wrapAllFields": "欄位自動換行",
"gallery": "卡片", "gallery": "卡片",
"kanban": "看板",
"newTag": "新建標籤", "newTag": "新建標籤",
"pleaseWait": "請稍等片刻...", "pleaseWait": "請稍等片刻...",
"reconnectPrompt": "切換應用後再次進入需要一些時間恢復思源內核運行,請稍等幾秒或者點擊“重試”按鈕", "reconnectPrompt": "切換應用後再次進入需要一些時間恢復思源內核運行,請稍等幾秒或者點擊“重試”按鈕",
@ -1387,6 +1388,7 @@
"_attrView": { "_attrView": {
"table": "表格", "table": "表格",
"gallery": "卡片", "gallery": "卡片",
"kanban": "看板",
"key": "主鍵", "key": "主鍵",
"select": "單選" "select": "單選"
}, },

View file

@ -36,6 +36,7 @@
"showAllEntriesIcons": "显示条目图标", "showAllEntriesIcons": "显示条目图标",
"wrapAllFields": "字段自动换行", "wrapAllFields": "字段自动换行",
"gallery": "卡片", "gallery": "卡片",
"kanban": "看板",
"newTag": "新建标签", "newTag": "新建标签",
"pleaseWait": "请稍等片刻...", "pleaseWait": "请稍等片刻...",
"reconnectPrompt": "切换应用后再次进入需要一些时间恢复思源内核运行,请稍等几秒或者点击“重试”按钮", "reconnectPrompt": "切换应用后再次进入需要一些时间恢复思源内核运行,请稍等几秒或者点击“重试”按钮",
@ -1387,6 +1388,7 @@
"_attrView": { "_attrView": {
"table": "表格", "table": "表格",
"gallery": "卡片", "gallery": "卡片",
"kanban": "看板",
"key": "主键", "key": "主键",
"select": "单选" "select": "单选"
}, },

View file

@ -207,6 +207,7 @@ type View struct {
LayoutType LayoutType `json:"type"` // 当前布局类型 LayoutType LayoutType `json:"type"` // 当前布局类型
Table *LayoutTable `json:"table,omitempty"` // 表格布局 Table *LayoutTable `json:"table,omitempty"` // 表格布局
Gallery *LayoutGallery `json:"gallery,omitempty"` // 卡片布局 Gallery *LayoutGallery `json:"gallery,omitempty"` // 卡片布局
Kanban *LayoutKanban `json:"kanban,omitempty"` // 看板布局
ItemIDs []string `json:"itemIds,omitempty"` // 项目 ID 列表,用于维护所有项目 ItemIDs []string `json:"itemIds,omitempty"` // 项目 ID 列表,用于维护所有项目
Group *ViewGroup `json:"group,omitempty"` // 分组规则 Group *ViewGroup `json:"group,omitempty"` // 分组规则
@ -306,8 +307,8 @@ const (
ViewDefaultPageSize = 50 // 视图默认分页大小 ViewDefaultPageSize = 50 // 视图默认分页大小
) )
func NewTableView() (ret *View) { func NewTableView() *View {
ret = &View{ return &View{
ID: ast.NewNodeID(), ID: ast.NewNodeID(),
Name: GetAttributeViewI18n("table"), Name: GetAttributeViewI18n("table"),
Filters: []*ViewFilter{}, Filters: []*ViewFilter{},
@ -316,7 +317,6 @@ func NewTableView() (ret *View) {
LayoutType: LayoutTypeTable, LayoutType: LayoutTypeTable,
Table: NewLayoutTable(), Table: NewLayoutTable(),
} }
return
} }
func NewTableViewWithBlockKey(blockKeyID string) (view *View, blockKey, selectKey *Key) { func NewTableViewWithBlockKey(blockKeyID string) (view *View, blockKey, selectKey *Key) {
@ -339,7 +339,7 @@ func NewTableViewWithBlockKey(blockKeyID string) (view *View, blockKey, selectKe
} }
func NewGalleryView() (ret *View) { func NewGalleryView() (ret *View) {
ret = &View{ return &View{
ID: ast.NewNodeID(), ID: ast.NewNodeID(),
Name: GetAttributeViewI18n("gallery"), Name: GetAttributeViewI18n("gallery"),
Filters: []*ViewFilter{}, Filters: []*ViewFilter{},
@ -348,7 +348,18 @@ func NewGalleryView() (ret *View) {
LayoutType: LayoutTypeGallery, LayoutType: LayoutTypeGallery,
Gallery: NewLayoutGallery(), Gallery: NewLayoutGallery(),
} }
return }
func NewKanbanView() (ret *View) {
return &View{
ID: ast.NewNodeID(),
Name: GetAttributeViewI18n("kanban"),
Filters: []*ViewFilter{},
Sorts: []*ViewSort{},
PageSize: ViewDefaultPageSize,
LayoutType: LayoutTypeKanban,
Kanban: NewLayoutKanban(),
}
} }
// Viewable 描述了视图的接口。 // Viewable 描述了视图的接口。