diff --git a/CHANGELOG.md b/CHANGELOG.md index 6eb3838b..e423fe5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Change history for stripes-erm-components +## 9.1.1 2024-04-19 + * ERM-3186 Change default search options for LocalKB titles to exclude identifiers + * Added defaultSearchKey to useSASQQIndex, allowing for differing behaviour of default qIndex and default search (With no qIndex specified) + * ERM-3172 The failure of reference object when displaying agreement line should be handled elegantly + * New ErrorCard components + * formatJS dependency updated + * Translations + * Added number field utilities + * preventMinusKey -- prevent typing of `-` key in number text field + * preventPasteNegative -- prevent pasting of negative number in number text field + ## 9.1.0 2024-03-22 * ERM-3129 Remove explicit typescript version * ERM-3126 Misleading tailing comma in OrganizationsArrayDisplay diff --git a/index.js b/index.js index 8856d601..13a57bc7 100644 --- a/index.js +++ b/index.js @@ -9,6 +9,7 @@ export { default as DocumentsFieldArray } from './lib/DocumentsFieldArray'; export { default as DuplicateModal } from './lib/DuplicateModal'; export { default as EditCard } from './lib/EditCard'; export { default as ERMForm } from './lib/ERMForm'; +export { default as ErrorCard } from './lib/ErrorCard'; export { default as Embargo } from './lib/Embargo'; export { default as EResourceType } from './lib/EResourceType'; export { default as FileUploader } from './lib/FileUploader'; diff --git a/lib/ErrorCard/ErrorCard.css b/lib/ErrorCard/ErrorCard.css new file mode 100644 index 00000000..a7cdc25c --- /dev/null +++ b/lib/ErrorCard/ErrorCard.css @@ -0,0 +1,36 @@ +@import "@folio/stripes-components/lib/variables.css"; + +.titleWrap { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + box-sizing: border-box; +} + +h1.title { + font-size: var(--font-size-large); + text-align: center; + padding: 15px; + line-height: 125%; +} + +h3.title { + font-size: var(--font-size-medium); + text-align: center; +} + +@media screen and (width <= 900px) { + h1.title { + font-size: var(--font-size-medium); + } + + h3.title { + font-size: var(--font-size-small); + } +} + +.fadeIcon { + opacity: 0.5; + transition: opacity 0.3s ease; +} diff --git a/lib/ErrorCard/ErrorCard.js b/lib/ErrorCard/ErrorCard.js new file mode 100644 index 00000000..82c647fc --- /dev/null +++ b/lib/ErrorCard/ErrorCard.js @@ -0,0 +1,75 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { FormattedMessage } from 'react-intl'; +import { Card, Headline, Icon } from '@folio/stripes/components'; + +import css from './ErrorCard.css'; + +const propTypes = { + cardStyle: PropTypes.oneOf(['default', 'negative', 'positive']), + error: PropTypes.shape({ + number: PropTypes.number, + message: PropTypes.string, + }).isRequired, + headerEnd: PropTypes.oneOfType([ + PropTypes.node, + PropTypes.arrayOf(PropTypes.node), + ]), + headerStart: PropTypes.oneOfType([ + PropTypes.node, + PropTypes.arrayOf(PropTypes.node), + ]), +}; + +const defaultHeaderStart = ( + + + + + +); +const ErrorCard = ({ + cardStyle = 'default', + error, + headerEnd, + headerStart = defaultHeaderStart, +}) => { + return ( + +
+ + + {(error?.number || error?.message) ? + + : + + } + + + + +
+
+ ); +}; + +ErrorCard.propTypes = propTypes; +export default ErrorCard; diff --git a/lib/ErrorCard/ErrorCard.test.js b/lib/ErrorCard/ErrorCard.test.js new file mode 100644 index 00000000..f11e4240 --- /dev/null +++ b/lib/ErrorCard/ErrorCard.test.js @@ -0,0 +1,78 @@ + +import { StaticRouter as Router } from 'react-router-dom'; +import { renderWithIntl, Headline } from '@folio/stripes-erm-testing'; +import { translationsProperties } from '../../test/jest/helpers'; +import ErrorCard from './ErrorCard'; + +const resourceError = { number: 400, message: 'Bad Request' }; +const resourceHeaderStart = 'EKB-TITLE: 22-1887786-11234147a'; + +const commonError = {}; + +const headerEnd = null; + +let renderComponent; +describe('ErrorCard', () => { + describe('resource error', () => { + beforeEach(() => { + renderComponent = renderWithIntl( + + + , + translationsProperties + ); + }); + test('renders ErrorCard component', () => { + const { getByTestId } = renderComponent; + expect(getByTestId('errorCard')).toBeInTheDocument(); + }); + + test('renders correct card header', () => { + const { getByText } = renderComponent; + expect(getByText('EKB-TITLE: 22-1887786-11234147a')).toBeInTheDocument(); + }); + + test('renders the expected error number and message', async () => { + await Headline('Error 400: Bad Request').exists(); + }); + + test('renders the expected error text', async () => { + await Headline('Refresh the page. If the problem persists contact your administrator.').exists(); + }); + }); + + describe('common error', () => { + beforeEach(() => { + renderComponent = renderWithIntl( + + + , + translationsProperties + ); + }); + test('renders ErrorCard component', () => { + const { getByTestId } = renderComponent; + expect(getByTestId('errorCard')).toBeInTheDocument(); + }); + + test('renders correct card header', () => { + const { getByText } = renderComponent; + expect(getByText('Error')).toBeInTheDocument(); + }); + + + test('renders the expected common error message', async () => { + await Headline('Something went wrong.').exists(); + }); + + test('renders the expected error text', async () => { + await Headline('Refresh the page. If the problem persists contact your administrator.').exists(); + }); + }); +}); diff --git a/lib/ErrorCard/index.js b/lib/ErrorCard/index.js new file mode 100644 index 00000000..6a565543 --- /dev/null +++ b/lib/ErrorCard/index.js @@ -0,0 +1 @@ +export { default } from './ErrorCard'; diff --git a/lib/hooks/useSASQQIndex.js b/lib/hooks/useSASQQIndex.js index 1c1a3101..737d64aa 100644 --- a/lib/hooks/useSASQQIndex.js +++ b/lib/hooks/useSASQQIndex.js @@ -6,7 +6,19 @@ import { useQIndex } from '@k-int/stripes-kint-components'; // the props etc needed to utilise that within SASQ (and generateKiwtQueryParams) const useSASQQIndex = ({ defaultQIndex = '', - defaultQuery = '' // This is mainly here so we can avoid extra boilerplate fiddling if we want a default query at some point + /* + * defaultQuery is mainly here so we can avoid extra boilerplate fiddling + * if we want a default query at some point + */ + defaultQuery = '', + /* + * In some circumstances you may wish the searchKey to _not_ be + * equivalent to the defaultQIndex when no qIndex exists in the url, + * such as when the defaultQindex is a subset of the options available + * to the user in a SearchKeyControl. In that case deselecting all options + * is assumed to be equivalent to selecting all options. + */ + defaultSearchKey = '', } = {}) => { const [qIndex, setQIndex] = useQIndex(); @@ -38,8 +50,12 @@ const useSASQQIndex = ({ return qIndex; } + if (!!defaultSearchKey && defaultSearchKey !== '') { + return defaultSearchKey; + } + return defaultQIndex; - }, [defaultQIndex, qIndex]); + }, [defaultQIndex, defaultSearchKey, qIndex]); return { initialSearchState, diff --git a/lib/utils/index.js b/lib/utils/index.js index b81f84db..c6ddfad4 100644 --- a/lib/utils/index.js +++ b/lib/utils/index.js @@ -36,3 +36,4 @@ export { default as selectifyRefdata } from './selectifyRefdata'; export { default as getSiblingIdentifier } from './getSiblingIdentifier'; export { default as getResourceIdentifier } from './getResourceIdentifier'; export { default as getIdsFromUrl } from './getIdsFromUrl'; +export * from './numberFieldUtils'; diff --git a/lib/utils/numberFieldUtils.js b/lib/utils/numberFieldUtils.js new file mode 100644 index 00000000..2184d89f --- /dev/null +++ b/lib/utils/numberFieldUtils.js @@ -0,0 +1,19 @@ +const preventMinusKey = (e) => { + if (e.code === 'Minus') { + e.preventDefault(); + } +}; + +const preventPasteNegative = (e) => { + const clipboardData = e.clipboardData || window.clipboardData; + const pastedData = parseFloat(clipboardData.getData('text')); + + if (pastedData < 0) { + e.preventDefault(); + } +}; + +export { + preventMinusKey, + preventPasteNegative +}; diff --git a/lib/utils/numberFieldUtils.test.js b/lib/utils/numberFieldUtils.test.js new file mode 100644 index 00000000..ea16ec17 --- /dev/null +++ b/lib/utils/numberFieldUtils.test.js @@ -0,0 +1,113 @@ +import { waitFor } from '@folio/jest-config-stripes/testing-library/react'; +import user from '@folio/jest-config-stripes/testing-library/user-event'; + +import { TestForm, TextField, renderWithIntl } from '@folio/stripes-erm-testing'; +import { Field } from 'react-final-form'; +import { TextField as TFComponent } from '@folio/stripes/components'; + +import { + preventMinusKey, + preventPasteNegative +} from './numberFieldUtils'; + +import { translationsProperties } from '../../test/jest/helpers'; + +const fieldLabel = 'TEST FIELD LABEL'; +const testId = 'test-field'; + +const renderTextFieldWithProps = (props) => { + return renderWithIntl( + + + , + translationsProperties + ); +}; + +let renderComponent; +describe('numberFieldUtils', () => { + describe('preventMinusKey', () => { + beforeEach(() => { + renderComponent = renderTextFieldWithProps({ + onKeyDown: preventMinusKey + }); + }); + + test('renders the TextField component', async () => { + await TextField(fieldLabel).exists(); + }); + + test('can enter a positive number', async () => { + await waitFor(async () => { + await TextField(fieldLabel).fillIn('20'); + }); + + await TextField(fieldLabel).has({ value: '20' }); + }); + + test('entering a minus key does not work', async () => { + await waitFor(async () => { + await TextField(fieldLabel).fillIn('-'); + }); + + await TextField(fieldLabel).has({ value: '' }); + }); + + test('can\'t enter a negative number', async () => { + await waitFor(async () => { + await TextField(fieldLabel).fillIn('-40'); + }); + + await TextField(fieldLabel).has({ value: '40' }); + }); + }); + + describe('preventPasteNegative', () => { + beforeEach(() => { + renderComponent = renderTextFieldWithProps({ + onPaste: preventPasteNegative + }); + }); + + test('renders the TextField component', async () => { + await TextField(fieldLabel).exists(); + }); + + test('TextField exists by testId', () => { + const { getByTestId } = renderComponent; + + expect(getByTestId(testId)).toBeInTheDocument(); + }); + + test('can paste a positive number', async () => { + const { getByTestId } = renderComponent; + const textField = getByTestId(testId); + await waitFor(async () => { + // Have to click and then paste + await user.click(textField); + await user.paste('20'); + }); + + await TextField(fieldLabel).has({ value: '20' }); + }); + + test('can\'t paste a negative number', async () => { + const { getByTestId } = renderComponent; + const textField = getByTestId(testId); + await waitFor(async () => { + // Have to click and then paste + await user.click(textField); + await user.paste('-20'); + }); + + await TextField(fieldLabel).has({ value: '' }); + }); + }); +}); diff --git a/package.json b/package.json index 51e4898c..609ab130 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@folio/stripes-erm-components", - "version": "9.1.0", + "version": "9.1.1", "description": "Component library for Stripes ERM applications", "sideEffects": [ "*.css" @@ -23,7 +23,7 @@ "@folio/stripes": "^9.1.0", "@folio/stripes-cli": "^3.1.0", "@folio/stripes-erm-testing": "^2.1.0", - "@formatjs/cli": "^4.2.31", + "@formatjs/cli": "^6.1.3", "classnames": ">=2.2.6", "core-js": "^3.6.1", "eslint": "^7.32.0", diff --git a/translations/stripes-erm-components/ar.json b/translations/stripes-erm-components/ar.json index e3da192e..50346b35 100644 --- a/translations/stripes-erm-components/ar.json +++ b/translations/stripes-erm-components/ar.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/ber.json b/translations/stripes-erm-components/ber.json index 0d5fd83e..c95d5095 100644 --- a/translations/stripes-erm-components/ber.json +++ b/translations/stripes-erm-components/ber.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/ca.json b/translations/stripes-erm-components/ca.json index 0d5fd83e..c95d5095 100644 --- a/translations/stripes-erm-components/ca.json +++ b/translations/stripes-erm-components/ca.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/cs_CZ.json b/translations/stripes-erm-components/cs_CZ.json index da3cd64c..b3795990 100644 --- a/translations/stripes-erm-components/cs_CZ.json +++ b/translations/stripes-erm-components/cs_CZ.json @@ -124,7 +124,7 @@ "prop.customPropertyValue": "Hodnota", "prop.customPropertyVisibility": "Viditelnost", "errors.hasNonAlphaName": "Název může obsahovat pouze latinské abecední znaky (a-z) a neprovádové číselné znaky.", - "supplementaryProperty.help.label": "Termín dohody \"štítek\" se používá při zobrazování doplňkové vlastnosti uživatelům v rámci Folio a v jakýchkoli jiných systémech, které zobrazují doplňkové vlastnosti dohody uživatelům. Měl by to být krátký textový řetězec, který jasně sděluje, jaké informace jsou v doplňkové vlastnosti zaznamenány. Popis by se měl použít v případě, že je pro zobrazení uživatelům nutné další vysvětlení doplňkové vlastnosti.", + "supplementaryProperty.help.label": "Termín dohody \"štítek\" se používá při zobrazování doplňkové vlastnosti uživatelům v rámci FOLIO a v jakýchkoli jiných systémech, které zobrazují doplňkové vlastnosti dohody uživatelům. Měl by to být krátký textový řetězec, který jasně sděluje, jaké informace jsou v doplňkové vlastnosti zaznamenány. Popis by se měl použít v případě, že je pro zobrazení uživatelům nutné další vysvětlení doplňkové vlastnosti.", "supplementaryProperty.help.name": "Při výstupu doplňkových dat vlastností ve strojově čitelném formátu se používá smluvní termín 'název'. Není určeno k zobrazení uživatelům (zaměstnancům nebo čtenářům). Mělo by se jednat o krátký řetězec latinské abecedy, který mohou používat jakékoli externí systémy nebo programy, které přistupují k doplňkovým údajům o vlastnictví smlouvy. Využití camelCase je doporučeno, ale není vyžadováno. Změny názvu doplňkového majetku smlouvy by ovlivnily jakékoli externí systémy využívající doplňková data vlastnictví smlouvy a změny by neměly být prováděny bez konzultace s osobami odpovědnými za příslušné externí systémy a software.", "term.help.label": "\"Štítek\" licenční podmínky se používá při zobrazování podmínky uživatelům ve FOLIO a v jakýchkoli jiných systémech, které uživatelům zobrazují licenční podmínky. Měl by to být krátký textový řetězec, který jasně sděluje, jaké informace jsou v dané podmínce zaznamenány. Popis by měl být použit tam, kde je pro zobrazení uživatelům vyžadováno další vysvětlení pojmu.", "term.help.name": "Licenční termín 'název' se používá při výstupu dat termínu ve strojově čitelném formátu. Není určeno k zobrazení uživatelům (zaměstnancům nebo čtenářům). Mělo by se jednat o krátký řetězec latinské abecedy, který mohou používat jakékoli externí systémy nebo programy, které přistupují k datům licenčního termínu. Využití camelCase je doporučeno, ale není vyžadováno. Změny názvu licenčního termínu by ovlivnily jakékoli externí systémy využívající data licenčních podmínek a změny by neměly být prováděny bez konzultace s osobami odpovědnými za příslušné externí systémy a software.", @@ -241,9 +241,13 @@ "contentType": "Typ obsahu", "url.error.invalidURL": "Zadejte prosím platnou URL (včetně \"http\" nebo \"https\").", "url.error.invalidSize": "URL může mít pouze {size} znaků", - "unsavedChanges": "There are unsaved changes", - "areYouSure": "Are you sure?", - "saveChanges": "Save Changes", - "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "unsavedChanges": "Existují neuložené změny", + "areYouSure": "Opravdu?", + "saveChanges": "Uložit změny", + "closeWithoutSaving": "Zavřít bez uložení", + "keepEditing": "Pokračovat v úpravách", + "errors.errorCard.defaultErrorHeader": "Chyba", + "errors.errorCard.title": "Chyba {number}: {message}", + "errors.errorCard.defaultTitle": "Něco se pokazilo.", + "errors.errorCard.text": "Obnovte stránku. Pokud problém přetrvává, kontaktujte svého správce." } \ No newline at end of file diff --git a/translations/stripes-erm-components/da.json b/translations/stripes-erm-components/da.json index ea5d3919..6f930838 100644 --- a/translations/stripes-erm-components/da.json +++ b/translations/stripes-erm-components/da.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/de.json b/translations/stripes-erm-components/de.json index 4c7274be..825f4c5f 100644 --- a/translations/stripes-erm-components/de.json +++ b/translations/stripes-erm-components/de.json @@ -14,7 +14,7 @@ "doc.noDocs": "Keine Dokumente wurden hinzugefügt.", "doc.error.docsMustHaveLocationOrURL": "Für jedes Dokument muss eine Datei, ein Standort oder eine URL angegeben werden.", "licenseCard.openEnded": "Offenes Ende", - "licenseCard.notSet": "Nicht belegt", + "licenseCard.notSet": "<kein Wert gewählt>", "licenseCard.type": "Typ", "licenseCard.status": "Status", "licenseCard.startDate": "Startdatum", @@ -118,7 +118,7 @@ "customProperties.type.pickList": "Auswahlliste", "customProperties.type.refdata": "Auswahlliste", "customProperties.type.text": "Text", - "customPropertiesList.notSet": "Nicht belegt", + "customPropertiesList.notSet": "<kein Wert gewählt>", "formCustomProperties.notSet": "Nicht belegt", "prop.customPropertyName": "Name", "prop.customPropertyValue": "Wert", @@ -241,9 +241,13 @@ "contentType": "Inhaltstyp", "url.error.invalidURL": "Bitte gültige URL (einschließlich \"http\" oder \"https\") eingeben", "url.error.invalidSize": "URL darf nur {size} Zeichen lang sein", - "unsavedChanges": "There are unsaved changes", - "areYouSure": "Are you sure?", - "saveChanges": "Save Changes", - "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "unsavedChanges": "Es gibt nicht gespeicherte Änderungen", + "areYouSure": "Sicher?", + "saveChanges": "Änderungen speichern", + "closeWithoutSaving": "Schließen ohne Speichern", + "keepEditing": "Weiter bearbeiten", + "errors.errorCard.defaultErrorHeader": "Fehler", + "errors.errorCard.title": "Fehler {number}: {message}", + "errors.errorCard.defaultTitle": "Fehler ist aufgetreten", + "errors.errorCard.text": "Bitte Seite aktualisieren. Sollte das Problem weiterbestehen, Systemadministration kontaktieren." } \ No newline at end of file diff --git a/translations/stripes-erm-components/en.json b/translations/stripes-erm-components/en.json index 221dab10..eff15701 100644 --- a/translations/stripes-erm-components/en.json +++ b/translations/stripes-erm-components/en.json @@ -219,6 +219,10 @@ "comparator": "Operator", "value": "Value", "contentType": "Content type", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator.", "errors.uploadError": "Error encountered when uploading", "errors.uploadError.1": "Error: The file was not uploaded because the connection was dropped.", "errors.uploadError.2": "Please check the filesize is {number}MB or less and try again.", diff --git a/translations/stripes-erm-components/en_GB.json b/translations/stripes-erm-components/en_GB.json index 0d5fd83e..c95d5095 100644 --- a/translations/stripes-erm-components/en_GB.json +++ b/translations/stripes-erm-components/en_GB.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/en_SE.json b/translations/stripes-erm-components/en_SE.json index 0d5fd83e..c95d5095 100644 --- a/translations/stripes-erm-components/en_SE.json +++ b/translations/stripes-erm-components/en_SE.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/en_US.json b/translations/stripes-erm-components/en_US.json index 0d5fd83e..c95d5095 100644 --- a/translations/stripes-erm-components/en_US.json +++ b/translations/stripes-erm-components/en_US.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/es.json b/translations/stripes-erm-components/es.json index 2d450ffd..44ddc1c0 100644 --- a/translations/stripes-erm-components/es.json +++ b/translations/stripes-erm-components/es.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/es_419.json b/translations/stripes-erm-components/es_419.json index 234a5793..eabba90e 100644 --- a/translations/stripes-erm-components/es_419.json +++ b/translations/stripes-erm-components/es_419.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/es_ES.json b/translations/stripes-erm-components/es_ES.json index 62c963b1..bf46be7b 100644 --- a/translations/stripes-erm-components/es_ES.json +++ b/translations/stripes-erm-components/es_ES.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/fr.json b/translations/stripes-erm-components/fr.json index 0d5fd83e..c95d5095 100644 --- a/translations/stripes-erm-components/fr.json +++ b/translations/stripes-erm-components/fr.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/fr_FR.json b/translations/stripes-erm-components/fr_FR.json index fd610cbe..d63e239c 100644 --- a/translations/stripes-erm-components/fr_FR.json +++ b/translations/stripes-erm-components/fr_FR.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/he.json b/translations/stripes-erm-components/he.json index 0d5fd83e..c95d5095 100644 --- a/translations/stripes-erm-components/he.json +++ b/translations/stripes-erm-components/he.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/hi_IN.json b/translations/stripes-erm-components/hi_IN.json index 0d5fd83e..c95d5095 100644 --- a/translations/stripes-erm-components/hi_IN.json +++ b/translations/stripes-erm-components/hi_IN.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/hu.json b/translations/stripes-erm-components/hu.json index 0d5fd83e..c95d5095 100644 --- a/translations/stripes-erm-components/hu.json +++ b/translations/stripes-erm-components/hu.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/it_IT.json b/translations/stripes-erm-components/it_IT.json index e843245c..43c78f08 100644 --- a/translations/stripes-erm-components/it_IT.json +++ b/translations/stripes-erm-components/it_IT.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/ja.json b/translations/stripes-erm-components/ja.json index 70d2d5bf..c5788ac9 100644 --- a/translations/stripes-erm-components/ja.json +++ b/translations/stripes-erm-components/ja.json @@ -1,6 +1,6 @@ { - "createOrg.alreadyExists": "An organization with this name already exists!", - "createOrg.createNew": "Create new organization", + "createOrg.alreadyExists": "この名称の組織は既に存在します!", + "createOrg.createNew": "新しい組織を作成する", "createOrg.name": "名称", "orgSelect.selectOrg": "組織を選択", "orgSelect.typeToSearch": "タイプして組織を検索", @@ -9,9 +9,9 @@ "doc.location": "保管場所", "doc.url": "URL", "doc.note": "ノート", - "doc.addDoc": "Add document", + "doc.addDoc": "ドキュメントの追加", "doc.name": "名称", - "doc.noDocs": "No documents have been added.", + "doc.noDocs": "ドキュメントは追加されていません。", "doc.error.docsMustHaveLocationOrURL": "Each document must specify a file, location, or URL.", "licenseCard.openEnded": "終了日なし", "licenseCard.notSet": "未設定", @@ -29,7 +29,7 @@ "contacts.name": "名称", "contacts.noContacts": "連絡先は追加されていません。", "contacts.role": "役割", - "contacts.noDuplicates": "A user cannot be assigned the same role twice.", + "contacts.noDuplicates": "ユーザー同じ役割を2回割り当てることはできません。", "organizations.noDuplicates": "組織に同じ役割を2回割り当てることはできません。", "organizations.clickSearchButton": "[検索]ボタンをクリックして組織を選択します", "organizations.name": "名前", @@ -40,8 +40,8 @@ "fuf.removeUploaded": "アップロードしたファイルを削除", "fuf.subtitle": "またはファイルを選択", "fuf.title": "ドラッグ&ドロップでアップロード", - "fuf.uploaded": "Uploaded", - "doc.title": "Document {number}", + "fuf.uploaded": "アップロードされました", + "doc.title": "ドキュメント{number}", "doc.file": "File", "interface.name": "インターフェイス名称", "interface.username": "ユーザー名", @@ -53,7 +53,7 @@ "organizations.noOrganization": "紐づく組織はありません", "organization": "組織", "fuf.uploading": "Please wait for the file to be uploaded", - "errors.uploadError": "Error encountered when uploading", + "errors.uploadError": "アップロード中にエラーが発生しました", "fuf.maxFileSize": "最大ファイルサイズ:200 MB", "fuf.buttonAriaLabel": "アップロードするファイルを選択します。最大ファイルサイズは200MBです。", "organizations.multipleUniqueRoles": "この役割を割り当てられる組織は1つだけです。", @@ -82,8 +82,8 @@ "interface.noCredentialsPermission": "You do not have the correct permissions to view platform credentials", "viewOrg.name": "名称", "organizations.noOrgPlugin": "「find-organization」プラグインはインストールされていません", - "errors.uploadError.1": "Error: The file was not uploaded because the connection was dropped.", - "errors.uploadError.2": "Please check the filesize is {number}MB or less and try again.", + "errors.uploadError.1": "エラー: 接続が切断されたため、ファイルはアップロードされませんでした。", + "errors.uploadError.2": "ファイルサイズが{number} MB以下 であることをご確認の上、再度お試しください。", "errors.uploadError.3": "問題が解決しない場合は、システム管理者に連絡してください。", "contacts.replaceUserSpecific": "Replace user {user}", "organizations.replaceOrganizationSpecific": "組織{orgName}置き換える", @@ -133,14 +133,14 @@ "customProperty": "Custom property", "customProperty.lowercase": "カスタムプロパティ", "customProperties.supplementaryProperty.lowercase": "補足プロパティ", - "customProperties.term.lowercase": "term", + "customProperties.term.lowercase": "用語", "customProperties.delete.confirmLabel": "削除", - "customProperties.delete.confirmHeading": "Delete {custProp}", + "customProperties.delete.confirmHeading": "削除{custProp}", "customProperties.delete.confirmMessage": "{custProp} {name} will be deleted.", "close": "閉じる", - "selectAll": "Select all / deselect all", + "selectAll": "すべて選択/すべて選択解除", "duplicateModal.errors.systemAdministrator": "問題が解決しない場合は、システム管理者に連絡してください。", - "duplicateModal.errors.tryAgain": "Please try again.", + "duplicateModal.errors.tryAgain": "もう一度実行してください。", "alternativeNames": "別名称", "alternativeNames.addAlternativeName": "別名称を追加", "apply": "適用", @@ -149,13 +149,13 @@ "AND": "AND", "customProperty.filters.addRule": "ルールを追加", "customProperty.filters.comparator": "比較条件", - "customProperty.filters.removeRule": "Remove rule {index}", + "customProperty.filters.removeRule": "ルールの削除{index}", "customProperty.filters.supplementaryProperty.addCustomPropertyFilter": "補足プロパティ・フィルターを追加する", "customProperty.filters.supplementaryProperty.builder": "補足プロパティ・フィルター・ビルダー", "customProperty.filters.supplementaryProperty.editCustomPropertyFilters": "補足プロパティフィルターの編集", "customProperty.filters.supplementaryProperty.filterIndex": "補足プロパティフィルター{index}", "customProperty.filters.supplementaryProperty.filtersApplied": "{count, plural, one {補足プロパティフィルター} other {補足プロパティフィルター}}が{count, number}個適用されました", - "customProperty.filters.supplementaryProperty.removeFilter": "補足プロパティフィルター{index}を削除します", + "customProperty.filters.supplementaryProperty.removeFilter": "補足プロパティフィルターを削除します{index}", "customProperty.filters.term.addCustomPropertyFilter": "条件フィルターを追加", "customProperty.filters.term.builder": "条件フィルタービルダー", "customProperty.filters.term.editCustomPropertyFilters": "条件フィルターを編集する", @@ -181,16 +181,16 @@ "title": "タイトル", "organizations.note": "ノート", "embargo": "エンバーゴ", - "embargo.start": "Moving wall start: ", - "embargo.end": "Moving wall end: ", + "embargo.start": "ムービングウォール開始: ", + "embargo.end": "ムービングウォール修了: ", "days": "{count, number} {count, plural, one {day} other {days}}", "months": "{count, number} {count, plural, one {month} other {months}}", - "years": "{count, number} {count, plural, one {year} other {years}}", + "years": "{count, number} {count, plural, one {年} other {年}}", "infoLogNo": "No information notices for this job.", - "errorLogNo": "No errors to report.", + "errorLogNo": "レポートするエラーはありません", "columns.errorLogMessage": "エラー", - "columns.infoLogMessage": "Message", - "pti.accessTitleOnPlatform": "Access {name}", + "columns.infoLogMessage": "メッセージ", + "pti.accessTitleOnPlatform": "アクセス{name}", "pti.titleOnPlatform": "プラットフォーム上のタイトル", "columns.recordDescriptor": "Record descriptor", "packageSource": "Package source: {packageSource}", @@ -199,51 +199,55 @@ "recordNumber": "Record number: {recordNumber}", "dateFilter.startDate": "開始日", "dateFilter.endDate": "終了日", - "dateFilter.onOrAfter": "On or after", - "dateFilter.onOrBefore": "On or before", + "dateFilter.onOrAfter": "以降", + "dateFilter.onOrBefore": "以前", "dateFilter.startDateNotSet": "Include {resourceName} with no start date set", "dateFilter.endDateNotSet": "Include {resourceName} with no end date set", "dateFilter.errors.OnOrAfterGreaterThanOnOrBefore": "The On or after date must not be later than the On or before date", "licenseCard.primaryOrg": "主な組織", - "organizations.roles": "Roles", - "organizations.addRole": "Add role", + "organizations.roles": "役割", + "organizations.addRole": "役割の追加", "organizations.setAsPrimary": "メインの組織として設定", "organizations.duplicateOrgError": "Error: Organization \"{orgName}\" was not linked because it is already linked.", - "orgRoles.remove": "Remove organization role {index}", - "orgRoles.orgRoleIndex": "Organization role {index}", + "orgRoles.remove": "組織の役割の削除 {index}", + "orgRoles.orgRoleIndex": "組織の役割 {index}", "canvas.actions": "アクション", "dateFilter.activeFrom": "有効開始", "dateFilter.activeTo": "有効終了", - "new": "New", - "errors.invalidNumber": "Please enter a valid number to continue", - "errors.decimalValueNotInRange": "Please enter a number in the range {min} to {max} to continue", - "dateFilter.cancellationDeadline": "Cancellation deadline", + "new": "新規", + "errors.invalidNumber": "続行するには正しい数値を入力してください", + "errors.decimalValueNotInRange": "続行するには、 {min}から{max}の範囲で数値を入力してください", + "dateFilter.cancellationDeadline": "キャンセル期限", "dateFilter.cancellationDeadlineNotSet": "Include {resourceName} with no cancellation deadline set", - "logs.title": "Title: {title}", - "export": "Export", - "errorLog": "Error log", + "logs.title": "タイトル: {title}", + "export": "エクスポート", + "errorLog": "エラーログ", "infoLog": "Info log", - "documentFilter.documents": "Core documents", - "documentFilter.supplementaryDocuments": "Supplementary documents", + "documentFilter.documents": "コアドキュメント", + "documentFilter.supplementaryDocuments": "補足文書", "documentFilter.filtersApplied": "{filtersLength} document filters applied", "documentFilter.editDocumentFilters": "Edit document filters", "documentFilter.supplementaryDocumentFilterBuilder": "Supplementary document filter builder", "documentFilter.coreDocumentFilterBuilder": "Core document filter builder", "documentFilter.deleteFilterIndex": "Delete filter {number}", "documentFilter.documentFilterIndex": "Document filter {number}", - "documentFilter.addFilter": "Add filter", - "documentFilter.attribute": "Attribute", + "documentFilter.addFilter": "フィルターの追加", + "documentFilter.attribute": "属性", "documentFilter.comparator": "Comparator", - "documentFilter.addRule": "Add rule", - "documentFilter.removeRule": "Remove rule {number}", + "documentFilter.addRule": "ルールの追加", + "documentFilter.removeRule": "ルールの削除{number}", "comparator": "Operator", "value": "Value", - "contentType": "Content type", - "url.error.invalidURL": "Please enter a valid URL (including \"http\" or \"https\").", - "url.error.invalidSize": "The URL may only be {size} characters long", - "unsavedChanges": "There are unsaved changes", - "areYouSure": "Are you sure?", - "saveChanges": "Save Changes", - "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "contentType": "コンテンツタイプ", + "url.error.invalidURL": "正しいURLを入力してください(\"http\" , \"https\"を含む)", + "url.error.invalidSize": "URLは{size} 文字までです。", + "unsavedChanges": "保存されていない変更があります", + "areYouSure": "本当にいいですか?", + "saveChanges": "変更を保存", + "closeWithoutSaving": "保存せずに閉じる", + "keepEditing": "編集を続ける", + "errors.errorCard.defaultErrorHeader": "エラー", + "errors.errorCard.title": "エラー{number} : {message}", + "errors.errorCard.defaultTitle": "何かがうまくいきませんでした", + "errors.errorCard.text": "ページを更新してください。問題が解決しない場合は、管理者に問い合わせてください。" } \ No newline at end of file diff --git a/translations/stripes-erm-components/ko.json b/translations/stripes-erm-components/ko.json index 7cba9b4b..5462a05c 100644 --- a/translations/stripes-erm-components/ko.json +++ b/translations/stripes-erm-components/ko.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/nb.json b/translations/stripes-erm-components/nb.json index 0d5fd83e..c95d5095 100644 --- a/translations/stripes-erm-components/nb.json +++ b/translations/stripes-erm-components/nb.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/nn.json b/translations/stripes-erm-components/nn.json index 0d5fd83e..c95d5095 100644 --- a/translations/stripes-erm-components/nn.json +++ b/translations/stripes-erm-components/nn.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/pl.json b/translations/stripes-erm-components/pl.json index e86ecdf8..846e22d1 100644 --- a/translations/stripes-erm-components/pl.json +++ b/translations/stripes-erm-components/pl.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/pt_BR.json b/translations/stripes-erm-components/pt_BR.json index 9cbc7e8c..b8481567 100644 --- a/translations/stripes-erm-components/pt_BR.json +++ b/translations/stripes-erm-components/pt_BR.json @@ -245,5 +245,9 @@ "areYouSure": "Você tem certeza?", "saveChanges": "Salvar alterações", "closeWithoutSaving": "Fechar sem salvar", - "keepEditing": "Continuar editando" + "keepEditing": "Continuar editando", + "errors.errorCard.defaultErrorHeader": "Erro", + "errors.errorCard.title": "Erro {number}: {message}", + "errors.errorCard.defaultTitle": "Algo deu errado.", + "errors.errorCard.text": "Atualize a página. Se o problema persistir, entre em contato com o administrador." } \ No newline at end of file diff --git a/translations/stripes-erm-components/pt_PT.json b/translations/stripes-erm-components/pt_PT.json index 0d5fd83e..c95d5095 100644 --- a/translations/stripes-erm-components/pt_PT.json +++ b/translations/stripes-erm-components/pt_PT.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/ru.json b/translations/stripes-erm-components/ru.json index 9154c51d..41e2cdbb 100644 --- a/translations/stripes-erm-components/ru.json +++ b/translations/stripes-erm-components/ru.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/sk.json b/translations/stripes-erm-components/sk.json index f973ef55..7ae88479 100644 --- a/translations/stripes-erm-components/sk.json +++ b/translations/stripes-erm-components/sk.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/sv.json b/translations/stripes-erm-components/sv.json index 0d5fd83e..c95d5095 100644 --- a/translations/stripes-erm-components/sv.json +++ b/translations/stripes-erm-components/sv.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/ur.json b/translations/stripes-erm-components/ur.json index 0d5fd83e..c95d5095 100644 --- a/translations/stripes-erm-components/ur.json +++ b/translations/stripes-erm-components/ur.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/zh_CN.json b/translations/stripes-erm-components/zh_CN.json index 3b9aba15..085ae3a9 100644 --- a/translations/stripes-erm-components/zh_CN.json +++ b/translations/stripes-erm-components/zh_CN.json @@ -241,9 +241,13 @@ "contentType": "内容类型", "url.error.invalidURL": "请输入有效的URL(包括“http”或“https”)。", "url.error.invalidSize": "URL 的长度只能是{size}个字符", - "unsavedChanges": "There are unsaved changes", - "areYouSure": "Are you sure?", - "saveChanges": "Save Changes", - "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "unsavedChanges": "有未保存的更改", + "areYouSure": "你确定吗?", + "saveChanges": "保存更改", + "closeWithoutSaving": "关闭而不保存", + "keepEditing": "继续编辑", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file diff --git a/translations/stripes-erm-components/zh_TW.json b/translations/stripes-erm-components/zh_TW.json index 8e03545b..8ac91f84 100644 --- a/translations/stripes-erm-components/zh_TW.json +++ b/translations/stripes-erm-components/zh_TW.json @@ -245,5 +245,9 @@ "areYouSure": "Are you sure?", "saveChanges": "Save Changes", "closeWithoutSaving": "Close without saving", - "keepEditing": "Keep editing" + "keepEditing": "Keep editing", + "errors.errorCard.defaultErrorHeader": "Error", + "errors.errorCard.title": "Error {number}: {message}", + "errors.errorCard.defaultTitle": "Something went wrong.", + "errors.errorCard.text": "Refresh the page. If the problem persists contact your administrator." } \ No newline at end of file