Add help entries for FSRS options
This commit is contained in:
parent
bfe340c163
commit
6e177851cc
@ -342,6 +342,48 @@ deck-config-estimated-retention = Estimated retention: { $num }
|
||||
deck-config-complete = { $num }% complete.
|
||||
deck-config-reschedule-cards-on-change = Reschedule cards on change
|
||||
|
||||
deck-config-fsrs-tooltip =
|
||||
The Free Spaced Repetition Scheduler (FSRS) is an alternative to Anki's legacy SuperMemo 2 (SM2) scheduler.
|
||||
By more accurately determining when you are likely to forget, it can help you remember
|
||||
more material in the same amount of time. This setting is shared by all deck presets.
|
||||
deck-config-desired-retention-tooltip =
|
||||
The default value of 0.9 will schedule cards so you have a 90% chance of remembering them when
|
||||
they come up for review again. If you increase this value, Anki will show cards more frequently
|
||||
to increase the chances of you remembering them. If you decrease the value, Anki will show cards
|
||||
less frequently, and you will forget more of them. Be conservative when adjusting this - higher
|
||||
values will greatly increase your workload, and lower values can be demoralizing when you forget
|
||||
a lot of material.
|
||||
deck-config-sm2-retention-tooltip =
|
||||
If your actual retention before switching to FSRS was significantly different from 0.9, adjusting
|
||||
this value will allow Anki to better estimate your memory state when it encounters cards that are
|
||||
missing review logs. Since review logs typically won't be missing unless you explicitly deleted them
|
||||
to free up space, most users will not need to adjust this.
|
||||
deck-config-weights-tooltip =
|
||||
Model weights affect how cards are scheduled. Once you've accumulated 1000+ reviews, you can optimize
|
||||
the weights below.
|
||||
deck-config-reschedule-cards-on-change-tooltip =
|
||||
This option controls whether the due dates of cards will be changed when you enable FSRS, or change
|
||||
the weights. The default is not to reschedule cards: future reviews will use the new scheduling, but
|
||||
there will be no immediate change to your workload. If rescheduling is enabled, the due dates of cards
|
||||
will be changed. Depending on your desired retention, this can result in a large number of cards becoming
|
||||
due, so is not recommended when first switching from SM2.
|
||||
deck-config-compute-optimal-weights-tooltip =
|
||||
Once you've done 1000+ reviews in Anki, you can use the Optimize button to analyze your review history,
|
||||
and automatically generate weights that are optimal for your memory and the content you're studying.
|
||||
If you have decks that vary wildly in difficulty, it is recommended to assign them separate presets, as
|
||||
the weights for easy decks and hard decks will be different. There is no need to optimize your weights
|
||||
frequently - once every few months is sufficient.
|
||||
|
||||
By default, weights will be calculated from the review history of all decks using the current preset. You can
|
||||
optionally adjust the search before calculating the weights, if you'd like to alter which cards are used for
|
||||
optimizing the weights.
|
||||
deck-config-compute-optimal-retention-tooltip =
|
||||
This tool assumes you're starting with 0 cards, and will attempt to calculate the amount of material you'll
|
||||
be able to retain in the given time frame. The estimated retention will greatly depend on your inputs, and
|
||||
if it significantly differs from 0.9, it's a sign that the time you've allocated each day is either too low
|
||||
or too high for the amount of cards you're trying to learn. This number can be useful as a reference, but it
|
||||
is not recommended to copy it into the desired retention field.
|
||||
|
||||
## NO NEED TO TRANSLATE. This text is no longer used by Anki, and will be removed in the future.
|
||||
|
||||
deck-config-bury-siblings = Bury siblings
|
||||
|
@ -31,11 +31,46 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||
const fsrs = state.fsrs;
|
||||
|
||||
const settings = {
|
||||
fsrs: {
|
||||
title: "FSRS",
|
||||
help: tr.deckConfigFsrsTooltip(),
|
||||
sched: HelpItemScheduler.FSRS,
|
||||
},
|
||||
maximumInterval: {
|
||||
title: tr.schedulingMaximumInterval(),
|
||||
help: tr.deckConfigMaximumIntervalTooltip(),
|
||||
url: HelpPage.DeckOptions.maximumInterval,
|
||||
},
|
||||
desiredRetention: {
|
||||
title: tr.deckConfigDesiredRetention(),
|
||||
help: tr.deckConfigDesiredRetentionTooltip(),
|
||||
sched: HelpItemScheduler.FSRS,
|
||||
},
|
||||
sm2Retention: {
|
||||
title: tr.deckConfigSm2Retention(),
|
||||
help: tr.deckConfigSm2RetentionTooltip(),
|
||||
sched: HelpItemScheduler.FSRS,
|
||||
},
|
||||
modelWeights: {
|
||||
title: tr.deckConfigWeights(),
|
||||
help: tr.deckConfigWeightsTooltip(),
|
||||
sched: HelpItemScheduler.FSRS,
|
||||
},
|
||||
rescheduleCardsOnChange: {
|
||||
title: tr.deckConfigRescheduleCardsOnChange(),
|
||||
help: tr.deckConfigRescheduleCardsOnChangeTooltip(),
|
||||
sched: HelpItemScheduler.FSRS,
|
||||
},
|
||||
computeOptimalWeights: {
|
||||
title: tr.deckConfigComputeOptimalWeights(),
|
||||
help: tr.deckConfigComputeOptimalWeightsTooltip(),
|
||||
sched: HelpItemScheduler.FSRS,
|
||||
},
|
||||
computeOptimalRetention: {
|
||||
title: tr.deckConfigComputeOptimalRetention(),
|
||||
help: tr.deckConfigComputeOptimalRetentionTooltip(),
|
||||
sched: HelpItemScheduler.FSRS,
|
||||
},
|
||||
startingEase: {
|
||||
title: tr.schedulingStartingEase(),
|
||||
help: tr.deckConfigStartingEaseTooltip(),
|
||||
@ -101,7 +136,12 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||
{#if state.v3Scheduler}
|
||||
<Item>
|
||||
<SwitchRow bind:value={$fsrs} defaultValue={false}>
|
||||
<SettingTitle>FSRS</SettingTitle>
|
||||
<SettingTitle
|
||||
on:click={() =>
|
||||
openHelpModal(Object.keys(settings).indexOf("fsrs"))}
|
||||
>
|
||||
FSRS
|
||||
</SettingTitle>
|
||||
</SwitchRow>
|
||||
</Item>
|
||||
|
||||
@ -210,7 +250,11 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||
</SpinBoxFloatRow>
|
||||
</Item>
|
||||
{:else}
|
||||
<FsrsOptions {state} />
|
||||
<FsrsOptions
|
||||
{state}
|
||||
openHelpModal={(key) =>
|
||||
openHelpModal(Object.keys(settings).indexOf(key))}
|
||||
/>
|
||||
{/if}
|
||||
|
||||
{#if state.v3Scheduler}
|
||||
|
@ -25,6 +25,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||
import WeightsInputRow from "./WeightsInputRow.svelte";
|
||||
|
||||
export let state: DeckOptionsState;
|
||||
export let openHelpModal: (String) => void;
|
||||
|
||||
const presetName = state.currentPresetName;
|
||||
|
||||
@ -202,7 +203,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||
min={0.7}
|
||||
max={0.97}
|
||||
>
|
||||
<SettingTitle>
|
||||
<SettingTitle on:click={() => openHelpModal("desiredRetention")}>
|
||||
{tr.deckConfigDesiredRetention()}
|
||||
</SettingTitle>
|
||||
</SpinBoxFloatRow>
|
||||
@ -213,7 +214,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||
min={0.7}
|
||||
max={0.97}
|
||||
>
|
||||
<SettingTitle>
|
||||
<SettingTitle on:click={() => openHelpModal("sm2Retention")}>
|
||||
{tr.deckConfigSm2Retention()}
|
||||
</SettingTitle>
|
||||
</SpinBoxFloatRow>
|
||||
@ -224,13 +225,15 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||
defaultValue={[]}
|
||||
defaults={defaults.fsrsWeights}
|
||||
>
|
||||
<SettingTitle>{tr.deckConfigWeights()}</SettingTitle>
|
||||
<SettingTitle on:click={() => openHelpModal("modelWeights")}>
|
||||
{tr.deckConfigWeights()}
|
||||
</SettingTitle>
|
||||
</WeightsInputRow>
|
||||
</div>
|
||||
|
||||
<div class="m-2">
|
||||
<SwitchRow bind:value={$config.rescheduleFsrsCards} defaultValue={false}>
|
||||
<SettingTitle>
|
||||
<SettingTitle on:click={() => openHelpModal("rescheduleCardsOnChange")}>
|
||||
{tr.deckConfigRescheduleCardsOnChange()}
|
||||
</SettingTitle>
|
||||
</SwitchRow>
|
||||
|
Loading…
Reference in New Issue
Block a user