mirror of
https://github.com/ankitects/anki.git
synced 2026-01-13 22:13:58 -05:00
* Add crate csv
* Add start of csv importing on backend
* Add Menomosyne serializer
* Add csv and json importing on backend
* Add plaintext importing on frontend
* Add csv metadata extraction on backend
* Add csv importing with GUI
* Fix missing dfa file in build
Added compile_data_attr, then re-ran cargo/update.py.
* Don't use doubly buffered reader in csv
* Escape HTML entities if CSV is not HTML
Also use name 'is_html' consistently.
* Use decimal number as foreign ease (like '2.5')
* ForeignCard.ivl → ForeignCard.interval
* Only allow fixed set of CSV delimiters
* Map timestamp of ForeignCard to native due time
* Don't trim CSV records
* Document use of empty strings for defaults
* Avoid creating CardGenContexts for every note
This requires CardGenContext to be generic, so it works both with an
owned and borrowed notetype.
* Show all accepted file types in import file picker
* Add import_json_file()
* factor → ease_factor
* delimter_from_value → delimiter_from_value
* Map columns to fields, not the other way around
* Fallback to current config for csv metadata
* Add start of new import csv screen
* Temporary fix for compilation issue on Linux/Mac
* Disable jest bazel action for import-csv
Jest fails with an error code if no tests are available, but this would
not be noticable on Windows as Jest is not run there.
* Fix field mapping issue
* Revert "Temporary fix for compilation issue on Linux/Mac"
This reverts commit 21f8a26140.
* Add HtmlSwitch and move Switch to components
* Fix spacing and make selectors consistent
* Fix shortcut tooltip
* Place import button at the top with path
* Fix meta column indices
* Remove NotetypeForString
* Fix queue and type of foreign cards
* Support different dupe resolution strategies
* Allow dupe resolution selection when importing CSV
* Test import of unnormalized text
Close #1863.
* Fix logging of foreign notes
* Implement CSV exports
* Use db_scalar() in notes_table_len()
* Rework CSV metadata
- Notetypes and decks are either defined by a global id or by a column.
- If a notetype id is provided, its field map must also be specified.
- If a notetype column is provided, fields are now mapped by index
instead of name at import time. So the first non-meta column is used for
the first field of every note, regardless of notetype. This makes
importing easier and should improve compatiblity with files without a
notetype column.
- Ensure first field can be mapped to a column.
- Meta columns must be defined as `#[meta name]:[column index]` instead
of in the `#columns` tag.
- Column labels contain the raw names defined by the file and must be
prettified by the frontend.
* Adjust frontend to new backend column mapping
* Add force flags for is_html and delimiter
* Detect if CSV is HTML by field content
* Update dupe resolution labels
* Simplify selectors
* Fix coalescence of oneofs in TS
* Disable meta columns from selection
Plus a lot of refactoring.
* Make import button stick to the bottom
* Write delimiter and html flag into csv
* Refetch field map after notetype change
* Fix log labels for csv import
* Log notes whose deck/notetype was missing
* Fix hiding of empty log queues
* Implement adding tags to all notes of a csv
* Fix dupe resolution not being set in log
* Implement adding tags to updated notes of a csv
* Check first note field is not empty
* Temporary fix for build on Linux/Mac
* Fix inverted html check (dae)
* Remove unused ftl string
* Delimiter → Separator
* Remove commented-out line
* Don't accept .json files
* Tweak tag ftl strings
* Remove redundant blur call
* Strip sound and add spaces in csv export
* Export HTML by default
* Fix unset deck in Mnemosyne import
Also accept both numbers and strings for notetypes and decks in JSON.
* Make DupeResolution::Update the default
* Fix missing dot in extension
* Make column indices 1-based
* Remove StickContainer from TagEditor
Fixes line breaking, border and z index on ImportCsvPage.
* Assign different key combos to tag editors
* Log all updated duplicates
Add a log field for the true number of found notes.
* Show identical notes as skipped
* Split tag-editor into separate ts module (dae)
* Add progress for CSV export
* Add progress for text import
* Tidy-ups after tag-editor split (dae)
- import-csv no longer depends on editor
- remove some commented lines
106 lines
5.9 KiB
Text
106 lines
5.9 KiB
Text
importing-failed-debug-info = Import failed. Debugging info:
|
|
importing-aborted = Aborted: { $val }
|
|
importing-added-duplicate-with-first-field = Added duplicate with first field: { $val }
|
|
importing-all-supported-formats = All supported formats { $val }
|
|
importing-allow-html-in-fields = Allow HTML in fields
|
|
importing-anki-files-are-from-a-very = .anki files are from a very old version of Anki. You can import them with add-on 175027074 or with Anki 2.0, available on the Anki website.
|
|
importing-anki2-files-are-not-directly-importable = .anki2 files are not directly importable - please import the .apkg or .zip file you have received instead.
|
|
importing-appeared-twice-in-file = Appeared twice in file: { $val }
|
|
importing-by-default-anki-will-detect-the = By default, Anki will detect the character between fields, such as a tab, comma, and so on. If Anki is detecting the character incorrectly, you can enter it here. Use \t to represent tab.
|
|
importing-change = Change
|
|
importing-colon = Colon
|
|
importing-column = Column { $val }
|
|
importing-comma = Comma
|
|
importing-empty-first-field = Empty first field: { $val }
|
|
importing-field-separator = Field separator
|
|
importing-field-mapping = Field mapping
|
|
importing-field-of-file-is = Field <b>{ $val }</b> of file is:
|
|
importing-fields-separated-by = Fields separated by: { $val }
|
|
importing-file-must-contain-field-column = File must contain at least one column that can be mapped to a note field.
|
|
importing-file-version-unknown-trying-import-anyway = File version unknown, trying import anyway.
|
|
importing-first-field-matched = First field matched: { $val }
|
|
importing-identical = Identical
|
|
importing-ignore-field = Ignore field
|
|
importing-ignore-lines-where-first-field-matches = Ignore lines where first field matches existing note
|
|
importing-ignored = <ignored>
|
|
importing-import-even-if-existing-note-has = Import even if existing note has same first field
|
|
importing-import-options = Import options
|
|
importing-importing-complete = Importing complete.
|
|
importing-invalid-file-please-restore-from-backup = Invalid file. Please restore from backup.
|
|
importing-map-to = Map to { $val }
|
|
importing-map-to-tags = Map to Tags
|
|
importing-mapped-to = mapped to <b>{ $val }</b>
|
|
importing-mapped-to-tags = mapped to <b>Tags</b>
|
|
importing-mnemosyne-20-deck-db = Mnemosyne 2.0 Deck (*.db)
|
|
importing-multicharacter-separators-are-not-supported-please = Multi-character separators are not supported. Please enter one character only.
|
|
importing-notes-added-from-file = Notes added from file: { $val }
|
|
importing-notes-found-in-file = Notes found in file: { $val }
|
|
importing-notes-skipped-as-theyre-already-in = Notes skipped, as they're already in your collection: { $val }
|
|
importing-notes-that-could-not-be-imported = Notes that could not be imported as note type has changed: { $val }
|
|
importing-notes-updated-as-file-had-newer = Notes updated, as file had newer version: { $val }
|
|
importing-packaged-anki-deckcollection-apkg-colpkg-zip = Packaged Anki Deck/Collection (*.apkg *.colpkg *.zip)
|
|
importing-pauker-18-lesson-paugz = Pauker 1.8 Lesson (*.pau.gz)
|
|
importing-pipe = Pipe
|
|
importing-rows-had-num1d-fields-expected-num2d = '{ $row }' had { $found } fields, expected { $expected }
|
|
importing-selected-file-was-not-in-utf8 = Selected file was not in UTF-8 format. Please see the importing section of the manual.
|
|
importing-semicolon = Semicolon
|
|
importing-skipped = Skipped
|
|
importing-supermemo-xml-export-xml = Supermemo XML export (*.xml)
|
|
importing-tab = Tab
|
|
importing-tag-modified-notes = Tag modified notes:
|
|
importing-text-separated-by-tabs-or-semicolons = Text separated by tabs or semicolons (*)
|
|
importing-the-first-field-of-the-note = The first field of the note type must be mapped.
|
|
importing-the-provided-file-is-not-a = The provided file is not a valid .apkg file.
|
|
importing-this-file-does-not-appear-to = This file does not appear to be a valid .apkg file. If you're getting this error from a file downloaded from AnkiWeb, chances are that your download failed. Please try again, and if the problem persists, please try again with a different browser.
|
|
importing-this-will-delete-your-existing-collection = This will delete your existing collection and replace it with the data in the file you're importing. Are you sure?
|
|
importing-unable-to-import-from-a-readonly = Unable to import from a read-only file.
|
|
importing-unknown-file-format = Unknown file format.
|
|
importing-update-existing-notes-when-first-field = Update existing notes when first field matches
|
|
importing-updated = Updated
|
|
importing-note-added =
|
|
{ $count ->
|
|
[one] { $count } note added
|
|
*[other] { $count } notes added
|
|
}
|
|
importing-note-imported =
|
|
{ $count ->
|
|
[one] { $count } note imported.
|
|
*[other] { $count } notes imported.
|
|
}
|
|
importing-note-unchanged =
|
|
{ $count ->
|
|
[one] { $count } note unchanged
|
|
*[other] { $count } notes unchanged
|
|
}
|
|
importing-note-updated =
|
|
{ $count ->
|
|
[one] { $count } note updated
|
|
*[other] { $count } notes updated
|
|
}
|
|
importing-processed-media-file =
|
|
{ $count ->
|
|
[one] Imported { $count } media file
|
|
*[other] Imported { $count } media files
|
|
}
|
|
importing-importing-collection = Importing collection...
|
|
importing-importing-file = Importing file...
|
|
importing-extracting = Extracting data...
|
|
importing-gathering = Gathering data...
|
|
importing-failed-to-import-media-file = Failed to import media file: { $debugInfo }
|
|
importing-processed-notes =
|
|
{ $count ->
|
|
[one] Processed { $count } note...
|
|
*[other] Processed { $count } notes...
|
|
}
|
|
importing-processed-cards =
|
|
{ $count ->
|
|
[one] Processed { $count } card...
|
|
*[other] Processed { $count } cards...
|
|
}
|
|
importing-unable-to-import-filename = Unable to import { $filename }: file type not supported
|
|
importing-existing-notes = Existing notes
|
|
importing-duplicate = Duplicate
|
|
importing-preserve = Preserve
|
|
importing-update = Update
|
|
importing-tag-all-notes = Tag all notes
|
|
importing-tag-updated-notes = Tag updated notes
|