在 2024 年末的時候,我決定在今年 2025 年底再去考一次日文檢定,目標是很入門的 N4,所以接近日文的時間變多,希望除了手寫之外,還有個可以幫助我統整單字的地方,於是試著用我熟悉的 Notion 來做單字卡。沒想到,我在 Threads 上分享這件事之後,有很多人對製作單字卡有興趣!
今天,我就來分享我製作日文單字卡的方法!如果你沒有時間跟著做,或希望跳過教學直接實用,你可以在這裡索取免費模板哦:
希望這個模板可以幫助到跟我一樣在學新語言的人。P.s. 這個模板是我自己使用的,所以比較簡易一些。你可以用這個 Demo 模板為基礎,慢慢打造一個豐富的語言學習基地。
使用 Notion 製作數位單字卡的優勢
雖然我也蠻喜歡手寫單字卡或筆記,不過透過 Notion 用數位的方式管理單字,有幾個我難以抗拒的優點:
- 分類與篩選:可以根據詞性(動詞、名詞)和類型(場所、職業、水果等)進行分類與篩選
- 快速查找:資料庫內建搜索功能,可以快速找到需要的單字和相關筆記
- 資源整合:可將相關例句、文法、網頁、發音檔放到單字卡中,建立一個單字的資訊網,脫離死背,加速學習
- 隨時隨地可使用:隨時隨地都能在手機、平板、電腦等多種設備上學習
- 節省空間與時間:不用帶紙本,不佔實體空間,修改內容時也很方便
- AI 加持:由於我有訂閱 Notion AI,我在做筆記時,隨時都能問 AI 問題,等於擁有一個小老師!
單字卡功能設計重點
在開始製作單字卡前,先來盤點一下這個簡易單字卡需要的功能:
- 只顯示假名:我希望記得所有漢字怎麼念,所以預設只顯示平假名或片假名,避免我看到漢字第一反應用中文唸出來 → 名稱屬性
- 預設隱藏:隱藏漢字、中文意思和詞性 → 文字與單選屬性
- 互動確認:透過打勾功能,顯示原本隱藏的漢字、中文意思和詞性,確認是否記住單字 → 核取方塊屬性
- 完整資訊:確認後顯示完整、簡潔排列的單字資訊 → 用公式屬性來統整
Notion 單字卡教學
Step 1|首先,在 Notion 新增一個圖庫瀏覽模式的資料庫。
Step 2|在資料庫中建立這些屬性:
資料庫屬性 | 用途 |
---|---|
名稱 | 單字假名 |
文字 | 單字的漢字版 |
文字 | 中文解釋 |
單選 | 詞性 |
勾選 | 點擊觸發公式 |
公式 | 設定顯示/隱藏文字的條件 |
Step 3|漢字的字體美化。為了突顯漢字,我幫漢字那欄的文字用「方程式」設定字體大小。
設定方法:
選取漢字欄中的文字,選擇「方程式」。
當格式變成方程式,字體就會變了:
編輯方程式,在漢字前加上 \Large 以改變字體大小。
🌝 米米備註:這裡的方程式中,正確的文字語法寫法應該是 \Large \text{中},不過只寫 \Large中 也有一樣的效果,所以這邊偷懶這麼寫。
Step 4|撰寫公式
我用最後的結果呈現來說明公式的寫法:
希望公式達成的效果:
- 如果勾選解答,有漢字的單字會顯示漢字+中文解釋+詞性(灰色字體)
- 如果勾選解答,沒漢字的單字會顯示中文解釋+詞性(灰色字體)
- 如果沒勾選解答,什麼都不顯示
像這樣「假如⋯的話,就顯示什麼」的動作,都要用 if() 或 ifs() 公式來寫:
if 公式 | 使用情境 | 公式 | 公式解釋 |
---|---|---|---|
if() | 只有一組條件 | if(條件為真, “A”, “B”) | 假如條件為真,顯示 A,若不為真,顯示 B |
ifs() | 擁有多組條件 | ifs( 條件一為真, “C”, 條件二為真, “D”, 條件三為真, “E”, “” ) | 假如條件一為真,顯示 C 假如條件二為真,顯示 D 假如條件三為真,顯示 E 若前述都不為真,則不顯示 |
在這裡,因為有三組條件,所以用 ifs() 的公式來寫:
ifs(
prop("解答")==true and prop("漢字").empty(), prop("解釋") + " " + style("(" + prop("詞性") + ")", "grey"),
prop("解答")==true and empty(prop("漢字"))==false, prop("漢字") + " " +prop("解釋") + " " + style("(" + prop("詞性") + ")", "grey"),
""
)
P.s. 點擊上方程式碼視窗的右上角圖示,可以複製公式。如果你的資料庫屬性名稱都跟我設定的一樣,公式就能直接套用。
公式 | 解釋 |
---|---|
ifs( prop(“解答”)==true and prop(“漢字”).empty(), prop(“解釋”) + ” ” + style(“(” + prop(“詞性”) + “)”, “grey”), prop(“解答”)==true and empty(prop(“漢字”))==false, prop(“漢字”) + “ ” +prop(“解釋”) + ” ” + style(“(” + prop(“詞性”) + “)”, “grey”), “” ) | 假如 解答已勾選 且 漢字欄為空 則顯示:解釋+空格+灰字詞性 解答已勾選 且 漢字欄不為空 則顯示:漢字+空格+解釋+空格+灰字詞性 若不符以上條件,則顯示空格 |
Step 4|調整圖庫資料庫要顯示的屬性
點擊資料庫右上角的「⋯」,選擇「屬性」。
除了名稱外,選擇顯示核取方塊(解答)和公式(點擊眼睛圖示將屬性打開,調成下圖右的樣子)。
Step 5|去除卡片預覽
同樣在資料庫右上角的「⋯」中,選擇「版面配置」,在卡片預覽區選擇「沒有」。
大功告成,你也試試看吧!
Notion 隨機字卡教學
由於我想要每次進入單字表頁面時,可以順便驗收一下之前學到的單字,所以在我的單字表中,我還製作了一個隨機字卡來考考我自己:
✅ 只要看到漢字,就要在心裡默念它的假名
✅ 只要看到假名,就要在心裡默念它的中文解釋
隨機字卡最後成品示意:
在開始教學前,我先說明隨機字卡的原理:
- 在「單字表」資料庫中,為每個單字生成一個會隨著時間變動的隨機值
- 建立「隨機字卡」資料庫,讓它透過公式抓取「單字表」資料庫中的資料:
- 找到單字表裡隨機值最大的單字 → 這就是隨機字卡要選中的單字
- 設定隨機字卡的機制:
- 如果選定的單字有漢字,顯示漢字,並且在勾選核取方塊後揭露答案(假名)
- 如果選定的單字沒漢字,顯示假名,並且在勾選核取方塊後揭露答案(中文解釋)
- 由於隨機值會隨時間變動,所以每次進入日語單字頁面時,看到的單字都不同
了解隨機字卡的原理後,就開始進入執行步驟囉!
一、建立隨機字卡資料庫,並設定關聯
Step 1|做完單字表後,接著先做「隨機字卡」的資料庫,並在資料庫中新增一個頁面(不用設定頁面名稱)
Step 2|到單字表資料庫,建立一個關聯關係屬性,連結到「隨機字卡」資料庫,並開啟雙向關聯
Step 3|在新建的關聯關係屬性,連結到「隨機字卡」資料庫的剛剛建立的「新頁面」(P.s. 如果你已經新增許多單字,可以用下圖的方式快速套用到所有單字上)
為什麼要用「關聯關係」?
關聯關係除了可以讓資料庫有互相隸屬的效果(例如:文件資料庫、文件夾資料庫之間用關聯關係,就能營造出文建立屬於特定資料夾的效果),也可以是一座連接兩個資料庫的橋樑,讓公式、匯總這兩種資料庫屬性,可以透過橋樑取得另一個資料庫的資訊。
🌝 米米小提醒:為了讓你之後所有新增的單字都自動套用關聯屬性 → 連結到隨機字卡資料庫「新頁面」的設定,建議你在單字卡資料庫的每個瀏覽模式中,都設定好「關聯屬性 → 連結『新頁面』」的篩選設定,這樣就不用一個個手動調整了。
二、為單字生成會變動的隨機值
在單字表資料庫,用公式為每個單字設定一組「會隨著時間變動的隨機碼」。首先,我們先解釋這個隨機碼的獲得步驟。以下三個是我們這階段要在單字表資料庫建立的公式屬性:
屬性名稱 | 說明 | 公式內容 |
---|---|---|
頁面固定數 | 單字資料庫中,每個單字是一個頁面,每個頁面都有一串英數混搭且不重複的頁面 ID。從這個頁面 ID 中取一串數字。 | id().replaceAll(“[a-z]”).substring(12,16).toNumber() |
現在時間 | 把現在的時間變成一串數字。 | now().timestamp().substring(5,9).toNumber() |
隨機數 | 把「頁面固定數」和「現在時間」加減乘除一番,獲得一個隨機數。 | substring(abs((#頁面固定數-# 現在時間)/# 現在時間), 6, 9).toNumber() |
Step 1|建立一個名為「頁面固定數」的公式屬性,從頁面 ID 的數字中取四位數字。:
id().replaceAll("[a-z]").substring(12,16).toNumber()
Step 2|建立一個名為「現在時間」的公式屬性,把現在的時間變成一串數字。
now().timestamp().substring(5,9).toNumber()
Step 3|建立一個名為「隨機數」的公式屬性:把「頁面固定數」和「現在時間」加減乘除一番,獲得一個隨機數。
substring(abs((prop("#頁面固定數")-prop("# 現在時間"))/prop("# 現在時間")), 6, 9).toNumber()
⬆️ 公式解釋:我將 (頁面固定數 – 現在時間 ) / 現在時間,使用 abs() 取得絕對值(正整數),取第 6-8 個字,並轉為數字。
三、建立單字選擇機制
現在在單字庫裡的每個單字,都有一組新隨時間變動的隨機碼,接著設定隨機碼最大者就是我們選定要出現在隨機字卡中的單字。
Step 1|在「隨機字卡」資料庫中,新增一個名為「隨機數最大值」的公式屬性,以便在「單字表」資料庫中找出最大的隨機數
prop("日文單字").map(current.prop("隨機數")).max()
Step 2|接著,我們要在「單字表」資料庫中,建立一個名為「匯總最大數」匯總屬性,去看「隨機字卡」資料庫選中,數值最大的隨機數為何
Step 3|建立一個名為「隨機與最大值是否相同」的公式屬性:
prop("隨機數")==prop("匯總最大數")
⬆️ 這樣一來,當隨機數=最大數,這個公式欄就會打勾,表示該單字就是被選中的單字!
四、設定隨機字卡的機制
前面提及我們想要的效果是:
- 如果選定的單字有漢字,顯示漢字,並且在勾選「解答」後揭露答案(假名)
- 如果選定的單字沒漢字,顯示假名,並且在勾選「解答」後揭露答案(中文解釋)
為達成目標,我們需要在「隨機字卡」資料庫新增三個屬性。
Step 1|在「隨機字卡」單字庫建立一個名為「解答」的核取方塊屬性
Step 2|在「隨機字卡」單字庫建立一個名為「漢字」的公式屬性。這是隨機字卡的題目!
lets(
A, prop("單字表").filter(current.prop("隨機與最大數是否相同")).map(current.prop("漢字")).first(),
B, prop("單字表").filter(current.prop("隨機與最大數是否相同")).map(current.prop("名稱")).first(),
ifs(
A.length()==0, style(B, "b"),
A.length()!=0, A
))
公式翻譯
假設 A = 查看單字表資料庫中「隨機與最大數是否相同」欄有勾選的項目,回傳「漢字」欄的內容。為防止最大隨機數重複,只回傳第一個項目的漢字。
假設 B = 查看單字表資料庫中「隨機與最大數是否相同」欄有勾選的項目,回傳「名稱」欄的內容(也就是假名)。為防止最大隨機數重複,只回傳第一個項目的名稱。
當 A 為空,則顯示 B;當 A 不為空,則顯示 A。
這句的白話文是說:當漢字欄是空的,就顯示假名;當漢字欄不是空的,就顯示漢字。
Step 3|在「隨機字卡」單字庫建立一個名為「假名/解釋」的公式屬性。這是隨機字卡的解答!
lets(
A, prop("單字表").filter(current.prop("隨機與最大數是否相同")).map(current.prop("漢字")).first(),
B, prop("單字表").filter(current.prop("隨機與最大數是否相同")).map(current.prop("解釋")).first(),
C, prop("單字表").filter(current.prop("隨機與最大數是否相同")).map(current.prop("名稱")).first(),
ifs(
prop("解答") == true and A.length()==0, B,
prop("解答") == true and A.length()==1, C
))
公式翻譯
假設 A = 查看單字表資料庫中「隨機與最大數是否相同」欄有勾選的項目,回傳「漢字」欄的內容,且只回傳第一個項目的漢字。
假設 B = 查看單字表資料庫中「隨機與最大數是否相同」欄有勾選的項目,回傳「解釋」欄的內容,且只回傳第一個項目的名稱。
假設 C = 查看單字表資料庫中「隨機與最大數是否相同」欄有勾選的項目,回傳「名稱」欄的內容(也就是假名),且只回傳第一個項目的名稱。
當你勾選「解答」,但該單字無漢字,就顯示中文解釋;
當你勾選「解答」,但該單字有漢字,就顯示假名。
一長串的公式雖然看起來有點嚇人,不過我覺得公式就像一種國外語言,只要你知道你想說什麼,找到對應的字詞、套用正確的語法規則,就可以一步步寫出適用的公式。
這樣一來,隨機字卡也完成啦,快去試試吧!
隨機字卡失準說明
有時候隨機字卡可能會出現單字和解答對不上的情況,可能是因為在時間變換之際,公式沒辦法即時更新。如果遇到這樣的狀況,只要重新載入頁面或先跳到其他頁面再跳回,就能解決。
雖然無法精準地隨時間跳換,我覺得還是很有幫助的!
領取免費單字卡模板
上面的步驟有點看不懂,或者沒時間自己動手做?領取我做好的單字卡模板,可以直接使用,或者一邊研究、一邊改良成適合你的版本:
P.s. 這個模板是我自己使用的,所以比較簡易一些。你可以用這個 Demo 模板為基礎,慢慢打造一個豐富的語言學習基地哦。
如果你有其他用 Notion 學習語言的妙招,歡迎來信或在這篇文底下留言跟我分享哦。
想學習更多實用的 Notion 技巧嗎?
現在就訂閱《小勝利週報》,每週一封價值滿滿的信,直送你的信箱 ✉️
你喜歡小勝利這次的文章嗎?歡迎分享給有需要的人: