mirror of
https://github.com/immich-app/immich.git
synced 2026-03-27 12:20:52 +03:00
chore: i18n pass
This commit is contained in:
@@ -74,6 +74,7 @@
|
||||
"cron_expression_description": "Set the scanning interval using the cron format. For more information please refer to e.g. <link>Crontab Guru</link>",
|
||||
"cron_expression_presets": "Cron expression presets",
|
||||
"disable_login": "Disable login",
|
||||
"download_csv": "Download CSV",
|
||||
"duplicate_detection_job_description": "Run machine learning on assets to detect similar images. Relies on Smart Search",
|
||||
"exclusion_pattern_description": "Exclusion patterns lets you ignore files and folders when scanning your library. This is useful if you have folders that contain files you don't want to import, such as RAW files.",
|
||||
"export_config_as_json_description": "Download the current system config as a JSON file",
|
||||
@@ -181,6 +182,7 @@
|
||||
"machine_learning_smart_search_enabled": "Enable smart search",
|
||||
"machine_learning_smart_search_enabled_description": "If disabled, images will not be encoded for smart search.",
|
||||
"machine_learning_url_description": "The URL of the machine learning server. If more than one URL is provided, each server will be attempted one-at-a-time until one responds successfully, in order from first to last. Servers that don't respond will be temporarily ignored until they come back online.",
|
||||
"maintenance_integrity_check_all": "Check All",
|
||||
"maintenance_integrity_checksum_mismatch": "Checksum Mismatch",
|
||||
"maintenance_integrity_checksum_mismatch_job": "Check for checksum mismatches",
|
||||
"maintenance_integrity_checksum_mismatch_refresh_job": "Refresh checksum mismatch reports",
|
||||
@@ -1119,6 +1121,7 @@
|
||||
"failed": "Failed",
|
||||
"failed_count": "Failed: {count}",
|
||||
"failed_to_authenticate": "Failed to authenticate",
|
||||
"failed_to_delete_file": "Failed to delete file",
|
||||
"failed_to_load_assets": "Failed to load assets",
|
||||
"failed_to_load_folder": "Failed to load folder",
|
||||
"favorite": "Favorite",
|
||||
@@ -1140,6 +1143,7 @@
|
||||
"filter_places": "Filter places",
|
||||
"find_them_fast": "Find them fast by name with search",
|
||||
"first": "First",
|
||||
"first_page": "First page",
|
||||
"fix_incorrect_match": "Fix incorrect match",
|
||||
"folder": "Folder",
|
||||
"folder_not_found": "Folder not found",
|
||||
@@ -1239,6 +1243,7 @@
|
||||
"individual_share": "Individual share",
|
||||
"individual_shares": "Individual shares",
|
||||
"info": "Info",
|
||||
"integrity_checks": "Integrity Checks",
|
||||
"interval": {
|
||||
"day_at_onepm": "Every day at 1pm",
|
||||
"hours": "Every {hours, plural, one {hour} other {{hours, number} hours}}",
|
||||
@@ -1463,6 +1468,7 @@
|
||||
"newest_first": "Newest first",
|
||||
"next": "Next",
|
||||
"next_memory": "Next memory",
|
||||
"next_page": "Next page",
|
||||
"no": "No",
|
||||
"no_albums_message": "Create an album to organize your photos and videos",
|
||||
"no_albums_with_name_yet": "It looks like you do not have any albums with this name yet.",
|
||||
@@ -1632,6 +1638,7 @@
|
||||
"previous_or_next_month": "Month forward/back",
|
||||
"previous_or_next_photo": "Photo forward/back",
|
||||
"previous_or_next_year": "Year forward/back",
|
||||
"previous_page": "Previous page",
|
||||
"primary": "Primary",
|
||||
"privacy": "Privacy",
|
||||
"profile": "Profile",
|
||||
|
||||
@@ -245,7 +245,7 @@ export const asQueueItem = ($t: MessageFormatter, queue: { name: QueueName }): Q
|
||||
},
|
||||
[QueueName.IntegrityCheck]: {
|
||||
icon: '',
|
||||
title: 'TODO',
|
||||
title: $t('integrity_checks'),
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -163,7 +163,7 @@ export const getQueueName = derived(t, ($t) => {
|
||||
[QueueName.BackupDatabase]: $t('admin.backup_database'),
|
||||
[QueueName.Ocr]: $t('admin.machine_learning_ocr'),
|
||||
[QueueName.Workflow]: $t('workflow'),
|
||||
[QueueName.IntegrityCheck]: 'TODO',
|
||||
[QueueName.IntegrityCheck]: $t('integrity_checks'),
|
||||
};
|
||||
|
||||
return names[name];
|
||||
|
||||
@@ -125,19 +125,20 @@
|
||||
size="tiny"
|
||||
variant="ghost"
|
||||
class="self-end mt-1"
|
||||
disabled={jobs?.backgroundTask.queueStatus.isActive}>Check All</Button
|
||||
disabled={jobs?.backgroundTask.queueStatus.isActive}
|
||||
>{$t('admin.maintenance_integrity_check_all')}</Button
|
||||
>
|
||||
<Button
|
||||
onclick={() => runJob(reportType, true)}
|
||||
size="tiny"
|
||||
variant="ghost"
|
||||
class="self-end mt-1"
|
||||
disabled={jobs?.backgroundTask.queueStatus.isActive}>Refresh</Button
|
||||
disabled={jobs?.backgroundTask.queueStatus.isActive}>{$t('refresh')}</Button
|
||||
>
|
||||
<Button
|
||||
href={`${AppRoute.ADMIN_MAINTENANCE_INTEGRITY_REPORT + reportType}`}
|
||||
size="tiny"
|
||||
class="self-end mt-1">View</Button
|
||||
class="self-end mt-1">{$t('view')}</Button
|
||||
>
|
||||
</HStack>
|
||||
{/snippet}
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
await createJob({ jobCreateDto: { name } });
|
||||
toastManager.success($t('admin.job_created'));
|
||||
} catch (error) {
|
||||
handleError(error, 'Failed to delete file!');
|
||||
handleError(error, $t('failed_to_delete_file'));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -97,7 +97,7 @@
|
||||
});
|
||||
integrityReport.items = integrityReport.items.filter((report) => report.id !== id);
|
||||
} catch (error) {
|
||||
handleError(error, 'Failed to delete file!');
|
||||
handleError(error, $t('failed_to_delete_file'));
|
||||
} finally {
|
||||
deleting.delete(id);
|
||||
}
|
||||
@@ -147,14 +147,14 @@
|
||||
]}
|
||||
actions={[
|
||||
{
|
||||
title: 'Download CSV',
|
||||
title: $t('admin.download_csv'),
|
||||
icon: mdiDownload,
|
||||
onAction: () => {
|
||||
location.href = `${getBaseUrl()}/admin/maintenance/integrity/report/${data.type}/csv`;
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'Delete All',
|
||||
title: $t('trash_page_delete_all'),
|
||||
onAction: removeAll,
|
||||
icon: mdiTrashCanOutline,
|
||||
},
|
||||
@@ -198,21 +198,21 @@
|
||||
disabled={page === 1}
|
||||
color="primary"
|
||||
icon={mdiPageFirst}
|
||||
aria-label="first page"
|
||||
aria-label={$t('first_page')}
|
||||
onclick={() => loadPage(1)}
|
||||
/>
|
||||
<IconButton
|
||||
disabled={page === 1}
|
||||
color="primary"
|
||||
icon={mdiChevronLeft}
|
||||
aria-label="previous page"
|
||||
aria-label={$t('previous_page')}
|
||||
onclick={() => loadPage(page - 1)}
|
||||
/>
|
||||
<IconButton
|
||||
disabled={!integrityReport.hasNextPage}
|
||||
color="primary"
|
||||
icon={mdiChevronRight}
|
||||
aria-label="next page"
|
||||
aria-label={$t('next_page')}
|
||||
onclick={() => loadPage(page + 1)}
|
||||
/>
|
||||
</HStack>
|
||||
|
||||
Reference in New Issue
Block a user