Заміни полів

Основні заміни

Найбільш базовий шаблон виглядає приблизно так:

{{Front}}

Коли вставляєте текст у фігурні дужки, Anki шукає поле з такою назвою і замінює текст на фактичний вміст цього поля.

Назви полів чутливі до регістру. Якщо у вас є поле з назвою Front, то написання {{front}} не буде працювати належним чином.

Шаблони не обмежуються лише списком полів. Ви також можете включати довільний текст у свої шаблони. Наприклад, якщо ви вивчаєте столиці країн і створили тип нотатки з полем "Країна", ви можете створити шаблон для передньої сторони картки, що виглядає так:

Яка столиця {{Country}}?

Стандартний шаблон для зворотної сторони буде виглядати приблизно так:

{{FrontSide}}

<hr id=answer>

{{Back}}

Це означає "покажи мені текст, який є на передній стороні картки, потім роздільну лінію і потім поле Зворот".

Частина 'id=answer' вказує Anki, де знаходиться роздільник між питанням і відповіддю. Це дозволяє Anki автоматично прокручувати до місця, де починається відповідь, коли ви натискаєте "показати відповідь" на довгій картці (особливо корисно на мобільних пристроях з невеликими екранами). Якщо ви не хочете горизонтальної лінії на початку відповіді, можете використовувати інший HTML-елемент, наприклад, параграф або div.

Нові рядки

Шаблони карток схожі на веб-сторінки, що означає, що для створення нового рядка потрібна спеціальна команда. Наприклад, якщо ви написали наступне в шаблоні:

one
two

У попередньому перегляді ви побачите:

one two

Щоб додати новий рядок, вам потрібно додати код <br> в кінці рядка, ось так:

one<br>
two

Код br означає "(перехід) на новий рядок".

Те ж саме стосується і полів. Якщо ви хочете відобразити два поля, одне на кожному рядку, ви повинні використовувати:

{{Field 1}}<br>
{{Field 2}}

Текст у мову для окремих полів

Ця функція потребує версії Anki 2.1.20, AnkiMobile 2.0.56 або AnkiDroid 2.17.

Щоб Anki читав поле Front голосом на мові американська англійська, розмістіть наступне у шаблоні картки:

{{tts en_US:Front}}

На Windows, macOS і iOS Anki використовуватиме вбудовані голоси ОС. На Linux голоси не вбудовані, але їх можна додати за допомогою додатків, таких як цей.

Щоб переглянути список доступних мов/голосів, розмістіть наступне у шаблоні картки:

{{tts-voices:}}

Якщо є кілька голосів, що підтримують обрану вами мову, ви можете вказати бажані голоси у списку, і Anki вибере перший доступний голос. Наприклад:

{{tts ja_JP voices=Apple_Otoya,Microsoft_Haruka:Field}}

Це використовуватиме Otoya на пристроях Apple і Haruka на комп'ютерах під управлінням Windows.

У деяких реалізаціях TTS можливо вказати іншу швидкість:

{{tts fr_FR speed=0.8:SomeField}}

Швидкість та голоси є необов'язковими, але мову слід вказати.

На Mac ви можете налаштувати доступні голоси:

  • Відкрийте налаштування системи.
  • Перейдіть до розділу "Універсальний доступ".
  • Виберіть "Мова".
  • Клацніть на спадному списку системних голосів і виберіть "Налаштувати".

Деякі голоси звучать краще за інші, тому експериментуйте, щоб знайти найбільш відповідний для вас. Зверніть увагу, що голос Siri можна використовувати тільки в додатках Apple. Після встановлення нових голосів вам потрібно буде перезапустити Anki, щоб нові голоси стали доступними.

На Windows деякі голоси, такі як Cortana, не можна вибрати, оскільки Microsoft не надає ці голоси для інших додатків.

На типі нотатки cloze (приховування) ви можете змусити Anki читати тільки закриті секції, використовуючи фільтр cloze-only, ось так:

{{tts en_US:cloze-only:Text}}

