98715e593a
* Implement import log screen in Svelte * Show filename in import log screen title * Remove unused NoteRow property * Show number of imported notes * Use a single nid expression * Use 'count' as variable name for consistency * Import from @tslib/backend instead * Fix summary_template typing * Fix clippy warning * Apply suggestions from code review * Fix imports * Contents -> Fields * Increase max length of browser search bar https://github.com/ankitects/anki/pull/2568/files#r1255227035 * Fix race condition in Bootstrap tooltip destruction https://github.com/twbs/bootstrap/issues/37474 * summary_template -> summaryTemplate * Make show link a button * Run import ops on Svelte side * Fix geometry not being restored in CSV Import page * Make VirtualTable fill available height * Keep CSV dialog modal * Reword importing-existing-notes-skipped * Avoid mentioning matching based on first field * Change tick and cross icons * List skipped notes last * Pure CSS spinner * Move set_wants_abort() call to relevant dialogs * Show number of imported cards * Remove bold from first sentence and indent summaries * Update UI after import operations * Add close button to import log page Also make virtual table react to resize event. * Fix typing * Make CSV dialog non-modal again Otherwise user can't interact with browser window. * Update window modality after import * Commit DB and update undo actions after import op * Split frontend proto into separate file, so backend can ignore it Currently the automatically-generated frontend RPC methods get placed in 'backend.js' with all the backend methods; we could optionally split them into a separate 'frontend.js' file in the future. * Migrate import_done from a bridgecmd to a HTTP request * Update plural form of importing-notes-added * Move import response handling to mediasrv * Move task callback to script section * Avoid unnecessary :global() * .log cannot be missing if result exists * Move import log search handling to mediasrv * Type common params of ImportLogDialog * Use else if * Remove console.log() * Add way to test apkg imports in new log screen * Remove unused import * Get actual card count for CSV imports * Use import type * Fix typing error * Ignore import log when checking for changes in Python layer * Apply suggestions from code review * Remove imported card count for now * Avoid non-null assertion in assignment * Change showInBrowser to take an array of notes * Use dataclasses for import log args * Simplify ResultWithChanges in TS * Only abort import when window is modal * Fix ResultWithChanges typing * Fix Rust warnings * Only log one duplicate per incoming note * Update wording about note updates * Remove caveat about found_notes * Reduce font size * Remove redundant map * Give credit to loading.io * Remove unused line --------- Co-authored-by: RumovZ <gp5glkw78@relay.firefox.com>
163 lines
8.3 KiB
Plaintext
163 lines
8.3 KiB
Plaintext
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-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 up-to-date copies are already in your collection: { $val }
|
|
importing-notes-skipped-update-due-to-notetype = Notes not updated, as notetype has been modified since you first imported the notes: { $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)
|
|
# the '|' character
|
|
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-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-existing-notes = Existing notes
|
|
# "Existing notes: Duplicate" (verb)
|
|
importing-duplicate = Duplicate
|
|
# "Existing notes: Preserve" (verb)
|
|
importing-preserve = Preserve
|
|
# "Existing notes: Update" (verb)
|
|
importing-update = Update
|
|
importing-tag-all-notes = Tag all notes
|
|
importing-tag-updated-notes = Tag updated notes
|
|
importing-file = File
|
|
# "Match scope: notetype / notetype and deck". Controls how duplicates are matched.
|
|
importing-match-scope = Match scope
|
|
# Used with the 'match scope' option
|
|
importing-notetype-and-deck = Notetype and deck
|
|
importing-cards-added =
|
|
{ $count ->
|
|
[one] { $count } card added.
|
|
*[other] { $count } cards added.
|
|
}
|
|
importing-file-empty = The file you selected is empty.
|
|
importing-notes-added =
|
|
{ $count ->
|
|
[one] { $count } new note imported.
|
|
*[other] { $count } new notes imported.
|
|
}
|
|
importing-notes-updated =
|
|
{ $count ->
|
|
[one] { $count } note was used to update existing ones.
|
|
*[other] { $count } notes were used to update existing ones.
|
|
}
|
|
importing-existing-notes-skipped =
|
|
{ $count ->
|
|
[one] { $count } note already present in your collection.
|
|
*[other] { $count } notes already present in your collection.
|
|
}
|
|
importing-conflicting-notes-skipped =
|
|
{ $count ->
|
|
[one] { $count } note was not imported, because its note type has changed.
|
|
*[other] { $count } were not imported, because their note type has changed.
|
|
}
|
|
importing-import-log = Import Log
|
|
importing-no-notes-in-file = No notes found in file.
|
|
importing-notes-found-in-file2 =
|
|
{ $notes ->
|
|
[one] { $notes } note
|
|
*[other] { $notes } notes
|
|
} found in file. Of those:
|
|
importing-show = Show
|
|
importing-details = Details
|
|
importing-status = Status
|
|
importing-duplicate-note-added = Duplicate note added
|
|
importing-added-new-note = New note added
|
|
importing-existing-note-skipped = Note skipped, as an up-to-date copy is already in your collection
|
|
importing-note-skipped-update-due-to-notetype = Note not updated, as notetype has been modified since you first imported the note
|
|
importing-note-updated-as-file-had-newer = Note updated, as file had newer version
|
|
importing-note-skipped-due-to-missing-notetype = Note skipped, as its notetype was missing
|
|
importing-note-skipped-due-to-missing-deck = Note skipped, as its deck was missing
|
|
importing-note-skipped-due-to-empty-first-field = Note skipped, as its first field is empty
|
|
|
|
## NO NEED TO TRANSLATE. This text is no longer used by Anki, and will be removed in the future.
|
|
|
|
importing-importing-collection = Importing collection...
|
|
importing-unable-to-import-filename = Unable to import { $filename }: file type not supported
|
|
importing-notes-that-could-not-be-imported = Notes that could not be imported as note type has changed: { $val }
|