Damien Elmes
c98247fa0f
translations no longer require an open collection
2020-02-23 14:57:02 +10:00
Damien Elmes
0d1a30c6d8
rework Fluent handling
...
- all .ftl files for a language are concatenated into a single file
at build time
- all languages are included in the binary
- external ftl files placed in the ftl folder can override the
built-in definitions
- constants are automatically generated for each string key
- dropped the separate StringsGroup enum
2020-02-23 13:22:50 +10:00
Arthur Milchior
adfbd0d70f
should(default)deckbedisplayed in snake case
2020-02-22 04:08:01 -08:00
Arthur Milchior
be98614d41
defaultDeck to default_deck
2020-02-22 04:03:42 -08:00
Arthur Milchior
6a50730f0d
Remove options for all/allNames
...
Instead, we always see default deck if it has a child
As indicated in https://github.com/ankitects/anki/pull/452
2020-02-22 04:03:42 -08:00
Arthur Milchior
89b79d9800
forceDefault to force_default
2020-02-22 04:01:42 -08:00
Damien Elmes
7409deae34
es-ES -> es
2020-02-22 19:47:23 +10:00
Damien Elmes
e5fa1759b3
formatting fix
2020-02-21 21:21:36 +10:00
Damien Elmes
abc260b7c3
reviews
2020-02-21 20:36:22 +10:00
Damien Elmes
e84fa7dee3
add next learning due time + remaining count to congrats screen
...
https://anki.tenderapp.com/discussions/ankidesktop/38000-v2-scheduler-learning-cards
2020-02-21 19:54:50 +10:00
Damien Elmes
3a83d9844a
add studied_today(), move to statistics.ftl
2020-02-21 18:01:15 +10:00
Damien Elmes
e3e376036f
add average-answer-time to Fluent
...
drop the 0.1 special case; we're using two decimals now
2020-02-21 17:42:55 +10:00
Damien Elmes
74bff450e2
add non-abbreviated timespan translation; update existing short=True calls
...
- drop the '5m3s' special casing done in the card stats screen, and
just use decimals
- change alignment of the review log so that the non-abbreviated
spans are easier to read
2020-02-21 15:29:38 +10:00
Damien Elmes
11647daec1
move answer_button_time to the backend, split sched into separate module
2020-02-21 15:29:38 +10:00
Damien Elmes
2633d6db4b
move answer button labels into fluent
2020-02-21 15:29:38 +10:00
Damien Elmes
cf1824dac5
update to latest fluent-rs and add basic locale-aware decimals
...
- git version pinned at the moment until the concurrency fix
lands in 0.10.2
- currently float values are hard-coded at 2 decimal places;
we should switch to using NUMBER() in the future
2020-02-21 15:29:38 +10:00
Damien Elmes
e98e85a0b8
Revert "Merge pull request #452 from Arthur-Milchior/noDefaultDeckInBrowser"
...
This reverts commit 56d908cc28 , reversing
changes made to c123b5bf95 .
More discussion required on https://github.com/ankitects/anki/pull/452
2020-02-21 12:27:39 +10:00
Damien Elmes
56d908cc28
Merge pull request #452 from Arthur-Milchior/noDefaultDeckInBrowser
...
No default deck in browser
2020-02-21 12:10:36 +10:00
Damien Elmes
c123b5bf95
fix Deck field in card templates showing filtered deck
...
https://anki.tenderapp.com/discussions/ankidesktop/38984-deck-changed
2020-02-19 20:00:06 +10:00
Arthur Milchior
9860d5ba5e
method shouldBeDisplayed
2020-02-19 01:56:33 -08:00
Damien Elmes
59b70d255b
don't error when fuzz is 0
...
https://anki.tenderapp.com/discussions/ankidesktop/38956-bug-report-sched2-anki2120
2020-02-18 11:00:26 +10:00
Damien Elmes
0e7f433071
fix legacy filter return values being ignored
2020-02-18 09:12:16 +10:00
Damien Elmes
fd01cac4d7
split "Due" into three different contexts for translators
2020-02-17 14:41:01 +10:00
Damien Elmes
f40a00f0cb
localize some error messages
2020-02-17 11:38:22 +10:00
Damien Elmes
644c1f4c26
Revert "test out the Python Fluent implementation"
...
This reverts commit 181c17a0988cf9e57b2604746000c6072cb96206.
Reverting this to keep as a record.
2020-02-17 08:40:17 +10:00
Damien Elmes
07318a20c6
test out the Python Fluent implementation
...
The parsing step is considerably slower in Python, but if parsing
is moved out of the test function, Python wins at 45ms to Rust's 67ms
on 10,000 rounds, presumably due to the overhead of serializing to
Protobuf. Not enough of a difference to justify the inclusion of extra
dependencies and duplicating the lookup code in any case.
2020-02-17 08:40:17 +10:00
Damien Elmes
4b63a07c99
expose translations to Python
2020-02-17 08:40:17 +10:00
Damien Elmes
1f736239cd
pass progress back as translated string(s)
2020-02-17 08:40:17 +10:00
Damien Elmes
8450214cda
add ftl to the build process, and a sync-git script
...
also
- ensure po files are checked when updated
- add start of sync.ftl
2020-02-17 08:40:17 +10:00
Damien Elmes
632041f14f
drop unused threadLocal and noHint i18n code
2020-02-17 08:40:17 +10:00
Damien Elmes
ff9daa099b
use new file locations for translations
...
- translation files are now stored in a separate repo, and
use a layout compatible with Pontoon
- normalize the language code in aqt, so that old config settings
and command line arguments are correctly handled
- store Qt and gettext translations in separate subfolders
- remove Crowdin scripts
2020-02-17 08:40:17 +10:00
Damien Elmes
7a0d1ffae0
fix sync deauth
2020-02-17 08:40:17 +10:00
Damien Elmes
a5558d5413
pass locale details to backend
2020-02-17 08:40:17 +10:00
Damien Elmes
47aa27f877
fix Lojban selection
2020-02-17 08:40:17 +10:00
Damien Elmes
ba0bc3086c
move empty card check into template code
2020-02-17 08:40:17 +10:00
Damien Elmes
0738ff46b6
make template errors translatable
2020-02-17 08:40:17 +10:00
Damien Elmes
d23477b143
update media DB when adding LaTeX images
2020-02-17 08:40:17 +10:00
Damien Elmes
1383973753
shorten add_file_to_media_folder
2020-02-17 08:40:17 +10:00
Damien Elmes
89626c1a72
use media.trash for unused media deletion as well
2020-02-17 08:40:17 +10:00
Damien Elmes
7ce49cb1f8
fix latex render progress; display more frequently
2020-02-17 08:40:17 +10:00
Damien Elmes
c4d6d9480c
if latex fails to render in bulk, show the user the problem
2020-02-17 08:40:17 +10:00
Damien Elmes
625b5728cc
new render_all_latex() + gui button; remove some old code
2020-02-17 08:40:17 +10:00
Damien Elmes
d32e2fe6eb
add extract_latex to backend; use it for latex build
2020-02-17 08:40:17 +10:00
Damien Elmes
2c634f5163
stripLatex() does not appear to be used anywhere
2020-02-17 08:40:17 +10:00
Damien Elmes
790f3c9f72
plug new media check in
2020-02-17 08:40:17 +10:00
Damien Elmes
edf60b10d4
backend stores media folder/db locations; don't need to pass them in
2020-02-17 08:40:17 +10:00
Damien Elmes
ef14b1a96b
simplify code by accumulating stats at the source
2020-02-17 08:40:17 +10:00
Damien Elmes
77158760ff
use enums for some common errors
2020-02-17 08:40:16 +10:00
Damien Elmes
ecab2da99e
remove unused code
2020-02-17 08:40:16 +10:00
Damien Elmes
738e415463
connect media sync progress to Python, add a progress dialog
2020-02-17 08:40:16 +10:00
Damien Elmes
804432fb3e
use separate fn to init backend, for future pyo3 0.9 release compat
2020-02-17 08:40:16 +10:00
Damien Elmes
1acb3b86b9
backend init can now fail, and update media db when file is added
...
- Adding files inside Anki now updates the media DB, so a full file
scan at sync time is no longer required if no other changes have been
made.
- Use a protobuf message for backend initialization, and return a
string error if initialization fails.
2020-02-17 08:40:16 +10:00
Damien Elmes
9a280897d3
drop support for vfat
2020-02-17 08:40:16 +10:00
Damien Elmes
c8ea895cae
drop support for the early 2.0 release media db format
2020-02-17 08:40:16 +10:00
Damien Elmes
1102983a4e
drop the clean* funcs
2020-02-17 08:40:16 +10:00
Damien Elmes
c9a5ed3cc6
add add_file() and write_data()
2020-02-17 08:40:16 +10:00
Arthur Milchior
16f40c9a01
Hook card_is_being_flushed
...
It often arrives that I want to know when a card is going to be
flushed and in this case change it.
This could be the case if I want to change the scheduler without
implementing a whole scheduler. It simply reads the card history and
change interval and due date.
It's also the case for the "'trigger -> action' rules", which apply
some coded actions when some event occurs. E.g. suspend/unsuspend a
sibling when card become mature/is forgotten.
2020-02-14 00:59:32 -08:00
Arthur Milchior
347523b442
Factorizing card's flush
2020-02-14 00:59:32 -08:00
Arthur Milchior
4b632b398e
hook note_is_being_flushed
...
I created multiple add-ons which want to transform a note before it is
being saved. For example, one add-on trim it, and remove useless line
break which arrived by accident.
Another add-on want to compile LaTeX as soon as the note is done, and
warn the user if LaTeX can't be compiled.
Having a hook in pre-flush would be useful here
2020-02-14 00:57:27 -08:00
Damien Elmes
3d1e89f014
Merge pull request #433 from Arthur-Milchior/ints
...
Constants
2020-02-14 08:37:31 +10:00
Damien Elmes
5e44fb0304
remove redundant declaration
2020-02-12 08:06:35 +10:00
Arthur Milchior
48339784cc
deckIds return deck of selected cards
2020-02-11 10:50:59 -08:00
Arthur Milchior
ad4b04bf81
ofCids: returns did of all cids
2020-02-11 10:50:59 -08:00
Arthur Milchior
0cace50f00
inverse if/else in deckIds
2020-02-11 10:50:59 -08:00
Arthur Milchior
ea0a509372
cardIds return cids if it is set
2020-02-11 10:50:59 -08:00
Arthur Milchior
17610d4c01
anki.exporter takes extra argument cids
2020-02-11 10:50:58 -08:00
Arthur Milchior
d1183df830
aqt.exporter takes extra argument cid
2020-02-11 10:49:13 -08:00
Damien Elmes
7bfcc8b079
pylint fix
2020-02-08 15:49:41 +10:00
Damien Elmes
4fb9e15201
formatting
2020-02-08 15:48:42 +10:00
Damien Elmes
391a58077a
show which side the template error occurred on
2020-02-08 11:54:08 +10:00
Damien Elmes
43b7f28417
fix rendering of question/answer column in browse screen
2020-02-08 09:29:34 +10:00
Arthur Milchior
769c806c2d
correct missing french translation
2020-02-05 20:48:30 -08:00
Arthur Milchior
538d5bd76a
remove "typing.FOO" and import foo
...
According to grep, they were the only two instances
2020-02-04 08:49:53 -08:00
Arthur Milchior
607bcc55c2
Reformatting through black
2020-02-04 08:47:36 -08:00
Arthur Milchior
611ce618a8
QUEUE and TYPE day learn, relearn
2020-02-04 08:47:36 -08:00
Arthur Milchior
abea523ffa
QUEUE_TYPE_PREVIEW
2020-02-04 08:47:36 -08:00
Arthur Milchior
41ffdbd504
QUEUE_TYPE_REV and CARD_TYPE_REV
2020-02-04 08:47:36 -08:00
Arthur Milchior
6d204a23ac
QUEUE_TYPE_SUSPENDED
2020-02-04 08:47:36 -08:00
Arthur Milchior
49b091b3ae
QUEUE_TYPE_SIBLING_BURIED
2020-02-04 08:47:36 -08:00
Arthur Milchior
dc4e48dee8
QUEUE_USER_BURIED
2020-02-04 08:47:36 -08:00
Arthur Milchior
44368caf55
CARD_TYPE_LRN and QUEUE_TYPE_LRN
2020-02-04 08:47:35 -08:00
Damien Elmes
7552b87357
Merge pull request #434 from Arthur-Milchior/didInExport
...
anki.exporting.AnkiExporter.deckIds
2020-02-04 16:59:39 +10:00
Arthur Milchior
e27b2ff554
QUEUE_TYPE_NEW and CARD_TYPE_NEW
2020-02-03 02:24:37 -08:00
Arthur Milchior
a0bbc3dc97
Card and queue type
2020-02-03 02:24:37 -08:00
Arthur Milchior
799ef6c90c
PERIOD_LIFE
2020-02-03 02:24:37 -08:00
Arthur Milchior
886fbc0e28
PERIOD_YEAR
2020-02-03 02:24:37 -08:00
Arthur Milchior
21d2549b28
PERIOD_MONTH
2020-02-03 02:24:37 -08:00
Arthur Milchior
0ec7f82790
REVLOG_CRAM
2020-02-03 02:24:37 -08:00
Arthur Milchior
fdb8a8a966
REVLOG_RELRN
2020-02-03 02:24:37 -08:00
Arthur Milchior
381699cae4
REVLOG_REV
2020-02-03 02:24:37 -08:00
Arthur Milchior
8c3f73c423
REVLOG_LRN
2020-02-03 02:24:37 -08:00
Arthur Milchior
27af916078
Add revlog constants
2020-02-03 02:24:37 -08:00
Arthur Milchior
273629e255
BUTTON_FOUR
2020-02-03 02:24:37 -08:00
Arthur Milchior
4a1ec19b23
BUTTON_THREE
2020-02-03 02:24:37 -08:00
Arthur Milchior
d0b18a8fbc
BUTTON_TWO
2020-02-03 02:24:37 -08:00
Arthur Milchior
ec00777d63
BUTTON_ONE
2020-02-03 02:24:37 -08:00
Arthur Milchior
e47af22e4a
Adding constants for buttons
...
The point being that, when we read BUTTON_ONE, we know that the type
of the element is: a button
2020-02-03 02:24:37 -08:00
Arthur Milchior
a1255c32ba
LEECH_TAGONLY
2020-02-03 02:24:37 -08:00
Arthur Milchior
2bf69ea0c1
LEECH_SUSPEND
2020-02-03 02:24:37 -08:00
Arthur Milchior
3c45190255
Add leech constants
2020-02-03 02:24:37 -08:00