Фільтр cloze-only підтримується в Anki 2.1.29+, AnkiMobile 2.0.65+ та AnkiDroid 2.17+.

Текст у мову для кількох полів і статичного тексту

Ця функція потребує Anki 2.1.50+, AnkiMobile 2.0.84+ або AnkiDroid 2.17+.

Якщо ви хочете, щоб TTS читав кілька полів або статичний текст, включений у шаблон, ви можете використати наступне:

[anki:tts lang=en_US] Цей текст слід прочитати. Ось {{Field1}} та {{Field2}}[/anki:tts]

Це інший текст в шаблоні. Він поза тегами, тому його не слід читати.

Спеціальні поля

Ви можете включити в свої шаблони наступні спеціальні поля:

  • Теги нотатки: {{Tags}}
  • Тип нотатки: {{Type}}
  • Колода картки: {{Deck}}
  • Дочірня колода картки: {{Subdeck}}
  • Позначка картки: {{CardFlag}}
  • Тип картки ("Forward" тощо): {{Card}}
  • Зміст шаблону для передньої сторінки (дійсно тільки в шаблоні задньої сторінки): {{FrontSide}}

FrontSide не відтворює автоматично будь-яке аудіо, яке було на передній стороні картки. Якщо ви хочете, щоб те саме аудіо відтворювалося автоматично як на передній, так і на задній сторонах картки, вам потрібно вручну включити аудіо поля і на задній стороні.

Як і інші поля, спеціальні імена полів чутливі до регістру - наприклад, потрібно використовувати {{Tags}}, а не {{tags}}.

Поля підказки

Можна додати поле на передню або задню сторону картки, але зробити його прихованим до моменту, поки ви не вирішите його показати. Ми називаємо це 'полем підказки'. Перед додаванням підказки, будь ласка, врахуйте, що чим легше ви робите відповідь на питання в Anki, тим менш ймовірно, що ви запам’ятаєте це питання, коли з ним зіштовхнетеся в реальному житті. Будь ласка, ознайомтеся з принципом 'мінімальної інформації' на https://super-memory.com/articles/20rules.htm перед продовженням.

По-перше, вам потрібно додати поле для зберігання підказки, якщо ви ще не зробили цього. Будь ласка, ознайомтеся з розділом поля, якщо не знаєте, як це зробити.

Припустимо, ви створили поле під назвою MyField, ви можете вказати Anki включити його на картку, але приховати за замовчуванням, додавши наступне у ваш шаблон:

{{hint:MyField}}

Це покаже посилання з написом "show hint" (показати підказку); коли ви натиснете його, вміст поля буде відображено на картці. (Якщо MyField порожнє, нічого не буде показано.)

Якщо ви покажете підказку на питанні і потім розкриєте відповідь, підказка знову буде прихована. Якщо ви хочете, щоб підказка завжди відображалася, коли показується відповідь, вам потрібно буде видалити {{FrontSide}} з вашого шаблону задньої сторінки та вручну додати поля, які ви хочете, щоб з’являлися.

Наразі не можна використовувати поле підказки для аудіо — аудіо буде відтворюватися незалежно від того, чи натиснули ви на посилання підказки.

Якщо ви хочете налаштувати вигляд або поведінку, вам потрібно буде реалізувати поле підказки самостійно. Ми не можемо надати підтримку для цього, але наступний код має допомогти вам розпочати:

