diff --git a/CHANGELOG.md b/CHANGELOG.md index 211b6d75..667ab7a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ * [UIBULKED-355](https://issues.folio.org/browse/UIBULKED-355) Remove reference to Query tab on the landing page. * [UIBULKED-315](https://issues.folio.org/browse/UIBULKED-315) Group holdings record properties using optgroup component +* [UIBULKED-354](https://issues.folio.org/browse/UIBULKED-354) Two identical files with the preview of proposed changes are downloaded from Logs +* [UIBULKED-373](https://issues.folio.org/browse/UIBULKED-373) "User" dropdown doesn't include Users recently run bulk edit jobs * [UIBULKED-316](https://issues.folio.org/browse/UIBULKED-316) Bulk edit actions for holdings notes - add and remove Mark as staff only. * [UIBULKED-331](https://issues.folio.org/browse/UIBULKED-331) Bulk edit actions for holdings notes - add and remove notes. * [UIBULKED-332](https://issues.folio.org/browse/UIBULKED-332) Bulk edit actions for holdings notes - find and replace or remove. diff --git a/src/components/BulkEditActionMenu/BulkEditActionMenu.js b/src/components/BulkEditActionMenu/BulkEditActionMenu.js index e715dd1e..93176639 100644 --- a/src/components/BulkEditActionMenu/BulkEditActionMenu.js +++ b/src/components/BulkEditActionMenu/BulkEditActionMenu.js @@ -26,7 +26,11 @@ import { usePathParams, } from '../../hooks'; import { RootContext } from '../../context/RootContext'; -import { useBulkOperationDetails, useFileDownload } from '../../hooks/api'; +import { + QUERY_KEY_DOWNLOAD_ACTION_MENU, + useBulkOperationDetails, + useFileDownload +} from '../../hooks/api'; const BulkEditActionMenu = ({ onEdit, @@ -57,6 +61,7 @@ const BulkEditActionMenu = ({ useFileDownload({ + queryKey: QUERY_KEY_DOWNLOAD_ACTION_MENU, enabled: !!fileInfo, id, fileInfo: { diff --git a/src/components/BulkEditList/BulkEditListResult/BulkEditInAppPreviewModal/BulkEditInAppPreviewModal.js b/src/components/BulkEditList/BulkEditListResult/BulkEditInAppPreviewModal/BulkEditInAppPreviewModal.js index 956eb279..40905310 100644 --- a/src/components/BulkEditList/BulkEditListResult/BulkEditInAppPreviewModal/BulkEditInAppPreviewModal.js +++ b/src/components/BulkEditList/BulkEditListResult/BulkEditInAppPreviewModal/BulkEditInAppPreviewModal.js @@ -23,6 +23,7 @@ import { useBulkOperationDetails, useContentUpdate, useFileDownload, + QUERY_KEY_DOWNLOAD_IN_APP, } from '../../../../hooks/api'; import { getContentUpdatesBody } from '../BulkEditInApp/ContentUpdatesForm/helpers'; @@ -75,6 +76,7 @@ const BulkEditInAppPreviewModal = ({ }); const { refetch } = useFileDownload({ + queryKey: QUERY_KEY_DOWNLOAD_IN_APP, enabled: false, // to prevent automatic file fetch in preview modal id: bulkOperationId, fileInfo: { diff --git a/src/components/BulkEditLogs/BulkEditLogsActions/BulkEditLogsActions.js b/src/components/BulkEditLogs/BulkEditLogsActions/BulkEditLogsActions.js index 8201b77f..177eb1a3 100644 --- a/src/components/BulkEditLogs/BulkEditLogsActions/BulkEditLogsActions.js +++ b/src/components/BulkEditLogs/BulkEditLogsActions/BulkEditLogsActions.js @@ -15,7 +15,7 @@ import { InfoPopover, } from '@folio/stripes/components'; import { FormattedMessage } from 'react-intl'; -import { useFileDownload } from '../../../hooks/api'; +import { QUERY_KEY_DOWNLOAD_LOGS, useFileDownload } from '../../../hooks/api'; import { CAPABILITIES, linkNamesMap } from '../../../constants'; import { useBulkPermissions } from '../../../hooks'; @@ -26,6 +26,7 @@ const BulkEditLogsActions = ({ item }) => { } = useBulkPermissions(); const [triggeredFile, setTriggeredFile] = useState(null); const { refetch } = useFileDownload({ + queryKey: QUERY_KEY_DOWNLOAD_LOGS, enabled: false, id: item.id, fileInfo: { diff --git a/src/hooks/api/useBulkOperationUsers.js b/src/hooks/api/useBulkOperationUsers.js index 56de0b13..d9529e95 100644 --- a/src/hooks/api/useBulkOperationUsers.js +++ b/src/hooks/api/useBulkOperationUsers.js @@ -7,7 +7,7 @@ export const useBulkOperationUsers = (options) => { const { data, isLoading } = useQuery({ queryKey: ['bulkOperationUsers'], - queryFn: () => ky.get(`bulk-operations/list-users?query=(entityType==("${CAPABILITIES.USER}" or "${CAPABILITIES.ITEM}" or "${CAPABILITIES.HOLDING}"))&limit=100&offset=0`).json(), + queryFn: () => ky.get(`bulk-operations/list-users?query=(entityType==("${CAPABILITIES.USER}" or "${CAPABILITIES.ITEM}" or "${CAPABILITIES.HOLDING}"))&offset=0`).json(), ...options, }); diff --git a/src/hooks/api/useFileDownload.js b/src/hooks/api/useFileDownload.js index 388df3e3..2090d0a1 100644 --- a/src/hooks/api/useFileDownload.js +++ b/src/hooks/api/useFileDownload.js @@ -1,17 +1,22 @@ import { useQuery } from 'react-query'; import { useOkapiKy } from '@folio/stripes/core'; +export const QUERY_KEY_DOWNLOAD_LOGS = 'downloadLogs'; +export const QUERY_KEY_DOWNLOAD_ACTION_MENU = 'downloadActionMenu'; +export const QUERY_KEY_DOWNLOAD_IN_APP = 'downloadInApp'; + export const useFileDownload = ({ id, fileInfo, onSuccess, + queryKey, ...queryProps }) => { const ky = useOkapiKy(); const { refetch } = useQuery( { - queryKey: ['downloadFile', id, fileInfo], + queryKey: [queryKey, id, fileInfo], queryFn: () => ky.get(`bulk-operations/${id}/download`, { searchParams: { fileContentType: fileInfo?.fileContentType }, }).blob(), diff --git a/translations/ui-bulk-edit/cs_CZ.json b/translations/ui-bulk-edit/cs_CZ.json index a9661a87..eac3d9c0 100644 --- a/translations/ui-bulk-edit/cs_CZ.json +++ b/translations/ui-bulk-edit/cs_CZ.json @@ -4,7 +4,7 @@ "list.logSubTitle": "Nastavte kritéria pro zahájení hromadných úprav", "list.filters.identifier": "Identifikátor", "list.filters.query": "Dotaz", - "list.result.emptyMessage": "Vyberte \"identifikátor záznamu\", když jste na kartě Identifikátor. Zadejte \"vyhledávací dotaz\" na kartě Dotaz", + "list.result.emptyMessage": "Na kartě Identifikátor vyberte „identifikátor záznamu“.", "list.filters.recordIdentifier": "Identifikátor záznamu", "list.filters.recordIdentifier.placeholder": "Vybrat identifikátor záznamu", "list.filters.recordIdentifier.userUUIDs": "UUID uživatelů", @@ -41,15 +41,15 @@ "menuGroup.actions": "Akce", "menuGroup.showColumns": "Zobrazit sloupce", "meta.title.conformationModal": "Hromadná úprava: {fileName}", - "conformationModal.message": "{count} záznamy budou aktualizovány, pokud kliknete na tlačítko Provést změny.", - "recordsSuccessfullyChanged": "{value} záznamů bylo úspěšně změněno", + "conformationModal.message": "{count, number} záznamů bude aktualizováno, pokud kliknete na tlačítko Potvrdit změny .", + "recordsSuccessfullyChanged": "{value, number} záznamů bylo úspěšně změněno", "error.sww": "Něco se pokazilo", - "list.logSubTitle.matched": "{count} shoda záznamů", + "list.logSubTitle.matched": "{count, number} záznamů se shoduje", "list.preview.title": "Náhled porovnaného záznamu", "preview.file.title": "Název souboru: {fileUploadedName}", "preview.query.title": "Dotaz: {queryText}", "list.errors.title": "Chyby", - "list.errors.info": "{fileName}: {entries} záznamy * {matched} přiřazené záznamy * {errors} chyby", + "list.errors.info": "{fileName}: {entries, number} záznamů * {matched, number} záznamů odpovídá * {errors, number} chyb", "list.errors.table.code": "Identifikátor záznamu", "list.errors.table.message": "Důvod chyby", "modal.successfullMessage": "{fileName} úspěšně nahrán.", @@ -70,7 +70,7 @@ "layer.action.clear": "Vymazat pole", "layer.confirmChanges": "Potvrďte změny", "actions.placeholder": "Vybrat akci", - "previewModal.message": "{count} záznamů se změní, pokud kliknete na tlačítko Uložit a zavřít. Můžete zvolit Stáhnout náhled a zkontrolovat všechny změny před uložením.", + "previewModal.message": "{count, number} záznamů se změní, pokud kliknete na tlačítko Uložit a zavřít. Můžete zvolit Stáhnout náhled a zkontrolovat všechny změny před uložením.", "previewModal.previewToBeChanged": "Náhled záznamů, které mají být změněny", "previewModal.keepEditing": "Pokračovat v úpravách", "previewModal.downloadPreview": "Stáhnout náhled", @@ -93,7 +93,7 @@ "list.result.emptyMessage.USER_NAME": "Přetáhnout nebo vybrat soubor s uživatelskými jmény", "uploaderSubTitle.EXTERNAL_SYSTEM_ID": "Vyberte soubor s externími ID", "uploaderSubTitle.USER_NAME": "Vyberte soubor s uživatelskými jmény", - "list.result.emptyMessage.item": "Vyberte \"identifikátor záznamu\", když jste na kartě Identifikátor. Zadejte \"vyhledávací dotaz\" na kartě Dotaz", + "list.result.emptyMessage.item": "Na kartě Identifikátor vyberte „identifikátor záznamu“.", "list.result.emptyMessage.item.BARCODE": "Přetáhnout nebo vybrat soubor s čárovým kódem jednotky", "list.result.emptyMessage.item.ID": "Přetáhnout nebo vybrat soubor s UUID jednotek", "list.result.emptyMessage.item.HRID": "Přetáhnout nebo vybrat soubor s HRID jednotek", @@ -108,7 +108,7 @@ "uploaderSubTitle.item.ACCESSION_NUMBER": "Vybrat soubor s přístupovým číslem jednotky", "uploaderSubTitle.item.HOLDINGS_RECORD_ID": "Vybrat soubor s UUID holdingů", "layer.selectLocation": "Zvolit lokaci", - "list.logSubTitle.changed": "{count} záznamů změněno", + "list.logSubTitle.changed": "{count, number} záznamů změněno", "list.preview.titleChanged": "Náhled záznamu změněn", "modal.fileExtensions.blocked.message2": "Lze nahrát pouze jeden soubor s příponou .csv.", "layer.options.expirationDate": "Datum platnosti", @@ -125,7 +125,7 @@ "list.filters.recordIdentifier.holdings.holdingsHRID": "HRID holdingů", "list.filters.recordIdentifier.holdings.instanceHRID": "HRID titulu", "list.filters.recordIdentifier.holdings.itemBarcodes": "Čárové kódy jednotek", - "list.result.emptyMessage.holdings": "Na kartě Identifikátor vyberte „identifikátor záznamu“. Na kartě Dotaz zadejte „vyhledávací dotaz“.", + "list.result.emptyMessage.holdings": "Na kartě Identifikátor vyberte „identifikátor záznamu“.", "list.result.emptyMessage.holdings.ID": "Přetáhnout nebo vybrat soubor s UUID jednotek", "list.result.emptyMessage.holdings.INSTANCE_HRID": "Přetáhnout nebo vybrat soubor s HRID titulů", "list.result.emptyMessage.holdings.ITEM_BARCODE": "Přetáhnout nebo vybrat soubor s čárovým kódem jednotky", @@ -161,7 +161,7 @@ "columns.logs.editing": "Úpravy", "columns.logs.actions": "Akce", "list.actions.download": "Stáhnout", - "retrievedDataList.title": "Bylo nalezeno {matched} odpovídajících {capability} záznamů.", + "retrievedDataList.title": "Nalezeno {matched, number} odpovídajících {capability} záznamů.", "columns.logs.operationType": "Typ hromadné operace", "columns.logs.entityType": "Typ záznamu", "columns.logs.userId": "Provozuje", @@ -169,7 +169,7 @@ "columns.logs.endTime": "Ukončeno", "columns.logs.totalNumOfRecords": "# záznamů", "columns.logs.processedNumOfRecords": "Zpracováno", - "list.errors.infoProcessed": "{fileName}: {entries} záznamy * {matched} záznamů změněno * {errors} chyby", + "list.errors.infoProcessed": "{fileName}: {entries, number} záznamů * {matched, number} záznamů změněno * {errors, number} chyb", "logs.actions.linkToTriggeringCsvFile": "Soubor, který byl použit ke spuštění hromadné úpravy", "logs.actions.linkToMatchedRecordsCsvFile": "Soubor s odpovídajícími záznamy", "logs.actions.linkToMatchedRecordsErrorsCsvFile": "Soubor s chybami zjištěnými během porovnávání záznamů", @@ -353,11 +353,11 @@ "permissionsModal.save": "Uložit a zavřít", "permissionsModal.totalSelected": "Celkem vybráno: {count, number}", "layer.options.items.duplicateTo": "Duplikovat do", - "list.result.emptyMessage.empty": "Na kartě Identifikátor vyberte „identifikátor záznamu“. Na kartě Dotaz zadejte „vyhledávací dotaz“.", + "list.result.emptyMessage.empty": "Na kartě Identifikátor vyberte „identifikátor záznamu“.", "uploaderSubTitle.empty": "Vybrat soubor s identifikátory záznamu", "logs.filter.title.user": "Uživatel", "logs.filter.user.placeholder": "Vybrat uživatele", - "columns.HOLDINGS_RECORD.Instance (Title, Publisher, Publication date)": "Instance (Title, Publisher, Publication date)", - "category.holdingsNotes": "Holdings notes", - "category.holdingsLocation": "Holdings location" + "columns.HOLDINGS_RECORD.Instance (Title, Publisher, Publication date)": "Titul (Název, Vydavatel, Datum publikace)", + "category.holdingsNotes": "Poznámky holdingů", + "category.holdingsLocation": "Lokace holdingů" } \ No newline at end of file diff --git a/translations/ui-bulk-edit/es.json b/translations/ui-bulk-edit/es.json index 55ed0d77..f18ed4a5 100644 --- a/translations/ui-bulk-edit/es.json +++ b/translations/ui-bulk-edit/es.json @@ -10,13 +10,13 @@ "list.filters.recordIdentifier.userUUIDs": "User UUIDs", "list.filters.recordIdentifier.userBarcodes": "User Barcodes", "list.filters.recordIdentifier.externalIDs": "External IDs", - "list.filters.recordIdentifier.usernames": "Usernames", + "list.filters.recordIdentifier.usernames": "Usuarios", "uploaderBtnText": "or choose file", "uploaderSubTitle": "Select a file with record identifiers", "uploaderTitle": "Drag and drop", "uploaderActiveTitle": "Drop to continue", "uploading": "Uploading", - "cancel": "Cancel", + "cancel": "Cancelar", "modal.fileExtensions.blocked.header": "Invalid file", "modal.fileExtensions.blocked.message": "Only file with .csv extension can be uploaded.", "modal.fileExtensions.actionButton": "Choose other file to upload", diff --git a/translations/ui-bulk-edit/es_ES.json b/translations/ui-bulk-edit/es_ES.json index c9ac70d3..96fe6eaf 100644 --- a/translations/ui-bulk-edit/es_ES.json +++ b/translations/ui-bulk-edit/es_ES.json @@ -10,13 +10,13 @@ "list.filters.recordIdentifier.userUUIDs": "User UUIDs", "list.filters.recordIdentifier.userBarcodes": "User Barcodes", "list.filters.recordIdentifier.externalIDs": "Identificadores externos", - "list.filters.recordIdentifier.usernames": "Usernames", + "list.filters.recordIdentifier.usernames": "Usuarios", "uploaderBtnText": "or choose file", "uploaderSubTitle": "Select a file with record identifiers", "uploaderTitle": "Drag and drop", "uploaderActiveTitle": "Drop to continue", "uploading": "Uploading", - "cancel": "Cancel", + "cancel": "Cancelar", "modal.fileExtensions.blocked.header": "Invalid file", "modal.fileExtensions.blocked.message": "Only file with .csv extension can be uploaded.", "modal.fileExtensions.actionButton": "Choose other file to upload", @@ -195,7 +195,7 @@ "columns.USER.User id": "User id", "columns.USER.External system id": "External System ID", "columns.USER.Barcode": "Barcode", - "columns.USER.Active": "Active", + "columns.USER.Active": "Activo", "columns.USER.Type": "Type", "columns.USER.Patron group": "Patron group", "columns.USER.Departments": "Departments", @@ -295,8 +295,8 @@ "columns.HOLDINGS_RECORD.Source": "Source", "columns.HOLDINGS_RECORD.Instance HRID": "Instance HRID", "columns.HOLDINGS_RECORD.Item barcode": "Item barcode", - "list.preview.table.status.true": "Active", - "list.preview.table.status.false": "Inactive", + "list.preview.table.status.true": "Activo", + "list.preview.table.status.false": "Inactivo", "columns.logs.hrId": "ID", "layer.options.items.true": "Set true", "layer.options.items.false": "Set false", @@ -324,39 +324,39 @@ "ariaLabel.location": "Location", "ariaLabel.statusSelect": "Status select", "ariaLabel.loanTypeSelect": "Loan type select", - "category.itemNotes": "Item notes", - "layer.selectNoteType": "Select note type", + "category.itemNotes": "Notas del item", + "layer.selectNoteType": "Seleccionar tipo de nota", "layer.options.items.changeNote": "Change note type", "ariaLabel.actionsSelect": "Actions select", "layer.options.items.removeNote": "Remove", "logs.infoPopover": "Files are unavailable for download because 30 days have elapsed since the date the job was run.", - "permissionsModal.title": "Select Permissions", + "permissionsModal.title": "Seleccionar permisos", "permissionsModal.filter.title": "Search & filter", - "permissionsModal.filter.search": "Search", + "permissionsModal.filter.search": "Buscar", "permissionsModal.filter.resetAll": "Reset all", "permissionsModal.filter.permissionTypes": "Permission types", "permissionsModal.filter.permissionSets": "Permission sets", - "permissionsModal.filter.permissions": "Permissions", + "permissionsModal.filter.permissions": "Permisos", "permissionsModal.filter.assignmentStatus": "Permission assignment status", - "permissionsModal.filter.assigned": "Assigned", + "permissionsModal.filter.assigned": "Asignado", "permissionsModal.filter.unassigned": "Unassigned", - "permissionsModal.list.columns.name": "Name", + "permissionsModal.list.columns.name": "Nombre", "permissionsModal.list.columns.type": "Type", "permissionsModal.list.columns.status": "Status", - "permissionsModal.list.cell.assigned": "Assigned", + "permissionsModal.list.cell.assigned": "Asignado", "permissionsModal.list.cell.unassigned": "Unassigned", "permissionsModal.list.cell.permissionSets": "Permission set", - "permissionsModal.list.cell.permissions": "Permission", - "permissionsModal.list.title": "Permissions", + "permissionsModal.list.cell.permissions": "Permiso", + "permissionsModal.list.title": "Permisos", "permissionsModal.list.subTitle": "{count, number} permissions found", - "permissionsModal.cancel": "Cancel", - "permissionsModal.save": "Save & close", + "permissionsModal.cancel": "Cancelar", + "permissionsModal.save": "Guardar e cerrar", "permissionsModal.totalSelected": "Total selected: {count, number}", "layer.options.items.duplicateTo": "Duplicate to", "list.result.emptyMessage.empty": "Select a \"record identifier\" when on the Identifier tab", "uploaderSubTitle.empty": "Select a file with record identifiers", - "logs.filter.title.user": "User", - "logs.filter.user.placeholder": "Choose user", + "logs.filter.title.user": "Usuario", + "logs.filter.user.placeholder": "Elegir usuario", "columns.HOLDINGS_RECORD.Instance (Title, Publisher, Publication date)": "Instance (Title, Publisher, Publication date)", "category.holdingsNotes": "Holdings notes", "category.holdingsLocation": "Holdings location" diff --git a/translations/ui-bulk-edit/pt_BR.json b/translations/ui-bulk-edit/pt_BR.json index 60774081..7a366d6e 100644 --- a/translations/ui-bulk-edit/pt_BR.json +++ b/translations/ui-bulk-edit/pt_BR.json @@ -55,7 +55,7 @@ "modal.successfullMessage": "{fileName} carregado com sucesso.", "modal.next": "Próximo", "conformationModal.commitChanges": "Confirmar as alterações", - "list.filters.recordIdentifier.item.barcode": "Código de barras do exemplar", + "list.filters.recordIdentifier.item.barcode": "Código de barras do item", "list.filters.recordIdentifier.item.UUID": "UUIDs de exemplares", "list.filters.recordIdentifier.item.ItemHRIDs": "HRIDs de exemplares", "list.filters.recordIdentifier.item.former": "Identificador anterior do exemplar", @@ -94,7 +94,7 @@ "uploaderSubTitle.EXTERNAL_SYSTEM_ID": "Selecione um arquivo com IDs externos", "uploaderSubTitle.USER_NAME": "Selecione um arquivo com Usernames", "list.result.emptyMessage.item": "Selecione um \"identificador de registro\" quando estiver na guia Identificador", - "list.result.emptyMessage.item.BARCODE": "Arraste e solte ou escolha o arquivo com o código de barras do exemplar", + "list.result.emptyMessage.item.BARCODE": "Arraste e solte ou escolha o arquivo com o código de barras do item", "list.result.emptyMessage.item.ID": "Arraste e solte ou escolha o arquivo com UUIDs de exemplar", "list.result.emptyMessage.item.HRID": "Arraste e solte ou escolha o arquivo com HRIDs do exemplar", "list.result.emptyMessage.item.FORMER_IDS": "Arrastar e soltar ou escolher arquivo com o item identificador anterior", diff --git a/translations/ui-bulk-edit/sk.json b/translations/ui-bulk-edit/sk.json new file mode 100644 index 00000000..189b85e2 --- /dev/null +++ b/translations/ui-bulk-edit/sk.json @@ -0,0 +1,363 @@ +{ + "meta.title": "Bulk edit", + "list.criteriaTitle": "Set criteria", + "list.logSubTitle": "Set criteria to start bulk edit", + "list.filters.identifier": "Identifier", + "list.filters.query": "Query", + "list.result.emptyMessage": "Select a \"record identifier\" when on the Identifier tab", + "list.filters.recordIdentifier": "Record identifier", + "list.filters.recordIdentifier.placeholder": "Select record identifier", + "list.filters.recordIdentifier.userUUIDs": "User UUIDs", + "list.filters.recordIdentifier.userBarcodes": "User Barcodes", + "list.filters.recordIdentifier.externalIDs": "External IDs", + "list.filters.recordIdentifier.usernames": "Usernames", + "uploaderBtnText": "or choose file", + "uploaderSubTitle": "Select a file with record identifiers", + "uploaderTitle": "Drag and drop", + "uploaderActiveTitle": "Drop to continue", + "uploading": "Uploading", + "cancel": "Cancel", + "modal.fileExtensions.blocked.header": "Invalid file", + "modal.fileExtensions.blocked.message": "Only file with .csv extension can be uploaded.", + "modal.fileExtensions.actionButton": "Choose other file to upload", + "list.filters.capabilities.title": "Record types", + "list.filters.capabilities.users": "Users", + "list.filters.capabilities.inventory": "Inventory - items", + "list.filters.capabilities.circulation": "Circulation", + "list.filters.capabilities.acquisition": "Acquisition", + "start.edit": "Start bulk edit", + "start.delete": "Start bulk delete", + "meta.title.uploadedFile": "Bulk edit {fileName}", + "error.uploadedFile": "Fail to upload file", + "list.result.emptyMessage.ID": "Drag and drop or choose file with User UUIDs", + "list.result.emptyMessage.BARCODE": "Drag and drop or choose file with User Barcodes", + "uploaderSubTitle.ID": "Select a file with User UUIDs", + "uploaderSubTitle.BARCODE": "Select a file with User Barcodes", + "start.downloadErrors": "Download errors (CSV)", + "uploaderSubTitle.records": "Upload CSV file with edited records", + "textArea.search": "Search", + "textArea.resetAll": "Reset all", + "start.downloadMathcedRecords": "Download matched records (CSV)", + "menuGroup.actions": "Actions", + "menuGroup.showColumns": "Show columns", + "meta.title.conformationModal": "Bulk edit: {fileName}", + "conformationModal.message": "{count, number} records will be updated if the Commit changes button is clicked.", + "recordsSuccessfullyChanged": "{value, number} records have been successfully changed", + "error.sww": "Something went wrong", + "list.logSubTitle.matched": "{count, number} records match", + "list.preview.title": "Preview of record matched", + "preview.file.title": "Filename: {fileUploadedName}", + "preview.query.title": "Query: {queryText}", + "list.errors.title": "Errors", + "list.errors.info": "{fileName}: {entries, number} entries * {matched, number} records matched * {errors, number} errors", + "list.errors.table.code": "Record identifier", + "list.errors.table.message": "Reason for error", + "modal.successfullMessage": "{fileName} successfully uploaded.", + "modal.next": "Next", + "conformationModal.commitChanges": "Commit changes", + "list.filters.recordIdentifier.item.barcode": "Item barcode", + "list.filters.recordIdentifier.item.UUID": "Item UUIDs", + "list.filters.recordIdentifier.item.ItemHRIDs": "Item HRIDs", + "list.filters.recordIdentifier.item.former": "Item former identifier", + "list.filters.recordIdentifier.item.accession": "Item accession number", + "list.filters.recordIdentifier.item.holdingsUUID": "Holdings UUIDs", + "start.edit.csv": "Start bulk edit (Local)", + "start.downloadChangedRecords": "Download changed records (CSV)", + "layer.title": "Bulk edits", + "layer.column.options": "Options", + "layer.column.actions": "Actions", + "layer.action.replace": "Replace with", + "layer.action.clear": "Clear field", + "layer.confirmChanges": "Confirm changes", + "actions.placeholder": "Select action", + "previewModal.message": "{count, number} records will be changed if the Commit changes button is clicked. You may choose Download preview to review all changes prior to saving.", + "previewModal.previewToBeChanged": "Preview of records to be changed", + "previewModal.keepEditing": "Keep editing", + "previewModal.downloadPreview": "Download preview", + "previewModal.saveAndClose": "Commit changes", + "progressBar.title": "Uploading {title} and retrieving relevant data", + "progresssBar.retrieving": "Retrieving", + "previewModal.areYouSure": "Are you sure?", + "layer.options.statusLabel": "Item status", + "layer.options.available": "Available", + "layer.options.missing": "Missing", + "layer.options.withdrawn": "Withdrawn", + "layer.options.non-requestable": "In process (non-requestable)", + "layer.options.intellectual": "Intellectual item", + "layer.options.longMissing": "Long missing", + "layer.options.restricted": "Restricted", + "layer.options.unavailable": "Unavailable", + "layer.options.unknown": "Unknown", + "layer.options.placeholder": "Select item status", + "list.result.emptyMessage.EXTERNAL_SYSTEM_ID": "Drag and drop or choose file with External IDs", + "list.result.emptyMessage.USER_NAME": "Drag and drop or choose file with Usernames", + "uploaderSubTitle.EXTERNAL_SYSTEM_ID": "Select a file with External IDs", + "uploaderSubTitle.USER_NAME": "Select a file with Usernames", + "list.result.emptyMessage.item": "Select a \"record identifier\" when on the Identifier tab", + "list.result.emptyMessage.item.BARCODE": "Drag and drop or choose file with item barcode", + "list.result.emptyMessage.item.ID": "Drag and drop or choose file with item UUIDs", + "list.result.emptyMessage.item.HRID": "Drag and drop or choose file with item HRIDs", + "list.result.emptyMessage.item.FORMER_IDS": "Drag and drop or choose file with item former identifier", + "list.result.emptyMessage.item.ACCESSION_NUMBER": "Drag and drop or choose file with item accession number", + "list.result.emptyMessage.item.HOLDINGS_RECORD_ID": "Drag and drop or choose file with holdings UUIDs", + "uploaderSubTitle.item": "Select a file with record identifiers", + "uploaderSubTitle.item.BARCODE": "Select a file with item barcode", + "uploaderSubTitle.item.ID": "Select a file with item UUIDs", + "uploaderSubTitle.item.HRID": "Select a file with item HRIDs", + "uploaderSubTitle.item.FORMER_IDS": "Select a file with item former identifier", + "uploaderSubTitle.item.ACCESSION_NUMBER": "Select a file with item accession number", + "uploaderSubTitle.item.HOLDINGS_RECORD_ID": "Select a file with holdings UUIDs", + "layer.selectLocation": "Select location", + "list.logSubTitle.changed": "{count, number} records changed", + "list.preview.titleChanged": "Preview of record changed", + "modal.fileExtensions.blocked.message2": "Only one file with .csv extension can be uploaded.", + "layer.options.expirationDate": "Expiration date", + "layer.options.permanentLocation": "Permanent item location", + "layer.options.temporaryLocation": "Temporary item location", + "layer.options.temporaryLoanTypeLabel": "Temporary loan type", + "layer.options.permanentLoanType": "Permanent loan type", + "layer.selectLoanType": "Select loan type", + "layer.options.patronGroup": "Patron group", + "layer.selectPatronGroup": "Select patron group", + "actions.find": "Find", + "layer.options.email": "Email", + "list.filters.recordIdentifier.holdings.holdingsUUID": "Holdings UUIDs", + "list.filters.recordIdentifier.holdings.holdingsHRID": "Holdings HRIDs", + "list.filters.recordIdentifier.holdings.instanceHRID": "Instance HRIDs", + "list.filters.recordIdentifier.holdings.itemBarcodes": "Item barcodes", + "list.result.emptyMessage.holdings": "Select a \"record identifier\" when on the Identifier tab", + "list.result.emptyMessage.holdings.ID": "Drag and drop or choose file with holdings UUIDs", + "list.result.emptyMessage.holdings.INSTANCE_HRID": "Drag and drop or choose file with instance HRIDs", + "list.result.emptyMessage.holdings.ITEM_BARCODE": "Drag and drop or choose file with item barcode", + "list.filters.capabilities.holdings": "Inventory - holdings", + "uploaderSubTitle.holdings": "Select a file with record identifiers", + "uploaderSubTitle.holdings.ID": "Select a file with holdings UUIDs", + "uploaderSubTitle.holdings.INSTANCE_HRID": "Select a file with instance HRIDs", + "uploaderSubTitle.holdings.ITEM_BARCODE": "Select a file with item barcode", + "list.result.emptyMessage.holdings.HRID": "Drag and drop or choose file with holdings HRIDs", + "uploaderSubTitle.holdings.HRID": "Select a file with holdings HRIDs", + "layer.options.holdings.temporaryLocation": "Temporary holdings location", + "layer.options.holdings.permanentLocation": "Permanent holdings location", + "options.placeholder": "Select option", + "meta.logs.title": "Bulk edit logs", + "resetFilters": "Reset all", + "list.filters.logs": "Logs", + "logs.filter.title.status": "Statuses", + "logs.filter.title.capability": "Record types", + "logs.filter.title.types": "Bulk operation type", + "logs.filter.option.edit": "Edit", + "logs.filter.option.delete": "Delete", + "logs.filter.startDate": "Started", + "logs.filter.endDate": "Ended", + "list.result.emptyMessage.logs": "Choose a filter to show results.", + "permission.module.bulk-edit.enabled": "UI: Bulk edit module is enabled", + "permission.view": "Bulk Edit: Local - View user records", + "permission.edit": "Bulk Edit: Local - Edit user records", + "permission.app-view": "Bulk Edit: In app - View inventory records", + "permission.app-edit": "Bulk Edit: In app - Edit inventory records", + "permission.app-edit.users": " Bulk edit: In app - Edit user records", + "permission.logs.view": "Bulk edit: Can view logs", + "columns.logs.status": "Status", + "columns.logs.editing": "Editing", + "columns.logs.actions": "Actions", + "list.actions.download": "Download", + "retrievedDataList.title": "Počet nájdených záznamov {capability}: {matched, number}.", + "columns.logs.operationType": "Bulk operation type", + "columns.logs.entityType": "Record type", + "columns.logs.userId": "Run by", + "columns.logs.startTime": "Started", + "columns.logs.endTime": "Ended", + "columns.logs.totalNumOfRecords": "# of records", + "columns.logs.processedNumOfRecords": "Processed", + "list.errors.infoProcessed": "{fileName}: {entries, number} entries * {matched, number} records changed * {errors, number} errors", + "logs.actions.linkToTriggeringCsvFile": "File that was used to trigger the bulk edit", + "logs.actions.linkToMatchedRecordsCsvFile": "File with the matching records", + "logs.actions.linkToMatchedRecordsErrorsCsvFile": "File with errors encountered during the record matching", + "logs.actions.linkToModifiedRecordsCsvFile": "File with the preview of proposed changes", + "logs.actions.linkToCommittedRecordsCsvFile": "File with updated records", + "logs.actions.linkToCommittedRecordsErrorsCsvFile": "File with errors encountered when committing the changes", + "logs.status.NEW": "New", + "logs.status.RETRIEVING_RECORDS": "Retrieving records", + "logs.status.SAVING_RECORDS_LOCALLY": "Saving records", + "logs.status.DATA_MODIFICATION": "Data modification", + "logs.status.REVIEW_CHANGES": "Reviewing changes", + "logs.status.COMPLETED": "Completed", + "logs.status.COMPLETED_WITH_ERRORS": "Completed with errors", + "logs.status.FAILED": "Failed", + "logs.status.APPLY_CHANGES": "Apply changes", + "logs.entityType.HOLDINGS_RECORD": "Inventory - holdings", + "logs.entityType.ITEM": "Inventory - items", + "logs.entityType.USER": "Users", + "logs.approach.IN_APP": "In app", + "logs.approach.MANUAL": "Local", + "logs.approach.QUERY": "Query", + "columns.USER.User name": "Username", + "columns.USER.User id": "User id", + "columns.USER.External system id": "External System ID", + "columns.USER.Barcode": "Barcode", + "columns.USER.Active": "Active", + "columns.USER.Type": "Type", + "columns.USER.Patron group": "Patron group", + "columns.USER.Departments": "Departments", + "columns.USER.Proxy for": "Proxy for", + "columns.USER.Last name": "Last name", + "columns.USER.First name": "First name", + "columns.USER.Middle name": "Middle name", + "columns.USER.Preferred first name": "Preferred first name", + "columns.USER.Email": "Email", + "columns.USER.Phone": "Phone", + "columns.USER.Mobile phone": "Mobile phone", + "columns.USER.Date Of Birth": "Birth date", + "columns.USER.Addresses": "Addresses", + "columns.USER.Preferred contact type id": "Preferred contact type id", + "columns.USER.Enrollment date": "Date enrolled", + "columns.USER.Expiration date": "Expiration date", + "columns.USER.Updated date": "Record updated", + "columns.USER.Tags": "Tags", + "columns.USER.Custom fields": "Custom fields", + "columns.ITEM.Item id": "Item ID", + "columns.ITEM.Version": "Version", + "columns.ITEM.Item HRID": "Item HRID", + "columns.ITEM.Holdings Record Id": "Holdings record ID", + "columns.ITEM.Former Ids": "Former identifiers", + "columns.ITEM.Discovery Suppress": "Suppress from discovery", + "columns.ITEM.Title": "Title", + "columns.ITEM.Contributor Names": "Contributor names", + "columns.ITEM.Call Number": "Call number", + "columns.ITEM.Barcode": "Barcode", + "columns.ITEM.Effective Shelving Order": "Shelving order", + "columns.ITEM.Accession Number": "Accession number", + "columns.ITEM.Item Level Call Number": "Item level call number", + "columns.ITEM.Item Level Call Number Prefix": "Item level call number prefix", + "columns.ITEM.Item Level Call Number Suffix": "Item level call number suffix", + "columns.ITEM.Item Level Call Number Type": "Item level call number type", + "columns.ITEM.Effective Call Number Components": "Effective call number", + "columns.ITEM.Volume": "Volume", + "columns.ITEM.Enumeration": "Enumeration", + "columns.ITEM.Chronology": "Chronology", + "columns.ITEM.Year Caption": "Year, caption", + "columns.ITEM.Item Identifier": "Item identifier", + "columns.ITEM.Copy Number": "Copy number", + "columns.ITEM.Number Of Pieces": "Number of pieces", + "columns.ITEM.Description Of Pieces": "Description of pieces", + "columns.ITEM.Number Of Missing Pieces": "Number of missing pieces", + "columns.ITEM.Missing Pieces Date": "Missing pieces date", + "columns.ITEM.Item Damaged Status": "Item damaged status", + "columns.ITEM.Item Damaged Status Date": "Item damaged status date", + "columns.ITEM.Administrative Notes": "Administrative notes", + "columns.ITEM.Notes": "Notes", + "columns.ITEM.Circulation Notes": "Circulation Notes", + "columns.ITEM.Status": "Status", + "columns.ITEM.Material Type": "Material type", + "columns.ITEM.Is Bound With": "Is bound with", + "columns.ITEM.Bound With Titles": "Bound with titles", + "columns.ITEM.Permanent Loan Type": "Permanent loan type", + "columns.ITEM.Temporary Loan Type": "Temporary loan type", + "columns.ITEM.Permanent Location": "Item permanent location", + "columns.ITEM.Temporary Location": "Item temporary location", + "columns.ITEM.Effective Location": "Item effective location", + "columns.ITEM.In Transit Destination Service Point": "In transit destination service point", + "columns.ITEM.Statistical Codes": "Statistical codes", + "columns.ITEM.Purchase Order Line Identifier": "Purchase order line identifier", + "columns.ITEM.Tags": "Tags", + "columns.ITEM.Last CheckIn": "Last check in", + "columns.ITEM.Electronic Access": "Electronic access", + "columns.HOLDINGS_RECORD.Holdings record id": "Holdings ID", + "columns.HOLDINGS_RECORD.Version": "Version", + "columns.HOLDINGS_RECORD.Holdings type": "Holdings type", + "columns.HOLDINGS_RECORD.Former ids": "Former ids", + "columns.HOLDINGS_RECORD.Permanent location": "Permanent location", + "columns.HOLDINGS_RECORD.Temporary location": "Temporary location", + "columns.HOLDINGS_RECORD.Effective location": "Effective location", + "columns.HOLDINGS_RECORD.Electronic access": "Electronic access", + "columns.HOLDINGS_RECORD.Call number type": "Call number type", + "columns.HOLDINGS_RECORD.Call number prefix": "Call number prefix", + "columns.HOLDINGS_RECORD.Call number": "Call number", + "columns.HOLDINGS_RECORD.Call number suffix": "Call number suffix", + "columns.HOLDINGS_RECORD.Shelving title": "Shelving title", + "columns.HOLDINGS_RECORD.Acquisition format": "Acquisition format", + "columns.HOLDINGS_RECORD.Acquisition method": "Acquisition method", + "columns.HOLDINGS_RECORD.Receipt status": "Receipt status", + "columns.HOLDINGS_RECORD.Notes": "Notes", + "columns.HOLDINGS_RECORD.Administrative notes": "Administrative notes", + "columns.HOLDINGS_RECORD.Ill policy": "Ill policy", + "columns.HOLDINGS_RECORD.Retention policy": "Retention policy", + "columns.HOLDINGS_RECORD.Digitization policy": "Digitization policy", + "columns.HOLDINGS_RECORD.Holdings statements": "Holdings statements", + "columns.HOLDINGS_RECORD.Holdings statements for indexes": "Holdings statements for indexes", + "columns.HOLDINGS_RECORD.Holdings statements for supplements": "Holdings statements for supplements", + "columns.HOLDINGS_RECORD.Copy number": "Copy number", + "columns.HOLDINGS_RECORD.Number of items": "Number of items", + "columns.HOLDINGS_RECORD.Receiving history": "Receiving history", + "columns.HOLDINGS_RECORD.Discovery suppress": "Suppress from discovery", + "columns.HOLDINGS_RECORD.Statistical codes": "Statistical codes", + "columns.HOLDINGS_RECORD.Tags": "Tags", + "columns.HOLDINGS_RECORD.Source": "Source", + "columns.HOLDINGS_RECORD.Instance HRID": "Instance HRID", + "columns.HOLDINGS_RECORD.Item barcode": "Item barcode", + "list.preview.table.status.true": "Active", + "list.preview.table.status.false": "Inactive", + "columns.logs.hrId": "ID", + "layer.options.items.true": "Set true", + "layer.options.items.false": "Set false", + "layer.options.suppressFromDiscovery": "Suppress from discovery", + "columns.USER.Created Date": "Record created", + "columns.ITEM.Missing Pieces": "Missing pieces", + "columns.HOLDINGS_RECORD.HRID": "Holdings HRID", + "progressBar.committing": "Committing changes", + "progresssBar.processing": "Processing", + "layer.action.applyItems": "Apply to items records", + "layer.options.holdings.suppress": "Suppress from discovery", + "layer.options.items.markAsStaffOnly": "Mark as staff only", + "layer.options.items.removeMarkAsStaffOnly": "Remove mark as staff only", + "category.loanType": "Loan type", + "category.location": "Location", + "layer.options.items.removeAll": "Remove all", + "layer.options.items.addNote": "Add note", + "layer.options.administrativeNote": "Administrative note", + "layer.options.checkInNote": "Check in note", + "layer.options.checkOutNote": "Check out note", + "ariaLabel.textField": "Text field", + "ariaLabel.textArea": "Text area", + "ariaLabel.patronGroupSelect": "Patron group select", + "ariaLabel.date": "Date", + "ariaLabel.location": "Location", + "ariaLabel.statusSelect": "Status select", + "ariaLabel.loanTypeSelect": "Loan type select", + "category.itemNotes": "Item notes", + "layer.selectNoteType": "Select note type", + "layer.options.items.changeNote": "Change note type", + "ariaLabel.actionsSelect": "Actions select", + "layer.options.items.removeNote": "Remove", + "logs.infoPopover": "Files are unavailable for download because 30 days have elapsed since the date the job was run.", + "permissionsModal.title": "Select Permissions", + "permissionsModal.filter.title": "Search & filter", + "permissionsModal.filter.search": "Search", + "permissionsModal.filter.resetAll": "Reset all", + "permissionsModal.filter.permissionTypes": "Permission types", + "permissionsModal.filter.permissionSets": "Permission sets", + "permissionsModal.filter.permissions": "Permissions", + "permissionsModal.filter.assignmentStatus": "Permission assignment status", + "permissionsModal.filter.assigned": "Assigned", + "permissionsModal.filter.unassigned": "Unassigned", + "permissionsModal.list.columns.name": "Name", + "permissionsModal.list.columns.type": "Type", + "permissionsModal.list.columns.status": "Status", + "permissionsModal.list.cell.assigned": "Assigned", + "permissionsModal.list.cell.unassigned": "Unassigned", + "permissionsModal.list.cell.permissionSets": "Permission set", + "permissionsModal.list.cell.permissions": "Permission", + "permissionsModal.list.title": "Permissions", + "permissionsModal.list.subTitle": "{count, number} permissions found", + "permissionsModal.cancel": "Cancel", + "permissionsModal.save": "Save & close", + "permissionsModal.totalSelected": "Total selected: {count, number}", + "layer.options.items.duplicateTo": "Duplicate to", + "list.result.emptyMessage.empty": "Select a \"record identifier\" when on the Identifier tab", + "uploaderSubTitle.empty": "Select a file with record identifiers", + "logs.filter.title.user": "User", + "logs.filter.user.placeholder": "Choose user", + "columns.HOLDINGS_RECORD.Instance (Title, Publisher, Publication date)": "Instance (Title, Publisher, Publication date)", + "category.holdingsNotes": "Holdings notes", + "category.holdingsLocation": "Holdings location" +} \ No newline at end of file diff --git a/translations/ui-bulk-edit/zh_CN.json b/translations/ui-bulk-edit/zh_CN.json index d1af6c51..fcc65b1a 100644 --- a/translations/ui-bulk-edit/zh_CN.json +++ b/translations/ui-bulk-edit/zh_CN.json @@ -4,7 +4,7 @@ "list.logSubTitle": "设置条件以开始批量编辑", "list.filters.identifier": "标识符", "list.filters.query": "查询", - "list.result.emptyMessage": "在标识符选项卡上选择“记录标识符”。在“查询”选项卡上输入“搜索查询”", + "list.result.emptyMessage": "在“标识符”选项卡上选择“记录标识符”", "list.filters.recordIdentifier": "记录标识符", "list.filters.recordIdentifier.placeholder": "选择记录标识符", "list.filters.recordIdentifier.userUUIDs": "用户UUID", @@ -41,15 +41,15 @@ "menuGroup.actions": "操作", "menuGroup.showColumns": "显示列", "meta.title.conformationModal": "批量编辑:{fileName}", - "conformationModal.message": "如果单击 提交更改 按钮,将更新{count}条记录。", - "recordsSuccessfullyChanged": "{value}条记录更改成功", + "conformationModal.message": "如果点击提交更改按钮{count, number}记录将被更新。", + "recordsSuccessfullyChanged": "{value, number}条记录已成功更改", "error.sww": "出问题了", - "list.logSubTitle.matched": "{count}条记录匹配", + "list.logSubTitle.matched": "{count, number}条记录匹配", "list.preview.title": "匹配记录预览", "preview.file.title": "文件名: {fileUploadedName}", "preview.query.title": "查询: {queryText}", "list.errors.title": "错误", - "list.errors.info": "{fileName}: {entries} 实体 * {matched} 记录匹配 * {errors} 错误", + "list.errors.info": " {fileName} : {entries, number}个款目 * {matched, number}条记录匹配 * {errors, number}个错误", "list.errors.table.code": "记录标识符", "list.errors.table.message": "错误原因", "modal.successfullMessage": "{fileName}已成功上传。", @@ -70,7 +70,7 @@ "layer.action.clear": "清除字段", "layer.confirmChanges": "确认更改", "actions.placeholder": "选择操作", - "previewModal.message": "如果单击提交更改按钮,将更改{count}条记录。您可以选择下载预览以在保存之前查看所有更改。", + "previewModal.message": "如果单击“提交更改”按钮,将更改{count, number}条记录。可以选择“下载预览”以在保存之前查看所有更改。", "previewModal.previewToBeChanged": "预览要更改的记录", "previewModal.keepEditing": "继续编辑", "previewModal.downloadPreview": "下载预览", @@ -93,7 +93,7 @@ "list.result.emptyMessage.USER_NAME": "拖放或选择带用户名的文件", "uploaderSubTitle.EXTERNAL_SYSTEM_ID": "选择带外部ID的文件", "uploaderSubTitle.USER_NAME": "选择带有用户名的文件", - "list.result.emptyMessage.item": "在标识符选项卡上选择“记录标识符”。在“查询”选项卡上输入“搜索查询”", + "list.result.emptyMessage.item": "在“标识符”选项卡上选择“记录标识符”", "list.result.emptyMessage.item.BARCODE": "拖放或选择带有单件条码的文件", "list.result.emptyMessage.item.ID": "拖放或选择带有单件UUID的文件", "list.result.emptyMessage.item.HRID": "拖放或选择具有单件HRID的文件", @@ -108,7 +108,7 @@ "uploaderSubTitle.item.ACCESSION_NUMBER": "选择具有单件入藏号的文件", "uploaderSubTitle.item.HOLDINGS_RECORD_ID": "选择具有馆藏UUID的文件", "layer.selectLocation": "选择位置", - "list.logSubTitle.changed": "{count}条记录已更改", + "list.logSubTitle.changed": "{count, number}条记录已更改", "list.preview.titleChanged": "记录预览已更改", "modal.fileExtensions.blocked.message2": "只能上传一个扩展名为 .csv 的文件。", "layer.options.expirationDate": "失效日期", @@ -125,7 +125,7 @@ "list.filters.recordIdentifier.holdings.holdingsHRID": "馆藏HRID", "list.filters.recordIdentifier.holdings.instanceHRID": "实例HRID", "list.filters.recordIdentifier.holdings.itemBarcodes": "单件条码", - "list.result.emptyMessage.holdings": "在标识符选项卡上选择“记录标识符”。在“查询”选项卡上输入“搜索查询”", + "list.result.emptyMessage.holdings": "在“标识符”选项卡上选择“记录标识符”", "list.result.emptyMessage.holdings.ID": "拖放或选择带有馆藏UUID的文件", "list.result.emptyMessage.holdings.INSTANCE_HRID": "拖放或选择具有实例HRID的文件", "list.result.emptyMessage.holdings.ITEM_BARCODE": "拖放或选择带有单件条码的文件", @@ -161,7 +161,7 @@ "columns.logs.editing": "编辑", "columns.logs.actions": "操作", "list.actions.download": "下载", - "retrievedDataList.title": "找到{matched}个匹配的{capability}记录。", + "retrievedDataList.title": "找到{matched, number}匹配的{capability}记录。", "columns.logs.operationType": "批量操作类型", "columns.logs.entityType": "记录类型", "columns.logs.userId": "运行方", @@ -169,7 +169,7 @@ "columns.logs.endTime": "已结束", "columns.logs.totalNumOfRecords": "记录数", "columns.logs.processedNumOfRecords": "已处理", - "list.errors.infoProcessed": " {fileName} : {entries}个条目 * {matched}条记录已更改 * {errors}个错误", + "list.errors.infoProcessed": " {fileName} : {entries, number}款目 * {matched, number}条记录已更改 * {errors, number}个错误", "logs.actions.linkToTriggeringCsvFile": "用于触发批量编辑的文件", "logs.actions.linkToMatchedRecordsCsvFile": "包含匹配记录的文件", "logs.actions.linkToMatchedRecordsErrorsCsvFile": "在记录匹配时遇到错误的文件", @@ -353,11 +353,11 @@ "permissionsModal.save": "保存并关闭", "permissionsModal.totalSelected": "已选总数: {count, number}", "layer.options.items.duplicateTo": "复制到", - "list.result.emptyMessage.empty": "在标识符选项卡上选择“记录标识符”。在“查询”选项卡上输入“搜索查询”", + "list.result.emptyMessage.empty": "在“标识符”选项卡上选择“记录标识符”", "uploaderSubTitle.empty": "选择带有记录标识符的文件", "logs.filter.title.user": "用户", "logs.filter.user.placeholder": "选择用户", - "columns.HOLDINGS_RECORD.Instance (Title, Publisher, Publication date)": "Instance (Title, Publisher, Publication date)", - "category.holdingsNotes": "Holdings notes", - "category.holdingsLocation": "Holdings location" + "columns.HOLDINGS_RECORD.Instance (Title, Publisher, Publication date)": "实例(题名、出版者、出版日期)", + "category.holdingsNotes": "馆藏附注", + "category.holdingsLocation": "馆藏位置" } \ No newline at end of file