ไฟล์ข้อความ
ไฟล์ ข้อความธรรมดา ใดๆ ที่มีฟิลด์คั่นด้วยจุลภาค อัฒภาค หรือแท็บสามารถนำเข้ามาใน Anki ได้ หากเป็นไปตามเงื่อนไขบางประการ
-
ไฟล์ต้องเป็นข้อความธรรมดา (myfile.txt) รูปแบบอื่นๆ เช่น myfile.xls, myfile.rtf, myfile.doc ต้องบันทึกเป็นไฟล์ข้อความ ธรรมดาก่อน
-
ไฟล์ต้องอยู่ในรูปแบบ UTF-8 (ดูด้านล่าง)
-
Anki จะกำหนดจำนวนฟิลด์ในไฟล์โดยดูจาก บรรทัดแรก (ที่ไม่ใช่ความคิดเห็น) หากระเบียนบางส่วนในไฟล์ในภายหลังมีฟิลด์น้อยกว่า Anki จะถือว่าฟิลด์ที่ขาดหายไปนั้นว่างเปล่า หากระเบียนบางส่วนของคุณ มีฟิลด์เพิ่มเติม เนื้อหาเพิ่มเติมจะไม่ถูกนำเข้า
-
Anki พยายามเดาว่าตัวคั่นฟิลด์ (จุลภาค แท็บ ฯลฯ) ที่ไฟล์ของคุณใช้คืออะไร หากเดาผิด คุณสามารถเปลี่ยนได้ในหน้าต่างตัวเลือกการนำเข้าและดูตัวอย่าง ผลลัพธ์ หรือคุณสามารถเพิ่ม ส่วนหัวของไฟล์ เพื่อบังคับใช้ตัวคั่นฟิลด์เฉพาะได้
ฟิลด์ในไฟล์ข้อความของคุณสามารถจับคู่กับฟิลด์ใดก็ได้ในบันทึกย่อของคุณ รวมถึงฟิลด์แท็ก คุณสามารถเลือกได้ว่าฟิลด์ใดในไฟล์ข้อความ สอดคล้องกับฟิลด์ใดในบันทึกย่อเมื่อคุณนำเข้า
เมื่อคุณนำเข้าไฟล์ข้อความ คุณสามารถเลือกได้ว่าจะใส่การ์ด ลงในสำรับใด โปรดทราบว่าหากคุณตั้งค่าตัวเลือกการแทนที่สำรับสำหรับ เทมเพลตของคุณอย่างน้อยหนึ่งรายการ การ์ดจะไปที่สำรับนั้นแทน สำรับที่คุณเลือก
นี่คือตัวอย่างของไฟล์ที่ถูกต้องซึ่งมีสามฟิลด์:
apple;banana;grape
first field;second field;third field
มีสองวิธีในการรวมการขึ้นบรรทัดใหม่หรือตัวคั่นฟิลด์ในฟิลด์
หลีกเลี่ยงอักขระโดยการใส่เนื้อหาของฟิลด์ไว้ใน เครื่องหมายคำพูด:
hello;"this is
a two line answer"
two;this is a one line field
"this includes a ; (semicolon)";another field
เนื่องจากเครื่องหมายคำพูดใช้เพื่อทำเครื่องหมายตำแหน่งที่ฟิลด์เริ่มต้นและสิ้นสุด หากคุณ ต้องการรวมไว้ในฟิลด์ของคุณ คุณต้องแทนที่ เครื่องหมายคำพูดคู่เดียวด้วยเครื่องหมายคำพูดคู่สองตัวเพื่อ “หลีกเลี่ยง” ไม่ให้มีการ จัดการตามปกติ ดังนี้:
field one;"field two with ""escaped quotes"" inside it"
เมื่อคุณใช้โปรแกรมสเปรดชีตเช่น Libreoffice เพื่อสร้างไฟล์ CSV ให้คุณ โปรแกรมจะดูแลการหลีกเลี่ยงเครื่องหมายคำพูดคู่โดยอัตโนมัติ
ใช้การขึ้นบรรทัดใหม่แบบ HTML:
hello; this is<br>a two line answer
two; this is a one line one
คุณต้องเปิด อนุญาต HTML ในฟิลด์ ในกล่องโต้ตอบการนำเข้า เพื่อให้การขึ้นบรรทัดใหม่แบบ HTML ทำงานได้
การขึ้นบรรทัดใหม่หลายบรรทัดที่หลีกเลี่ยงจะทำงานไม่ถูกต้องหากคุณใช้ การลบคำในช่องว่างที่ครอบคลุมหลายบรรทัด ในกรณีนี้ โปรดใช้ การขึ้นบรรทัดใหม่แบบ HTML แทน
คุณยังสามารถรวมแท็กในฟิลด์อื่นและเลือกเป็นฟิลด์แท็ก ได้ในกล่องโต้ตอบการนำเข้า:
first field;second field;tags
นี่คือตัวอย่างของไฟล์ที่ถูกต้องซึ่งบรรทัดแรกถูกละเว้น (#):
# this is a comment and is ignored
foo bar;bar baz;baz quux
field1;field2;field3
สเปรดชีตและ UTF-8
หากคุณมีอักขระที่ไม่ใช่ภาษาละตินในไฟล์ของคุณ (เช่น เครื่องหมายกำกับเสียง ภาษาญี่ปุ่น และอื่นๆ) Anki คาดว่าไฟล์จะถูกบันทึกใน “การเข้ารหัส UTF-8” วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการใช้โปรแกรมสเปรดชีต LibreOffice ฟรี แทน Excel เพื่อแก้ไขไฟล์ของคุณ เนื่องจากรองรับ UTF-8 ได้อย่างง่ายดาย และยังส่งออกเนื้อหาหลายบรรทัดได้อย่างถูกต้อง ซึ่งแตกต่างจาก Excel หากคุณต้องการ ใช้ Excel ต่อไป โปรดดู เอกสารนี้ สำหรับข้อมูลเพิ่มเติม
ในการบันทึกสเปรดชีตของคุณเป็นไฟล์ที่ Anki สามารถอ่านได้ด้วย LibreOffice ให้ไปที่ ไฟล์ > บันทึกเป็น จากนั้นเลือก CSV สำหรับประเภทของไฟล์ หลังจากยอมรับตัวเลือกเริ่มต้น LibreOffice จะบันทึกไฟล์และคุณ สามารถนำเข้าไฟล์ที่บันทึกไว้ไปยัง Anki ได้
HTML
Anki สามารถปฏิบัติต่อข้อความที่นำเข้าจากไฟล์ข้อความเป็น HTML (ภาษาที่ใช้ สำหรับหน้าเว็บ) ซึ่งหมายความว่าข้อความที่มีตัวหนา ตัวเอียง และการจัดรูปแบบอื่นๆ สามารถส่งออกไปยังไฟล์ข้อความและนำเข้าอีกครั้งได้ หากคุณ ต้องการรวมการจัดรูปแบบ HTML คุณสามารถเลือกช่องทำเครื่องหมาย “อนุญาต HTML ใน ฟิลด์” เมื่อนำเข้า คุณอาจต้องการปิดตัวเลือกนี้หากคุณ พยายามนำเข้าการ์ดที่มีเนื้อหาที่มีวงเล็บแหลมหรือ ไวยากรณ์ HTML อื่นๆ
หากคุณต้องการใช้ HTML สำหรับการจัดรูปแบบไฟล์ของคุณ แต่ยังต้องการ รวมวงเล็บแหลมหรือเครื่องหมายและ คุณสามารถใช้การแทนที่ต่อไปนี้ได้:
| อักขระ | การแทนที่ |
|---|---|
| < | < |
| > | > |
| & | & |
การนำเข้าสื่อ
หากคุณต้องการรวมเสียงและรูปภาพจากการนำเข้าไฟล์ข้อความ ให้คัดลอก ไฟล์ไปยังโฟลเดอร์ collection.media อย่าใส่ ไดเรกทอรีย่อยในโฟลเดอร์สื่อ มิฉะนั้นคุณลักษณะบางอย่างจะไม่ทำงาน
หลังจากที่คุณคัดลอกไฟล์แล้ว ให้เปลี่ยนฟิลด์ใดฟิลด์หนึ่งใน ไฟล์ข้อความของคุณดังนี้
<img src="myimage.jpg">
หรือ
[sound:myaudio.mp3]
อีกทางหนึ่ง คุณสามารถใช้คุณสมบัติ ค้นหาและแทนที่ ในหน้าจอเรียกดูเพื่ออัปเดตฟิลด์ทั้งหมดพร้อมกัน หากแต่ละฟิลด์ มีข้อความเช่น “myaudio” และคุณต้องการให้มันเล่นเสียง คุณจะต้องค้นหา (.*) และแทนที่ด้วย “[sound:\1.mp3]” โดยเปิดใช้งาน ตัวเลือก นิพจน์ทั่วไป
เมื่อนำเข้าไฟล์ข้อความที่มีการอ้างอิงเหล่านี้ คุณต้องตรวจสอบให้แน่ใจว่า เปิดใช้งานตัวเลือก “อนุญาต HTML”
คุณอาจอยากจะทำสิ่งนี้ในเทมเพลต เช่น:
<img src="{{field name}}">
Anki ไม่รองรับสิ่งนี้ด้วยเหตุผลสองประการ: การค้นหาสื่อที่ใช้แล้ว มีค่าใช้จ่ายสูง เนื่องจากต้องแสดงผลการ์ดแต่ละใบ และฟังก์ชันดังกล่าว ไม่ชัดเจนสำหรับผู้ใช้สำรับที่แชร์ โปรดใช้เทคนิคการค้นหาและแทนที่ แทน
สื่อจำนวนมาก
อีกทางเลือกหนึ่งสำหรับการนำเข้าสื่อจำนวนมากพร้อมกันคือการใช้ ส่วนเสริม การนำเข้าสื่อ ส่วนเสริมนี้จะสร้างบันทึกย่อโดยอัตโนมัติสำหรับไฟล์ทั้งหมดในโฟลเดอร์ ที่คุณเลือก โดยมีชื่อไฟล์อยู่ด้านหน้า (ลบด้วยนามสกุลไฟล์ ดังนั้นหากคุณมีไฟล์ชื่อ apple.jpg ด้านหน้าจะระบุว่า “apple”) และ รูปภาพหรือเสียงอยู่ด้านหลัง หากคุณต้องการ การจัดเรียงสื่อและชื่อไฟล์ที่แตกต่างกัน คุณสามารถ เปลี่ยนประเภทบันทึกย่อ ของการ์ดที่สร้างขึ้นในภายหลังได้
รายการซ้ำและการอัปเดต
เมื่อนำเข้าไฟล์ข้อความ Anki จะใช้ฟิลด์แรกเพื่อพิจารณาว่า บันทึกย่อไม่ซ้ำกันหรือไม่ โดยค่าเริ่มต้น หากไฟล์ที่คุณกำลังนำเข้ามี ฟิลด์แรกที่ตรงกับบันทึกย่อที่มีอยู่แล้วในคอลเล็กชันของคุณและ บันทึกย่อที่มีอยู่แล้วนั้นเป็นประเภทเดียวกับประเภทที่คุณกำลังนำเข้า ฟิลด์อื่นๆ ของบันทึกย่อที่มีอยู่แล้วจะได้รับการอัปเดตตามเนื้อหาของ ไฟล์ที่นำเข้า กล่องดรอปดาวน์ในหน้าจอนำเข้าช่วยให้คุณสามารถเปลี่ยน ลักษณะการทำงานนี้ได้ เพื่อละเว้นรายการซ้ำโดยสิ้นเชิง หรือนำเข้า เป็นบันทึกย่อใหม่แทนที่จะอัปเดตรายการที่มีอยู่แล้ว
การตั้งค่า ขอบเขตการจับคู่ ควบคุมวิธีการระบุรายการซ้ำ เมื่อ เลือก ประเภทบันทึกย่อ Anki จะระบุรายการซ้ำหากมี บันทึกย่ออื่นที่มีประเภทบันทึกย่อเดียวกันและมีฟิลด์แรกเหมือนกัน เมื่อตั้งค่าเป็น ประเภทบันทึกย่อและสำรับ รายการซ้ำจะถูกตั้งค่าสถานะก็ต่อเมื่อบันทึกย่อที่มีอยู่แล้วนั้น อยู่ในสำรับที่คุณกำลังนำเข้าด้วย
หากคุณเปิดใช้งานการอัปเดตและเวอร์ชันเก่าของบันทึกย่อที่คุณกำลัง นำเข้ามีอยู่แล้วในคอลเล็กชันของคุณ บันทึกย่อเหล่านั้นจะได้รับการอัปเดต ในตำแหน่งปัจจุบัน (ในสำรับปัจจุบัน) แทนที่จะถูกย้ายไปยังสำรับที่คุณ ตั้งค่าไว้ในกล่องโต้ตอบการนำเข้า หากบันทึกย่อได้รับการอัปเดตในตำแหน่งปัจจุบัน ข้อมูลการจัดตารางเวลาที่มีอยู่ของการ์ดทั้งหมดจะถูกเก็บรักษาไว้
สำหรับข้อมูลเกี่ยวกับวิธีการจัดการรายการซ้ำในไฟล์ .apkg โปรดดู ส่วน แพ็คเกจสำรับ
ส่วนหัวของไฟล์
Anki 2.1.54+ รองรับส่วนหัวบางอย่างที่สามารถรวมไว้ในไฟล์ข้อความเพื่อ
ทำให้การนำเข้ามีประสิทธิภาพหรือสะดวกยิ่งขึ้น ประกอบด้วยคู่ #key:value
และต้องระบุไว้ในบรรทัดแยกกันที่ด้านบนของไฟล์
| คีย์ | ค่าที่อนุญาต | พฤติกรรม |
|---|---|---|
separator | Comma, Semicolon, Tab, Space, Pipe, Colon หรืออักขระตามตัวอักษรที่สอดคล้องกัน | กำหนดตัวคั่นฟิลด์ |
html | true, false | กำหนดว่าไฟล์จะถูกปฏิบัติต่อเป็น HTML หรือไม่ |
tags | รายการแท็ก คั่นด้วยช่องว่าง | เพิ่มแท็กที่ระบุในทุกบันทึกย่อที่นำเข้า |
columns | รายการชื่อ คั่นด้วยตัวคั่นที่ตั้งไว้ก่อนหน้า | กำหนดจำนวนคอลัมน์และแสดงชื่อที่กำหนดเมื่อนำเข้า |
notetype | ชื่อประเภทบันทึกย่อหรือ ID | ตั้งค่าประเภทบันทึกย่อล่วงหน้า หากมีอยู่ |
deck | ชื่อสำรับหรือ ID | ตั้งค่าสำรับล่วงหน้า หากมีอยู่ |
notetype column | 1, 2, 3, … | กำหนดว่าคอลัมน์ใดมีชื่อประเภทบันทึกย่อหรือ ID ของแต่ละบันทึกย่อ โปรดดูที่ คอลัมน์ประเภทบันทึกย่อ |
deck column | 1, 2, 3, … | กำหนดว่าคอลัมน์ใดมีชื่อสำรับหรือ ID ของแต่ละบันทึกย่อ โปรดดูที่ คอลัมน์สำรับ |
tags column | 1, 2, 3, … | กำหนดว่าคอลัมน์ใดมีแท็กของแต่ละบันทึกย่อ |
guid column | 1, 2, 3, … | กำหนดว่าคอลัมน์ใดมี GUID ของแต่ละบันทึกย่อ โปรดดูที่ คอลัมน์ GUID |
ส่วนหัวบางอย่างมีความหมายเพิ่มเติม
คอลัมน์ประเภทบันทึกย่อ
โดยปกติ บันทึกย่อทั้งหมดจากไฟล์จะถูกจับคู่กับประเภทบันทึกย่อเดียว ซึ่งจะเปลี่ยนแปลงหากมีคอลัมน์ที่มีชื่อประเภทบันทึกย่อหรือ ID
ซึ่งจะช่วยให้คุณสามารถ นำเข้าบันทึกย่อที่มีประเภทบันทึกย่อต่างกันได้ และฟิลด์ของบันทึกย่อเหล่านั้นจะถูกจับคู่โดยนัย: คอลัมน์ปกติแรกจะใช้สำหรับฟิลด์แรกของบันทึกย่อใดๆ โดยไม่คำนึงถึง ประเภทบันทึกย่อ คอลัมน์ปกติที่สองสำหรับฟิลด์ที่สอง และอื่นๆ คอลัมน์ปกติ ในที่นี้หมายถึงคอลัมน์ที่ไม่มีข้อมูลพิเศษ เช่น สำรับ แท็ก ประเภทบันทึกย่อ หรือ GUID
คอลัมน์สำรับ
โดยปกติ การ์ดใหม่ใดๆ ที่สร้างขึ้นจากการนำเข้าไฟล์ข้อความจะถูกวาง ในสำรับเดียวที่คุณเลือก อย่างไรก็ตาม หากไฟล์มีคอลัมน์สำรับ การ์ดใหม่ ของบันทึกย่อจะถูกวางในสำรับที่ระบุไว้แทน หากสำรับไม่มีอยู่ สำรับที่มีชื่อที่กำหนดจะถูกสร้างขึ้น
คอลัมน์ GUID
GUID ย่อมาจาก Globally Unique Identifier เมื่อคุณสร้างบันทึกย่อใน Anki, Anki จะกำหนด ID ที่ไม่ซ้ำกันให้กับแต่ละบันทึกย่อ ซึ่งสามารถใช้สำหรับการตรวจสอบรายการซ้ำได้ หากคุณ ส่งออกบันทึกย่อของคุณพร้อมกับ GUID ที่รวมอยู่ คุณสามารถทำการเปลี่ยนแปลงบันทึกย่อได้ และ ตราบใดที่คุณไม่แก้ไขฟิลด์ GUID คุณจะสามารถนำเข้าบันทึกย่อกลับ เข้ามาเพื่ออัปเดตบันทึกย่อที่มีอยู่ได้
โปรดทราบว่า GUID มีไว้เพื่อให้ Anki สร้างขึ้น หากคุณกำลังสร้าง
ID ของคุณเอง เช่น MYNOTE0001 ขอแนะนำให้คุณวาง ID
ไว้ในฟิลด์แรก แทนที่จะกำหนดให้กับ GUID ภายในของ Anki เมื่อนำเข้า
Anki สามารถใช้ฟิลด์แรกหรือ GUID สำหรับการตรวจสอบรายการซ้ำได้ ดังนั้นคุณจึงไม่
จำเป็นต้องทำให้ ID เป็น GUID เพื่อที่จะสามารถอัปเดตบันทึกย่อของคุณได้
อีกสิ่งหนึ่งที่ควรทราบคือตัวเลือกรายการซ้ำจะใช้ไม่ได้กับแถวที่มี GUID ที่ไม่ว่างเปล่า หากมี GUID ให้ไว้ และมีอยู่แล้วในคอลเล็กชัน จะไม่สร้างรายการซ้ำ