{{#Back}}
<a class=hint href="#"
onclick="this.style.display='none';document.getElementById('hint4753594160').style.display='inline-block';return false;">
Show Back</a><div id="hint4753594160" class=hint style="display: none">{{Back}}</div>
{{/Back}}

Посилання на словники

Ви також можете використовувати заміну полів для створення посилань на словники. Уявіть, що ви вивчаєте мову і ваш улюблений онлайн-словник дозволяє шукати текст за допомогою веб-URL, як-от:

http://example.com/search?q=myword

Ви можете додати автоматичне посилання, зробивши наступне у вашому шаблоні:

{{Expression}}

<a href="http://example.com/search?q={{Expression}}">перевірити в словнику</a>

Шаблон вище дозволить вам шукати вираз кожної нотатки, натискаючи на посилання під час перегляду. Однак є одне застереження, тому будь ласка, ознайомтеся з наступним розділом.

Очищення HTML

Як і шаблони, поля зберігаються в HTML. У наведеному вище прикладі з посиланням на словник, якщо вираз містив слово "myword" без форматування, то HTML буде таким же: "myword". Але коли ви включаєте форматування у поля, додається додатковий HTML. Якщо "myword" було виділене жирним шрифтом, наприклад, фактичний HTML буде &lt;b&gt;myword&lt;/b&gt;.

Це може створити проблему для таких речей, як посилання на словники. У наведеному вище прикладі посилання на словник вийде таким:

<a href="http://example.com/search?q=<b>myword</b>">перевірити в словнику</a>

Додаткові символи в посиланні можуть заплутати сайт словника, і ви, ймовірно, не отримаєте жодних збігів.

Щоб вирішити це, Anki надає можливість очищення форматування з полів при їх заміні. Якщо ви додасте префікс до імені поля у вигляді text:, Anki не включатиме жодного форматування. Отже, посилання на словник, яке працюватиме навіть із форматованим текстом, буде таким:

<a href="http://example.com/search?q={{text:Expression}}">перевірити в словнику</a>

Текст справа наліво

Якщо ви використовуєте мову, яка читається справа наліво, вам потрібно буде відрегулювати шаблон наступним чином:

<div dir=rtl>{{FieldThatHasRTLTextInIt}}</div>

Ruby символи

Деякі мови часто використовують анотації над текстом для відображення вимови символів. Ці анотації відомі як ruby символи. В японській мові вони відомі як furigana.

У Anki ви можете відображати ruby символи, використовуючи наступний синтаксис:

Text[Ruby]

Припустимо, текст вище написано в MyField. За замовчуванням, якщо ви просто використовуєте {{MyField}}, поле буде відображатися як є. Щоб правильно позиціонувати ruby символи над текстом, використовуйте фільтр furigana у шаблонах таким чином:

{{furigana:MyField}}

Ось кілька прикладів:

Сирий текстВідображений текст
Text[Ruby]TextRuby
日本語[にほんご]日本語にほんご
世[よ]の 中[なか]なか
世[よ]の中[なか]の中なか (неправильно!)

Зверніть увагу, що в третьому прикладі є пробіл перед символом 中. Це необхідно для того, щоб вказати, що ruby текст застосовується лише до цього символу. Якщо пробілу не буде, ruby текст буде неправильно розміщений над символом の, як показано в четвертому прикладі.

Додаткові фільтри для Ruby символів

Окрім фільтра furigana, ви також можете показувати тільки певні частини ruby тексту за допомогою фільтрів kana та kanji. Фільтр kana буде показувати тільки ruby текст, тоді як фільтр kanji зовсім прибирає ruby текст.

Сирий текстФільтр поляВідображений текст
日本語[にほんご]{{furigana:MyField}}日本語にほんご
日本語[にほんご]{{kana:MyField}}にほんご
日本語[にほんご]{{kanji:MyField}}日本語

Ці назви, знову ж таки, запозичені з японської мови. Термін kana позначає фонетичну систему, що використовується для опису того, як вимовляються слова, тоді як термін kanji позначає китайські символи.

Медіа та LaTeX

Anki не сканує шаблони на наявність посилань на медіа, оскільки це є повільним процесом. Це має наслідки для включення медіа у шаблон.

Статичні звуки/зображення

Якщо ви хочете включити зображення або звуки на ваших картках, які є однаковими для кожної картки (наприклад, логотип компанії на верху кожної картки):

  1. Перейменуйте файл так, щоб його ім’я починалося з підкреслення, наприклад, "_logo.jpg". Підкреслення вказує Anki, що файл використовується шаблоном і його слід експортувати при обміні колодою.

  2. Додайте посилання на медіа у вашому фронтальному або задньому шаблоні, як ось:

<img src="_logo.jpg">

Посилання на поля

Посилання на медіа в полях не підтримуються. Вони можуть або не можуть відображатися під час перегляду карток і не працюватимуть при перевірці на невикористане медіа, імпорті/експорті тощо. Ось приклади, які не працюватимуть:

<img src="{{Expression}}.jpg">

[sound:{{Word}}]

[latex]{{Field 1}}[/latex]

Натомість, ви повинні включити посилання на медіа безпосередньо в поле. Будь ласка, перегляньте розділ імпорту для отримання додаткової інформації.

Перевірка відповіді

Ви можете переглянути відео про цю функцію на YouTube.

Найпростіший спосіб перевірити вашу відповідь — це натиснути "Basic" у верхньому лівому куті екрану додавання карток і вибрати "Basic (type in the answer)".

Якщо ви завантажили спільну колоду і хочете ввести відповідь, ви можете змінити її шаблон картки. Якщо у вас є шаблон на зразок:

{{Native Word}}

{{FrontSide}}

<hr id=answer>

{{Foreign Word}}

Щоб ввести іноземне слово і перевірити, чи правильно ви відповіли, вам потрібно відредагувати ваш фронтальний шаблон так, щоб він виглядав ось так:

{{Native Word}}
{{type:Foreign Word}}

Зверніть увагу, що ми додали type: перед полем, яке ми хочемо порівняти. Оскільки FrontSide знаходиться на зворотному боці картки, поле для введення відповіді також з’явиться на зворотному боці.

Під час перегляду Anki відобразить текстове поле, в яке ви можете ввести відповідь, а натискання Enter або показ відповіді дозволить вам побачити, які частини ви виконали правильно, а які — ні. Розмір шрифту текстового поля буде таким, як ви налаштували для цього поля (через кнопку "Поля" при редагуванні).

Ця функція не змінює спосіб відповіді на картки, тому все ще залежить від вас, наскільки добре ви пам'ятаєте чи не пам'ятаєте.

Можна використовувати тільки одне порівняння для введення на картці. Якщо ви додасте вищезазначений текст кілька разів, це не буде працювати. Воно також підтримує тільки один рядок, тому не підходить для порівняння з полем, яке складається з кількох рядків.

Anki використовує моноширинний шрифт для порівняння відповіді, щоб "надані" та "правильні" частини вирівнювалися. Якщо ви хочете перевизначити шрифт для порівняння відповіді, ви можете додати наступне внизу вашого стилізаційного розділу:

code#typeans { font-family: "myfontname"; }

Це вплине на наступний HTML для порівняння відповіді:

<code id=typeans>...</code>

Просунуті користувачі можуть перевизначити стандартні кольори для поля введення відповіді за допомогою класів css 'typeGood', 'typeBad' та 'typeMissed'. AnkiMobile підтримує 'typeGood' та 'typeBad', але не 'typeMissed'.

Якщо ви хочете перевизначити розмір текстового поля для введення та не хочете змінювати шрифт у діалозі Поля, ви можете перевизначити стандартний інлайн-стиль, використовуючи !important, ось так:

#typeans { font-size: 50px !important; }

Також можливо вводити відповідь для карток з видаленням приховувань. Для цього додайте {{type:cloze:Text}} як на фронтальному, так і на задньому шаблоні, щоб задній виглядав ось так:

{{cloze:Text}}
{{type:cloze:Text}}
{{Extra}}

Зверніть увагу, що оскільки тип приховування не використовує FrontSide, це потрібно додати з обох боків на тип приховувані-картки.

Якщо є кілька елідованих секцій, ви можете розділити відповіді в текстовому полі комою.

Поля для введення відповіді не відображаються в "прев'ю" діалозі у браузері. Коли ви переглядаєте або дивитеся прев'ю у вікні типів карток, вони відобразяться.

Поля для введення відповіді не будуть відображатися, коли ви переглядаєте картки на ankiweb.net.