From 0dc8f1752d4f35cd38ae53d7828940823909af78 Mon Sep 17 00:00:00 2001
From: Daniel <845765@qq.com>
Date: Fri, 23 Feb 2024 23:32:23 +0800
Subject: [PATCH 1/4] :art: Candidate values of the database relation fields
are no longer subject to view filtering
https://github.com/siyuan-note/siyuan/issues/10411
---
kernel/av/av.go | 21 +++++++++++++++++++++
kernel/model/attribute_view.go | 8 +++++++-
2 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/kernel/av/av.go b/kernel/av/av.go
index d3e28f377..f7f55bb2e 100644
--- a/kernel/av/av.go
+++ b/kernel/av/av.go
@@ -305,6 +305,27 @@ func SaveAttributeView(av *AttributeView) (err error) {
}
// 数据订正
+
+ // 值去重
+ blockValues := av.GetBlockKeyValues()
+ blockIDs := map[string]bool{}
+ var duplicatedValueIDs []string
+ for _, blockValue := range blockValues.Values {
+ if !blockIDs[blockValue.BlockID] {
+ blockIDs[blockValue.BlockID] = true
+ } else {
+ duplicatedValueIDs = append(duplicatedValueIDs, blockValue.ID)
+ }
+ }
+ var tmp []*Value
+ for _, blockValue := range blockValues.Values {
+ if !gulu.Str.Contains(blockValue.ID, duplicatedValueIDs) {
+ tmp = append(tmp, blockValue)
+ }
+ }
+ blockValues.Values = tmp
+
+ // 视图值去重
for _, view := range av.Views {
if nil != view.Table {
// 行去重
diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go
index b9795a045..70bf634d8 100644
--- a/kernel/model/attribute_view.go
+++ b/kernel/model/attribute_view.go
@@ -49,12 +49,18 @@ func GetAttributeViewPrimaryKeyValues(avID string, page, pageSize int) (attribut
attributeViewName = attrView.Name
keyValues = attrView.GetBlockKeyValues()
- // 不在视图中的值要过滤掉
+ // 过滤掉不在视图中的值
tmp := map[string]*av.Value{}
for _, kv := range keyValues.Values {
for _, view := range attrView.Views {
switch view.LayoutType {
case av.LayoutTypeTable:
+ if !kv.IsDetached {
+ if nil == treenode.GetBlockTree(kv.BlockID) {
+ break
+ }
+ }
+
if gulu.Str.Contains(kv.Block.ID, view.Table.RowIDs) {
tmp[kv.Block.ID] = kv
}
From 882466e10d64c47a094859f93d1d6bb08dcf8d76 Mon Sep 17 00:00:00 2001
From: Daniel <845765@qq.com>
Date: Sat, 24 Feb 2024 10:33:00 +0800
Subject: [PATCH 2/4] :art: Flashcard support review mode
https://github.com/siyuan-note/siyuan/issues/10303
---
app/appearance/langs/en_US.json | 5 +++++
app/appearance/langs/es_ES.json | 5 +++++
app/appearance/langs/fr_FR.json | 5 +++++
app/appearance/langs/zh_CHT.json | 5 +++++
app/appearance/langs/zh_CN.json | 5 +++++
app/src/config/flashcard.ts | 17 +++++++++++++++--
app/src/types/index.d.ts | 1 +
kernel/conf/flashcard.go | 2 ++
kernel/model/flashcard.go | 25 ++++++++++++++++++++-----
9 files changed, 63 insertions(+), 7 deletions(-)
diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json
index 85b8622d4..f0b616f82 100644
--- a/app/appearance/langs/en_US.json
+++ b/app/appearance/langs/en_US.json
@@ -1,4 +1,9 @@
{
+ "reviewMode": "Review mode",
+ "reviewModeTip": "Select the order in which new and old cards appear during review",
+ "reviewMode0": "New and old mix",
+ "reviewMode1": "New first",
+ "reviewMode2": "Old first",
"fileAnnoRefPlaceholder": "Please enter block ID",
"addToDatabase": "Add to Database",
"clearContext": "Clear context",
diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json
index 59c25e9eb..4514ed217 100644
--- a/app/appearance/langs/es_ES.json
+++ b/app/appearance/langs/es_ES.json
@@ -1,4 +1,9 @@
{
+ "reviewMode": "Modo de revisión",
+ "reviewModeTip": "Seleccione el orden en que aparecen las tarjetas nuevas y antiguas durante la revisión",
+ "reviewMode0": "Nuevo y viejo mezclado",
+ "reviewMode1": "Nuevo primero",
+ "reviewMode2": "Viejo primero",
"fileAnnoRefPlaceholder": "Ingrese el ID del bloque",
"addToDatabase": "Agregar a la base de datos",
"clearContext": "Borrar contexto",
diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json
index b5cc7d9f1..1b2a87bcc 100644
--- a/app/appearance/langs/fr_FR.json
+++ b/app/appearance/langs/fr_FR.json
@@ -1,4 +1,9 @@
{
+ "reviewMode": "Mode de révision",
+ "reviewModeTip": "Sélectionnez l'ordre dans lequel les nouvelles et anciennes cartes apparaissent lors de la révision",
+ "reviewMode0": "Nouveau et ancien mélange",
+ "reviewMode1": "Nouveau d'abord",
+ "reviewMode2": "Ancien d'abord",
"fileAnnoRefPlaceholder": "Veuillez saisir l'ID de bloc",
"addToDatabase": "Ajouter à la base de données",
"clearContext": "Effacer le contexte",
diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json
index 46067e612..eb478b460 100644
--- a/app/appearance/langs/zh_CHT.json
+++ b/app/appearance/langs/zh_CHT.json
@@ -1,4 +1,9 @@
{
+ "reviewMode": "複習模式",
+ "reviewModeTip": "選擇複習時新卡和舊卡出現的順序",
+ "reviewMode0": "新舊混合",
+ "reviewMode1": "新卡優先",
+ "reviewMode2": "舊卡優先",
"fileAnnoRefPlaceholder": "請輸入區塊 ID",
"addToDatabase": "新增至資料庫",
"clearContext": "清空上下文",
diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json
index 7dbde13d2..42834a091 100644
--- a/app/appearance/langs/zh_CN.json
+++ b/app/appearance/langs/zh_CN.json
@@ -1,4 +1,9 @@
{
+ "reviewMode": "复习模式",
+ "reviewModeTip": "选择复习时新卡和旧卡出现的顺序",
+ "reviewMode0": "新旧混合",
+ "reviewMode1": "新卡优先",
+ "reviewMode2": "旧卡优先",
"fileAnnoRefPlaceholder": "请输入块 ID",
"addToDatabase": "添加到数据库",
"clearContext": "清空上下文",
diff --git a/app/src/config/flashcard.ts b/app/src/config/flashcard.ts
index adb80903e..5be878b04 100644
--- a/app/src/config/flashcard.ts
+++ b/app/src/config/flashcard.ts
@@ -42,7 +42,19 @@ export const flashcard = {
-`;
+
+
+
+ ${window.siyuan.languages.reviewMode}
+
${window.siyuan.languages.reviewModeTip}
+
+
+
+
`;
/// #if MOBILE
responsiveHTML = `${responsiveHTML}
${window.siyuan.languages.flashcardNewCardLimit}
@@ -119,9 +131,10 @@ export const flashcard = {
return responsiveHTML;
},
bindEvent: () => {
- flashcard.element.querySelectorAll("input").forEach((item) => {
+ flashcard.element.querySelectorAll("input, select.b3-select").forEach((item) => {
item.addEventListener("change", () => {
fetchPost("/api/setting/setFlashcard", {
+ reviewMode: parseInt((flashcard.element.querySelector("#reviewMode") as HTMLSelectElement).value),
newCardLimit: parseInt((flashcard.element.querySelector("#newCardLimit") as HTMLInputElement).value),
reviewCardLimit: parseInt((flashcard.element.querySelector("#reviewCardLimit") as HTMLInputElement).value),
mark: (flashcard.element.querySelector("#mark") as HTMLInputElement).checked,
diff --git a/app/src/types/index.d.ts b/app/src/types/index.d.ts
index 0de21a661..f731dda7e 100644
--- a/app/src/types/index.d.ts
+++ b/app/src/types/index.d.ts
@@ -716,6 +716,7 @@ interface IConfig {
superBlock: boolean
heading: boolean
deck: boolean
+ reviewMode: number
requestRetention: number
maximumInterval: number
weights: string
diff --git a/kernel/conf/flashcard.go b/kernel/conf/flashcard.go
index 85e7021bd..d56bb42e2 100644
--- a/kernel/conf/flashcard.go
+++ b/kernel/conf/flashcard.go
@@ -30,6 +30,7 @@ type Flashcard struct {
SuperBlock bool `json:"superBlock"` // 是否启用超级块制卡 https://github.com/siyuan-note/siyuan/issues/7702
Heading bool `json:"heading"` // 是否启用标题块制卡 https://github.com/siyuan-note/siyuan/issues/9005
Deck bool `json:"deck"` // 是否启用卡包制卡 https://github.com/siyuan-note/siyuan/issues/7724
+ ReviewMode int `json:"reviewMode"` // 复习模式,0:新旧混合,1:新卡优先,2:旧卡优先 https://github.com/siyuan-note/siyuan/issues/10303
// Apply result optimized by FSRS optimizer https://github.com/siyuan-note/siyuan/issues/9309
RequestRetention float64 `json:"requestRetention"`
@@ -55,6 +56,7 @@ func NewFlashcard() *Flashcard {
SuperBlock: true,
Heading: true,
Deck: false,
+ ReviewMode: 0,
RequestRetention: param.RequestRetention,
MaximumInterval: int(param.MaximumInterval),
Weights: weightsBuilder.String(),
diff --git a/kernel/model/flashcard.go b/kernel/model/flashcard.go
index 711e155ae..2ff66c32f 100644
--- a/kernel/model/flashcard.go
+++ b/kernel/model/flashcard.go
@@ -490,7 +490,7 @@ func GetNotebookDueFlashcards(boxID string, reviewedCardIDs []string) (ret []*Fl
return
}
- cards, unreviewedCnt, unreviewedNewCardCnt, unreviewedOldCardCnt := getDeckDueCards(deck, reviewedCardIDs, treeBlockIDs, Conf.Flashcard.NewCardLimit, Conf.Flashcard.ReviewCardLimit)
+ cards, unreviewedCnt, unreviewedNewCardCnt, unreviewedOldCardCnt := getDeckDueCards(deck, reviewedCardIDs, treeBlockIDs, Conf.Flashcard.NewCardLimit, Conf.Flashcard.ReviewCardLimit, Conf.Flashcard.ReviewMode)
now := time.Now()
for _, card := range cards {
ret = append(ret, newFlashcard(card, card.BlockID(), builtinDeckID, now))
@@ -535,7 +535,7 @@ func GetTreeDueFlashcards(rootID string, reviewedCardIDs []string) (ret []*Flash
}
}
- cards, unreviewedCnt, unreviewedNewCardCnt, unreviewedOldCardCnt := getDeckDueCards(deck, reviewedCardIDs, treeBlockIDs, newCardLimit, reviewCardLimit)
+ cards, unreviewedCnt, unreviewedNewCardCnt, unreviewedOldCardCnt := getDeckDueCards(deck, reviewedCardIDs, treeBlockIDs, newCardLimit, reviewCardLimit, Conf.Flashcard.ReviewMode)
now := time.Now()
for _, card := range cards {
ret = append(ret, newFlashcard(card, card.BlockID(), builtinDeckID, now))
@@ -606,7 +606,7 @@ func getDueFlashcards(deckID string, reviewedCardIDs []string) (ret []*Flashcard
return
}
- cards, unreviewedCnt, unreviewedNewCardCnt, unreviewedOldCardCnt := getDeckDueCards(deck, reviewedCardIDs, nil, Conf.Flashcard.NewCardLimit, Conf.Flashcard.ReviewCardLimit)
+ cards, unreviewedCnt, unreviewedNewCardCnt, unreviewedOldCardCnt := getDeckDueCards(deck, reviewedCardIDs, nil, Conf.Flashcard.NewCardLimit, Conf.Flashcard.ReviewCardLimit, Conf.Flashcard.ReviewMode)
now := time.Now()
for _, card := range cards {
ret = append(ret, newFlashcard(card, card.BlockID(), deckID, now))
@@ -623,7 +623,7 @@ func getDueFlashcards(deckID string, reviewedCardIDs []string) (ret []*Flashcard
func getAllDueFlashcards(reviewedCardIDs []string) (ret []*Flashcard, unreviewedCount, unreviewedNewCardCount, unreviewedOldCardCount int) {
now := time.Now()
for _, deck := range Decks {
- cards, unreviewedCnt, unreviewedNewCardCnt, unreviewedOldCardCnt := getDeckDueCards(deck, reviewedCardIDs, nil, Conf.Flashcard.NewCardLimit, Conf.Flashcard.ReviewCardLimit)
+ cards, unreviewedCnt, unreviewedNewCardCnt, unreviewedOldCardCnt := getDeckDueCards(deck, reviewedCardIDs, nil, Conf.Flashcard.NewCardLimit, Conf.Flashcard.ReviewCardLimit, Conf.Flashcard.ReviewMode)
unreviewedCount += unreviewedCnt
unreviewedNewCardCount += unreviewedNewCardCnt
unreviewedOldCardCount += unreviewedOldCardCnt
@@ -988,8 +988,10 @@ func getDeckIDs() (deckIDs []string) {
return
}
-func getDeckDueCards(deck *riff.Deck, reviewedCardIDs, blockIDs []string, newCardLimit, reviewCardLimit int) (ret []riff.Card, unreviewedCount, unreviewedNewCardCountInRound, unreviewedOldCardCountInRound int) {
+func getDeckDueCards(deck *riff.Deck, reviewedCardIDs, blockIDs []string, newCardLimit, reviewCardLimit, reviewMode int) (ret []riff.Card, unreviewedCount, unreviewedNewCardCountInRound, unreviewedOldCardCountInRound int) {
ret = []riff.Card{}
+ var retNew, retOld []riff.Card
+
dues := deck.Dues()
var tmp []riff.Card
@@ -1060,15 +1062,28 @@ func getDeckDueCards(deck *riff.Deck, reviewedCardIDs, blockIDs []string, newCar
}
newCount++
+ retNew = append(retNew, c)
} else {
if reviewCount >= reviewCardLimit {
continue
}
reviewCount++
+ retOld = append(retOld, c)
}
ret = append(ret, c)
}
+
+ switch reviewMode {
+ case 1: // 优先复习新卡
+ ret = nil
+ ret = append(ret, retNew...)
+ ret = append(ret, retOld...)
+ case 2: // 优先复习旧卡
+ ret = nil
+ ret = append(ret, retOld...)
+ ret = append(ret, retNew...)
+ }
return
}
From 325e3f33e7bf0f8c83b6d7f21f159a1122d97c1f Mon Sep 17 00:00:00 2001
From: Daniel <845765@qq.com>
Date: Sat, 24 Feb 2024 10:41:01 +0800
Subject: [PATCH 3/4] :memo: Update Flashcard related text: Review card -> Old
card
---
app/appearance/langs/en_US.json | 6 +++---
app/appearance/langs/es_ES.json | 6 +++---
app/appearance/langs/fr_FR.json | 6 +++---
app/appearance/langs/zh_CHT.json | 6 +++---
app/appearance/langs/zh_CN.json | 6 +++---
.../20210808180303-xaduj2o/20221223221636-ms2b4w9.sy | 6 +++---
.../20210808180321-hbvl5c2/20221223215557-o6gfsoy.sy | 6 +++---
.../20211226121203-rjjngpz/20221223221501-mops33i.sy | 6 +++---
8 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json
index f0b616f82..3ea085aea 100644
--- a/app/appearance/langs/en_US.json
+++ b/app/appearance/langs/en_US.json
@@ -219,7 +219,7 @@
"confirmUninstall": "Are you sure you want to uninstall ${name}?",
"scrollGetMore": "Don't panic... scroll up and down to load more",
"flashcardNewCard": "New",
- "flashcardReviewCard": "Review",
+ "flashcardReviewCard": "Old",
"flashcardDueCard": "Due",
"flashcardCard": "Total",
"plugin": "Plugin",
@@ -248,8 +248,8 @@
"nextDue": "Next Due",
"flashcardNewCardLimit": "New Card Limit",
"flashcardNewCardLimitTip": "If there are many new cards, you can set the number of new cards to review through this item",
- "flashcardReviewCardLimit": "Review Card Limit",
- "flashcardReviewCardLimitTip": "If there are many review cards, you can set the number of review through this item",
+ "flashcardReviewCardLimit": "Old Card Limit",
+ "flashcardReviewCardLimitTip": "If there are many old cards, you can set the number of old cards to review through this item",
"flashcardMark": "Mark Carding",
"flashcardMarkTip": "After enabling, the mark is recognized as fill in the blank",
"flashcardList": "List Carding",
diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json
index 4514ed217..eda140214 100644
--- a/app/appearance/langs/es_ES.json
+++ b/app/appearance/langs/es_ES.json
@@ -219,7 +219,7 @@
"confirmUninstall": "¿Está seguro de que desea desinstalar ${name}?",
"scrollGetMore": "No se asuste... desplácese hacia arriba y hacia abajo para cargar más",
"flashcardNewCard": "Nueva Tarjeta",
- "flashcardReviewCard": "Revisar Tarjeta",
+ "flashcardReviewCard": "Vieja Tarjeta",
"flashcardDueCard": "Tarjeta debida",
"flashcardCard": "Todos",
"plugin": "Complemento",
@@ -248,8 +248,8 @@
"nextDue": "Revisa la próxima vez",
"flashcardNewCardLimit": "Límite de tarjeta nueva",
"flashcardNewCardLimitTip": "Si hay muchas tarjetas nuevas, puede establecer la cantidad de tarjetas nuevas para revisar a través de este elemento",
- "flashcardReviewCardLimit": "Revisar límite de tarjeta",
- "flashcardReviewCardLimitTip": "Si hay muchas tarjetas de revisión, puede establecer el número de revisión a través de este elemento",
+ "flashcardReviewCardLimit": "Límite de tarjeta antigua",
+ "flashcardReviewCardLimitTip": "Si hay muchas tarjetas antiguas, puede configurar la cantidad de reseñas a través de este elemento",
"flashcardMark": "Marcar cardado",
"flashcardMarkTip": "Después de habilitar, la marca se reconoce como un espacio en blanco",
"flashcardList": "Lista de tarjetas",
diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json
index 1b2a87bcc..aa8db66e9 100644
--- a/app/appearance/langs/fr_FR.json
+++ b/app/appearance/langs/fr_FR.json
@@ -219,7 +219,7 @@
"confirmUninstall": "Êtes-vous sûr de vouloir désinstaller ${name} ?",
"scrollGetMore": "Ne paniquez pas... faites défiler de haut en bas pour en charger plus",
"flashcardNewCard": "Nouvelle carte",
- "flashcardReviewCard": "Revoir la carte",
+ "flashcardReviewCard": "Ancienne carte",
"flashcardDueCard": "Carte due",
"flashcardCard": "Tous",
"plugin": "Plugin",
@@ -248,8 +248,8 @@
"nextDue": "Revoir la prochaine fois",
"flashcardNewCardLimit": "Nouvelle limite de carte",
"flashcardNewCardLimitTip": "S'il y a beaucoup de nouvelles cartes, vous pouvez définir le nombre de nouvelles cartes à examiner via cet élément",
- "flashcardReviewCardLimit": "Revoir la limite de la carte",
- "flashcardReviewCardLimitTip": "S'il y a plusieurs cartes d'avis, vous pouvez définir le nombre d'avis via cet élément",
+ "flashcardReviewCardLimit": "Ancienne limite de carte",
+ "flashcardReviewCardLimitTip": "S'il existe de nombreuses anciennes cartes, vous pouvez définir le nombre d'avis via cet élément",
"flashcardMark": "Carte de marque",
"flashcardMarkTip": "Après l'activation, la marque est reconnue comme remplissant le blanc",
"flashcardList": "Fiche de liste",
diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json
index eb478b460..ad49fd912 100644
--- a/app/appearance/langs/zh_CHT.json
+++ b/app/appearance/langs/zh_CHT.json
@@ -219,7 +219,7 @@
"confirmUninstall": "確定卸載 ${name} ?",
"scrollGetMore": "不要驚慌...上下滾動即可加載更多內容",
"flashcardNewCard": "新卡",
- "flashcardReviewCard": "複習卡",
+ "flashcardReviewCard": "舊卡",
"flashcardDueCard": "到期卡",
"flashcardCard": "所有",
"plugin": "插件",
@@ -248,8 +248,8 @@
"nextDue": "下次複習",
"flashcardNewCardLimit": "新卡上限",
"flashcardNewCardLimitTip": "如果新卡較多,可以通過該項設置新卡複習的數量",
- "flashcardReviewCardLimit": "復習卡上限",
- "flashcardReviewCardLimitTip": "如果復習卡較多,可以通過該項設置復習的數量",
+ "flashcardReviewCardLimit": "舊卡上限",
+ "flashcardReviewCardLimitTip": "如果舊卡較多,可以通過該項設置復習的數量",
"flashcardMark": "標記制卡",
"flashcardMarkTip": "啟用後支持標記制卡,標記的文字被識別為挖空填空",
"flashcardList": "列表塊制卡",
diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json
index 42834a091..8dbbda991 100644
--- a/app/appearance/langs/zh_CN.json
+++ b/app/appearance/langs/zh_CN.json
@@ -219,7 +219,7 @@
"confirmUninstall": "确定卸载 ${name} ?",
"scrollGetMore": "不要惊慌...上下滚动即可加载更多内容",
"flashcardNewCard": "新卡",
- "flashcardReviewCard": "复习卡",
+ "flashcardReviewCard": "旧卡",
"flashcardDueCard": "到期卡",
"flashcardCard": "所有",
"plugin": "插件",
@@ -248,8 +248,8 @@
"nextDue": "下次复习",
"flashcardNewCardLimit": "新卡上限",
"flashcardNewCardLimitTip": "如果新卡较多,可以通过该项设置新卡复习的数量",
- "flashcardReviewCardLimit": "复习卡上限",
- "flashcardReviewCardLimitTip": "如果复习卡较多,可以通过该项设置复习的数量",
+ "flashcardReviewCardLimit": "旧卡上限",
+ "flashcardReviewCardLimitTip": "如果旧卡较多,可以通过该项设置复习的数量",
"flashcardMark": "标记制卡",
"flashcardMarkTip": "启用后支持标记制卡,标记的文本被识别为挖空填空",
"flashcardList": "列表块制卡",
diff --git a/app/guide/20210808180117-6v0mkxr/20200923234011-ieuun1p/20210808180303-xaduj2o/20221223221636-ms2b4w9.sy b/app/guide/20210808180117-6v0mkxr/20200923234011-ieuun1p/20210808180303-xaduj2o/20221223221636-ms2b4w9.sy
index 23c8c2aa4..ab52f1c24 100644
--- a/app/guide/20210808180117-6v0mkxr/20200923234011-ieuun1p/20210808180303-xaduj2o/20221223221636-ms2b4w9.sy
+++ b/app/guide/20210808180117-6v0mkxr/20200923234011-ieuun1p/20210808180303-xaduj2o/20221223221636-ms2b4w9.sy
@@ -6,7 +6,7 @@
"icon": "1f4f8",
"id": "20221223221636-ms2b4w9",
"title": "Flashcards",
- "updated": "20240128113415"
+ "updated": "20240224103857"
},
"Children": [
{
@@ -539,7 +539,7 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20240128112016-je04b7i",
- "updated": "20240128112236"
+ "updated": "20240224103857"
},
"Children": [
{
@@ -576,7 +576,7 @@
{
"Type": "NodeTextMark",
"TextMarkType": "kbd",
- "TextMarkTextContent": "Review Card Limit"
+ "TextMarkTextContent": "Old Card Limit"
},
{
"Type": "NodeText",
diff --git a/app/guide/20210808180117-czj9bvb/20200812220555-lj3enxa/20210808180321-hbvl5c2/20221223215557-o6gfsoy.sy b/app/guide/20210808180117-czj9bvb/20200812220555-lj3enxa/20210808180321-hbvl5c2/20221223215557-o6gfsoy.sy
index d6103dd77..1e805cd67 100644
--- a/app/guide/20210808180117-czj9bvb/20200812220555-lj3enxa/20210808180321-hbvl5c2/20221223215557-o6gfsoy.sy
+++ b/app/guide/20210808180117-czj9bvb/20200812220555-lj3enxa/20210808180321-hbvl5c2/20221223215557-o6gfsoy.sy
@@ -6,7 +6,7 @@
"icon": "1f4f8",
"id": "20221223215557-o6gfsoy",
"title": "闪卡",
- "updated": "20240128112938"
+ "updated": "20240224103816"
},
"Children": [
{
@@ -535,7 +535,7 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20240128110950-exhbssa",
- "updated": "20240128111232"
+ "updated": "20240224103816"
},
"Children": [
{
@@ -572,7 +572,7 @@
{
"Type": "NodeTextMark",
"TextMarkType": "kbd",
- "TextMarkTextContent": "复习卡上限"
+ "TextMarkTextContent": "旧卡上限"
},
{
"Type": "NodeText",
diff --git a/app/guide/20211226090932-5lcq56f/20211226115423-d5z1joq/20211226121203-rjjngpz/20221223221501-mops33i.sy b/app/guide/20211226090932-5lcq56f/20211226115423-d5z1joq/20211226121203-rjjngpz/20221223221501-mops33i.sy
index 3ee83211a..4dda181b7 100644
--- a/app/guide/20211226090932-5lcq56f/20211226115423-d5z1joq/20211226121203-rjjngpz/20221223221501-mops33i.sy
+++ b/app/guide/20211226090932-5lcq56f/20211226115423-d5z1joq/20211226121203-rjjngpz/20221223221501-mops33i.sy
@@ -6,7 +6,7 @@
"icon": "1f4f8",
"id": "20221223221501-mops33i",
"title": "閃卡",
- "updated": "20240128113519"
+ "updated": "20240224103933"
},
"Children": [
{
@@ -535,7 +535,7 @@
"Type": "NodeParagraph",
"Properties": {
"id": "20240128111910-2n2j702",
- "updated": "20240128111941"
+ "updated": "20240224103933"
},
"Children": [
{
@@ -572,7 +572,7 @@
{
"Type": "NodeTextMark",
"TextMarkType": "kbd",
- "TextMarkTextContent": "複習卡上限"
+ "TextMarkTextContent": "舊卡上限"
},
{
"Type": "NodeText",
From 4e343e4125872fa79da7cdc70f0ba5ac4341df56 Mon Sep 17 00:00:00 2001
From: Daniel <845765@qq.com>
Date: Sat, 24 Feb 2024 10:42:54 +0800
Subject: [PATCH 4/4] :memo: Update Flashcard related text: Review card -> Old
card
---
app/appearance/langs/es_ES.json | 2 +-
app/appearance/langs/fr_FR.json | 2 +-
app/appearance/langs/zh_CHT.json | 2 +-
app/appearance/langs/zh_CN.json | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json
index eda140214..cc9c44333 100644
--- a/app/appearance/langs/es_ES.json
+++ b/app/appearance/langs/es_ES.json
@@ -249,7 +249,7 @@
"flashcardNewCardLimit": "Límite de tarjeta nueva",
"flashcardNewCardLimitTip": "Si hay muchas tarjetas nuevas, puede establecer la cantidad de tarjetas nuevas para revisar a través de este elemento",
"flashcardReviewCardLimit": "Límite de tarjeta antigua",
- "flashcardReviewCardLimitTip": "Si hay muchas tarjetas antiguas, puede configurar la cantidad de reseñas a través de este elemento",
+ "flashcardReviewCardLimitTip": "Si hay muchas tarjetas antiguas, puede configurar la cantidad de tarjetas antiguas para revisar a través de este elemento",
"flashcardMark": "Marcar cardado",
"flashcardMarkTip": "Después de habilitar, la marca se reconoce como un espacio en blanco",
"flashcardList": "Lista de tarjetas",
diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json
index aa8db66e9..29ead4854 100644
--- a/app/appearance/langs/fr_FR.json
+++ b/app/appearance/langs/fr_FR.json
@@ -249,7 +249,7 @@
"flashcardNewCardLimit": "Nouvelle limite de carte",
"flashcardNewCardLimitTip": "S'il y a beaucoup de nouvelles cartes, vous pouvez définir le nombre de nouvelles cartes à examiner via cet élément",
"flashcardReviewCardLimit": "Ancienne limite de carte",
- "flashcardReviewCardLimitTip": "S'il existe de nombreuses anciennes cartes, vous pouvez définir le nombre d'avis via cet élément",
+ "flashcardReviewCardLimitTip": "S'il y a beaucoup d'anciennes cartes, vous pouvez définir le nombre d'anciennes cartes à examiner via cet élément",
"flashcardMark": "Carte de marque",
"flashcardMarkTip": "Après l'activation, la marque est reconnue comme remplissant le blanc",
"flashcardList": "Fiche de liste",
diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json
index ad49fd912..a3556f762 100644
--- a/app/appearance/langs/zh_CHT.json
+++ b/app/appearance/langs/zh_CHT.json
@@ -249,7 +249,7 @@
"flashcardNewCardLimit": "新卡上限",
"flashcardNewCardLimitTip": "如果新卡較多,可以通過該項設置新卡複習的數量",
"flashcardReviewCardLimit": "舊卡上限",
- "flashcardReviewCardLimitTip": "如果舊卡較多,可以通過該項設置復習的數量",
+ "flashcardReviewCardLimitTip": "如果舊卡較多,可以通過該項設置舊卡復習的數量",
"flashcardMark": "標記制卡",
"flashcardMarkTip": "啟用後支持標記制卡,標記的文字被識別為挖空填空",
"flashcardList": "列表塊制卡",
diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json
index 8dbbda991..15309682b 100644
--- a/app/appearance/langs/zh_CN.json
+++ b/app/appearance/langs/zh_CN.json
@@ -249,7 +249,7 @@
"flashcardNewCardLimit": "新卡上限",
"flashcardNewCardLimitTip": "如果新卡较多,可以通过该项设置新卡复习的数量",
"flashcardReviewCardLimit": "旧卡上限",
- "flashcardReviewCardLimitTip": "如果旧卡较多,可以通过该项设置复习的数量",
+ "flashcardReviewCardLimitTip": "如果旧卡较多,可以通过该项设置旧卡复习的数量",
"flashcardMark": "标记制卡",
"flashcardMarkTip": "启用后支持标记制卡,标记的文本被识别为挖空填空",
"flashcardList": "列表块制卡",