From 442a42cf2be4787b0376abb6f2ae800e8a850221 Mon Sep 17 00:00:00 2001 From: TrackGeekBot <256638171+TrackGeekBot@users.noreply.github.com> Date: Mon, 5 Oct 2026 15:12:54 +0000 Subject: [PATCH] New Crowdin translations by GitHub Action --- src/lib/i18n/locales/af-ZA/api.json | 1 + src/lib/i18n/locales/af-ZA/pages.json | 12 ++++++- src/lib/i18n/locales/af-ZA/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/ar-SA/api.json | 1 + src/lib/i18n/locales/ar-SA/pages.json | 12 ++++++- src/lib/i18n/locales/ar-SA/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/ca-ES/api.json | 1 + src/lib/i18n/locales/ca-ES/pages.json | 12 ++++++- src/lib/i18n/locales/ca-ES/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/cs-CZ/api.json | 1 + src/lib/i18n/locales/cs-CZ/pages.json | 12 ++++++- src/lib/i18n/locales/cs-CZ/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/da-DK/api.json | 1 + src/lib/i18n/locales/da-DK/pages.json | 12 ++++++- src/lib/i18n/locales/da-DK/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/de-DE/api.json | 1 + src/lib/i18n/locales/de-DE/pages.json | 12 ++++++- src/lib/i18n/locales/de-DE/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/el-GR/api.json | 1 + src/lib/i18n/locales/el-GR/pages.json | 12 ++++++- src/lib/i18n/locales/el-GR/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/es-ES/api.json | 1 + src/lib/i18n/locales/es-ES/pages.json | 12 ++++++- src/lib/i18n/locales/es-ES/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/fi-FI/api.json | 1 + src/lib/i18n/locales/fi-FI/pages.json | 12 ++++++- src/lib/i18n/locales/fi-FI/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/fr-FR/api.json | 1 + src/lib/i18n/locales/fr-FR/pages.json | 12 ++++++- src/lib/i18n/locales/fr-FR/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/he-IL/api.json | 1 + src/lib/i18n/locales/he-IL/pages.json | 12 ++++++- src/lib/i18n/locales/he-IL/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/hu-HU/api.json | 1 + src/lib/i18n/locales/hu-HU/pages.json | 12 ++++++- src/lib/i18n/locales/hu-HU/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/it-IT/api.json | 1 + src/lib/i18n/locales/it-IT/pages.json | 12 ++++++- src/lib/i18n/locales/it-IT/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/ja-JP/api.json | 1 + src/lib/i18n/locales/ja-JP/pages.json | 12 ++++++- src/lib/i18n/locales/ja-JP/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/ko-KR/api.json | 1 + src/lib/i18n/locales/ko-KR/pages.json | 12 ++++++- src/lib/i18n/locales/ko-KR/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/nl-NL/api.json | 1 + src/lib/i18n/locales/nl-NL/pages.json | 12 ++++++- src/lib/i18n/locales/nl-NL/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/no-NO/api.json | 1 + src/lib/i18n/locales/no-NO/pages.json | 12 ++++++- src/lib/i18n/locales/no-NO/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/pl-PL/api.json | 1 + src/lib/i18n/locales/pl-PL/pages.json | 12 ++++++- src/lib/i18n/locales/pl-PL/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/pt-BR/api.json | 1 + src/lib/i18n/locales/pt-BR/pages.json | 12 ++++++- src/lib/i18n/locales/pt-BR/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/pt-PT/api.json | 1 + src/lib/i18n/locales/pt-PT/pages.json | 12 ++++++- src/lib/i18n/locales/pt-PT/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/ro-RO/api.json | 1 + src/lib/i18n/locales/ro-RO/pages.json | 12 ++++++- src/lib/i18n/locales/ro-RO/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/ru-RU/api.json | 1 + src/lib/i18n/locales/ru-RU/pages.json | 12 ++++++- src/lib/i18n/locales/ru-RU/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/sr-SP/api.json | 1 + src/lib/i18n/locales/sr-SP/pages.json | 12 ++++++- src/lib/i18n/locales/sr-SP/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/sv-SE/api.json | 1 + src/lib/i18n/locales/sv-SE/pages.json | 12 ++++++- src/lib/i18n/locales/sv-SE/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/tr-TR/api.json | 1 + src/lib/i18n/locales/tr-TR/pages.json | 12 ++++++- src/lib/i18n/locales/tr-TR/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/uk-UA/api.json | 1 + src/lib/i18n/locales/uk-UA/pages.json | 12 ++++++- src/lib/i18n/locales/uk-UA/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/vi-VN/api.json | 1 + src/lib/i18n/locales/vi-VN/pages.json | 12 ++++++- src/lib/i18n/locales/vi-VN/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/zh-CN/api.json | 1 + src/lib/i18n/locales/zh-CN/pages.json | 12 ++++++- src/lib/i18n/locales/zh-CN/settings.json | 43 +++++++++++++++++++++++- src/lib/i18n/locales/zh-TW/api.json | 1 + src/lib/i18n/locales/zh-TW/pages.json | 12 ++++++- src/lib/i18n/locales/zh-TW/settings.json | 43 +++++++++++++++++++++++- 87 files changed, 1566 insertions(+), 58 deletions(-) diff --git a/src/lib/i18n/locales/af-ZA/api.json b/src/lib/i18n/locales/af-ZA/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/af-ZA/api.json +++ b/src/lib/i18n/locales/af-ZA/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/af-ZA/pages.json b/src/lib/i18n/locales/af-ZA/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/af-ZA/pages.json +++ b/src/lib/i18n/locales/af-ZA/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/af-ZA/settings.json b/src/lib/i18n/locales/af-ZA/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/af-ZA/settings.json +++ b/src/lib/i18n/locales/af-ZA/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/ar-SA/api.json b/src/lib/i18n/locales/ar-SA/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/ar-SA/api.json +++ b/src/lib/i18n/locales/ar-SA/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/ar-SA/pages.json b/src/lib/i18n/locales/ar-SA/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/ar-SA/pages.json +++ b/src/lib/i18n/locales/ar-SA/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/ar-SA/settings.json b/src/lib/i18n/locales/ar-SA/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/ar-SA/settings.json +++ b/src/lib/i18n/locales/ar-SA/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/ca-ES/api.json b/src/lib/i18n/locales/ca-ES/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/ca-ES/api.json +++ b/src/lib/i18n/locales/ca-ES/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/ca-ES/pages.json b/src/lib/i18n/locales/ca-ES/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/ca-ES/pages.json +++ b/src/lib/i18n/locales/ca-ES/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/ca-ES/settings.json b/src/lib/i18n/locales/ca-ES/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/ca-ES/settings.json +++ b/src/lib/i18n/locales/ca-ES/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/cs-CZ/api.json b/src/lib/i18n/locales/cs-CZ/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/cs-CZ/api.json +++ b/src/lib/i18n/locales/cs-CZ/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/cs-CZ/pages.json b/src/lib/i18n/locales/cs-CZ/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/cs-CZ/pages.json +++ b/src/lib/i18n/locales/cs-CZ/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/cs-CZ/settings.json b/src/lib/i18n/locales/cs-CZ/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/cs-CZ/settings.json +++ b/src/lib/i18n/locales/cs-CZ/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/da-DK/api.json b/src/lib/i18n/locales/da-DK/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/da-DK/api.json +++ b/src/lib/i18n/locales/da-DK/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/da-DK/pages.json b/src/lib/i18n/locales/da-DK/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/da-DK/pages.json +++ b/src/lib/i18n/locales/da-DK/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/da-DK/settings.json b/src/lib/i18n/locales/da-DK/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/da-DK/settings.json +++ b/src/lib/i18n/locales/da-DK/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/de-DE/api.json b/src/lib/i18n/locales/de-DE/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/de-DE/api.json +++ b/src/lib/i18n/locales/de-DE/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/de-DE/pages.json b/src/lib/i18n/locales/de-DE/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/de-DE/pages.json +++ b/src/lib/i18n/locales/de-DE/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/de-DE/settings.json b/src/lib/i18n/locales/de-DE/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/de-DE/settings.json +++ b/src/lib/i18n/locales/de-DE/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/el-GR/api.json b/src/lib/i18n/locales/el-GR/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/el-GR/api.json +++ b/src/lib/i18n/locales/el-GR/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/el-GR/pages.json b/src/lib/i18n/locales/el-GR/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/el-GR/pages.json +++ b/src/lib/i18n/locales/el-GR/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/el-GR/settings.json b/src/lib/i18n/locales/el-GR/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/el-GR/settings.json +++ b/src/lib/i18n/locales/el-GR/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/es-ES/api.json b/src/lib/i18n/locales/es-ES/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/es-ES/api.json +++ b/src/lib/i18n/locales/es-ES/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/es-ES/pages.json b/src/lib/i18n/locales/es-ES/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/es-ES/pages.json +++ b/src/lib/i18n/locales/es-ES/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/es-ES/settings.json b/src/lib/i18n/locales/es-ES/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/es-ES/settings.json +++ b/src/lib/i18n/locales/es-ES/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/fi-FI/api.json b/src/lib/i18n/locales/fi-FI/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/fi-FI/api.json +++ b/src/lib/i18n/locales/fi-FI/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/fi-FI/pages.json b/src/lib/i18n/locales/fi-FI/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/fi-FI/pages.json +++ b/src/lib/i18n/locales/fi-FI/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/fi-FI/settings.json b/src/lib/i18n/locales/fi-FI/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/fi-FI/settings.json +++ b/src/lib/i18n/locales/fi-FI/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/fr-FR/api.json b/src/lib/i18n/locales/fr-FR/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/fr-FR/api.json +++ b/src/lib/i18n/locales/fr-FR/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/fr-FR/pages.json b/src/lib/i18n/locales/fr-FR/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/fr-FR/pages.json +++ b/src/lib/i18n/locales/fr-FR/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/fr-FR/settings.json b/src/lib/i18n/locales/fr-FR/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/fr-FR/settings.json +++ b/src/lib/i18n/locales/fr-FR/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/he-IL/api.json b/src/lib/i18n/locales/he-IL/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/he-IL/api.json +++ b/src/lib/i18n/locales/he-IL/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/he-IL/pages.json b/src/lib/i18n/locales/he-IL/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/he-IL/pages.json +++ b/src/lib/i18n/locales/he-IL/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/he-IL/settings.json b/src/lib/i18n/locales/he-IL/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/he-IL/settings.json +++ b/src/lib/i18n/locales/he-IL/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/hu-HU/api.json b/src/lib/i18n/locales/hu-HU/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/hu-HU/api.json +++ b/src/lib/i18n/locales/hu-HU/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/hu-HU/pages.json b/src/lib/i18n/locales/hu-HU/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/hu-HU/pages.json +++ b/src/lib/i18n/locales/hu-HU/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/hu-HU/settings.json b/src/lib/i18n/locales/hu-HU/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/hu-HU/settings.json +++ b/src/lib/i18n/locales/hu-HU/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/it-IT/api.json b/src/lib/i18n/locales/it-IT/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/it-IT/api.json +++ b/src/lib/i18n/locales/it-IT/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/it-IT/pages.json b/src/lib/i18n/locales/it-IT/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/it-IT/pages.json +++ b/src/lib/i18n/locales/it-IT/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/it-IT/settings.json b/src/lib/i18n/locales/it-IT/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/it-IT/settings.json +++ b/src/lib/i18n/locales/it-IT/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/ja-JP/api.json b/src/lib/i18n/locales/ja-JP/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/ja-JP/api.json +++ b/src/lib/i18n/locales/ja-JP/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/ja-JP/pages.json b/src/lib/i18n/locales/ja-JP/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/ja-JP/pages.json +++ b/src/lib/i18n/locales/ja-JP/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/ja-JP/settings.json b/src/lib/i18n/locales/ja-JP/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/ja-JP/settings.json +++ b/src/lib/i18n/locales/ja-JP/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/ko-KR/api.json b/src/lib/i18n/locales/ko-KR/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/ko-KR/api.json +++ b/src/lib/i18n/locales/ko-KR/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/ko-KR/pages.json b/src/lib/i18n/locales/ko-KR/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/ko-KR/pages.json +++ b/src/lib/i18n/locales/ko-KR/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/ko-KR/settings.json b/src/lib/i18n/locales/ko-KR/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/ko-KR/settings.json +++ b/src/lib/i18n/locales/ko-KR/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/nl-NL/api.json b/src/lib/i18n/locales/nl-NL/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/nl-NL/api.json +++ b/src/lib/i18n/locales/nl-NL/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/nl-NL/pages.json b/src/lib/i18n/locales/nl-NL/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/nl-NL/pages.json +++ b/src/lib/i18n/locales/nl-NL/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/nl-NL/settings.json b/src/lib/i18n/locales/nl-NL/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/nl-NL/settings.json +++ b/src/lib/i18n/locales/nl-NL/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/no-NO/api.json b/src/lib/i18n/locales/no-NO/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/no-NO/api.json +++ b/src/lib/i18n/locales/no-NO/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/no-NO/pages.json b/src/lib/i18n/locales/no-NO/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/no-NO/pages.json +++ b/src/lib/i18n/locales/no-NO/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/no-NO/settings.json b/src/lib/i18n/locales/no-NO/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/no-NO/settings.json +++ b/src/lib/i18n/locales/no-NO/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/pl-PL/api.json b/src/lib/i18n/locales/pl-PL/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/pl-PL/api.json +++ b/src/lib/i18n/locales/pl-PL/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/pl-PL/pages.json b/src/lib/i18n/locales/pl-PL/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/pl-PL/pages.json +++ b/src/lib/i18n/locales/pl-PL/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/pl-PL/settings.json b/src/lib/i18n/locales/pl-PL/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/pl-PL/settings.json +++ b/src/lib/i18n/locales/pl-PL/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/pt-BR/api.json b/src/lib/i18n/locales/pt-BR/api.json index 0543d87..852b980 100644 --- a/src/lib/i18n/locales/pt-BR/api.json +++ b/src/lib/i18n/locales/pt-BR/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "Este cosmético não pode ser comprado.", "COSMETIC_ALREADY_OWNED": "Você já possui esse cosmético.", "INSUFFICIENT_BALANCE": "Você não tem moedas suficientes.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "Este título ainda não foi lançado, então você só pode adicioná-lo á sua lista de planejamento.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "Usuário com este e-mail já existe. Por favor, use um endereço de e-mail diferente.", diff --git a/src/lib/i18n/locales/pt-BR/pages.json b/src/lib/i18n/locales/pt-BR/pages.json index 96b4c65..3680d17 100644 --- a/src/lib/i18n/locales/pt-BR/pages.json +++ b/src/lib/i18n/locales/pt-BR/pages.json @@ -31,6 +31,16 @@ "heroButton": "Ver no GitHub", "featuresTitle": "Todas as suas necessidades em um só lugar", "featuresDescription": "Pare de malabarismos com vários aplicativos e planilhas.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Mangá", "animeMangaDescription": "Um dos maiores catálogos de anime e mangá, com acesso a relações, personagens e informações detalhadas.", "moviesTVShows": "Filmes & Séries", @@ -69,7 +79,7 @@ "faqScopeQuestion": "O que posso realmente rastrear?", "faqScopeAnswer": "Anime, mangá, filmes, séries, jogos e livros, tudo em um perfil, com progresso, classificações, notas e avaliações completas.", "faqImportQuestion": "Posso trazer dados de outro rastreador?", - "faqImportAnswer": "Sim. Você pode importar diretamente de MyAnimeList, Backloggd e qualquer outra instância do TrackGeek diretamente das suas configurações.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "O que acontece aos meus dados se eu sair?", "faqLeaveAnswer": "Exporte-o como um ZIP de arquivos CSV em um clique e, em seguida, exclua sua conta. A exclusão é permanente e remove seus dados pessoais.", "faqSelfHostQuestion": "Posso executar a minha própria instância?", diff --git a/src/lib/i18n/locales/pt-BR/settings.json b/src/lib/i18n/locales/pt-BR/settings.json index cb14cd7..3f9c5c1 100644 --- a/src/lib/i18n/locales/pt-BR/settings.json +++ b/src/lib/i18n/locales/pt-BR/settings.json @@ -22,9 +22,11 @@ "failed": "Não foi possível exportar seus dados." }, "import": { - "description": "Traga sua biblioteca de outro rastreador. Arquivos são lidos no seu dispositivo e nunca enviados para nós.", + "description": "Bring your library over from another tracker.", "action": "Importar", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Aguardando", "running": "Importando", "waiting": "Tentativa {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entradas ignoradas", "fileTooLarge": "Este arquivo é muito grande.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Importe seus jogos, avaliações, horas e datas de uma exportação do Backloggd Plus." @@ -63,6 +69,41 @@ "description": "Importe seus animes, avaliações, episódios assistidos e datas de uma exportação do MyAnimeList." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Exporte seus dados primeiro", diff --git a/src/lib/i18n/locales/pt-PT/api.json b/src/lib/i18n/locales/pt-PT/api.json index cb56999..0f258f1 100644 --- a/src/lib/i18n/locales/pt-PT/api.json +++ b/src/lib/i18n/locales/pt-PT/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "Este cosmético não pode ser comprado.", "COSMETIC_ALREADY_OWNED": "Já possui esse cosmético.", "INSUFFICIENT_BALANCE": "Não tem moedas suficientes.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "Este título ainda não foi lançado, então só pode adicioná-lo á sua lista de desejos.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "Já existe um usuário com este e-mail. Por favor, use um endereço de e-mail diferente.", diff --git a/src/lib/i18n/locales/pt-PT/pages.json b/src/lib/i18n/locales/pt-PT/pages.json index 6801e08..98c7a28 100644 --- a/src/lib/i18n/locales/pt-PT/pages.json +++ b/src/lib/i18n/locales/pt-PT/pages.json @@ -31,6 +31,16 @@ "heroButton": "Ver no GitHub", "featuresTitle": "Todas as tuas necessidades num só lugar", "featuresDescription": "Pare de ficar atrapalhado com vários apps e planilhas.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Mangá", "animeMangaDescription": "Um dos maiores catálogos de anime e manga, com acesso a relações, personagens e informações detalhadas.", "moviesTVShows": "Filmes & Séries", @@ -69,7 +79,7 @@ "faqScopeQuestion": "O que é que posso realmente rastrear?", "faqScopeAnswer": "Anime, mangá, filmes, séries, jogos e livros, tudo num perfil, com progresso, notas e avaliações completas.", "faqImportQuestion": "Posso trazer dados de outro rastreador?", - "faqImportAnswer": "Sim. Podes importar diretamente do MyAnimeList, Backloggd e qualquer outra instância do TrackGeek diretamente pelas configurações.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "O que acontece aos meus dados se eu sair?", "faqLeaveAnswer": "Exporte-o como um ZIP de arquivos CSV num clique e, em seguida, exclua a sua conta. A exclusão é permanente e remove os seus dados pessoais.", "faqSelfHostQuestion": "Posso executar a minha própria instância?", diff --git a/src/lib/i18n/locales/pt-PT/settings.json b/src/lib/i18n/locales/pt-PT/settings.json index fe50d13..692aff8 100644 --- a/src/lib/i18n/locales/pt-PT/settings.json +++ b/src/lib/i18n/locales/pt-PT/settings.json @@ -22,9 +22,11 @@ "failed": "Não foi possível exportar seus dados." }, "import": { - "description": "Traga a sua biblioteca de outro rastreador. Arquivos são lidos no seu dispositivo e nunca enviados para nós.", + "description": "Bring your library over from another tracker.", "action": "Importar", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Aguardando", "running": "Importando", "waiting": "Tentativa {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entradas ignoradas", "fileTooLarge": "Este arquivo é muito grande.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Importe seus jogos, avaliações, horas e datas de uma exportação do Backloggd Plus." @@ -63,6 +69,41 @@ "description": "Importe seus animes, avaliações, episódios assistidos e datas de uma exportação do MyAnimeList." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Exporte seus dados primeiro", diff --git a/src/lib/i18n/locales/ro-RO/api.json b/src/lib/i18n/locales/ro-RO/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/ro-RO/api.json +++ b/src/lib/i18n/locales/ro-RO/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/ro-RO/pages.json b/src/lib/i18n/locales/ro-RO/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/ro-RO/pages.json +++ b/src/lib/i18n/locales/ro-RO/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/ro-RO/settings.json b/src/lib/i18n/locales/ro-RO/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/ro-RO/settings.json +++ b/src/lib/i18n/locales/ro-RO/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/ru-RU/api.json b/src/lib/i18n/locales/ru-RU/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/ru-RU/api.json +++ b/src/lib/i18n/locales/ru-RU/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/ru-RU/pages.json b/src/lib/i18n/locales/ru-RU/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/ru-RU/pages.json +++ b/src/lib/i18n/locales/ru-RU/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/ru-RU/settings.json b/src/lib/i18n/locales/ru-RU/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/ru-RU/settings.json +++ b/src/lib/i18n/locales/ru-RU/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/sr-SP/api.json b/src/lib/i18n/locales/sr-SP/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/sr-SP/api.json +++ b/src/lib/i18n/locales/sr-SP/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/sr-SP/pages.json b/src/lib/i18n/locales/sr-SP/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/sr-SP/pages.json +++ b/src/lib/i18n/locales/sr-SP/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/sr-SP/settings.json b/src/lib/i18n/locales/sr-SP/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/sr-SP/settings.json +++ b/src/lib/i18n/locales/sr-SP/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/sv-SE/api.json b/src/lib/i18n/locales/sv-SE/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/sv-SE/api.json +++ b/src/lib/i18n/locales/sv-SE/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/sv-SE/pages.json b/src/lib/i18n/locales/sv-SE/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/sv-SE/pages.json +++ b/src/lib/i18n/locales/sv-SE/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/sv-SE/settings.json b/src/lib/i18n/locales/sv-SE/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/sv-SE/settings.json +++ b/src/lib/i18n/locales/sv-SE/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/tr-TR/api.json b/src/lib/i18n/locales/tr-TR/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/tr-TR/api.json +++ b/src/lib/i18n/locales/tr-TR/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/tr-TR/pages.json b/src/lib/i18n/locales/tr-TR/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/tr-TR/pages.json +++ b/src/lib/i18n/locales/tr-TR/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/tr-TR/settings.json b/src/lib/i18n/locales/tr-TR/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/tr-TR/settings.json +++ b/src/lib/i18n/locales/tr-TR/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/uk-UA/api.json b/src/lib/i18n/locales/uk-UA/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/uk-UA/api.json +++ b/src/lib/i18n/locales/uk-UA/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/uk-UA/pages.json b/src/lib/i18n/locales/uk-UA/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/uk-UA/pages.json +++ b/src/lib/i18n/locales/uk-UA/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/uk-UA/settings.json b/src/lib/i18n/locales/uk-UA/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/uk-UA/settings.json +++ b/src/lib/i18n/locales/uk-UA/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/vi-VN/api.json b/src/lib/i18n/locales/vi-VN/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/vi-VN/api.json +++ b/src/lib/i18n/locales/vi-VN/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/vi-VN/pages.json b/src/lib/i18n/locales/vi-VN/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/vi-VN/pages.json +++ b/src/lib/i18n/locales/vi-VN/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/vi-VN/settings.json b/src/lib/i18n/locales/vi-VN/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/vi-VN/settings.json +++ b/src/lib/i18n/locales/vi-VN/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/zh-CN/api.json b/src/lib/i18n/locales/zh-CN/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/zh-CN/api.json +++ b/src/lib/i18n/locales/zh-CN/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/zh-CN/pages.json b/src/lib/i18n/locales/zh-CN/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/zh-CN/pages.json +++ b/src/lib/i18n/locales/zh-CN/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/zh-CN/settings.json b/src/lib/i18n/locales/zh-CN/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/zh-CN/settings.json +++ b/src/lib/i18n/locales/zh-CN/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first", diff --git a/src/lib/i18n/locales/zh-TW/api.json b/src/lib/i18n/locales/zh-TW/api.json index 82c179c..74aeeba 100644 --- a/src/lib/i18n/locales/zh-TW/api.json +++ b/src/lib/i18n/locales/zh-TW/api.json @@ -41,6 +41,7 @@ "COSMETIC_NOT_PURCHASABLE": "This cosmetic cannot be purchased.", "COSMETIC_ALREADY_OWNED": "You already own this cosmetic.", "INSUFFICIENT_BALANCE": "You do not have enough coins.", + "STRIPE_NOT_CONFIGURED": "Payments are not configured on this instance.", "MEDIA_NOT_RELEASED": "This title has not been released yet, so you can only add it to your plan to consume list.", "betterAuth": { "USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL": "A user with this email already exists. Please use a different email address.", diff --git a/src/lib/i18n/locales/zh-TW/pages.json b/src/lib/i18n/locales/zh-TW/pages.json index ec7b2d7..77a32e2 100644 --- a/src/lib/i18n/locales/zh-TW/pages.json +++ b/src/lib/i18n/locales/zh-TW/pages.json @@ -31,6 +31,16 @@ "heroButton": "View on GitHub", "featuresTitle": "All your needs in one place", "featuresDescription": "Stop juggling multiple apps and spreadsheets.", + "import": { + "title": "Your library.", + "titleAccent": "No need to start over.", + "description": "Bring your anime, manga and games to TrackGeek. Import your lists automatically instead of adding every title by hand.", + "hint": "Choose a platform to get started. Import from a public profile or an export file.", + "exportFile": "Export file", + "backloggdExport": "Backloggd Plus export", + "providerAction": "Import from {{provider}}", + "destination": "One home for your library." + }, "animeManga": "Anime & Manga", "animeMangaDescription": "One of the largest anime and manga catalogs, with access to relations, characters, and detailed information.", "moviesTVShows": "Movies & TV Shows", @@ -69,7 +79,7 @@ "faqScopeQuestion": "What can I actually track?", "faqScopeAnswer": "Anime, manga, movies, TV shows, games and books, all on one profile, with progress, ratings, notes and full reviews.", "faqImportQuestion": "Can I bring data from another tracker?", - "faqImportAnswer": "Yes. You can import from MyAnimeList, Backloggd and any other TrackGeek instance straight from your settings.", + "faqImportAnswer": "Yes. You can import from MyAnimeList, AniList, Backloggd and any other TrackGeek instance straight from your settings.", "faqLeaveQuestion": "What happens to my data if I leave?", "faqLeaveAnswer": "Export it as a ZIP of CSV files in one click, then delete your account. Deletion is permanent and removes your personal data.", "faqSelfHostQuestion": "Can I run my own instance?", diff --git a/src/lib/i18n/locales/zh-TW/settings.json b/src/lib/i18n/locales/zh-TW/settings.json index 4f7d8ba..a749171 100644 --- a/src/lib/i18n/locales/zh-TW/settings.json +++ b/src/lib/i18n/locales/zh-TW/settings.json @@ -22,9 +22,11 @@ "failed": "Could not export your data." }, "import": { - "description": "Bring your library over from another tracker. Files are read on your device and never uploaded to us.", + "description": "Bring your library over from another tracker.", "action": "Import", "states": { + "skipped": "Skipped", + "unmatched": "Unmatched", "pending": "Waiting", "running": "Importing", "waiting": "Retry {{attempt}}", @@ -54,6 +56,10 @@ "ignored_other": "· {{count}} entries ignored", "fileTooLarge": "This file is too large.", "providers": { + "anilist": { + "name": "AniList", + "description": "Import your public anime and manga library with scores, episodes watched and dates from a Anilist profile." + }, "backloggd": { "name": "Backloggd", "description": "Import your games, ratings, hours and dates from a Backloggd Plus export." @@ -63,6 +69,41 @@ "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." } }, + "anilist": { + "title": "Review your AniList data", + "description": "TrackGeek reads your public AniList anime and manga lists. Private entries require AniList authorization and are not included.", + "collect": "Get data", + "collecting": "Collecting public library...", + "noImport": "No data has been imported into TrackGeek. Review the report before deciding to import it.", + "review": "How should these data be mapped and imported into TrackGeek?", + "updateNotice": "Importing this snapshot updates matching entries in your library.", + "reportTitle": "Import report", + "downloadReport": "Download import report", + "background": "Your import continues in the background. You can return to this page to check its report.", + "jobError": "Snapshot expired or import unavailable. Collect a new snapshot and try again.", + "reportSummary": "{{imported}} imported, {{skipped}} skipped, {{unmatched}} unmatched, {{failed}} failed of {{total}}.", + "reasons": { + "missingMalId": "Missing MyAnimeList ID", + "unsupportedStatus": "Unsupported AniList status", + "invalidEntry": "Invalid AniList entry" + }, + "warnings": { + "partialStartedAt": "Partial start date filled with the first known day or month.", + "partialCompletedAt": "Partial completion date filled with the first known day or month.", + "listRenamed": "Custom list renamed to {{name}} to keep content types separate.", + "invalidAdvancedScore": "Advanced score {{name}} could not be converted." + }, + "summary_one": "{{count}} item collected from {{username}}.", + "summary_other": "{{count}} items collected from {{username}}.", + "typeCount_one": "{{count}} {{type}} entry", + "typeCount_other": "{{count}} {{type}} entries", + "errors": { + "notFound": "This AniList user was not found.", + "private": "This AniList library is private. Public snapshots cannot access private data.", + "rateLimit": "AniList rate limit reached. Wait before trying again.", + "failed": "AniList could not be reached. Try again later." + } + }, "backloggd": { "instructions": { "title": "Export your data first",