diff --git a/src/lib/i18n/locales/af-ZA/api.json b/src/lib/i18n/locales/af-ZA/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/af-ZA/api.json +++ b/src/lib/i18n/locales/af-ZA/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/af-ZA/common.json b/src/lib/i18n/locales/af-ZA/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/af-ZA/common.json +++ b/src/lib/i18n/locales/af-ZA/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/af-ZA/feed.json b/src/lib/i18n/locales/af-ZA/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/af-ZA/feed.json +++ b/src/lib/i18n/locales/af-ZA/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/af-ZA/settings.json b/src/lib/i18n/locales/af-ZA/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/af-ZA/settings.json +++ b/src/lib/i18n/locales/af-ZA/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/ar-SA/api.json b/src/lib/i18n/locales/ar-SA/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/ar-SA/api.json +++ b/src/lib/i18n/locales/ar-SA/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/ar-SA/common.json b/src/lib/i18n/locales/ar-SA/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/ar-SA/common.json +++ b/src/lib/i18n/locales/ar-SA/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/ar-SA/feed.json b/src/lib/i18n/locales/ar-SA/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/ar-SA/feed.json +++ b/src/lib/i18n/locales/ar-SA/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/ar-SA/settings.json b/src/lib/i18n/locales/ar-SA/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/ar-SA/settings.json +++ b/src/lib/i18n/locales/ar-SA/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/ca-ES/api.json b/src/lib/i18n/locales/ca-ES/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/ca-ES/api.json +++ b/src/lib/i18n/locales/ca-ES/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/ca-ES/common.json b/src/lib/i18n/locales/ca-ES/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/ca-ES/common.json +++ b/src/lib/i18n/locales/ca-ES/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/ca-ES/feed.json b/src/lib/i18n/locales/ca-ES/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/ca-ES/feed.json +++ b/src/lib/i18n/locales/ca-ES/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/ca-ES/settings.json b/src/lib/i18n/locales/ca-ES/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/ca-ES/settings.json +++ b/src/lib/i18n/locales/ca-ES/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/cs-CZ/api.json b/src/lib/i18n/locales/cs-CZ/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/cs-CZ/api.json +++ b/src/lib/i18n/locales/cs-CZ/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/cs-CZ/common.json b/src/lib/i18n/locales/cs-CZ/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/cs-CZ/common.json +++ b/src/lib/i18n/locales/cs-CZ/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/cs-CZ/feed.json b/src/lib/i18n/locales/cs-CZ/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/cs-CZ/feed.json +++ b/src/lib/i18n/locales/cs-CZ/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/cs-CZ/settings.json b/src/lib/i18n/locales/cs-CZ/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/cs-CZ/settings.json +++ b/src/lib/i18n/locales/cs-CZ/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/da-DK/api.json b/src/lib/i18n/locales/da-DK/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/da-DK/api.json +++ b/src/lib/i18n/locales/da-DK/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/da-DK/common.json b/src/lib/i18n/locales/da-DK/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/da-DK/common.json +++ b/src/lib/i18n/locales/da-DK/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/da-DK/feed.json b/src/lib/i18n/locales/da-DK/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/da-DK/feed.json +++ b/src/lib/i18n/locales/da-DK/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/da-DK/settings.json b/src/lib/i18n/locales/da-DK/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/da-DK/settings.json +++ b/src/lib/i18n/locales/da-DK/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/de-DE/api.json b/src/lib/i18n/locales/de-DE/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/de-DE/api.json +++ b/src/lib/i18n/locales/de-DE/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/de-DE/common.json b/src/lib/i18n/locales/de-DE/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/de-DE/common.json +++ b/src/lib/i18n/locales/de-DE/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/de-DE/feed.json b/src/lib/i18n/locales/de-DE/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/de-DE/feed.json +++ b/src/lib/i18n/locales/de-DE/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/de-DE/settings.json b/src/lib/i18n/locales/de-DE/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/de-DE/settings.json +++ b/src/lib/i18n/locales/de-DE/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/el-GR/api.json b/src/lib/i18n/locales/el-GR/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/el-GR/api.json +++ b/src/lib/i18n/locales/el-GR/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/el-GR/common.json b/src/lib/i18n/locales/el-GR/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/el-GR/common.json +++ b/src/lib/i18n/locales/el-GR/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/el-GR/feed.json b/src/lib/i18n/locales/el-GR/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/el-GR/feed.json +++ b/src/lib/i18n/locales/el-GR/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/el-GR/settings.json b/src/lib/i18n/locales/el-GR/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/el-GR/settings.json +++ b/src/lib/i18n/locales/el-GR/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/es-ES/api.json b/src/lib/i18n/locales/es-ES/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/es-ES/api.json +++ b/src/lib/i18n/locales/es-ES/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/es-ES/common.json b/src/lib/i18n/locales/es-ES/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/es-ES/common.json +++ b/src/lib/i18n/locales/es-ES/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/es-ES/feed.json b/src/lib/i18n/locales/es-ES/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/es-ES/feed.json +++ b/src/lib/i18n/locales/es-ES/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/es-ES/settings.json b/src/lib/i18n/locales/es-ES/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/es-ES/settings.json +++ b/src/lib/i18n/locales/es-ES/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/fi-FI/api.json b/src/lib/i18n/locales/fi-FI/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/fi-FI/api.json +++ b/src/lib/i18n/locales/fi-FI/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/fi-FI/common.json b/src/lib/i18n/locales/fi-FI/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/fi-FI/common.json +++ b/src/lib/i18n/locales/fi-FI/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/fi-FI/feed.json b/src/lib/i18n/locales/fi-FI/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/fi-FI/feed.json +++ b/src/lib/i18n/locales/fi-FI/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/fi-FI/settings.json b/src/lib/i18n/locales/fi-FI/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/fi-FI/settings.json +++ b/src/lib/i18n/locales/fi-FI/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/fr-FR/api.json b/src/lib/i18n/locales/fr-FR/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/fr-FR/api.json +++ b/src/lib/i18n/locales/fr-FR/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/fr-FR/common.json b/src/lib/i18n/locales/fr-FR/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/fr-FR/common.json +++ b/src/lib/i18n/locales/fr-FR/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/fr-FR/feed.json b/src/lib/i18n/locales/fr-FR/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/fr-FR/feed.json +++ b/src/lib/i18n/locales/fr-FR/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/fr-FR/settings.json b/src/lib/i18n/locales/fr-FR/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/fr-FR/settings.json +++ b/src/lib/i18n/locales/fr-FR/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/he-IL/api.json b/src/lib/i18n/locales/he-IL/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/he-IL/api.json +++ b/src/lib/i18n/locales/he-IL/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/he-IL/common.json b/src/lib/i18n/locales/he-IL/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/he-IL/common.json +++ b/src/lib/i18n/locales/he-IL/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/he-IL/feed.json b/src/lib/i18n/locales/he-IL/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/he-IL/feed.json +++ b/src/lib/i18n/locales/he-IL/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/he-IL/settings.json b/src/lib/i18n/locales/he-IL/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/he-IL/settings.json +++ b/src/lib/i18n/locales/he-IL/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/hu-HU/api.json b/src/lib/i18n/locales/hu-HU/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/hu-HU/api.json +++ b/src/lib/i18n/locales/hu-HU/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/hu-HU/common.json b/src/lib/i18n/locales/hu-HU/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/hu-HU/common.json +++ b/src/lib/i18n/locales/hu-HU/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/hu-HU/feed.json b/src/lib/i18n/locales/hu-HU/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/hu-HU/feed.json +++ b/src/lib/i18n/locales/hu-HU/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/hu-HU/settings.json b/src/lib/i18n/locales/hu-HU/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/hu-HU/settings.json +++ b/src/lib/i18n/locales/hu-HU/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/it-IT/api.json b/src/lib/i18n/locales/it-IT/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/it-IT/api.json +++ b/src/lib/i18n/locales/it-IT/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/it-IT/common.json b/src/lib/i18n/locales/it-IT/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/it-IT/common.json +++ b/src/lib/i18n/locales/it-IT/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/it-IT/feed.json b/src/lib/i18n/locales/it-IT/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/it-IT/feed.json +++ b/src/lib/i18n/locales/it-IT/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/it-IT/settings.json b/src/lib/i18n/locales/it-IT/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/it-IT/settings.json +++ b/src/lib/i18n/locales/it-IT/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/ja-JP/api.json b/src/lib/i18n/locales/ja-JP/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/ja-JP/api.json +++ b/src/lib/i18n/locales/ja-JP/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/ja-JP/common.json b/src/lib/i18n/locales/ja-JP/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/ja-JP/common.json +++ b/src/lib/i18n/locales/ja-JP/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/ja-JP/feed.json b/src/lib/i18n/locales/ja-JP/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/ja-JP/feed.json +++ b/src/lib/i18n/locales/ja-JP/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/ja-JP/settings.json b/src/lib/i18n/locales/ja-JP/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/ja-JP/settings.json +++ b/src/lib/i18n/locales/ja-JP/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/ko-KR/api.json b/src/lib/i18n/locales/ko-KR/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/ko-KR/api.json +++ b/src/lib/i18n/locales/ko-KR/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/ko-KR/common.json b/src/lib/i18n/locales/ko-KR/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/ko-KR/common.json +++ b/src/lib/i18n/locales/ko-KR/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/ko-KR/feed.json b/src/lib/i18n/locales/ko-KR/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/ko-KR/feed.json +++ b/src/lib/i18n/locales/ko-KR/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/ko-KR/settings.json b/src/lib/i18n/locales/ko-KR/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/ko-KR/settings.json +++ b/src/lib/i18n/locales/ko-KR/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/nl-NL/api.json b/src/lib/i18n/locales/nl-NL/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/nl-NL/api.json +++ b/src/lib/i18n/locales/nl-NL/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/nl-NL/common.json b/src/lib/i18n/locales/nl-NL/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/nl-NL/common.json +++ b/src/lib/i18n/locales/nl-NL/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/nl-NL/feed.json b/src/lib/i18n/locales/nl-NL/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/nl-NL/feed.json +++ b/src/lib/i18n/locales/nl-NL/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/nl-NL/settings.json b/src/lib/i18n/locales/nl-NL/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/nl-NL/settings.json +++ b/src/lib/i18n/locales/nl-NL/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/no-NO/api.json b/src/lib/i18n/locales/no-NO/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/no-NO/api.json +++ b/src/lib/i18n/locales/no-NO/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/no-NO/common.json b/src/lib/i18n/locales/no-NO/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/no-NO/common.json +++ b/src/lib/i18n/locales/no-NO/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/no-NO/feed.json b/src/lib/i18n/locales/no-NO/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/no-NO/feed.json +++ b/src/lib/i18n/locales/no-NO/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/no-NO/settings.json b/src/lib/i18n/locales/no-NO/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/no-NO/settings.json +++ b/src/lib/i18n/locales/no-NO/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/pl-PL/api.json b/src/lib/i18n/locales/pl-PL/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/pl-PL/api.json +++ b/src/lib/i18n/locales/pl-PL/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/pl-PL/common.json b/src/lib/i18n/locales/pl-PL/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/pl-PL/common.json +++ b/src/lib/i18n/locales/pl-PL/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/pl-PL/feed.json b/src/lib/i18n/locales/pl-PL/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/pl-PL/feed.json +++ b/src/lib/i18n/locales/pl-PL/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/pl-PL/settings.json b/src/lib/i18n/locales/pl-PL/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/pl-PL/settings.json +++ b/src/lib/i18n/locales/pl-PL/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/pt-BR/api.json b/src/lib/i18n/locales/pt-BR/api.json index 852b980..1c059b1 100644 --- a/src/lib/i18n/locales/pt-BR/api.json +++ b/src/lib/i18n/locales/pt-BR/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "O filme já foi atualizado recentemente. Por favor, aguarde antes de atualizar novamente.", "ANIME_ALREADY_REFRESHED": "O anime já foi atualizado recentemente. Por favor, aguarde antes de atualizar novamente.", "BOOK_ALREADY_REFRESHED": "O livro já foi atualizado recentemente. Por favor, aguarde antes de atualizar novamente.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "O mangá já foi atualizado recentemente. Por favor, aguarde antes de atualizar novamente.", "INTERNAL_SERVER_ERROR": "Ocorreu um erro interno do servidor. Tente novamente mais tarde.", "NOT_FOUND": "O recurso solicitado não foi encontrado.", diff --git a/src/lib/i18n/locales/pt-BR/common.json b/src/lib/i18n/locales/pt-BR/common.json index 7e66cfd..05171e2 100644 --- a/src/lib/i18n/locales/pt-BR/common.json +++ b/src/lib/i18n/locales/pt-BR/common.json @@ -157,6 +157,12 @@ "reportError": "Relatar problemas", "all": "Todos", "clear": "Limpar", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascendente", "descending": "Descendente", "joinedAt": "Entrou em", diff --git a/src/lib/i18n/locales/pt-BR/feed.json b/src/lib/i18n/locales/pt-BR/feed.json index 19539fb..6a91d7f 100644 --- a/src/lib/i18n/locales/pt-BR/feed.json +++ b/src/lib/i18n/locales/pt-BR/feed.json @@ -18,7 +18,7 @@ "watchedEpisodesRangeSeason": "assistiu os episódios T{{season}} E{{from}}-{{to}} de {{content}}", "readChapter": "leu capítulo {{chapterNumber}} de {{content}}", "readChapters": "leu capítulos {{chapterNumberInitial}}-{{chapterNumberEnd}} de {{content}}", - "readProgress": "read $t(library:{{unit}}, {\"count\": {{count}}}) {{range}} of {{content}}", + "readProgress": "leu $t(library:{{unit}}, {\"count\": {{count}}}) {{range}} de {{content}}", "moved": "moveu um {{type}} de {{fromList}} para {{toList}}", "plansToRead": "planeia ler {{content}}", "plansToWatch": "planeia assistir {{content}}", @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Relido", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Rejogado", "hoursPlayed": "Horas jogadas", "completionStatus": { diff --git a/src/lib/i18n/locales/pt-BR/settings.json b/src/lib/i18n/locales/pt-BR/settings.json index 3f9c5c1..15da142 100644 --- a/src/lib/i18n/locales/pt-BR/settings.json +++ b/src/lib/i18n/locales/pt-BR/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Importe seus animes, avaliações, episódios assistidos e datas de uma exportação do MyAnimeList." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Selecione o arquivo ZIP gerado pela exportação.", "dropzone": "Clique para selecionar ou solte o backup do TrackGeek aqui" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/pt-PT/api.json b/src/lib/i18n/locales/pt-PT/api.json index 0f258f1..2601e04 100644 --- a/src/lib/i18n/locales/pt-PT/api.json +++ b/src/lib/i18n/locales/pt-PT/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "O filme já foi atualizado recentemente. Aguarde antes de atualizar novamente.", "ANIME_ALREADY_REFRESHED": "O anime já foi atualizado recentemente. Aguarde antes de atualizar novamente.", "BOOK_ALREADY_REFRESHED": "O livro já foi atualizado recentemente. Aguarde antes de atualizar novamente.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "O mangá já foi atualizado recentemente. Aguarde antes de atualizar novamente.", "INTERNAL_SERVER_ERROR": "Ocorreu um erro interno no servidor. Por favor, tente novamente mais tarde.", "NOT_FOUND": "O recurso solicitado não foi encontrado.", diff --git a/src/lib/i18n/locales/pt-PT/common.json b/src/lib/i18n/locales/pt-PT/common.json index 9188337..4ee5006 100644 --- a/src/lib/i18n/locales/pt-PT/common.json +++ b/src/lib/i18n/locales/pt-PT/common.json @@ -157,6 +157,12 @@ "reportError": "Comunicar erro", "all": "Todos", "clear": "Limpar", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascendente", "descending": "Descendente", "joinedAt": "Entrou a", diff --git a/src/lib/i18n/locales/pt-PT/feed.json b/src/lib/i18n/locales/pt-PT/feed.json index 08e38e9..9c3af6d 100644 --- a/src/lib/i18n/locales/pt-PT/feed.json +++ b/src/lib/i18n/locales/pt-PT/feed.json @@ -18,7 +18,7 @@ "watchedEpisodesRangeSeason": "viu os episódios T{{season}} E{{from}}-{{to}} de {{content}}", "readChapter": "leu capítulo {{chapterNumber}} de {{content}}", "readChapters": "leu capítulos {{chapterNumberInitial}}-{{chapterNumberEnd}} de {{content}}", - "readProgress": "read $t(library:{{unit}}, {\"count\": {{count}}}) {{range}} of {{content}}", + "readProgress": "leu $t(library:{{unit}}, {\"count\": {{count}}}) {{range}} de {{content}}", "moved": "moveu um {{type}} de {{fromList}} para {{toList}}", "plansToRead": "planeia ler {{content}}", "plansToWatch": "planeia ver {{content}}", @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Relido", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Rejogado", "hoursPlayed": "Horas jogadas", "completionStatus": { diff --git a/src/lib/i18n/locales/pt-PT/settings.json b/src/lib/i18n/locales/pt-PT/settings.json index 692aff8..2791dca 100644 --- a/src/lib/i18n/locales/pt-PT/settings.json +++ b/src/lib/i18n/locales/pt-PT/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Importe seus animes, avaliações, episódios assistidos e datas de uma exportação do MyAnimeList." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Selecione o arquivo ZIP gerado pela exportação.", "dropzone": "Clique para selecionar ou solte o backup do TrackGeek aqui" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/ro-RO/api.json b/src/lib/i18n/locales/ro-RO/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/ro-RO/api.json +++ b/src/lib/i18n/locales/ro-RO/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/ro-RO/common.json b/src/lib/i18n/locales/ro-RO/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/ro-RO/common.json +++ b/src/lib/i18n/locales/ro-RO/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/ro-RO/feed.json b/src/lib/i18n/locales/ro-RO/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/ro-RO/feed.json +++ b/src/lib/i18n/locales/ro-RO/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/ro-RO/settings.json b/src/lib/i18n/locales/ro-RO/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/ro-RO/settings.json +++ b/src/lib/i18n/locales/ro-RO/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/ru-RU/api.json b/src/lib/i18n/locales/ru-RU/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/ru-RU/api.json +++ b/src/lib/i18n/locales/ru-RU/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/ru-RU/common.json b/src/lib/i18n/locales/ru-RU/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/ru-RU/common.json +++ b/src/lib/i18n/locales/ru-RU/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/ru-RU/feed.json b/src/lib/i18n/locales/ru-RU/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/ru-RU/feed.json +++ b/src/lib/i18n/locales/ru-RU/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/ru-RU/settings.json b/src/lib/i18n/locales/ru-RU/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/ru-RU/settings.json +++ b/src/lib/i18n/locales/ru-RU/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/sr-SP/api.json b/src/lib/i18n/locales/sr-SP/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/sr-SP/api.json +++ b/src/lib/i18n/locales/sr-SP/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/sr-SP/common.json b/src/lib/i18n/locales/sr-SP/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/sr-SP/common.json +++ b/src/lib/i18n/locales/sr-SP/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/sr-SP/feed.json b/src/lib/i18n/locales/sr-SP/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/sr-SP/feed.json +++ b/src/lib/i18n/locales/sr-SP/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/sr-SP/settings.json b/src/lib/i18n/locales/sr-SP/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/sr-SP/settings.json +++ b/src/lib/i18n/locales/sr-SP/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/sv-SE/api.json b/src/lib/i18n/locales/sv-SE/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/sv-SE/api.json +++ b/src/lib/i18n/locales/sv-SE/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/sv-SE/common.json b/src/lib/i18n/locales/sv-SE/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/sv-SE/common.json +++ b/src/lib/i18n/locales/sv-SE/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/sv-SE/feed.json b/src/lib/i18n/locales/sv-SE/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/sv-SE/feed.json +++ b/src/lib/i18n/locales/sv-SE/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/sv-SE/settings.json b/src/lib/i18n/locales/sv-SE/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/sv-SE/settings.json +++ b/src/lib/i18n/locales/sv-SE/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/tr-TR/api.json b/src/lib/i18n/locales/tr-TR/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/tr-TR/api.json +++ b/src/lib/i18n/locales/tr-TR/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/tr-TR/common.json b/src/lib/i18n/locales/tr-TR/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/tr-TR/common.json +++ b/src/lib/i18n/locales/tr-TR/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/tr-TR/feed.json b/src/lib/i18n/locales/tr-TR/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/tr-TR/feed.json +++ b/src/lib/i18n/locales/tr-TR/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/tr-TR/settings.json b/src/lib/i18n/locales/tr-TR/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/tr-TR/settings.json +++ b/src/lib/i18n/locales/tr-TR/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/uk-UA/api.json b/src/lib/i18n/locales/uk-UA/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/uk-UA/api.json +++ b/src/lib/i18n/locales/uk-UA/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/uk-UA/common.json b/src/lib/i18n/locales/uk-UA/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/uk-UA/common.json +++ b/src/lib/i18n/locales/uk-UA/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/uk-UA/feed.json b/src/lib/i18n/locales/uk-UA/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/uk-UA/feed.json +++ b/src/lib/i18n/locales/uk-UA/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/uk-UA/settings.json b/src/lib/i18n/locales/uk-UA/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/uk-UA/settings.json +++ b/src/lib/i18n/locales/uk-UA/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/vi-VN/api.json b/src/lib/i18n/locales/vi-VN/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/vi-VN/api.json +++ b/src/lib/i18n/locales/vi-VN/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/vi-VN/common.json b/src/lib/i18n/locales/vi-VN/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/vi-VN/common.json +++ b/src/lib/i18n/locales/vi-VN/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/vi-VN/feed.json b/src/lib/i18n/locales/vi-VN/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/vi-VN/feed.json +++ b/src/lib/i18n/locales/vi-VN/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/vi-VN/settings.json b/src/lib/i18n/locales/vi-VN/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/vi-VN/settings.json +++ b/src/lib/i18n/locales/vi-VN/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/zh-CN/api.json b/src/lib/i18n/locales/zh-CN/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/zh-CN/api.json +++ b/src/lib/i18n/locales/zh-CN/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/zh-CN/common.json b/src/lib/i18n/locales/zh-CN/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/zh-CN/common.json +++ b/src/lib/i18n/locales/zh-CN/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/zh-CN/feed.json b/src/lib/i18n/locales/zh-CN/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/zh-CN/feed.json +++ b/src/lib/i18n/locales/zh-CN/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/zh-CN/settings.json b/src/lib/i18n/locales/zh-CN/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/zh-CN/settings.json +++ b/src/lib/i18n/locales/zh-CN/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": { diff --git a/src/lib/i18n/locales/zh-TW/api.json b/src/lib/i18n/locales/zh-TW/api.json index 74aeeba..4cff83f 100644 --- a/src/lib/i18n/locales/zh-TW/api.json +++ b/src/lib/i18n/locales/zh-TW/api.json @@ -20,6 +20,7 @@ "MOVIE_ALREADY_REFRESHED": "The movie has already been refreshed recently. Please wait before refreshing again.", "ANIME_ALREADY_REFRESHED": "The anime has already been refreshed recently. Please wait before refreshing again.", "BOOK_ALREADY_REFRESHED": "The book has already been refreshed recently. Please wait before refreshing again.", + "INVALID_PAGES_READ": "Pages read cannot exceed the total pages in your edition.", "MANGA_ALREADY_REFRESHED": "The manga has already been refreshed recently. Please wait before refreshing again.", "INTERNAL_SERVER_ERROR": "An internal server error occurred. Please try again later.", "NOT_FOUND": "The requested resource was not found.", diff --git a/src/lib/i18n/locales/zh-TW/common.json b/src/lib/i18n/locales/zh-TW/common.json index b18c58c..e247cd5 100644 --- a/src/lib/i18n/locales/zh-TW/common.json +++ b/src/lib/i18n/locales/zh-TW/common.json @@ -157,6 +157,12 @@ "reportError": "Report error", "all": "All", "clear": "Clear", + "calendar": { + "dateFormat": "DD/MM/YYYY", + "applyDate": "Apply date", + "invalidDate": "Enter a valid date in {{format}} format.", + "unavailableDate": "This date is unavailable. Choose another date." + }, "ascending": "Ascending", "descending": "Descending", "joinedAt": "Joined at", diff --git a/src/lib/i18n/locales/zh-TW/feed.json b/src/lib/i18n/locales/zh-TW/feed.json index f0e5e33..740447c 100644 --- a/src/lib/i18n/locales/zh-TW/feed.json +++ b/src/lib/i18n/locales/zh-TW/feed.json @@ -106,6 +106,10 @@ "streaming": "Streaming" }, "totalRereads": "Total Rereads", + "pagesRead": "Pages read", + "totalPages": "Total pages", + "invalidPageCount": "Enter a whole number between {{min}} and {{max}}.", + "pagesReadExceedTotal": "Pages read cannot exceed the total. Adjust the total or pages read.", "totalReplays": "Total Replays", "hoursPlayed": "Hours Played", "completionStatus": { diff --git a/src/lib/i18n/locales/zh-TW/settings.json b/src/lib/i18n/locales/zh-TW/settings.json index a749171..0fdfcb9 100644 --- a/src/lib/i18n/locales/zh-TW/settings.json +++ b/src/lib/i18n/locales/zh-TW/settings.json @@ -67,6 +67,10 @@ "myanimelist_anime": { "name": "MyAnimeList (Anime)", "description": "Import your anime, scores, episodes watched and dates from a MyAnimeList export." + }, + "trakt": { + "name": "Trakt", + "description": "Import your movies, TV shows, ratings and lists from a Trakt ZIP export." } }, "anilist": { @@ -157,6 +161,33 @@ "description": "Select the ZIP file generated by the export.", "dropzone": "Click to select or drop your TrackGeek backup here" } + }, + "trakt": { + "title": "Import from Trakt", + "description": "Upload your Trakt ZIP export. Watched history, watchlist, ratings and personal lists are imported through your account.", + "upload": { + "description": "Select the ZIP file generated by Trakt.", + "dropzone": "Click to select or drop your Trakt export here" + }, + "retryFailures": "Retry failed entries", + "countMismatch": "Export counts differ for {{metric}}: {{expected}} expected, {{actual}} found.", + "specialMissing": "Special episode {{season}}×{{episode}} is missing from the catalog and was not imported.", + "errors": { + "invalidEntry": "Invalid export entry", + "missingTmdbId": "Missing TMDB ID", + "missingList": "List metadata is missing", + "missingListFile": "List contents are missing from the export", + "unsupportedType": "This item type is not supported", + "pendingFormat": "Text notes and reviews require a supported export sample", + "catalog": "Could not load this media from the catalog", + "progress": "Could not update progress", + "episodes": "Could not import watched episodes", + "rating": "Could not import the rating", + "list": "Could not create or update this list", + "listType": "An existing list with this name has a different content type", + "listItem": "Could not add this item to the list", + "seasonNotFound": "This planned season is missing from the catalog" + } } }, "connections": {