From b52381fe01e1ff897c6cd75ecbb45d5d6c35c91d Mon Sep 17 00:00:00 2001 From: Filippa Wallden <143729834+walldenfilippa@users.noreply.github.com> Date: Mon, 29 Sep 2025 16:01:58 +0200 Subject: [PATCH 1/6] Add and update files in FileUploadTable --- .../AttachmentThumbnail.module.css | 20 + .../FileUploadTable/AttachmentThumbnail.tsx | 65 ++ .../FileUpload/FileUploadTable/FileTable.tsx | 312 +++++----- .../FileUploadTable/FileTableRow.tsx | 554 +++++++++--------- 4 files changed, 533 insertions(+), 418 deletions(-) create mode 100644 src/layout/FileUpload/FileUploadTable/AttachmentThumbnail.module.css create mode 100644 src/layout/FileUpload/FileUploadTable/AttachmentThumbnail.tsx diff --git a/src/layout/FileUpload/FileUploadTable/AttachmentThumbnail.module.css b/src/layout/FileUpload/FileUploadTable/AttachmentThumbnail.module.css new file mode 100644 index 0000000000..6322d4d66c --- /dev/null +++ b/src/layout/FileUpload/FileUploadTable/AttachmentThumbnail.module.css @@ -0,0 +1,20 @@ +.thumbnailContainer { + margin-top: 0.5rem; + margin-bottom: 0.5rem; + display: flex; + align-items: center; +} + +.thumbnail { + max-width: 100px; + max-height: 70px; + object-fit: contain; + border-radius: 2px; +} + +.thumbnailMobile { + max-width: 80px; + max-height: 60px; + object-fit: contain; + border-radius: 2px; +} \ No newline at end of file diff --git a/src/layout/FileUpload/FileUploadTable/AttachmentThumbnail.tsx b/src/layout/FileUpload/FileUploadTable/AttachmentThumbnail.tsx new file mode 100644 index 0000000000..7406f67884 --- /dev/null +++ b/src/layout/FileUpload/FileUploadTable/AttachmentThumbnail.tsx @@ -0,0 +1,65 @@ +import React from 'react'; + +import { isAttachmentUploaded } from 'src/features/attachments'; +import { useInstanceDataElements, useLaxInstanceId } from 'src/features/instance/InstanceContext'; +import { useCurrentLanguage } from 'src/features/language/LanguageProvider'; +import classes from 'src/layout/FileUpload/FileUploadTable/AttachmentThumbnail.module.css'; +import { getDataElementUrl } from 'src/utils/urls/appUrlHelper'; +import { makeUrlRelativeIfSameDomain } from 'src/utils/urls/urlHelper'; +import type { IAttachment, UploadedAttachment } from 'src/features/attachments'; +interface IAttachmentThumbnailProps { + attachment: IAttachment; + mobileView: boolean; +} + +export const AttachmentThumbnail = ({ attachment, mobileView }: IAttachmentThumbnailProps) => { + // Get all data elements from the instance + const dataElements = useInstanceDataElements(undefined); + const instanceId = useLaxInstanceId(); + const language = useCurrentLanguage(); + + // Only uploaded attachments can have thumbnails + if (!isAttachmentUploaded(attachment)) { + return null; + } + + //Check for thumbnail metadata in the attachment + const thumbnailLink = + (attachment as UploadedAttachment)?.data?.metadata?.find( + (meta: { key: string; value: string }) => meta.key === 'thumbnailLink', + )?.value ?? null; + + if (!thumbnailLink) { + return null; + } + + // Find the thumbnail data element + const thumbnailDataElement = dataElements.find( + (el) => + el.dataType === 'thumbnail' && + el.metadata?.some((meta) => meta.key === 'attachmentLink' && meta.value === thumbnailLink), + ); + + if (!thumbnailDataElement?.id || !instanceId) { + return null; + } + + const thumbnailUrl = makeUrlRelativeIfSameDomain(getDataElementUrl(instanceId, thumbnailDataElement.id, language)); + + if (!thumbnailUrl) { + return null; + } + + return ( +
+ {`Thumbnail +
+ ); +}; diff --git a/src/layout/FileUpload/FileUploadTable/FileTable.tsx b/src/layout/FileUpload/FileUploadTable/FileTable.tsx index 7b606261f7..3851211da1 100644 --- a/src/layout/FileUpload/FileUploadTable/FileTable.tsx +++ b/src/layout/FileUpload/FileUploadTable/FileTable.tsx @@ -1,146 +1,166 @@ -import React from 'react'; - -import { isAttachmentUploaded } from 'src/features/attachments'; -import { Lang } from 'src/features/language/Lang'; -import { usePdfModeActive } from 'src/features/pdf/PDFWrapper'; -import classes from 'src/layout/FileUpload/FileUploadTable/FileTableComponent.module.css'; -import { FileTableRow } from 'src/layout/FileUpload/FileUploadTable/FileTableRow'; -import { FileTableRowProvider } from 'src/layout/FileUpload/FileUploadTable/FileTableRowContext'; -import { EditWindowComponent } from 'src/layout/FileUploadWithTag/EditWindowComponent'; -import { atLeastOneTagExists } from 'src/utils/formComponentUtils'; -import { useItemWhenType } from 'src/utils/layout/useNodeItem'; -import type { IAttachment } from 'src/features/attachments'; -import type { IOptionInternal } from 'src/features/options/castOptionsToStrings'; -import type { FileTableRowContext } from 'src/layout/FileUpload/FileUploadTable/FileTableRowContext'; - -export interface FileTableProps { - baseComponentId: string; - attachments: IAttachment[]; - mobileView: boolean; - options?: IOptionInternal[]; - isFetching: boolean; - isSummary?: boolean; -} - -export function FileTable({ - attachments, - mobileView, - baseComponentId, - options, - isSummary, - isFetching, -}: FileTableProps): React.JSX.Element | null { - const { textResourceBindings, type, readOnly } = useItemWhenType<'FileUpload' | 'FileUploadWithTag'>( - baseComponentId, - (t) => t === 'FileUpload' || t === 'FileUploadWithTag', - ); - const hasTag = type === 'FileUploadWithTag'; - const pdfModeActive = usePdfModeActive(); - const [editIndex, setEditIndex] = React.useState(-1); - if (!attachments || attachments.length === 0) { - return null; - } - const tagTitle = - (textResourceBindings && 'tagTitle' in textResourceBindings && textResourceBindings?.tagTitle) || undefined; - const label = (attachment: IAttachment) => { - if (!isAttachmentUploaded(attachment)) { - return undefined; - } - - const firstTag = attachment.data.tags && attachment.data.tags[0]; - return options?.find((option) => option.value === firstTag)?.label; - }; - - return ( - - {(atLeastOneTagExists(attachments) || !hasTag) && ( - - - - {!mobileView && ( - - )} - {hasTag && !mobileView && ( - - )} - {!(hasTag && mobileView) && !pdfModeActive && !mobileView && ( - - )} - - {!pdfModeActive && ( - - )} - - - )} - - {attachments.map((attachment, index: number) => { - const isMissingTag = hasTag && isAttachmentUploaded(attachment) && !attachment.data.tags?.length; - const showSimpleRow = isAttachmentUploaded(attachment) - ? !hasTag || readOnly || (hasTag && !isMissingTag && editIndex !== index) - : true; - - const ctx: FileTableRowContext = { - setEditIndex, - editIndex, - index, - }; - - return showSimpleRow ? ( - - - - ) : ( - - - - - - ); - })} - -
- - - - - - - - -

- -

-
- -
- ); -} +import React from 'react'; + +import { isAttachmentUploaded } from 'src/features/attachments'; +import { Lang } from 'src/features/language/Lang'; +import { usePdfModeActive } from 'src/features/pdf/PDFWrapper'; +import classes from 'src/layout/FileUpload/FileUploadTable/FileTableComponent.module.css'; +import { FileTableRow } from 'src/layout/FileUpload/FileUploadTable/FileTableRow'; +import { FileTableRowProvider } from 'src/layout/FileUpload/FileUploadTable/FileTableRowContext'; +import { EditWindowComponent } from 'src/layout/FileUploadWithTag/EditWindowComponent'; +import { atLeastOneTagExists } from 'src/utils/formComponentUtils'; +import { useItemWhenType } from 'src/utils/layout/useNodeItem'; +import type { IAttachment } from 'src/features/attachments'; +import type { IOptionInternal } from 'src/features/options/castOptionsToStrings'; +import type { FileTableRowContext } from 'src/layout/FileUpload/FileUploadTable/FileTableRowContext'; + +export interface FileTableProps { + baseComponentId: string; + attachments: IAttachment[]; + mobileView: boolean; + options?: IOptionInternal[]; + isFetching: boolean; + isSummary?: boolean; +} + +export function FileTable({ + attachments, + mobileView, + baseComponentId, + options, + isSummary, + isFetching, +}: FileTableProps): React.JSX.Element | null { + const { textResourceBindings, type, readOnly } = useItemWhenType<'FileUpload' | 'FileUploadWithTag'>( + baseComponentId, + (t) => t === 'FileUpload' || t === 'FileUploadWithTag', + ); + const hasTag = type === 'FileUploadWithTag'; + const pdfModeActive = usePdfModeActive(); + const [editIndex, setEditIndex] = React.useState(-1); + if (!attachments || attachments.length === 0) { + return null; + } + const tagTitle = + (textResourceBindings && 'tagTitle' in textResourceBindings && textResourceBindings?.tagTitle) || undefined; + const label = (attachment: IAttachment) => { + if (!isAttachmentUploaded(attachment)) { + return undefined; + } + + const firstTag = attachment.data.tags && attachment.data.tags[0]; + return options?.find((option) => option.value === firstTag)?.label; + }; + + //Check if any uploaded attachment has thumbnails + const hasImages = attachments.some((attachment) => { + if (!isAttachmentUploaded(attachment)) { + return false; + } + return attachment.data.metadata?.some((meta) => meta.key === 'thumbnailLink'); + }); + + const calculateColSpan = () => { + if (mobileView) { + return hasImages ? 4 : 3; + } + return hasImages ? 7 : 6; + }; + + return ( + + {(atLeastOneTagExists(attachments) || !hasTag) && ( + + + + {!mobileView && ( + + )} + {hasTag && !mobileView && ( + + )} + {!(hasTag && mobileView) && !pdfModeActive && !mobileView && ( + + )} + {hasImages && ( + + )} + {!pdfModeActive && ( + + )} + + + )} + + {attachments.map((attachment, index: number) => { + const isMissingTag = hasTag && isAttachmentUploaded(attachment) && !attachment.data.tags?.length; + const showSimpleRow = isAttachmentUploaded(attachment) + ? !hasTag || readOnly || (hasTag && !isMissingTag && editIndex !== index) + : true; + + const ctx: FileTableRowContext = { + setEditIndex, + editIndex, + index, + }; + + return showSimpleRow ? ( + + + + ) : ( + + + + + + ); + })} + +
+ + + + + + + + + + +

+ +

+
+ +
+ ); +} diff --git a/src/layout/FileUpload/FileUploadTable/FileTableRow.tsx b/src/layout/FileUpload/FileUploadTable/FileTableRow.tsx index 5abf1109d8..4ed3190e44 100644 --- a/src/layout/FileUpload/FileUploadTable/FileTableRow.tsx +++ b/src/layout/FileUpload/FileUploadTable/FileTableRow.tsx @@ -1,272 +1,282 @@ -import React from 'react'; - -import classNames from 'classnames'; - -import { AltinnLoader } from 'src/components/AltinnLoader'; -import { useTaskOverrides } from 'src/core/contexts/TaskOverrides'; -import { isAttachmentUploaded } from 'src/features/attachments'; -import { FileScanResults } from 'src/features/attachments/types'; -import { Lang } from 'src/features/language/Lang'; -import { useLanguage } from 'src/features/language/useLanguage'; -import { usePdfModeActive } from 'src/features/pdf/PDFWrapper'; -import { AttachmentFileName } from 'src/layout/FileUpload/FileUploadTable/AttachmentFileName'; -import { FileTableButtons } from 'src/layout/FileUpload/FileUploadTable/FileTableButtons'; -import classes from 'src/layout/FileUpload/FileUploadTable/FileTableRow.module.css'; -import { useFileTableRow } from 'src/layout/FileUpload/FileUploadTable/FileTableRowContext'; -import { EditButton } from 'src/layout/Summary2/CommonSummaryComponents/EditButton'; -import { AltinnPalette } from 'src/theme/altinnAppTheme'; -import { getSizeWithUnit } from 'src/utils/attachmentsUtils'; -import { useExternalItem } from 'src/utils/layout/hooks'; -import type { IAttachment } from 'src/features/attachments'; - -interface IFileUploadTableRowProps { - attachment: IAttachment; - mobileView: boolean; - baseComponentId: string; - tagLabel: string | undefined; - isSummary?: boolean; -} - -export function FileTableRow({ - baseComponentId, - attachment, - mobileView, - tagLabel, - isSummary, -}: IFileUploadTableRowProps) { - const { langAsString } = useLanguage(); - const component = useExternalItem(baseComponentId); - const hasTag = component?.type === 'FileUploadWithTag'; - const pdfModeActive = usePdfModeActive(); - const readableSize = getSizeWithUnit(attachment.data.size, 2); - - const hasOverriddenTaskId = Boolean(useTaskOverrides()?.taskId); - - const uniqueId = isAttachmentUploaded(attachment) ? attachment.data.id : attachment.data.temporaryId; - - const getStatusFromScanResult = () => { - if (!attachment.uploaded) { - return langAsString('general.loading'); - } - - const scanResult = attachment.data.fileScanResult; - - switch (scanResult) { - case FileScanResults.Pending: - return langAsString('form_filler.file_uploader_status_scanning'); - case FileScanResults.Infected: - return langAsString('form_filler.file_uploader_status_infected'); - case FileScanResults.Clean: - case FileScanResults.NotApplicable: - default: - return langAsString('form_filler.file_uploader_list_status_done'); - } - }; - - const status = getStatusFromScanResult(); - - const rowStyle = - isSummary || pdfModeActive - ? classNames(classes.noRowSpacing, classes.grayUnderlineDotted) - : classes.blueUnderlineDotted; - - return ( - - - {hasTag && !mobileView && } - {!(hasTag && mobileView) && !pdfModeActive && !mobileView && ( - - )} - - {!isSummary && ( - - )} - {isSummary && !pdfModeActive && ( - - - - )} - - ); -} - -const NameCell = ({ - mobileView, - attachment, - readableSize, - hasTag, - uploadStatus, - tagLabel, -}: { - mobileView: boolean; - attachment: IAttachment; - readableSize: string; - hasTag: boolean; - uploadStatus: string; - tagLabel?: string; -}) => { - const { langAsString } = useLanguage(); - const uniqueId = isAttachmentUploaded(attachment) ? attachment.data.id : attachment.data.temporaryId; - return ( - <> - -
- - {mobileView && ( -
- {attachment.uploaded ? ( -
- {tagLabel && mobileView && ( -
- -
- )} - {`${readableSize} ${mobileView ? uploadStatus : ''}`} - {hasTag && !mobileView && ( -
- -
- )} -
- ) : ( - - )} -
- )} -
- - {!mobileView ? {readableSize} : null} - - ); -}; - -const FileTypeCell = ({ tagLabel }: { tagLabel: string | undefined }) => { - const { langAsString } = useLanguage(); - const { index } = useFileTableRow(); - return {tagLabel && langAsString(tagLabel)}; -}; - -const StatusCellContent = ({ - uploaded, - status, - scanResult, -}: { - uploaded: boolean; - status: string; - scanResult?: string; -}) => { - const getStatusElement = () => { - if (!uploaded) { - return ( - - ); - } - - const getTestId = () => { - switch (scanResult) { - case FileScanResults.Infected: - return 'status-infected'; - case FileScanResults.Pending: - return 'status-scanning'; - default: - return 'status-success'; - } - }; - - const getClassName = () => { - switch (scanResult) { - case FileScanResults.Infected: - return classes.statusInfected; - case FileScanResults.Pending: - return classes.statusScanning; - default: - return ''; - } - }; - - return ( -
- {status} -
- ); - }; - - return {getStatusElement()}; -}; - -interface IButtonCellContentProps { - deleting: boolean; - baseComponentId: string; - mobileView: boolean; - attachment: IAttachment; -} - -const ButtonCellContent = ({ deleting, baseComponentId, mobileView, attachment }: IButtonCellContentProps) => { - const { langAsString } = useLanguage(); - - if (deleting) { - return ( - - - - ); - } - - return ( - - - - ); -}; +import React from 'react'; + +import classNames from 'classnames'; + +import { AltinnLoader } from 'src/components/AltinnLoader'; +import { useTaskOverrides } from 'src/core/contexts/TaskOverrides'; +import { isAttachmentUploaded } from 'src/features/attachments'; +import { FileScanResults } from 'src/features/attachments/types'; +import { Lang } from 'src/features/language/Lang'; +import { useLanguage } from 'src/features/language/useLanguage'; +import { usePdfModeActive } from 'src/features/pdf/PDFWrapper'; +import { AttachmentFileName } from 'src/layout/FileUpload/FileUploadTable/AttachmentFileName'; +import { AttachmentThumbnail } from 'src/layout/FileUpload/FileUploadTable/AttachmentThumbnail'; +import { FileTableButtons } from 'src/layout/FileUpload/FileUploadTable/FileTableButtons'; +import classes from 'src/layout/FileUpload/FileUploadTable/FileTableRow.module.css'; +import { useFileTableRow } from 'src/layout/FileUpload/FileUploadTable/FileTableRowContext'; +import { EditButton } from 'src/layout/Summary2/CommonSummaryComponents/EditButton'; +import { AltinnPalette } from 'src/theme/altinnAppTheme'; +import { getSizeWithUnit } from 'src/utils/attachmentsUtils'; +import { useExternalItem } from 'src/utils/layout/hooks'; +import type { IAttachment } from 'src/features/attachments'; + +interface IFileUploadTableRowProps { + attachment: IAttachment; + mobileView: boolean; + baseComponentId: string; + tagLabel: string | undefined; + isSummary?: boolean; + hasImages?: boolean; +} + +export function FileTableRow({ + baseComponentId, + attachment, + mobileView, + tagLabel, + isSummary, + hasImages, +}: IFileUploadTableRowProps) { + const { langAsString } = useLanguage(); + const component = useExternalItem(baseComponentId); + const hasTag = component?.type === 'FileUploadWithTag'; + const pdfModeActive = usePdfModeActive(); + const readableSize = getSizeWithUnit(attachment.data.size, 2); + + const hasOverriddenTaskId = Boolean(useTaskOverrides()?.taskId); + + const uniqueId = isAttachmentUploaded(attachment) ? attachment.data.id : attachment.data.temporaryId; + + const getStatusFromScanResult = () => { + if (!attachment.uploaded) { + return langAsString('general.loading'); + } + + const scanResult = attachment.data.fileScanResult; + + switch (scanResult) { + case FileScanResults.Pending: + return langAsString('form_filler.file_uploader_status_scanning'); + case FileScanResults.Infected: + return langAsString('form_filler.file_uploader_status_infected'); + case FileScanResults.Clean: + case FileScanResults.NotApplicable: + default: + return langAsString('form_filler.file_uploader_list_status_done'); + } + }; + + const status = getStatusFromScanResult(); + + const rowStyle = + isSummary || pdfModeActive + ? classNames(classes.noRowSpacing, classes.grayUnderlineDotted) + : classes.blueUnderlineDotted; + + return ( + + + {hasTag && !mobileView && } + {!(hasTag && mobileView) && !pdfModeActive && !mobileView && ( + + )} + {hasImages && ( + + + + )} + {!isSummary && ( + + )} + {isSummary && !pdfModeActive && ( + + + + )} + + ); +} + +const NameCell = ({ + mobileView, + attachment, + readableSize, + hasTag, + uploadStatus, + tagLabel, +}: { + mobileView: boolean; + attachment: IAttachment; + readableSize: string; + hasTag: boolean; + uploadStatus: string; + tagLabel?: string; +}) => { + const { langAsString } = useLanguage(); + const uniqueId = isAttachmentUploaded(attachment) ? attachment.data.id : attachment.data.temporaryId; + return ( + <> + +
+ + {mobileView && ( +
+ {attachment.uploaded ? ( +
+ {tagLabel && mobileView && ( +
+ +
+ )} + {`${readableSize} ${mobileView ? uploadStatus : ''}`} + {hasTag && !mobileView && ( +
+ +
+ )} +
+ ) : ( + + )} +
+ )} +
+ + {!mobileView ? {readableSize} : null} + + ); +}; + +const FileTypeCell = ({ tagLabel }: { tagLabel: string | undefined }) => { + const { langAsString } = useLanguage(); + const { index } = useFileTableRow(); + return {tagLabel && langAsString(tagLabel)}; +}; + +const StatusCellContent = ({ + uploaded, + status, + scanResult, +}: { + uploaded: boolean; + status: string; + scanResult?: string; +}) => { + const getStatusElement = () => { + if (!uploaded) { + return ( + + ); + } + + const getTestId = () => { + switch (scanResult) { + case FileScanResults.Infected: + return 'status-infected'; + case FileScanResults.Pending: + return 'status-scanning'; + default: + return 'status-success'; + } + }; + + const getClassName = () => { + switch (scanResult) { + case FileScanResults.Infected: + return classes.statusInfected; + case FileScanResults.Pending: + return classes.statusScanning; + default: + return ''; + } + }; + + return ( +
+ {status} +
+ ); + }; + + return {getStatusElement()}; +}; + +interface IButtonCellContentProps { + deleting: boolean; + baseComponentId: string; + mobileView: boolean; + attachment: IAttachment; +} + +const ButtonCellContent = ({ deleting, baseComponentId, mobileView, attachment }: IButtonCellContentProps) => { + const { langAsString } = useLanguage(); + + if (deleting) { + return ( + + + + ); + } + + return ( + + + + ); +}; From ff3a36e90821e5b954b0b364748b3a31550cbedb Mon Sep 17 00:00:00 2001 From: Filippa Wallden <143729834+walldenfilippa@users.noreply.github.com> Date: Mon, 29 Sep 2025 16:06:13 +0200 Subject: [PATCH 2/6] Added texts thumbnail --- src/language/texts/en.ts | 997 +++++++++++++++++++------------------- src/language/texts/nb.ts | 999 ++++++++++++++++++++------------------- src/language/texts/nn.ts | 993 +++++++++++++++++++------------------- 3 files changed, 1496 insertions(+), 1493 deletions(-) diff --git a/src/language/texts/en.ts b/src/language/texts/en.ts index e277af3969..438ce117b1 100644 --- a/src/language/texts/en.ts +++ b/src/language/texts/en.ts @@ -1,498 +1,499 @@ -export function en() { - return { - 'dateTime.am': 'AM', - 'dateTime.pm': 'PM', - 'altinn.standard_validation.file_content_type_not_allowed': - 'It looks like you are trying to upload a file type that is not allowed. Please make sure that the file is actually the type it claims to be.', - 'actions.sign': 'Sign', - 'actions.confirm': 'Confirm', - 'actions.reject': 'Reject', - 'actions.instantiate': 'Instantiate', - 'address_component.address': 'Street Address', - 'address_component.care_of': 'C/O or other additional address', - 'address_component.house_number': 'House Number', - 'address_component.house_number_helper': - 'If several residents share the same address you must provide house number. It consists of one letter and four numbers and should be listed at your front door.', - 'address_component.post_place': 'Post Place', - 'address_component.simplified': 'Simplified', - 'address_component.title_text_binding': 'Search for title for address component', - 'address_component.zip_code': 'Zip Code', - 'address_component.validation_error_zipcode': 'Zip code is invalid', - 'address_component.validation_error_house_number': 'House number is invalid', - 'confirm.answers': 'Your responses', - 'confirm.attachments': 'Attachments', - 'confirm.body': - 'You are ready to submit {0}. Before you submit, we recommend that you look over and verify your responses. You cannot change your responses after submitting.', - 'confirm.button_text': 'Submit', - 'confirm.deadline': 'Deadline', - 'confirm.sender': 'Party', - 'confirm.title': 'Check your responses before submitting', - 'custom_actions.general_error': 'Something went wrong with this action. Please try again later.', - 'date_picker.invalid_date_message': 'Invalid date format. Use the format {0}.', - 'date_picker.cancel_label': 'Cancel', - 'date_picker.clear_label': 'Clear', - 'date_picker.today_label': 'Today', - 'date_picker.min_date_exeeded': 'Date should not be before minimal date', - 'date_picker.max_date_exeeded': 'Date should not be after maximal date', - 'date_picker.aria_label_icon': 'Open date picker', - 'date_picker.aria_label_left_arrow': 'Last month.', - 'date_picker.aria_label_right_arrow': 'Next month.', - 'date_picker.aria_label_year_dropdown': 'Select year', - 'date_picker.aria_label_month_dropdown': 'Select month', - 'date_picker.format_text': 'For example {0}', - 'time_picker.invalid_time_message': 'Invalid time format. Use format {0}.', - 'time_picker.min_time_exceeded': 'The time you selected is before the earliest allowed time ({0}).', - 'time_picker.max_time_exceeded': 'The time you selected is after the latest allowed time ({0}).', - 'timepicker.hours': 'Hours', - 'timepicker.minutes': 'Minutes', - 'timepicker.seconds': 'Seconds', - 'timepicker.am_pm': 'AM/PM', - 'feedback.title': '## You will soon be forwarded', - 'feedback.body': - 'Waiting for verification. When this is complete you will be forwarded to the next step or receipt automatically.', - 'form_filler.error_add_subform': 'Failed to add subform entry, please try again.', - 'form_filler.error_delete_subform': 'An error occurred while deleting the subform entry, please try again.', - 'form_filler.error_fetch_subform': 'Error loading form data', - 'form_filler.error_max_count_reached_subform_server': 'The maximum number of {0} entries has been reached', - 'form_filler.error_max_count_reached_subform_local': 'The maximum number of {0} entries has been reached ({1})', - 'form_filler.error_min_count_not_reached_subform': 'At least {0} {1} entry is required', - 'form_filler.error_validation_inside_subform': 'There are errors in one of more {0} entries', - 'form_filler.subform_default_header': 'Items', - 'form_filler.alert_confirm': 'Confirm', - 'form_filler.checkbox_alert': 'Are you sure you want to uncheck?', - 'form_filler.multi_select_alert': 'Are you sure you want to delete {0}?', - 'form_filler.dropdown_alert': 'Are you sure you want to change to {0}?', - 'form_filler.back_to_summary': 'Return to summary', - 'form_filler.back_to_page': 'Back to {0}', - 'form_filler.error_report_header': 'These need to be corrected before continuing', - 'form_filler.error_required': 'You have to fill out {0}', - 'form_filler.file_upload_valid_file_format_all': 'all', - 'form_filler.file_uploader_add_attachment': 'Add more attachments', - 'form_filler.file_uploader_drag': 'Drag and drop or', - 'form_filler.file_uploader_find': 'find a file', - 'form_filler.file_uploader_list_delete': 'Delete attachment', - 'form_filler.file_uploader_delete_warning': 'Are you sure you want to delete this attachment?', - 'form_filler.file_uploader_delete_button_confirm': 'Yes, delete attachment', - 'form_filler.file_uploader_list_header_file_size': 'File size', - 'form_filler.file_uploader_list_header_name': 'Name', - 'form_filler.file_uploader_list_header_status': 'Status', - 'form_filler.file_uploader_list_header_delete_sr': 'Delete', - 'form_filler.file_uploader_list_status_done': 'Uploaded', - 'form_filler.file_uploader_status_scanning': 'Scanning...', - 'form_filler.file_uploader_status_infected': 'Infected', - 'form_filler.file_uploader_infected_file_alert': 'The file {0} is infected with malware and cannot be used.', - 'form_filler.file_uploader_infected_file_action': 'Please upload a clean file.', - 'form_filler.file_uploader_remove_infected_files': 'Remove infected files before submission.', - 'form_filler.file_uploader_max_size_mb': 'Maximum file size {0} MB', - 'form_filler.file_uploader_upload': 'Upload file', - 'form_filler.file_uploader_number_of_files': 'Number of files {0}.', - 'form_filler.file_uploader_show_more_errors': 'Show {0} more', - 'form_filler.file_uploader_show_fewer_errors': 'Show fewer', - 'form_filler.file_uploader_valid_file_format': 'Valid file types are:', - 'form_filler.file_uploader_failed_to_upload_file': 'The file {0} could not be uploaded', - 'form_filler.file_uploader_validation_error_delete': - 'Something went wrong trying to delete the file, please try again.', - 'form_filler.file_uploader_validation_error_exceeds_max_files': - 'You can not upload more than {0} files. No files were uploaded.', - 'form_filler.file_uploader_validation_error_file_ending': 'is not an allowed file type.', - 'form_filler.file_uploader_validation_error_file_number': 'You need to upload {0} attachement(s) to continue', - 'form_filler.file_uploader_validation_error_file_size': '{0} exeeds the valid file size.', - 'form_filler.file_uploader_validation_error_general': - 'There was a problem with the file {0}. Make sure the file has correct file type and does not exeed the size limit.', - 'form_filler.file_uploader_validation_error_upload': - 'Something went wrong trying to upload the file, please try again.', - 'form_filler.file_uploader_validation_error_update': - 'Something went wrong trying to update the filetag, please try again.', - 'form_filler.file_uploader_validation_error_no_chosen_tag': 'You have to choose one {0}', - 'form_filler.placeholder_receipt_header': 'The form has been submitted', - 'form_filler.placeholder_user': 'OLA PRIVATPERSON', - 'form_filler.radiobutton_alert_label': 'Are you sure you want to change from {0}?', - 'form_filler.required_description': 'Required fields are marked with *', - 'form_filler.required_label': '*', - 'form_filler.summary_item_change': 'Change', - 'form_filler.summary_go_to_correct_page': 'Go to the correct page in the form', - 'form_filler.address': 'Street Address', - 'form_filler.careOf': 'C/O or other additional address', - 'form_filler.houseNumber': 'House Number', - 'form_filler.postPlace': 'Post Place', - 'form_filler.zipCode': 'Zip Code', - 'form_filler.no_options_found': 'No matches found', - 'form_filler.clear_selection': 'Clear selection', - 'form_filler.person_lookup_ssn': 'national ID number/D-number', - 'form_filler.person_lookup_name': 'name', - 'form_filler.organisation_lookup_orgnr': 'organisation number', - 'form_filler.organisation_lookup_name': 'organisation name', - 'navigation.main': 'Primary', - 'navigation.form': 'Form pages', - 'navigation.to_main_content': 'Go to main content', - 'navigation.go_to_task': 'Navigate to {0}', - 'navigation.form_pages': 'Form pages', - 'navigation.back_to_inbox': 'Back to inbox', - 'navigation.inbox': 'Inbox', - 'navigation.back_to_main_form': 'Back to {0}', - 'navigation.main_form': '{0}', - 'navigation.back': 'Back', - 'navigation.page_complete': 'Page completed', - 'navigation.page_error': 'Error on page', - 'navigation.page_group_complete': 'Page group completed', - 'navigation.page_group_error': 'Error in page group', - 'general.action': 'Action', - 'general.accessibility': 'Accessibility', - 'general.accessibility_url': 'https://info.altinn.no/en/about-altinn/tilgjengelighet/', - 'general.add_connection': 'Add connection', - 'general.add_new': 'Add new', - 'general.add': 'Add', - 'general.back': 'Back', - 'general.cancel': 'Cancel', - 'general.choose_label': 'Choose label', - 'general.choose_method': 'Choose method', - 'general.choose': 'Choose', - 'general.close': 'Close', - 'general.contains': 'Contains{0}', - 'general.control_submit': 'Control and submit', - 'general.create_new': 'Create new', - 'general.create': 'Create', - 'general.customer_service_phone_number': '+47 75 00 60 00', - 'general.customer_service_slack': 'https://altinn.slack.com', - 'general.customer_service_email': 'servicedesk@altinn.no', - 'general.customer_service_error_message': - 'If you need help resolving this issue, reach out to Altinn via our support lines

  • Phone: {0}
  • Email: {1}
  • Slack: {2}
', - 'general.delete': 'Delete', - 'general.download': 'Download {0}', - 'general.disabled': 'Disabled', - 'general.done': 'Done', - 'general.edit_alt_error': 'Fix error here', - 'general.edit_alt': 'Edit', - 'general.edit': 'Edit', - 'general.empty_summary': 'You have not entered any information here', - 'general.empty_table': 'No data found.', - 'general.enabled': 'Enabled', - 'general.error_message_with_colon': 'Error message:', - 'general.full_width': 'Expand width', - 'general.standard_width': 'Reduce width', - 'general.for': 'for', - 'general.header_profile_icon_label': 'Profile icon button', - 'general.label': 'Label', - 'general.loading': 'Loading content', - 'general.log_out': 'Log out', - 'general.next': 'Next', - 'general.no_options': 'No options available', - 'general.optional': 'Optional', - 'general.page_number': 'Page {0}', - 'general.print_button_text': 'Print / Save as PDF', - 'general.progress': 'Page {0} of {1}', - 'general.required': 'Required', - 'general.save': 'Save', - 'general.save_and_close': 'Save and close', - 'general.save_and_next': 'Save and open next', - 'general.search': 'Search', - 'general.select_field': 'Select field', - 'general.service_description_header': 'Description', - 'general.service_name': 'Name', - 'general.service_owner': 'Owner', - 'general.service_saved_name': 'Repository name', - 'general.submit': 'Submit', - 'general.validate_changes': 'Validate changes', - 'general.value': 'Value', - 'general.version': 'Version', - 'general.wait_for_attachments': 'Hold on, we are processing attachments', - 'general.wait_for_attachments_infected': 'Remove infected files before continuing', - 'general.wait_for_attachments_scanning': 'Scanning files for malware...', - 'general.part_of_form_completed': "This part of the form is not currently available. You can't change it.", - 'general.invalid_task_id': 'This part of the form does not exist.', - 'general.navigate_to_current_process': 'Navigate to the current process step', - 'group.row_error': - 'One of the rows is incorrectly filled out. This has to bee fixed before the schema can be submitted.', - 'group.row_popover_delete_message': 'Are you sure you want to delete this row?', - 'group.row_popover_delete_button_confirm': 'Yes, delete the row', - 'iframe_component.unsupported_browser_title': 'Your browser is unsupported', - 'iframe_component.unsupported_browser': - 'Your browser does not support iframes that use srcdoc. This may result in not being able to see all the content intended to be displayed here. We recommend trying a different browser.', - 'input_components.remaining_characters': 'You have %d characters left', - 'input_components.exceeded_max_limit': 'You have exceeded the maximum limit with %d characters', - 'instance_selection.changed_by': 'Changed by', - 'instance_selection.continue': 'Continue here', - 'instance_selection.description': - 'Choose if you want to continue on an existing form, or if you want to start on a new one.', - 'instance_selection.header': 'You have already started filling out this form.', - 'instance_selection.last_changed': 'Last changed', - 'instance_selection.left_of': 'Continue where you left of', - 'instance_selection.new_instance': 'Start over', - 'instantiate.all_forms': 'all forms', - 'instantiate.inbox': 'inbox', - 'instantiate.profile': 'profile', - 'instantiate.unknown_error_title': 'Unknow error', - 'instantiate.unknown_error_text': 'An unknown error occcurred, please try again later.', - 'instantiate.unknown_error_status': 'Unknow error', - 'instantiate.unknown_error_customer_support': 'If the problem persists, contact us at customer service at {0}.', - 'instantiate.forbidden_action_error_title': 'You do not have permission to perform this action.', - 'instantiate.forbidden_action_error_text': 'It looks like you do not have permission to perform this action.', - 'instantiate.forbidden_action_error_status': '403 - Forbidden', - 'instantiate.forbidden_action_error_customer_support': - 'If you need help, contact us at customer service
{0}.', - 'instantiate.authorization_error_main_title': 'You do not have permission to view this app.', - 'instantiate.authorization_error_instantiate_validation_title': 'You cannot start this service', - 'instantiate.authorization_error_rights': 'It looks like you do not have permission to start this service for {0}', - 'instantiate.authorization_error_ask': - 'If you are representing a person it is the one you are representing that can give you the required rights to start this service. If you are you representing an organization you have to ask for the required rights from persons with access delegation rights within your organization.', - 'instantiate.authorization_error_check_rights': - 'See who has rights to delegate access under "Others with rights within the organization".', - 'instantiate.authorization_error_info_rights': - 'Learn more about roles and rights.', - 'instantiate.authorization_error_info_customer_service': 'You can also contact customer service at {0}.', - 'instantiate.authorization_error_instantiate_validation_info_customer_service': - 'If you need help, contact customer service at {0}.', - 'instantiate.starting': 'Just a minute, we’ll get the information you need', - 'language.language_selection': 'Language', - 'language.full_name.nb': 'Norwegian bokmål', - 'language.full_name.en': 'English', - 'language.full_name.nn': 'Norwegian nynorsk', - 'language.selector.label': 'Language', - 'party_selection.error_caption_prefix': 'Error', - 'party_selection.invalid_selection_non_existing_party': - 'You have started the service with an party that either does not exist or that you do not have access to. Select a new party below to continue.', - 'party_selection.invalid_selection_existing_party': - 'You started this app as {0}. This app is available for {1}. Choose another party below.', - 'party_selection.no_valid_selection_first_part': 'This is a app for {0}', - 'party_selection.no_valid_selection_second_part': - 'It looks like you do not have access to a party who is allowed to start {0}.', - 'party_selection.no_valid_selection_third_part': 'To start this app, you must have accesses associated with {0}.', - 'party_selection.no_valid_selection_binding_word': 'and', - 'party_selection.change_party': 'change party here', - 'party_selection.read_more_roles_link': 'You can read more about roles and rights here.', - 'party_selection.binding_word': 'or', - 'party_selection.header': 'Who do you want to represent?', - 'party_selection.load_more': 'Load more', - 'party_selection.search_placeholder': 'Search for a party', - 'party_selection.subheader': 'Parties you can represent:', - 'party_selection.unit_type_private_person': 'private person', - 'party_selection.unit_type_company': 'company', - 'party_selection.unit_type_bankruptcy_state': 'bankruptcy state', - 'party_selection.unit_type_subunit': 'subunit', - 'party_selection.unit_type_subunit_plural': 'subunits', - 'party_selection.unit_deleted': 'deleted', - 'party_selection.unit_org_number': 'org. number', - 'party_selection.unit_personal_number': 'pers. number', - 'party_selection.show_deleted': 'Show deleted', - 'party_selection.show_sub_unit': 'Show sub units', - 'party_selection.why_seeing_this': 'Why am I seeing this?', - 'party_selection.seeing_this_preference': - 'You can change your [profile settings](https://altinn.no/ui/Profile) to not get prompted for party selection each time you start a new instance. You can find this setting under **Profile** > **Advanced settings** > **Do not ask what party I represent each time I start to fill in a new form**.', - 'party_selection.seeing_this_override': 'This app has been configured to always prompt you for party selection.', - 'payment.pay': 'Pay', - 'payment.summary': 'Summary', - 'payment.alert.paid': 'You have paid!', - 'payment.alert.failed': 'Your payment has failed', - 'payment.receipt.title': 'Payment receipt', - 'payment.receipt.payment_id': 'Payment ID', - 'payment.receipt.altinn_ref': 'Altinn referance', - 'payment.receipt.payment_date': 'Date of purchase', - 'payment.receipt.total_amount': 'Total amount', - 'payment.receipt.receiver': 'Receiver', - 'payment.receipt.payer': 'Payer', - 'payment.receipt.name': 'Name', - 'payment.receipt.company_name': 'Company name', - 'payment.receipt.org_number': 'Organisasjonsnummer', - 'payment.receipt.contact_person': 'Contact person', - 'payment.receipt.contact_phone': 'Contact phone', - 'payment.receipt.contact_email': 'Contact email', - 'payment.receipt.phone': 'Phone', - 'payment.receipt.address': 'Address', - 'payment.receipt.org_num': 'Org number', - 'payment.receipt.account_number': 'Account number', - 'payment.receipt.card_number': 'Card number', - 'payment.receipt.card_expiry': 'Card expiry', - 'payment.receipt.email': 'Email', - 'payment.component.description': 'Description', - 'payment.component.quantity': 'Quantity', - 'payment.component.price': 'Price', - 'payment.component.total': 'Total', - 'payment.component.vat': 'VAT', - 'organisation_lookup.orgnr_label': 'Organisation number', - 'organisation_lookup.org_name': 'Organisation name', - 'organisation_lookup.from_registry_description': 'From the CCR', - 'organisation_lookup.validation_error_not_found': 'Organisation number not found in the registry', - 'organisation_lookup.validation_invalid_response_from_server': 'Invalid response from the server', - 'organisation_lookup.unknown_error': 'An unknown error occurred. Please try again later', - 'organisation_lookup.validation_error_orgnr': 'The organisation number is invalid', - 'organisation_lookup.error_required': 'You have to fill out {0} and fetch details', - 'organisation_lookup.submit_button': 'Fetch details', - 'organisation_lookup.clear_button': 'Clear', - 'person_lookup.error_required': 'You have to fill out {0} and fetch details', - 'person_lookup.submit_button': 'Fetch details', - 'person_lookup.clear_button': 'Clear', - 'person_lookup.ssn_label': 'National ID number/D-number', - 'person_lookup.surname_label': 'Surname', - 'person_lookup.name_label': 'Name', - 'person_lookup.from_registry_description': 'From the National Population Register', - 'person_lookup.validation_error_name_too_short': "The name can't be empty.", - 'person_lookup.validation_error_ssn': 'The national ID number/D-number is invalid.', - 'person_lookup.validation_error_not_found': - 'No person is registered with this combination of national ID number/D-number and name. Please check the fields and try again.
Note: After 5 failed attempts, the search functionality will be temporarily locked.', - 'person_lookup.validation_error_too_many_requests': 'Too many requests. Please try again later.', - 'person_lookup.validation_error_forbidden': - 'You do not have permission to perform this action. A security level of minimum 2 is required.', - 'person_lookup.validation_invalid_response_from_server': 'An error occurred. Please try again later.', - 'person_lookup.unknown_error': 'An unknown error occurred. Please try again later.', - 'helptext.button_title': 'Help', - 'helptext.button_title_prefix': 'Helptext for', - 'receipt.attachments': 'Attachments', - 'receipt.body': - 'A mechanical check has been completed while filling in, but we reserve the right to detect errors during the processing of the case and that other documentation may be necessary. Please provide the reference number in case of any inquiries to the agency.', - 'receipt.body_simple': - 'For security reasons, neither the content of the service nor this message will be visible in Altinn after you exit this page.', - 'receipt.date_sent': 'Date sent', - 'receipt.receiver': 'Receiver', - 'receipt.receipt': 'Receipt', - 'receipt.ref_num': 'Reference number', - 'receipt.sender': 'Sender', - 'receipt.subtitle': 'A copy of your receipt has been sent to your archive', - 'receipt.title': 'The form is submitted', - 'receipt.title_submitted': 'The following is submitted:', - 'receipt_platform.attachments': 'Attachments', - 'receipt_platform.date_sent': 'Date sent', - 'receipt_platform.helper_text': - 'A mechanical check has been completed while filling in, but we reserve the right to detect errors during the processing of the case and that other documentation may be necessary. Please provide the reference number in case of any inquiries to the agency.', - 'receipt_platform.is_sent': 'is submitted', - 'receipt_platform.receipt': 'Receipt', - 'receipt_platform.receiver': 'Receiver', - 'receipt_platform.reference_number': 'Reference number', - 'receipt_platform.sender': 'Sender', - 'receipt_platform.sent_content': 'The following is submitted:', - 'receipt_platform.log_out': 'Log out', - 'receipt_platform.profile_icon_aria_label': 'Profile icon button', - 'soft_validation.info_title': 'Information', - 'soft_validation.warning_title': 'Note', - 'soft_validation.success_title': 'How great!', - 'validation.generic_field': 'this field', - 'validation_errors.min': 'Minimum valid number is {0}', - 'validation_errors.max': 'Maximum valid number is {0}', - 'validation_errors.minLength': 'Use {0} or more characters', - 'validation_errors.maxLength': 'Use {0} or fewer characters', - 'validation_errors.length': 'Number of characters allowed is {0}', - 'validation_errors.pattern': 'Wrong format or value', - 'validation_errors.required': 'Field is required', - 'validation_errors.enum': 'Only the values {0} are permitted', - 'validation_errors.minItems': 'A minimum of {0} rows are required', - 'validation_errors.maxItems': 'A maximum of {0} rows are permitted', - 'validation_errors.formatMinimum': 'Minimum valid value is {0}', - 'validation_errors.formatMaximum': 'Maximum valid value is {0}', - 'map_component.selectedLocation': 'Selected location: {0}° north, {1}° east', - 'map_component.noSelectedLocation': 'No selected location', - 'multiple_select_component.no_options': 'No options available', - 'multiple_select_component.placeholder': 'Select...', - 'list_component.rowsPerPage': 'Rows per page', - 'list_component.previousPage': 'Previous', - 'list_component.previousPageAriaLabel': 'Previous page in the table', - 'list_component.nextPage': 'Next', - 'list_component.nextPageAriaLabel': 'Next page in the table', - 'list_component.controlsHeader': 'Row selectors', - 'config_error.layoutset_subform_config_error': - 'Layout set with id {0} is configured incorrectly.

The layout set cannot have both type and tasks defined.', - 'config_error.layoutset_error': 'Layout set error', - 'config_error.component_has_errors': 'An error occurred for {0}:', - 'config_error.component_has_errors_after': - 'As long as the component has configuration errors, we cannot show it in the form. Fix the errors and try again.', - 'config_error.subform_no_datatype_layoutset': 'Data type specification not found in layout-sets.json', - 'config_error.subform_no_datatype_appmetadata': "Data type '{0}' was not found in applicationmetadata.json", - 'config_error.subform_misconfigured_add_button': - "Data type '{0}' is marked as 'disallowUserCreate=true', but the subform component is configured with 'showAddButton=true'. This is a contradiction, as the user will never be permitted to perform the add-button operation.", - 'config_error.file_upload_same_binding': - 'There are multiple FileUpload components with the same data model binding. Each component must have a unique binding. Other components with the same binding: {0}', - 'config_error.deletion_strategy_no_group': - 'The fields deletionStrategy and checked can only be used together with group.', - 'config_error.group_no_deletion_strategy': 'When you have set group, you must also set deletionStrategy.', - 'config_error.soft_delete_no_checked': 'When you have set deletionStrategy to soft, you must also set "checked".', - 'config_error.hard_delete_with_checked': 'When you have set deletionStrategy to hard, you cannot set "checked".', - 'version_error.version_mismatch': 'Version mismatch', - 'version_error.version_mismatch_message': - 'This version of the app frontend is not compatible with the version of the backend libraries you are using. Update to the latest version of the packages and try again.', - 'version_error.min_backend_version': 'Minimum backend version is {0}', - 'missing_row_id_error.title': 'Missing row-ID', - 'missing_row_id_error.message': - 'When data was loaded, a row-ID was missing. This is an error in the configuration of the form, and must be corrected using the migration tools. Sjekk loggene i utviklerverktøyene for mer informasjon.', - 'missing_row_id_error.full_message': - 'The data model is missing the property {0} in the path {1}. This should be automatically added to the data model if you are using the correct version of the NuGet packages and have run the migration tools. Read more about the tools in the documentation: https://docs.altinn.studio/community/changelog/app-nuget/v8/migrating-from-v7/', - 'likert.left_column_default_header_text': 'Question', - 'process_error.submit_error_please_retry': - 'Something went wrong when submitting, please try again in a few minutes.', - 'pdfPreview.error': 'Could not show PDF preview', - 'pdfPreview.defaultButtonText': 'Preview PDF', - 'taskTypes.data': 'Fill out', - 'taskTypes.signing': 'Signing', - 'taskTypes.confirmation': 'Confirmation', - 'taskTypes.payment': 'Payment', - 'taskTypes.receipt': 'Receipt', - 'signing.loading': 'Loading signing state...', - 'signing.checkbox_label': 'I confirm that the information and documents are correct.', - 'signing.awaiting_signature_panel_title': 'Sign the form', - 'signing.sign_button': 'Sign the form', - 'signing.submit_panel_title': 'You can now submit the form', - 'signing.submit_panel_description': 'All parties have signed! Select "{0}" to complete.', - 'signing.submit_button': 'Submit form', - 'signing.submit_panel_radio_group_legend': 'Who do you want to sign on behalf of?', - 'signing.submit_panel_radio_group_description': 'The following are parties you may sign on behalf of.', - 'signing.submit_panel_single_org_choice': 'You are signing on behalf of {0}.', - 'signing.submit_panel_myself_choice': 'Myself', - 'signing.awaiting_other_signatures_panel_title': 'Waiting for signatures', - 'signing.awaiting_other_signatures_panel_description_not_signing': - 'You can submit the form when all parties have signed.', - 'signing.awaiting_other_signatures_panel_description_signed': - 'Thank you for signing! You can submit the form when all parties have signed.', - 'signing.awaiting_other_signatures_panel_error_message': - 'There are missing signatures. You can submit the form when all parties have signed.', - 'signing.no_action_required_panel_title_has_signed': 'You have signed the form', - 'signing.no_action_required_panel_title_not_signed': 'Nothing to sign', - 'signing.no_action_required_panel_description_has_signed': "You're all set! You can now go back to your inbox.", - 'signing.no_action_required_panel_description_not_signed': 'You do not have access to sign this form.', - 'signing.no_action_required_button': 'Go to inbox', - 'signing.api_error_panel_title': 'Could not fetch signing status', - 'signing.api_error_panel_description': - 'An error occurred while retrieving the status of signatures. Please try again later or contact the form owner to resolve the issue.', - 'signing.delegation_error_panel_title': 'Could not grant access to form', - 'signing.delegation_error_panel_description': - 'One or more of the signees are invalid and have not been granted access to the form. Go back to try to correct the issue or contact the form owner.', - 'signing.reject_modal_title': 'Cancel the signing process', - 'signing.reject_modal_description': - 'By canceling the signing process, all signatures will be deleted, and all delegated access will be revoked.', - 'signing.reject_modal_button': 'Cancel the signing process', - 'signing.reject_modal_trigger_button': 'Cancel signing', - 'signing.wrong_task_error': 'The {0} component is only available in a signing task.', - 'signing.error_missing_signing_rights': - 'Something went wrong. Current user should sign, but does not have rights to do so.', - 'signing.error_signing': 'Something went wrong when signing. Please try again.', - 'signing.error_signing_not_confirmed_documents': - 'You have to confirm that you have read the documents before signing.', - 'signing.error_signing_no_on_behalf_of': 'You have to choose who you are signing on behalf of before signing.', - 'signee_list.parse_error': 'Error loading signee list.', - 'signee_list.unknown_api_error': 'An error occurred when fetching signees.', - 'signee_list.api_error_display': 'An error occurred when fetching signees. See devtool logs for more information.', - 'signee_list.no_signees': 'No signees found.', - 'signee_list.signee_status_signed': 'Signed', - 'signee_list.signee_status_waiting': 'Waiting for signing', - 'signee_list.signee_status_delegation_failed': 'Delegation failed', - 'signee_list.signee_status_notification_failed': 'Notification failed', - 'signee_list.header_name': 'Name', - 'signee_list.header_on_behalf_of': 'On behalf of', - 'signee_list.header_status': 'Status', - - 'signee_list_summary.name_placeholder': 'Unknown name', - 'signee_list_summary.on_behalf_of': 'on behalf of', - 'signee_list_summary.loading': 'Loading signature data...', - 'signee_list_summary.error': 'Failed to load signature data.', - 'signee_list_summary.no_data': 'No signature data found.', - 'signee_list_summary.no_signatures': 'No signatures found.', - 'signee_list_summary.signed_time': 'Digitally signed through Altinn {0}', - - 'signing_document_list.parse_error': 'Error loading signee document list.', - 'signing_document_list.unknown_api_error': 'An error occurred when fetching documents.', - 'signing_document_list.api_error_display': - 'An error occurred when fetching documents. See devtool logs for more information.', - 'signing_document_list.header_filename': 'Name', - 'signing_document_list.header_attachment_type': 'Attachment type', - 'signing_document_list.header_size': 'Size', - 'signing_document_list.attachment_type_form': 'Form', - 'signing_document_list.download': 'Download', - 'signing_document_list_summary.header': 'Signed documents', - }; -} +export function en() { + return { + 'dateTime.am': 'AM', + 'dateTime.pm': 'PM', + 'altinn.standard_validation.file_content_type_not_allowed': + 'It looks like you are trying to upload a file type that is not allowed. Please make sure that the file is actually the type it claims to be.', + 'actions.sign': 'Sign', + 'actions.confirm': 'Confirm', + 'actions.reject': 'Reject', + 'actions.instantiate': 'Instantiate', + 'address_component.address': 'Street Address', + 'address_component.care_of': 'C/O or other additional address', + 'address_component.house_number': 'House Number', + 'address_component.house_number_helper': + 'If several residents share the same address you must provide house number. It consists of one letter and four numbers and should be listed at your front door.', + 'address_component.post_place': 'Post Place', + 'address_component.simplified': 'Simplified', + 'address_component.title_text_binding': 'Search for title for address component', + 'address_component.zip_code': 'Zip Code', + 'address_component.validation_error_zipcode': 'Zip code is invalid', + 'address_component.validation_error_house_number': 'House number is invalid', + 'confirm.answers': 'Your responses', + 'confirm.attachments': 'Attachments', + 'confirm.body': + 'You are ready to submit {0}. Before you submit, we recommend that you look over and verify your responses. You cannot change your responses after submitting.', + 'confirm.button_text': 'Submit', + 'confirm.deadline': 'Deadline', + 'confirm.sender': 'Party', + 'confirm.title': 'Check your responses before submitting', + 'custom_actions.general_error': 'Something went wrong with this action. Please try again later.', + 'date_picker.invalid_date_message': 'Invalid date format. Use the format {0}.', + 'date_picker.cancel_label': 'Cancel', + 'date_picker.clear_label': 'Clear', + 'date_picker.today_label': 'Today', + 'date_picker.min_date_exeeded': 'Date should not be before minimal date', + 'date_picker.max_date_exeeded': 'Date should not be after maximal date', + 'date_picker.aria_label_icon': 'Open date picker', + 'date_picker.aria_label_left_arrow': 'Last month.', + 'date_picker.aria_label_right_arrow': 'Next month.', + 'date_picker.aria_label_year_dropdown': 'Select year', + 'date_picker.aria_label_month_dropdown': 'Select month', + 'date_picker.format_text': 'For example {0}', + 'time_picker.invalid_time_message': 'Invalid time format. Use format {0}.', + 'time_picker.min_time_exceeded': 'The time you selected is before the earliest allowed time ({0}).', + 'time_picker.max_time_exceeded': 'The time you selected is after the latest allowed time ({0}).', + 'timepicker.hours': 'Hours', + 'timepicker.minutes': 'Minutes', + 'timepicker.seconds': 'Seconds', + 'timepicker.am_pm': 'AM/PM', + 'feedback.title': '## You will soon be forwarded', + 'feedback.body': + 'Waiting for verification. When this is complete you will be forwarded to the next step or receipt automatically.', + 'form_filler.error_add_subform': 'Failed to add subform entry, please try again.', + 'form_filler.error_delete_subform': 'An error occurred while deleting the subform entry, please try again.', + 'form_filler.error_fetch_subform': 'Error loading form data', + 'form_filler.error_max_count_reached_subform_server': 'The maximum number of {0} entries has been reached', + 'form_filler.error_max_count_reached_subform_local': 'The maximum number of {0} entries has been reached ({1})', + 'form_filler.error_min_count_not_reached_subform': 'At least {0} {1} entry is required', + 'form_filler.error_validation_inside_subform': 'There are errors in one of more {0} entries', + 'form_filler.subform_default_header': 'Items', + 'form_filler.alert_confirm': 'Confirm', + 'form_filler.checkbox_alert': 'Are you sure you want to uncheck?', + 'form_filler.multi_select_alert': 'Are you sure you want to delete {0}?', + 'form_filler.dropdown_alert': 'Are you sure you want to change to {0}?', + 'form_filler.back_to_summary': 'Return to summary', + 'form_filler.back_to_page': 'Back to {0}', + 'form_filler.error_report_header': 'These need to be corrected before continuing', + 'form_filler.error_required': 'You have to fill out {0}', + 'form_filler.file_upload_valid_file_format_all': 'all', + 'form_filler.file_uploader_add_attachment': 'Add more attachments', + 'form_filler.file_uploader_drag': 'Drag and drop or', + 'form_filler.file_uploader_find': 'find a file', + 'form_filler.file_uploader_list_delete': 'Delete attachment', + 'form_filler.file_uploader_delete_warning': 'Are you sure you want to delete this attachment?', + 'form_filler.file_uploader_delete_button_confirm': 'Yes, delete attachment', + 'form_filler.file_uploader_list_header_file_size': 'File size', + 'form_filler.file_uploader_list_header_thumbnail': 'Thumbnail', + 'form_filler.file_uploader_list_header_name': 'Name', + 'form_filler.file_uploader_list_header_status': 'Status', + 'form_filler.file_uploader_list_header_delete_sr': 'Delete', + 'form_filler.file_uploader_list_status_done': 'Uploaded', + 'form_filler.file_uploader_status_scanning': 'Scanning...', + 'form_filler.file_uploader_status_infected': 'Infected', + 'form_filler.file_uploader_infected_file_alert': 'The file {0} is infected with malware and cannot be used.', + 'form_filler.file_uploader_infected_file_action': 'Please upload a clean file.', + 'form_filler.file_uploader_remove_infected_files': 'Remove infected files before submission.', + 'form_filler.file_uploader_max_size_mb': 'Maximum file size {0} MB', + 'form_filler.file_uploader_upload': 'Upload file', + 'form_filler.file_uploader_number_of_files': 'Number of files {0}.', + 'form_filler.file_uploader_show_more_errors': 'Show {0} more', + 'form_filler.file_uploader_show_fewer_errors': 'Show fewer', + 'form_filler.file_uploader_valid_file_format': 'Valid file types are:', + 'form_filler.file_uploader_failed_to_upload_file': 'The file {0} could not be uploaded', + 'form_filler.file_uploader_validation_error_delete': + 'Something went wrong trying to delete the file, please try again.', + 'form_filler.file_uploader_validation_error_exceeds_max_files': + 'You can not upload more than {0} files. No files were uploaded.', + 'form_filler.file_uploader_validation_error_file_ending': 'is not an allowed file type.', + 'form_filler.file_uploader_validation_error_file_number': 'You need to upload {0} attachement(s) to continue', + 'form_filler.file_uploader_validation_error_file_size': '{0} exeeds the valid file size.', + 'form_filler.file_uploader_validation_error_general': + 'There was a problem with the file {0}. Make sure the file has correct file type and does not exeed the size limit.', + 'form_filler.file_uploader_validation_error_upload': + 'Something went wrong trying to upload the file, please try again.', + 'form_filler.file_uploader_validation_error_update': + 'Something went wrong trying to update the filetag, please try again.', + 'form_filler.file_uploader_validation_error_no_chosen_tag': 'You have to choose one {0}', + 'form_filler.placeholder_receipt_header': 'The form has been submitted', + 'form_filler.placeholder_user': 'OLA PRIVATPERSON', + 'form_filler.radiobutton_alert_label': 'Are you sure you want to change from {0}?', + 'form_filler.required_description': 'Required fields are marked with *', + 'form_filler.required_label': '*', + 'form_filler.summary_item_change': 'Change', + 'form_filler.summary_go_to_correct_page': 'Go to the correct page in the form', + 'form_filler.address': 'Street Address', + 'form_filler.careOf': 'C/O or other additional address', + 'form_filler.houseNumber': 'House Number', + 'form_filler.postPlace': 'Post Place', + 'form_filler.zipCode': 'Zip Code', + 'form_filler.no_options_found': 'No matches found', + 'form_filler.clear_selection': 'Clear selection', + 'form_filler.person_lookup_ssn': 'national ID number/D-number', + 'form_filler.person_lookup_name': 'name', + 'form_filler.organisation_lookup_orgnr': 'organisation number', + 'form_filler.organisation_lookup_name': 'organisation name', + 'navigation.main': 'Primary', + 'navigation.form': 'Form pages', + 'navigation.to_main_content': 'Go to main content', + 'navigation.go_to_task': 'Navigate to {0}', + 'navigation.form_pages': 'Form pages', + 'navigation.back_to_inbox': 'Back to inbox', + 'navigation.inbox': 'Inbox', + 'navigation.back_to_main_form': 'Back to {0}', + 'navigation.main_form': '{0}', + 'navigation.back': 'Back', + 'navigation.page_complete': 'Page completed', + 'navigation.page_error': 'Error on page', + 'navigation.page_group_complete': 'Page group completed', + 'navigation.page_group_error': 'Error in page group', + 'general.action': 'Action', + 'general.accessibility': 'Accessibility', + 'general.accessibility_url': 'https://info.altinn.no/en/about-altinn/tilgjengelighet/', + 'general.add_connection': 'Add connection', + 'general.add_new': 'Add new', + 'general.add': 'Add', + 'general.back': 'Back', + 'general.cancel': 'Cancel', + 'general.choose_label': 'Choose label', + 'general.choose_method': 'Choose method', + 'general.choose': 'Choose', + 'general.close': 'Close', + 'general.contains': 'Contains{0}', + 'general.control_submit': 'Control and submit', + 'general.create_new': 'Create new', + 'general.create': 'Create', + 'general.customer_service_phone_number': '+47 75 00 60 00', + 'general.customer_service_slack': 'https://altinn.slack.com', + 'general.customer_service_email': 'servicedesk@altinn.no', + 'general.customer_service_error_message': + 'If you need help resolving this issue, reach out to Altinn via our support lines

  • Phone: {0}
  • Email: {1}
  • Slack: {2}
', + 'general.delete': 'Delete', + 'general.download': 'Download {0}', + 'general.disabled': 'Disabled', + 'general.done': 'Done', + 'general.edit_alt_error': 'Fix error here', + 'general.edit_alt': 'Edit', + 'general.edit': 'Edit', + 'general.empty_summary': 'You have not entered any information here', + 'general.empty_table': 'No data found.', + 'general.enabled': 'Enabled', + 'general.error_message_with_colon': 'Error message:', + 'general.full_width': 'Expand width', + 'general.standard_width': 'Reduce width', + 'general.for': 'for', + 'general.header_profile_icon_label': 'Profile icon button', + 'general.label': 'Label', + 'general.loading': 'Loading content', + 'general.log_out': 'Log out', + 'general.next': 'Next', + 'general.no_options': 'No options available', + 'general.optional': 'Optional', + 'general.page_number': 'Page {0}', + 'general.print_button_text': 'Print / Save as PDF', + 'general.progress': 'Page {0} of {1}', + 'general.required': 'Required', + 'general.save': 'Save', + 'general.save_and_close': 'Save and close', + 'general.save_and_next': 'Save and open next', + 'general.search': 'Search', + 'general.select_field': 'Select field', + 'general.service_description_header': 'Description', + 'general.service_name': 'Name', + 'general.service_owner': 'Owner', + 'general.service_saved_name': 'Repository name', + 'general.submit': 'Submit', + 'general.validate_changes': 'Validate changes', + 'general.value': 'Value', + 'general.version': 'Version', + 'general.wait_for_attachments': 'Hold on, we are processing attachments', + 'general.wait_for_attachments_infected': 'Remove infected files before continuing', + 'general.wait_for_attachments_scanning': 'Scanning files for malware...', + 'general.part_of_form_completed': "This part of the form is not currently available. You can't change it.", + 'general.invalid_task_id': 'This part of the form does not exist.', + 'general.navigate_to_current_process': 'Navigate to the current process step', + 'group.row_error': + 'One of the rows is incorrectly filled out. This has to bee fixed before the schema can be submitted.', + 'group.row_popover_delete_message': 'Are you sure you want to delete this row?', + 'group.row_popover_delete_button_confirm': 'Yes, delete the row', + 'iframe_component.unsupported_browser_title': 'Your browser is unsupported', + 'iframe_component.unsupported_browser': + 'Your browser does not support iframes that use srcdoc. This may result in not being able to see all the content intended to be displayed here. We recommend trying a different browser.', + 'input_components.remaining_characters': 'You have %d characters left', + 'input_components.exceeded_max_limit': 'You have exceeded the maximum limit with %d characters', + 'instance_selection.changed_by': 'Changed by', + 'instance_selection.continue': 'Continue here', + 'instance_selection.description': + 'Choose if you want to continue on an existing form, or if you want to start on a new one.', + 'instance_selection.header': 'You have already started filling out this form.', + 'instance_selection.last_changed': 'Last changed', + 'instance_selection.left_of': 'Continue where you left of', + 'instance_selection.new_instance': 'Start over', + 'instantiate.all_forms': 'all forms', + 'instantiate.inbox': 'inbox', + 'instantiate.profile': 'profile', + 'instantiate.unknown_error_title': 'Unknow error', + 'instantiate.unknown_error_text': 'An unknown error occcurred, please try again later.', + 'instantiate.unknown_error_status': 'Unknow error', + 'instantiate.unknown_error_customer_support': 'If the problem persists, contact us at customer service at {0}.', + 'instantiate.forbidden_action_error_title': 'You do not have permission to perform this action.', + 'instantiate.forbidden_action_error_text': 'It looks like you do not have permission to perform this action.', + 'instantiate.forbidden_action_error_status': '403 - Forbidden', + 'instantiate.forbidden_action_error_customer_support': + 'If you need help, contact us at customer service
{0}.', + 'instantiate.authorization_error_main_title': 'You do not have permission to view this app.', + 'instantiate.authorization_error_instantiate_validation_title': 'You cannot start this service', + 'instantiate.authorization_error_rights': 'It looks like you do not have permission to start this service for {0}', + 'instantiate.authorization_error_ask': + 'If you are representing a person it is the one you are representing that can give you the required rights to start this service. If you are you representing an organization you have to ask for the required rights from persons with access delegation rights within your organization.', + 'instantiate.authorization_error_check_rights': + 'See who has rights to delegate access under "Others with rights within the organization".', + 'instantiate.authorization_error_info_rights': + 'Learn more about roles and rights.', + 'instantiate.authorization_error_info_customer_service': 'You can also contact customer service at {0}.', + 'instantiate.authorization_error_instantiate_validation_info_customer_service': + 'If you need help, contact customer service at {0}.', + 'instantiate.starting': 'Just a minute, we’ll get the information you need', + 'language.language_selection': 'Language', + 'language.full_name.nb': 'Norwegian bokmål', + 'language.full_name.en': 'English', + 'language.full_name.nn': 'Norwegian nynorsk', + 'language.selector.label': 'Language', + 'party_selection.error_caption_prefix': 'Error', + 'party_selection.invalid_selection_non_existing_party': + 'You have started the service with an party that either does not exist or that you do not have access to. Select a new party below to continue.', + 'party_selection.invalid_selection_existing_party': + 'You started this app as {0}. This app is available for {1}. Choose another party below.', + 'party_selection.no_valid_selection_first_part': 'This is a app for {0}', + 'party_selection.no_valid_selection_second_part': + 'It looks like you do not have access to a party who is allowed to start {0}.', + 'party_selection.no_valid_selection_third_part': 'To start this app, you must have accesses associated with {0}.', + 'party_selection.no_valid_selection_binding_word': 'and', + 'party_selection.change_party': 'change party here', + 'party_selection.read_more_roles_link': 'You can read more about roles and rights here.', + 'party_selection.binding_word': 'or', + 'party_selection.header': 'Who do you want to represent?', + 'party_selection.load_more': 'Load more', + 'party_selection.search_placeholder': 'Search for a party', + 'party_selection.subheader': 'Parties you can represent:', + 'party_selection.unit_type_private_person': 'private person', + 'party_selection.unit_type_company': 'company', + 'party_selection.unit_type_bankruptcy_state': 'bankruptcy state', + 'party_selection.unit_type_subunit': 'subunit', + 'party_selection.unit_type_subunit_plural': 'subunits', + 'party_selection.unit_deleted': 'deleted', + 'party_selection.unit_org_number': 'org. number', + 'party_selection.unit_personal_number': 'pers. number', + 'party_selection.show_deleted': 'Show deleted', + 'party_selection.show_sub_unit': 'Show sub units', + 'party_selection.why_seeing_this': 'Why am I seeing this?', + 'party_selection.seeing_this_preference': + 'You can change your [profile settings](https://altinn.no/ui/Profile) to not get prompted for party selection each time you start a new instance. You can find this setting under **Profile** > **Advanced settings** > **Do not ask what party I represent each time I start to fill in a new form**.', + 'party_selection.seeing_this_override': 'This app has been configured to always prompt you for party selection.', + 'payment.pay': 'Pay', + 'payment.summary': 'Summary', + 'payment.alert.paid': 'You have paid!', + 'payment.alert.failed': 'Your payment has failed', + 'payment.receipt.title': 'Payment receipt', + 'payment.receipt.payment_id': 'Payment ID', + 'payment.receipt.altinn_ref': 'Altinn referance', + 'payment.receipt.payment_date': 'Date of purchase', + 'payment.receipt.total_amount': 'Total amount', + 'payment.receipt.receiver': 'Receiver', + 'payment.receipt.payer': 'Payer', + 'payment.receipt.name': 'Name', + 'payment.receipt.company_name': 'Company name', + 'payment.receipt.org_number': 'Organisasjonsnummer', + 'payment.receipt.contact_person': 'Contact person', + 'payment.receipt.contact_phone': 'Contact phone', + 'payment.receipt.contact_email': 'Contact email', + 'payment.receipt.phone': 'Phone', + 'payment.receipt.address': 'Address', + 'payment.receipt.org_num': 'Org number', + 'payment.receipt.account_number': 'Account number', + 'payment.receipt.card_number': 'Card number', + 'payment.receipt.card_expiry': 'Card expiry', + 'payment.receipt.email': 'Email', + 'payment.component.description': 'Description', + 'payment.component.quantity': 'Quantity', + 'payment.component.price': 'Price', + 'payment.component.total': 'Total', + 'payment.component.vat': 'VAT', + 'organisation_lookup.orgnr_label': 'Organisation number', + 'organisation_lookup.org_name': 'Organisation name', + 'organisation_lookup.from_registry_description': 'From the CCR', + 'organisation_lookup.validation_error_not_found': 'Organisation number not found in the registry', + 'organisation_lookup.validation_invalid_response_from_server': 'Invalid response from the server', + 'organisation_lookup.unknown_error': 'An unknown error occurred. Please try again later', + 'organisation_lookup.validation_error_orgnr': 'The organisation number is invalid', + 'organisation_lookup.error_required': 'You have to fill out {0} and fetch details', + 'organisation_lookup.submit_button': 'Fetch details', + 'organisation_lookup.clear_button': 'Clear', + 'person_lookup.error_required': 'You have to fill out {0} and fetch details', + 'person_lookup.submit_button': 'Fetch details', + 'person_lookup.clear_button': 'Clear', + 'person_lookup.ssn_label': 'National ID number/D-number', + 'person_lookup.surname_label': 'Surname', + 'person_lookup.name_label': 'Name', + 'person_lookup.from_registry_description': 'From the National Population Register', + 'person_lookup.validation_error_name_too_short': "The name can't be empty.", + 'person_lookup.validation_error_ssn': 'The national ID number/D-number is invalid.', + 'person_lookup.validation_error_not_found': + 'No person is registered with this combination of national ID number/D-number and name. Please check the fields and try again.
Note: After 5 failed attempts, the search functionality will be temporarily locked.', + 'person_lookup.validation_error_too_many_requests': 'Too many requests. Please try again later.', + 'person_lookup.validation_error_forbidden': + 'You do not have permission to perform this action. A security level of minimum 2 is required.', + 'person_lookup.validation_invalid_response_from_server': 'An error occurred. Please try again later.', + 'person_lookup.unknown_error': 'An unknown error occurred. Please try again later.', + 'helptext.button_title': 'Help', + 'helptext.button_title_prefix': 'Helptext for', + 'receipt.attachments': 'Attachments', + 'receipt.body': + 'A mechanical check has been completed while filling in, but we reserve the right to detect errors during the processing of the case and that other documentation may be necessary. Please provide the reference number in case of any inquiries to the agency.', + 'receipt.body_simple': + 'For security reasons, neither the content of the service nor this message will be visible in Altinn after you exit this page.', + 'receipt.date_sent': 'Date sent', + 'receipt.receiver': 'Receiver', + 'receipt.receipt': 'Receipt', + 'receipt.ref_num': 'Reference number', + 'receipt.sender': 'Sender', + 'receipt.subtitle': 'A copy of your receipt has been sent to your archive', + 'receipt.title': 'The form is submitted', + 'receipt.title_submitted': 'The following is submitted:', + 'receipt_platform.attachments': 'Attachments', + 'receipt_platform.date_sent': 'Date sent', + 'receipt_platform.helper_text': + 'A mechanical check has been completed while filling in, but we reserve the right to detect errors during the processing of the case and that other documentation may be necessary. Please provide the reference number in case of any inquiries to the agency.', + 'receipt_platform.is_sent': 'is submitted', + 'receipt_platform.receipt': 'Receipt', + 'receipt_platform.receiver': 'Receiver', + 'receipt_platform.reference_number': 'Reference number', + 'receipt_platform.sender': 'Sender', + 'receipt_platform.sent_content': 'The following is submitted:', + 'receipt_platform.log_out': 'Log out', + 'receipt_platform.profile_icon_aria_label': 'Profile icon button', + 'soft_validation.info_title': 'Information', + 'soft_validation.warning_title': 'Note', + 'soft_validation.success_title': 'How great!', + 'validation.generic_field': 'this field', + 'validation_errors.min': 'Minimum valid number is {0}', + 'validation_errors.max': 'Maximum valid number is {0}', + 'validation_errors.minLength': 'Use {0} or more characters', + 'validation_errors.maxLength': 'Use {0} or fewer characters', + 'validation_errors.length': 'Number of characters allowed is {0}', + 'validation_errors.pattern': 'Wrong format or value', + 'validation_errors.required': 'Field is required', + 'validation_errors.enum': 'Only the values {0} are permitted', + 'validation_errors.minItems': 'A minimum of {0} rows are required', + 'validation_errors.maxItems': 'A maximum of {0} rows are permitted', + 'validation_errors.formatMinimum': 'Minimum valid value is {0}', + 'validation_errors.formatMaximum': 'Maximum valid value is {0}', + 'map_component.selectedLocation': 'Selected location: {0}° north, {1}° east', + 'map_component.noSelectedLocation': 'No selected location', + 'multiple_select_component.no_options': 'No options available', + 'multiple_select_component.placeholder': 'Select...', + 'list_component.rowsPerPage': 'Rows per page', + 'list_component.previousPage': 'Previous', + 'list_component.previousPageAriaLabel': 'Previous page in the table', + 'list_component.nextPage': 'Next', + 'list_component.nextPageAriaLabel': 'Next page in the table', + 'list_component.controlsHeader': 'Row selectors', + 'config_error.layoutset_subform_config_error': + 'Layout set with id {0} is configured incorrectly.

The layout set cannot have both type and tasks defined.', + 'config_error.layoutset_error': 'Layout set error', + 'config_error.component_has_errors': 'An error occurred for {0}:', + 'config_error.component_has_errors_after': + 'As long as the component has configuration errors, we cannot show it in the form. Fix the errors and try again.', + 'config_error.subform_no_datatype_layoutset': 'Data type specification not found in layout-sets.json', + 'config_error.subform_no_datatype_appmetadata': "Data type '{0}' was not found in applicationmetadata.json", + 'config_error.subform_misconfigured_add_button': + "Data type '{0}' is marked as 'disallowUserCreate=true', but the subform component is configured with 'showAddButton=true'. This is a contradiction, as the user will never be permitted to perform the add-button operation.", + 'config_error.file_upload_same_binding': + 'There are multiple FileUpload components with the same data model binding. Each component must have a unique binding. Other components with the same binding: {0}', + 'config_error.deletion_strategy_no_group': + 'The fields deletionStrategy and checked can only be used together with group.', + 'config_error.group_no_deletion_strategy': 'When you have set group, you must also set deletionStrategy.', + 'config_error.soft_delete_no_checked': 'When you have set deletionStrategy to soft, you must also set "checked".', + 'config_error.hard_delete_with_checked': 'When you have set deletionStrategy to hard, you cannot set "checked".', + 'version_error.version_mismatch': 'Version mismatch', + 'version_error.version_mismatch_message': + 'This version of the app frontend is not compatible with the version of the backend libraries you are using. Update to the latest version of the packages and try again.', + 'version_error.min_backend_version': 'Minimum backend version is {0}', + 'missing_row_id_error.title': 'Missing row-ID', + 'missing_row_id_error.message': + 'When data was loaded, a row-ID was missing. This is an error in the configuration of the form, and must be corrected using the migration tools. Sjekk loggene i utviklerverktøyene for mer informasjon.', + 'missing_row_id_error.full_message': + 'The data model is missing the property {0} in the path {1}. This should be automatically added to the data model if you are using the correct version of the NuGet packages and have run the migration tools. Read more about the tools in the documentation: https://docs.altinn.studio/community/changelog/app-nuget/v8/migrating-from-v7/', + 'likert.left_column_default_header_text': 'Question', + 'process_error.submit_error_please_retry': + 'Something went wrong when submitting, please try again in a few minutes.', + 'pdfPreview.error': 'Could not show PDF preview', + 'pdfPreview.defaultButtonText': 'Preview PDF', + 'taskTypes.data': 'Fill out', + 'taskTypes.signing': 'Signing', + 'taskTypes.confirmation': 'Confirmation', + 'taskTypes.payment': 'Payment', + 'taskTypes.receipt': 'Receipt', + 'signing.loading': 'Loading signing state...', + 'signing.checkbox_label': 'I confirm that the information and documents are correct.', + 'signing.awaiting_signature_panel_title': 'Sign the form', + 'signing.sign_button': 'Sign the form', + 'signing.submit_panel_title': 'You can now submit the form', + 'signing.submit_panel_description': 'All parties have signed! Select "{0}" to complete.', + 'signing.submit_button': 'Submit form', + 'signing.submit_panel_radio_group_legend': 'Who do you want to sign on behalf of?', + 'signing.submit_panel_radio_group_description': 'The following are parties you may sign on behalf of.', + 'signing.submit_panel_single_org_choice': 'You are signing on behalf of {0}.', + 'signing.submit_panel_myself_choice': 'Myself', + 'signing.awaiting_other_signatures_panel_title': 'Waiting for signatures', + 'signing.awaiting_other_signatures_panel_description_not_signing': + 'You can submit the form when all parties have signed.', + 'signing.awaiting_other_signatures_panel_description_signed': + 'Thank you for signing! You can submit the form when all parties have signed.', + 'signing.awaiting_other_signatures_panel_error_message': + 'There are missing signatures. You can submit the form when all parties have signed.', + 'signing.no_action_required_panel_title_has_signed': 'You have signed the form', + 'signing.no_action_required_panel_title_not_signed': 'Nothing to sign', + 'signing.no_action_required_panel_description_has_signed': "You're all set! You can now go back to your inbox.", + 'signing.no_action_required_panel_description_not_signed': 'You do not have access to sign this form.', + 'signing.no_action_required_button': 'Go to inbox', + 'signing.api_error_panel_title': 'Could not fetch signing status', + 'signing.api_error_panel_description': + 'An error occurred while retrieving the status of signatures. Please try again later or contact the form owner to resolve the issue.', + 'signing.delegation_error_panel_title': 'Could not grant access to form', + 'signing.delegation_error_panel_description': + 'One or more of the signees are invalid and have not been granted access to the form. Go back to try to correct the issue or contact the form owner.', + 'signing.reject_modal_title': 'Cancel the signing process', + 'signing.reject_modal_description': + 'By canceling the signing process, all signatures will be deleted, and all delegated access will be revoked.', + 'signing.reject_modal_button': 'Cancel the signing process', + 'signing.reject_modal_trigger_button': 'Cancel signing', + 'signing.wrong_task_error': 'The {0} component is only available in a signing task.', + 'signing.error_missing_signing_rights': + 'Something went wrong. Current user should sign, but does not have rights to do so.', + 'signing.error_signing': 'Something went wrong when signing. Please try again.', + 'signing.error_signing_not_confirmed_documents': + 'You have to confirm that you have read the documents before signing.', + 'signing.error_signing_no_on_behalf_of': 'You have to choose who you are signing on behalf of before signing.', + 'signee_list.parse_error': 'Error loading signee list.', + 'signee_list.unknown_api_error': 'An error occurred when fetching signees.', + 'signee_list.api_error_display': 'An error occurred when fetching signees. See devtool logs for more information.', + 'signee_list.no_signees': 'No signees found.', + 'signee_list.signee_status_signed': 'Signed', + 'signee_list.signee_status_waiting': 'Waiting for signing', + 'signee_list.signee_status_delegation_failed': 'Delegation failed', + 'signee_list.signee_status_notification_failed': 'Notification failed', + 'signee_list.header_name': 'Name', + 'signee_list.header_on_behalf_of': 'On behalf of', + 'signee_list.header_status': 'Status', + + 'signee_list_summary.name_placeholder': 'Unknown name', + 'signee_list_summary.on_behalf_of': 'on behalf of', + 'signee_list_summary.loading': 'Loading signature data...', + 'signee_list_summary.error': 'Failed to load signature data.', + 'signee_list_summary.no_data': 'No signature data found.', + 'signee_list_summary.no_signatures': 'No signatures found.', + 'signee_list_summary.signed_time': 'Digitally signed through Altinn {0}', + + 'signing_document_list.parse_error': 'Error loading signee document list.', + 'signing_document_list.unknown_api_error': 'An error occurred when fetching documents.', + 'signing_document_list.api_error_display': + 'An error occurred when fetching documents. See devtool logs for more information.', + 'signing_document_list.header_filename': 'Name', + 'signing_document_list.header_attachment_type': 'Attachment type', + 'signing_document_list.header_size': 'Size', + 'signing_document_list.attachment_type_form': 'Form', + 'signing_document_list.download': 'Download', + 'signing_document_list_summary.header': 'Signed documents', + }; +} diff --git a/src/language/texts/nb.ts b/src/language/texts/nb.ts index 2080da38e6..952c0e869c 100644 --- a/src/language/texts/nb.ts +++ b/src/language/texts/nb.ts @@ -1,499 +1,500 @@ -import type { FixedLanguageList } from 'src/language/languages'; - -export function nb() { - return { - 'dateTime.am': 'a.m.', - 'dateTime.pm': 'p.m.', - 'altinn.standard_validation.file_content_type_not_allowed': - 'Det ser ut som du prøver å laste opp en filtype som ikke er tillatt. Sjekk at filen faktisk er av den typen den utgir seg for å være.', - 'actions.sign': 'Signer', - 'actions.confirm': 'Bekreft', - 'actions.reject': 'Avslå', - 'actions.instantiate': 'Instansier', - 'address_component.address': 'Gateadresse', - 'address_component.care_of': 'C/O eller annen tilleggsadresse', - 'address_component.house_number': 'Bolignummer', - 'address_component.house_number_helper': - 'Om adressen er felles for flere boenhenter må du oppgi bolignummer. Den består av en bokstav og fire tall og skal være ført opp ved/på inngangsdøren din.', - 'address_component.post_place': 'Poststed', - 'address_component.simplified': 'Enkel', - 'address_component.title_text_binding': 'Søk etter ledetekst for Adressekomponenten', - 'address_component.zip_code': 'Postnr', - 'address_component.validation_error_zipcode': 'Postnummer er ugyldig. Et postnummer består kun av 4 siffer.', - 'address_component.validation_error_house_number': 'Bolignummer er ugyldig', - 'confirm.answers': 'Dine svar', - 'confirm.attachments': 'Vedlegg', - 'confirm.body': - 'Du er nå klar for å sende inn {0}. Før du sender inn vil vi anbefale å se over svarene dine. Du kan ikke endre svarene etter at du har sendt inn.', - 'confirm.button_text': 'Send inn', - 'confirm.deadline': 'Frist innsending', - 'confirm.sender': 'Aktør', - 'confirm.title': 'Se over svarene dine før du sender inn', - 'custom_actions.general_error': 'Noe gikk galt med denne handlingen. Prøv igjen senere.', - 'date_picker.invalid_date_message': 'Ugyldig datoformat. Bruk formatet {0}.', - 'date_picker.cancel_label': 'Avbryt', - 'date_picker.clear_label': 'Tøm', - 'date_picker.today_label': 'I dag', - 'date_picker.min_date_exeeded': 'Datoen du har valgt er før tidligst tillatte dato.', - 'date_picker.max_date_exeeded': 'Datoen du har valgt er etter seneste tillatte dato.', - 'date_picker.aria_label_icon': 'Åpne datovelger', - 'date_picker.aria_label_left_arrow': 'Forrige måned.', - 'date_picker.aria_label_right_arrow': 'Neste måned.', - 'date_picker.aria_label_year_dropdown': 'Velg år', - 'date_picker.aria_label_month_dropdown': 'Velg måned', - 'date_picker.format_text': 'For eksempel {0}', - 'time_picker.invalid_time_message': 'Ugyldig tidsformat. Bruk formatet {0}.', - 'time_picker.min_time_exceeded': 'Tiden du har valgt er før tidligst tillatte tid ({0}).', - 'time_picker.max_time_exceeded': 'Tiden du har valgt er etter seneste tillatte tid ({0}).', - 'timepicker.hours': 'Timer', - 'timepicker.minutes': 'Minutter', - 'timepicker.seconds': 'Sekunder', - 'timepicker.am_pm': 'AM/PM', - 'feedback.title': '## Du blir snart videresendt', - 'feedback.body': 'Vi venter på verifikasjon, når den er på plass blir du videresendt.', - 'form_filler.error_add_subform': 'Det oppstod en feil ved opprettelse av underskjema, vennligst prøv igjen', - 'form_filler.error_delete_subform': 'Noe gikk galt ved sletting av underskjema, vennligst prøv igjen', - 'form_filler.error_fetch_subform': 'Feil ved lasting av skjemadata', - 'form_filler.error_max_count_reached_subform_server': 'Maks antall {0} oppføringer har blitt nådd', - 'form_filler.error_max_count_reached_subform_local': 'Maks antall {0} oppføringer har blitt nådd {1}', - 'form_filler.error_min_count_not_reached_subform': 'Minst {0} {1} oppføring er påkrevd', - 'form_filler.error_validation_inside_subform': 'Det er feil i en eller flere {0} oppføringer', - 'form_filler.subform_default_header': 'Oppføringer', - 'form_filler.back_to_summary': 'Tilbake til oppsummering', - 'form_filler.back_to_page': 'Tilbake til {0}', - 'form_filler.alert_confirm': 'Bekreft', - 'form_filler.checkbox_alert': 'Er du sikker på at du vil fjerne avkrysningen?', - 'form_filler.multi_select_alert': 'Er du sikker på at du vil slette {0}?', - 'form_filler.dropdown_alert': 'Er du sikker på at du vil endre til {0}?', - 'form_filler.error_report_header': 'Du må rette disse feilene før du kan gå videre', - 'form_filler.error_required': 'Du må fylle ut {0}', - 'form_filler.file_upload_valid_file_format_all': 'alle', - 'form_filler.file_uploader_add_attachment': 'Legg til flere vedlegg', - 'form_filler.file_uploader_drag': 'Dra og slipp eller', - 'form_filler.file_uploader_find': 'let etter fil', - 'form_filler.file_uploader_list_delete': 'Slett vedlegg', - 'form_filler.file_uploader_delete_warning': 'Er du sikker på at du vil slette dette vedlegget?', - 'form_filler.file_uploader_delete_button_confirm': 'Ja, slett vedlegg', - 'form_filler.file_uploader_list_header_file_size': 'Filstørrelse', - 'form_filler.file_uploader_list_header_name': 'Navn', - 'form_filler.file_uploader_list_header_status': 'Status', - 'form_filler.file_uploader_list_status_done': 'Ferdig lastet', - 'form_filler.file_uploader_status_scanning': 'Skanner...', - 'form_filler.file_uploader_status_infected': 'Infisert', - 'form_filler.file_uploader_infected_file_alert': - 'Filen {0} er infisert med skadelig programvare og kan ikke brukes.', - 'form_filler.file_uploader_infected_file_action': 'Last opp en ren fil.', - 'form_filler.file_uploader_remove_infected_files': 'Fjern infiserte filer før innsending.', - 'form_filler.file_uploader_list_header_delete_sr': 'Slett', - 'form_filler.file_uploader_max_size_mb': 'Maks filstørrelse {0} MB', - 'form_filler.file_uploader_upload': 'Last opp fil', - 'form_filler.file_uploader_number_of_files': 'Antall filer {0}.', - 'form_filler.file_uploader_show_more_errors': 'Vis {0} flere', - 'form_filler.file_uploader_show_fewer_errors': 'Vis færre', - 'form_filler.file_uploader_valid_file_format': 'Tillatte filformater er:', - 'form_filler.file_uploader_failed_to_upload_file': 'Filen {0} kunne ikke lastes opp', - 'form_filler.file_uploader_validation_error_delete': 'Noe gikk galt under slettingen av filen, prøv igjen senere.', - 'form_filler.file_uploader_validation_error_exceeds_max_files': - 'Du kan ikke laste opp flere enn {0} filer. Ingen filer ble lastet opp.', - 'form_filler.file_uploader_validation_error_file_ending': 'er ikke blant de tillatte filtypene.', - 'form_filler.file_uploader_validation_error_file_number': 'For å fortsette må du laste opp {0} vedlegg', - 'form_filler.file_uploader_validation_error_file_size': '{0} overskrider tillatt filstørrelse.', - 'form_filler.file_uploader_validation_error_general': - 'Det var et problem med filen {0}. Forsikre deg om at filen har rett filtype og ikke overskrider maks filstørrelse.', - 'form_filler.file_uploader_validation_error_upload': - 'Noe gikk galt under opplastingen av filen, prøv igjen senere.', - 'form_filler.file_uploader_validation_error_update': - 'Noe gikk galt under oppdatering av filens merking, prøv igjen senere.', - 'form_filler.file_uploader_validation_error_no_chosen_tag': 'Du må velge {0}', - 'form_filler.placeholder_receipt_header': 'Skjemaet er nå fullført og sendt inn.', - 'form_filler.placeholder_user': 'OLA PRIVATPERSON', - 'form_filler.radiobutton_alert_label': 'Er du sikker på at du vil endre fra {0}?', - 'form_filler.required_description': 'Obligatoriske felter er markert med *', - 'form_filler.required_label': '*', - 'form_filler.summary_item_change': 'Endre', - 'form_filler.summary_go_to_correct_page': 'Gå til riktig side i skjema', - 'form_filler.address': 'Gateadresse', - 'form_filler.careOf': 'C/O eller annen tilleggsadresse', - 'form_filler.houseNumber': 'Bolignummer', - 'form_filler.postPlace': 'Poststed', - 'form_filler.zipCode': 'Postnr', - 'form_filler.no_options_found': 'Fant ingen treff', - 'form_filler.clear_selection': 'Fjern alle valgte', - 'form_filler.person_lookup_ssn': 'fødselsnummer', - 'form_filler.person_lookup_name': 'navn', - 'form_filler.organisation_lookup_orgnr': 'organisasjonsnummer', - 'form_filler.organisation_lookup_name': 'organisasjonsnavn', - 'navigation.main': 'Overordnet', - 'navigation.form': 'Skjemasider', - 'navigation.to_main_content': 'Hopp til hovedinnholdet', - 'navigation.go_to_task': 'Gå til {0}', - 'navigation.form_pages': 'Skjemasider', - 'navigation.back_to_inbox': 'Tilbake til innboks', - 'navigation.inbox': 'Innboks', - 'navigation.back_to_main_form': 'Tilbake til {0}', - 'navigation.main_form': '{0}', - 'navigation.back': 'Tilbake', - 'navigation.page_error': 'Feil på side', - 'navigation.page_complete': 'Side fullført', - 'navigation.page_group_error': 'Feil i sidegruppe', - 'navigation.page_group_complete': 'Sidegruppe fullført', - 'general.action': 'Handling', - 'general.accessibility': 'Tilgjengelighet', - 'general.accessibility_url': 'https://info.altinn.no/om-altinn/tilgjengelighet/', - 'general.add_connection': 'Legg til tilkobling', - 'general.add_new': 'Legg til ny', - 'general.add': 'Legg til', - 'general.back': 'Tilbake', - 'general.cancel': 'Avbryt', - 'general.choose_label': 'Velg navn', - 'general.choose_method': 'Velg metode', - 'general.choose': 'Velg', - 'general.close': 'Lukk', - 'general.contains': 'Inneholder', - 'general.control_submit': 'Kontroller og send inn', - 'general.create_new': 'Opprett ny', - 'general.create': 'Opprett', - 'general.customer_service_phone_number': '+47 75 00 60 00', - 'general.customer_service_slack': 'https://altinn.slack.com', - 'general.customer_service_email': 'servicedesk@altinn.no', - 'general.customer_service_error_message': - 'Hvis du har behov for assistanse kan du nå Altinn på

  • Telefon: {0}
  • E-post: {1}
  • Slack: {2}
  • ', - 'general.delete': 'Slett', - 'general.download': 'Nedlasting {0}', - 'general.disabled': 'Deaktivert', - 'general.done': 'Ferdig', - 'general.edit_alt_error': 'Rett feil her', - 'general.edit_alt': 'Rediger', - 'general.edit': 'Endre', - 'general.empty_summary': 'Du har ikke lagt inn informasjon her', - 'general.empty_table': 'Ingen data funnet.', - 'general.enabled': 'Aktivert', - 'general.error_message_with_colon': 'Feilmelding:', - 'general.full_width': 'Utvid bredden', - 'general.standard_width': 'Reduser bredden', - 'general.for': 'for', - 'general.header_profile_icon_label': 'Profil ikon knapp', - 'general.label': 'Navn', - 'general.loading': 'Laster innhold', - 'general.log_out': 'Logg ut', - 'general.next': 'Neste', - 'general.no_options': 'Ingen alternativer tilgjenglig', - 'general.optional': 'Valgfri', - 'general.page_number': 'Side {0}', - 'general.print_button_text': 'Print / Lagre PDF', - 'general.progress': 'Side {0} av {1}', - 'general.required': 'Obligatorisk', - 'general.save': 'Lagre', - 'general.save_and_close': 'Lagre og lukk', - 'general.save_and_next': 'Lagre og åpne neste', - 'general.search': 'Søk', - 'general.select_field': 'Velg felt', - 'general.service_description_header': 'Beskrivelse', - 'general.service_name': 'Tjenestenavn', - 'general.service_owner': 'Tjenesteeier', - 'general.service_saved_name': 'Lagringsnavn', - 'general.submit': 'Send inn', - 'general.validate_changes': 'Validér endringer', - 'general.value': 'Verdi', - 'general.version': 'Versjon', - 'general.wait_for_attachments': 'Vent litt, vi prosesserer vedlegg', - 'general.wait_for_attachments_infected': 'Fjern infiserte filer før du fortsetter', - 'general.wait_for_attachments_scanning': 'Skanner filer for skadelig programvare...', - 'general.part_of_form_completed': - 'Denne delen av skjemaet er ikke tilgjengelig. Du kan ikke gjøre endringer her nå.', - 'general.invalid_task_id': 'Denne delen av skjemaet finnes ikke.', - 'general.navigate_to_current_process': 'Gå til riktig prosessteg', - 'group.row_error': 'En av radene er ikke fylt ut riktig, dette må fikses før skjema kan sendes inn', - 'group.row_popover_delete_message': 'Er du sikker på at du vil slette denne raden?', - 'group.row_popover_delete_button_confirm': 'Ja, slett raden', - 'iframe_component.unsupported_browser_title': 'Nettleseren din støttes ikke', - 'iframe_component.unsupported_browser': - 'Nettleseren du bruker støtter ikke iframes som benytter seg av srcdoc. Dette kan føre til at du ikke ser all innholdet som er ment å vises her. Vi anbefaler deg å prøve en annen nettleser.', - 'input_components.remaining_characters': 'Du har %d tegn igjen', - 'input_components.exceeded_max_limit': 'Du har overskredet maks antall tegn med %d', - 'instance_selection.changed_by': 'Endret av', - 'instance_selection.continue': 'Fortsett her', - 'instance_selection.description': - 'Velg om du vil fortsette på et skjema du har begynt på, eller om du vil starte på ny.', - 'instance_selection.header': 'Du har allerede startet å fylle ut dette skjemaet.', - 'instance_selection.last_changed': 'Sist endret', - 'instance_selection.left_of': 'Fortsett der du slapp', - 'instance_selection.new_instance': 'Start på nytt', - 'instantiate.all_forms': 'alle skjema', - 'instantiate.inbox': 'innboks', - 'instantiate.profile': 'profil', - 'instantiate.unknown_error_title': 'Ukjent feil', - 'instantiate.unknown_error_text': 'Det har skjedd en ukjent feil, vennligst prøv igjen senere.', - 'instantiate.unknown_error_status': 'Ukjent feil', - 'instantiate.unknown_error_customer_support': 'Om problemet vedvarer, ta kontakt med oss på brukerservice {0}.', - 'instantiate.forbidden_action_error_title': 'Du mangler rettigheter til å utføre denne handlingen', - 'instantiate.forbidden_action_error_text': - 'Det ser ut til at du mangler rettigheter til å utføre denne handlingen.', - 'instantiate.forbidden_action_error_status': '403 - Forbidden', - 'instantiate.forbidden_action_error_customer_support': - 'Hvis du trenger hjelp, ta kontakt med oss på brukerservice
    {0}.', - 'instantiate.authorization_error_main_title': 'Du mangler rettigheter for å se denne tjenesten.', - 'instantiate.authorization_error_instantiate_validation_title': 'Du kan ikke starte denne tjenesten', - 'instantiate.authorization_error_rights': - 'Det ser ut til at du ikke har rettigheter til å starte denne tjenesten for {0}', - 'instantiate.authorization_error_ask': - 'Om du representerer en person, er det den du representerer som kan gi deg rettighet til å starte tjenesten. Representerer du en organisasjon er det de som har rollen tilgangsstyring innad i organisasjonen som kan gi deg rettighet.', - 'instantiate.authorization_error_check_rights': - 'Se hvem som har rollen tilgangsstyring under "Andre med rettigheter til virksomheten".', - 'instantiate.authorization_error_info_rights': - 'Her finner du mer informasjon om roller og rettigheter.', - 'instantiate.authorization_error_info_customer_service': 'Du kan også kontakte oss på brukerservice {0}.', - 'instantiate.authorization_error_instantiate_validation_info_customer_service': - 'Om du står fast kontakt oss på brukerservice {0}.', - 'instantiate.starting': 'Vent litt, vi henter det du trenger', - 'language.language_selection': 'Språkvalg', - 'language.full_name.nb': 'Norsk bokmål', - 'language.full_name.en': 'Engelsk', - 'language.full_name.nn': 'Nynorsk', - 'language.selector.label': 'Språk', - 'party_selection.error_caption_prefix': 'Feil', - 'party_selection.invalid_selection_non_existing_party': - 'Du har startet tjenesten med en aktør som enten ikke finnes eller som du ikke har tilgang på. Velg ny aktør under for å fortsette.', - 'party_selection.invalid_selection_existing_party': - 'Du har startet tjenesten som {0}. Denne tjenesten er kun tilgjengelig for {1}. Velg ny aktør under.', - 'party_selection.no_valid_selection_first_part': 'Dette er en tjeneste for {0}', - 'party_selection.no_valid_selection_second_part': - 'Det ser ut som du ikke har tilgang til en aktør som har lov til å starte {0}.', - 'party_selection.no_valid_selection_third_part': - 'For å starte denne tjenesten må du ha tilganger som knytter deg til en {0}.', - 'party_selection.no_valid_selection_binding_word': 'og', - 'party_selection.change_party': 'skift aktør her', - 'party_selection.read_more_roles_link': 'Her finner du mer informasjon om roller og rettigheter', - 'party_selection.binding_word': 'eller', - 'party_selection.header': 'Hvem vil du sende inn for?', - 'party_selection.load_more': 'Last flere', - 'party_selection.search_placeholder': 'Søk etter aktør', - 'party_selection.subheader': 'Dine aktører som kan starte tjenesten:', - 'party_selection.unit_type_private_person': 'privatperson', - 'party_selection.unit_type_company': 'virksomhet', - 'party_selection.unit_type_bankruptcy_state': 'konkursbo', - 'party_selection.unit_type_subunit': 'underenhet', - 'party_selection.unit_type_subunit_plural': 'underenheter', - 'party_selection.unit_deleted': 'slettet', - 'party_selection.unit_org_number': 'org.nr.', - 'party_selection.unit_personal_number': 'personnr.', - 'party_selection.show_deleted': 'Vis slettede', - 'party_selection.show_sub_unit': 'Vis underenheter', - 'party_selection.why_seeing_this': 'Hvorfor ser jeg dette?', - 'party_selection.seeing_this_preference': - 'Du kan endre [profilinnstillingene](https://altinn.no/ui/Profile) dine for å ikke bli spurt om aktør hver gang du starter utfylling av et nytt skjema. Du finner denne innstillingen under **Profil** > **Avanserte innstillinger** > **Jeg ønsker ikke å bli spurt om aktør hver gang jeg starter utfylling av et nytt skjema**.', - 'party_selection.seeing_this_override': 'Denne appen er satt opp til å alltid spørre om aktør.', - 'payment.pay': 'Betal', - 'payment.summary': 'Oppsummering', - 'payment.alert.paid': 'Du har betalt!', - 'payment.alert.failed': 'Betalingen feilet', - 'payment.receipt.title': 'Betalingskvittering', - 'payment.receipt.payment_id': 'Betalings ID', - 'payment.receipt.altinn_ref': 'Altinn reference', - 'payment.receipt.payment_date': 'Dato for kjøp', - 'payment.receipt.total_amount': 'Total beløp', - 'payment.receipt.receiver': 'Mottaker', - 'payment.receipt.payer': 'Betaler', - 'payment.receipt.name': 'Navn', - 'payment.receipt.phone': 'Telefon', - 'payment.receipt.company_name': 'Firmanavn', - 'payment.receipt.org_number': 'Organisasjonsnummer', - 'payment.receipt.contact_person': 'Kontaktperson', - 'payment.receipt.contact_phone': 'Kontakttelefon', - 'payment.receipt.contact_email': 'Kontakt-e-post', - 'payment.receipt.address': 'Addresse', - 'payment.receipt.org_num': 'Organisasjonsnummer', - 'payment.receipt.account_number': 'Kontonummer', - 'payment.receipt.card_number': 'Kortnummer', - 'payment.receipt.card_expiry': 'Utløpsdato', - 'payment.receipt.email': 'E-post', - 'payment.component.description': 'Beskrivelse', - 'payment.component.quantity': 'Antall', - 'payment.component.price': 'Pris', - 'payment.component.total': 'Totalt', - 'payment.component.vat': 'MVA', - 'organisation_lookup.orgnr_label': 'Organisasjonsnummer', - 'organisation_lookup.org_name': 'Organisasjonsnavn', - 'organisation_lookup.from_registry_description': 'Fra enhetsregisteret', - 'organisation_lookup.validation_error_not_found': 'Organisasjonsnummeret ble ikke funnet i enhetsregisteret', - 'organisation_lookup.validation_invalid_response_from_server': 'Ugyldig respons fra server', - 'organisation_lookup.unknown_error': 'Ukjent feil. Vennligst prøv igjen senere', - 'organisation_lookup.validation_error_orgnr': 'Organisasjonsnummeret er ugyldig', - 'organisation_lookup.error_required': 'Du må fylle ut {0} og hente opplysninger', - 'organisation_lookup.submit_button': 'Hent opplysninger', - 'organisation_lookup.clear_button': 'Fjern', - 'person_lookup.error_required': 'Du må fylle ut {0} og hente opplysninger', - 'person_lookup.submit_button': 'Hent opplysninger', - 'person_lookup.clear_button': 'Fjern', - 'person_lookup.ssn_label': 'Fødselsnummer', - 'person_lookup.surname_label': 'Etternavn', - 'person_lookup.name_label': 'Navn', - 'person_lookup.from_registry_description': 'Fra folkeregisteret', - 'person_lookup.validation_error_name_too_short': 'Etternavn kan ikke være tomt.', - 'person_lookup.validation_error_ssn': 'Fødselsnummeret/D-nummeret er ugyldig.', - 'person_lookup.validation_error_not_found': - 'Ingen person er registrert med denne kombinasjonen av fødselsnummer/D-nummer og navn. Vennligst kontroller feltene og prøv igjen.
    Merk: Etter 5 feilforsøk blir søkemuligheten midlertidig sperret.', - 'person_lookup.validation_error_too_many_requests': - 'Du har nådd grensen for antall søk. Vennligst prøv igjen senere.', - 'person_lookup.validation_error_forbidden': - 'Du har ikke tilgang til å søke på denne personen. Sikkerhetsnivå 2 eller høyere kreves.', - 'person_lookup.validation_invalid_response_from_server': 'Det oppstod en feil. Vennligst prøv igjen senere.', - 'person_lookup.unknown_error': 'Ukjent feil. Vennligst prøv igjen senere.', - 'helptext.button_title': 'Hjelp', - 'helptext.button_title_prefix': 'Hjelpetekst for', - 'receipt.attachments': 'Vedlegg', - 'receipt.body': - 'Det er gjennomført en maskinell kontroll under utfylling, men vi tar forbehold om at det kan bli oppdaget feil under saksbehandlingen og at annen dokumentasjon kan være nødvendig. Vennligst oppgi referansenummer ved eventuelle henvendelser til etaten.', - 'receipt.body_simple': - 'Av sikkerhetshensyn vil verken innholdet i tjenesten eller denne meldingen være synlig i Altinn etter at du har forlatt denne siden.', - 'receipt.date_sent': 'Dato sendt', - 'receipt.receiver': 'Mottaker', - 'receipt.receipt': 'Kvittering', - 'receipt.ref_num': 'Referansenummer', - 'receipt.sender': 'Avsender', - 'receipt.subtitle': 'Kopi av din kvittering er sendt til ditt arkiv', - 'receipt.title': 'Skjemaet er sendt inn', - 'receipt.title_submitted': 'Følgende er sendt inn:', - 'receipt_platform.attachments': 'Vedlegg', - 'receipt_platform.date_sent': 'Dato sendt', - 'receipt_platform.helper_text': - 'Det er gjennomført en maskinell kontroll under utfylling, men vi tar forbehold om at det kan bli oppdaget feil under saksbehandlingen og at annen dokumentasjon kan være nødvendig. Vennligst oppgi referansenummer ved eventuelle henvendelser til etaten.', - 'receipt_platform.is_sent': 'er sendt inn', - 'receipt_platform.receipt': 'Kvittering', - 'receipt_platform.receiver': 'Mottaker', - 'receipt_platform.reference_number': 'Referansenummer', - 'receipt_platform.sender': 'Avsender', - 'receipt_platform.sent_content': 'Følgende er sendt inn:', - 'receipt_platform.log_out': 'Logg ut', - 'receipt_platform.profile_icon_aria_label': 'Profil ikon knapp', - 'soft_validation.info_title': 'Lurt å tenke på', - 'soft_validation.warning_title': 'OBS', - 'soft_validation.success_title': 'Så flott!', - 'validation.generic_field': 'dette feltet', - 'validation_errors.min': 'Minste gyldig tall er {0}', - 'validation_errors.max': 'Største gyldig tall er {0}', - 'validation_errors.minLength': 'Bruk {0} eller flere tegn', - 'validation_errors.maxLength': 'Bruk {0} eller færre tegn', - 'validation_errors.length': 'Antall tillatte tegn er {0}', - 'validation_errors.pattern': 'Feil format eller verdi', - 'validation_errors.required': 'Feltet er påkrevd', - 'validation_errors.enum': 'Kun verdiene {0} er tillatt', - 'validation_errors.minItems': 'Minst {0} rader er påkrevd', - 'validation_errors.maxItems': 'Maks {0} rader er tillatt', - 'validation_errors.formatMinimum': 'Minste gyldig verdi er {0}', - 'validation_errors.formatMaximum': 'Største gyldig verdi er {0}', - 'map_component.selectedLocation': 'Valgt lokasjon: {0}° nord, {1}° øst', - 'map_component.noSelectedLocation': 'Ingen lokasjon valgt', - 'multiple_select_component.no_options': 'Ingen valg tilgjengelig', - 'multiple_select_component.placeholder': 'Velg...', - 'list_component.rowsPerPage': 'Rader per side', - 'list_component.previousPage': 'Forrige', - 'list_component.previousPageAriaLabel': 'Forrige side i tabell', - 'list_component.nextPage': 'Neste', - 'list_component.nextPageAriaLabel': 'Neste side i tabell', - 'list_component.controlsHeader': 'Velg rad', - 'config_error.layoutset_subform_config_error': - 'Layout set med id {0} er konfigurert feil.

    Layout set kan ikke ha både type og tasks definert.', - 'config_error.layoutset_error': 'Layout set error', - 'config_error.component_has_errors': 'En feil oppstod for {0}:', - 'config_error.component_has_errors_after': - 'Så lenge komponenten har konfigurasjonsfeil kan vi ikke vise den i skjemaet. Rett opp i feilene og prøv igjen.', - 'config_error.subform_no_datatype_layoutset': 'Datatype-spesifikasjon ikke funnet i layout-sets.json.', - 'config_error.subform_no_datatype_appmetadata': "Datatype '{0}' ble ikke funnet i applicationmetadata.json.", - 'config_error.subform_misconfigured_add_button': - "Datatype '{0}' er markert som 'disallowUserCreate=true', men underskjema-komponenten er konfigurert med 'showAddButton=true'. Dette er en motsetning, siden brukeren aldri vil få lov til å utføre handlingene bak legg-til knappen.", - 'config_error.file_upload_same_binding': - 'Det er flere filopplastingskomponenter med samme datamodell-binding. Hver komponent må ha en unik binding. Andre komponenter med samme binding: {0}', - 'config_error.deletion_strategy_no_group': 'Feltene deletionStrategy og checked kan kun brukes sammen med group.', - 'config_error.group_no_deletion_strategy': 'Når du har satt group må du også sette deletionStrategy.', - 'config_error.soft_delete_no_checked': 'Når du har satt deletionStrategy til soft må du også sette "checked".', - 'config_error.hard_delete_with_checked': 'Når du har satt deletionStrategy til hard kan du ikke sette "checked".', - 'version_error.version_mismatch': 'Versjonsfeil', - 'version_error.version_mismatch_message': - 'Denne versjonen av app frontend er ikke kompatibel med den versjonen av backend-bibliotekene du bruker. Oppdater til nyeste versjon av pakkene og prøv igjen.', - 'version_error.min_backend_version': 'Minimum backend versjon er {0}', - 'missing_row_id_error.title': 'Mangler rad-ID', - 'missing_row_id_error.message': - 'Når data ble lastet inn manglet det en rad-ID. Dette er en feil i konfigurasjonen av skjemaet, og må rettes opp ved hjelp av migreringsverktøyene. Sjekk loggene i utviklerverktøyene for mer informasjon.', - 'missing_row_id_error.full_message': - 'Datamodellen mangler egenskapen {0} i stien {1}. Dette skal automatisk bli lagt til i datamodellen dersom du bruker riktig versjon av nuget-pakkene og har kjørt migreringsverktøyene. Les mer om verktøyene i dokumentasjonen: https://docs.altinn.studio/community/changelog/app-nuget/v8/migrating-from-v7/', - 'likert.left_column_default_header_text': 'Spørsmål', - 'process_error.submit_error_please_retry': 'Noe gikk galt under innsendingen, prøv igjen om noen minutter.', - 'pdfPreview.error': 'Kunne ikke forhåndsvise PDF', - 'pdfPreview.defaultButtonText': 'Forhåndsvis PDF', - 'taskTypes.data': 'Utfylling', - 'taskTypes.signing': 'Signering', - 'taskTypes.confirmation': 'Bekreftelse', - 'taskTypes.payment': 'Betaling', - 'taskTypes.receipt': 'Kvittering', - 'signing.awaiting_signature_panel_title': 'Signer dokumenter', - 'signing.checkbox_label': 'Jeg bekrefter at informasjonen og dokumentene er korrekte.', - 'signing.sign_button': 'Signer', - 'signing.submit_panel_title': 'Du kan nå sende inn skjemaet', - 'signing.submit_panel_description': 'Alle parter har signert! Velg "{0}" for å fullføre.', - 'signing.submit_button': 'Send inn skjemaet', - 'signing.submit_panel_radio_group_legend': 'Hvem ønsker du å signere på vegne av?', - 'signing.submit_panel_radio_group_description': 'Følgende er parter du har rettigheter til å signere på vegne av.', - 'signing.submit_panel_single_org_choice': 'Du signerer på vegne av {0}.', - 'signing.submit_panel_myself_choice': 'Meg selv', - 'signing.awaiting_other_signatures_panel_title': 'Venter på signaturer', - 'signing.awaiting_other_signatures_panel_description_not_signing': - 'Du kan sende inn skjemaet når alle parter har signert.', - 'signing.awaiting_other_signatures_panel_description_signed': - 'Takk for at du signerte! Du kan sende inn skjemaet når alle parter har signert.', - 'signing.awaiting_other_signatures_panel_error_message': - 'Det mangler signaturer. Du kan sende inn skjemaet når alle parter har signert.', - 'signing.no_action_required_panel_title_has_signed': 'Du har signert skjemaet', - 'signing.no_action_required_panel_title_not_signed': 'Ingenting å signere', - 'signing.no_action_required_panel_description_has_signed': 'Alt i orden! Du kan nå gå tilbake til innboksen.', - 'signing.no_action_required_panel_description_not_signed': 'Du har ikke tilgang til å signere dette skjemaet.', - 'signing.no_action_required_button': 'Gå til innboksen', - 'signing.api_error_panel_title': 'Kunne ikke hente signeringsstatus', - 'signing.api_error_panel_description': - 'En feil oppstod under henting av status for signaturer. Prøv igjen senere eller kontakt skjemaeier for å rette opp feilen.', - 'signing.delegation_error_panel_title': 'Kunne ikke gi tilgang til skjema', - 'signing.delegation_error_panel_description': - 'En eller flere av signatarene er ugyldige og har ikke fått tilgang til skjemaet. Gå tilbake for å prøve å rette opp feilen eller kontakt skjemaeier.', - 'signing.reject_modal_title': 'Avbryt signeringsprosessen', - 'signing.reject_modal_description': - 'Ved å avbryte signeringsprosessen vil alle signaturer bli slettet og alle delegerte tilganger trukket tilbake.', - 'signing.reject_modal_button': 'Avbryt signeringsprosessen', - 'signing.reject_modal_trigger_button': 'Avbryt signering', - 'signing.loading': 'Laster inn signeringsstatus...', - 'signing.wrong_task_error': '{0}-komponenten er kun tilgjengelig i et signeringssteg.', - 'signing.error_missing_signing_rights': - 'Noe gikk galt. Nåværende bruker skal signere, men har ikke rettigheter til å gjøre det.', - 'signing.error_signing': 'Noe gikk galt under signeringen. Prøv igjen.', - 'signing.error_signing_not_confirmed_documents': 'Du må bekrefte at du har lest dokumentene før du signerer.', - 'signing.error_signing_no_on_behalf_of': 'Du må velge hvem du signerer på vegne av før du signerer.', - 'signee_list.parse_error': 'Feil ved lasting av signatarliste.', - 'signee_list.unknown_api_error': 'En feil oppstod under henting av signatarer.', - 'signee_list.api_error_display': - 'En feil oppstod under henting av signatarer. Se devtool-loggene for mer informasjon.', - 'signee_list.no_signees': 'Ingen signatarer funnet.', - 'signee_list.signee_status_signed': 'Signert', - 'signee_list.signee_status_waiting': 'Venter på signering', - 'signee_list.signee_status_delegation_failed': 'Delegering mislyktes', - 'signee_list.signee_status_notification_failed': 'Varsling mislyktes', - 'signee_list.header_name': 'Navn', - 'signee_list.header_on_behalf_of': 'På vegne av', - 'signee_list.header_status': 'Status', - 'signee_list_summary.name_placeholder': 'Ukjent navn', - 'signee_list_summary.on_behalf_of': 'på vegne av', - 'signee_list_summary.loading': 'Laster signaturdata...', - 'signee_list_summary.error': 'Feil ved lasting av signaturdata.', - 'signee_list_summary.no_data': 'Ingen signaturdata.', - 'signee_list_summary.no_signatures': 'Ingen signaturer funnet.', - 'signee_list_summary.signed_time': 'Digitalt signert gjennom Altinn {0}', - 'signing_document_list.parse_error': 'Feil ved lasting av dokumenter.', - 'signing_document_list.unknown_api_error': 'En feil oppstod under henting av doumenter.', - 'signing_document_list.api_error_display': - 'En feil oppstod under henting av dokumenter. Se devtool-loggene for mer informasjon.', - 'signing_document_list.header_filename': 'Navn', - 'signing_document_list.header_attachment_type': 'Vedleggstype', - 'signing_document_list.header_size': 'Størrelse', - 'signing_document_list.attachment_type_form': 'Skjema', - 'signing_document_list.download': 'Last ned', - 'signing_document_list_summary.header': 'Signerte dokumenter', - } satisfies FixedLanguageList; -} +import type { FixedLanguageList } from 'src/language/languages'; + +export function nb() { + return { + 'dateTime.am': 'a.m.', + 'dateTime.pm': 'p.m.', + 'altinn.standard_validation.file_content_type_not_allowed': + 'Det ser ut som du prøver å laste opp en filtype som ikke er tillatt. Sjekk at filen faktisk er av den typen den utgir seg for å være.', + 'actions.sign': 'Signer', + 'actions.confirm': 'Bekreft', + 'actions.reject': 'Avslå', + 'actions.instantiate': 'Instansier', + 'address_component.address': 'Gateadresse', + 'address_component.care_of': 'C/O eller annen tilleggsadresse', + 'address_component.house_number': 'Bolignummer', + 'address_component.house_number_helper': + 'Om adressen er felles for flere boenhenter må du oppgi bolignummer. Den består av en bokstav og fire tall og skal være ført opp ved/på inngangsdøren din.', + 'address_component.post_place': 'Poststed', + 'address_component.simplified': 'Enkel', + 'address_component.title_text_binding': 'Søk etter ledetekst for Adressekomponenten', + 'address_component.zip_code': 'Postnr', + 'address_component.validation_error_zipcode': 'Postnummer er ugyldig. Et postnummer består kun av 4 siffer.', + 'address_component.validation_error_house_number': 'Bolignummer er ugyldig', + 'confirm.answers': 'Dine svar', + 'confirm.attachments': 'Vedlegg', + 'confirm.body': + 'Du er nå klar for å sende inn {0}. Før du sender inn vil vi anbefale å se over svarene dine. Du kan ikke endre svarene etter at du har sendt inn.', + 'confirm.button_text': 'Send inn', + 'confirm.deadline': 'Frist innsending', + 'confirm.sender': 'Aktør', + 'confirm.title': 'Se over svarene dine før du sender inn', + 'custom_actions.general_error': 'Noe gikk galt med denne handlingen. Prøv igjen senere.', + 'date_picker.invalid_date_message': 'Ugyldig datoformat. Bruk formatet {0}.', + 'date_picker.cancel_label': 'Avbryt', + 'date_picker.clear_label': 'Tøm', + 'date_picker.today_label': 'I dag', + 'date_picker.min_date_exeeded': 'Datoen du har valgt er før tidligst tillatte dato.', + 'date_picker.max_date_exeeded': 'Datoen du har valgt er etter seneste tillatte dato.', + 'date_picker.aria_label_icon': 'Åpne datovelger', + 'date_picker.aria_label_left_arrow': 'Forrige måned.', + 'date_picker.aria_label_right_arrow': 'Neste måned.', + 'date_picker.aria_label_year_dropdown': 'Velg år', + 'date_picker.aria_label_month_dropdown': 'Velg måned', + 'date_picker.format_text': 'For eksempel {0}', + 'time_picker.invalid_time_message': 'Ugyldig tidsformat. Bruk formatet {0}.', + 'time_picker.min_time_exceeded': 'Tiden du har valgt er før tidligst tillatte tid ({0}).', + 'time_picker.max_time_exceeded': 'Tiden du har valgt er etter seneste tillatte tid ({0}).', + 'timepicker.hours': 'Timer', + 'timepicker.minutes': 'Minutter', + 'timepicker.seconds': 'Sekunder', + 'timepicker.am_pm': 'AM/PM', + 'feedback.title': '## Du blir snart videresendt', + 'feedback.body': 'Vi venter på verifikasjon, når den er på plass blir du videresendt.', + 'form_filler.error_add_subform': 'Det oppstod en feil ved opprettelse av underskjema, vennligst prøv igjen', + 'form_filler.error_delete_subform': 'Noe gikk galt ved sletting av underskjema, vennligst prøv igjen', + 'form_filler.error_fetch_subform': 'Feil ved lasting av skjemadata', + 'form_filler.error_max_count_reached_subform_server': 'Maks antall {0} oppføringer har blitt nådd', + 'form_filler.error_max_count_reached_subform_local': 'Maks antall {0} oppføringer har blitt nådd {1}', + 'form_filler.error_min_count_not_reached_subform': 'Minst {0} {1} oppføring er påkrevd', + 'form_filler.error_validation_inside_subform': 'Det er feil i en eller flere {0} oppføringer', + 'form_filler.subform_default_header': 'Oppføringer', + 'form_filler.back_to_summary': 'Tilbake til oppsummering', + 'form_filler.back_to_page': 'Tilbake til {0}', + 'form_filler.alert_confirm': 'Bekreft', + 'form_filler.checkbox_alert': 'Er du sikker på at du vil fjerne avkrysningen?', + 'form_filler.multi_select_alert': 'Er du sikker på at du vil slette {0}?', + 'form_filler.dropdown_alert': 'Er du sikker på at du vil endre til {0}?', + 'form_filler.error_report_header': 'Du må rette disse feilene før du kan gå videre', + 'form_filler.error_required': 'Du må fylle ut {0}', + 'form_filler.file_upload_valid_file_format_all': 'alle', + 'form_filler.file_uploader_add_attachment': 'Legg til flere vedlegg', + 'form_filler.file_uploader_drag': 'Dra og slipp eller', + 'form_filler.file_uploader_find': 'let etter fil', + 'form_filler.file_uploader_list_delete': 'Slett vedlegg', + 'form_filler.file_uploader_delete_warning': 'Er du sikker på at du vil slette dette vedlegget?', + 'form_filler.file_uploader_delete_button_confirm': 'Ja, slett vedlegg', + 'form_filler.file_uploader_list_header_file_size': 'Filstørrelse', + 'form_filler.file_uploader_list_header_thumbnail': 'Thumbnail', + 'form_filler.file_uploader_list_header_name': 'Navn', + 'form_filler.file_uploader_list_header_status': 'Status', + 'form_filler.file_uploader_list_status_done': 'Ferdig lastet', + 'form_filler.file_uploader_status_scanning': 'Skanner...', + 'form_filler.file_uploader_status_infected': 'Infisert', + 'form_filler.file_uploader_infected_file_alert': + 'Filen {0} er infisert med skadelig programvare og kan ikke brukes.', + 'form_filler.file_uploader_infected_file_action': 'Last opp en ren fil.', + 'form_filler.file_uploader_remove_infected_files': 'Fjern infiserte filer før innsending.', + 'form_filler.file_uploader_list_header_delete_sr': 'Slett', + 'form_filler.file_uploader_max_size_mb': 'Maks filstørrelse {0} MB', + 'form_filler.file_uploader_upload': 'Last opp fil', + 'form_filler.file_uploader_number_of_files': 'Antall filer {0}.', + 'form_filler.file_uploader_show_more_errors': 'Vis {0} flere', + 'form_filler.file_uploader_show_fewer_errors': 'Vis færre', + 'form_filler.file_uploader_valid_file_format': 'Tillatte filformater er:', + 'form_filler.file_uploader_failed_to_upload_file': 'Filen {0} kunne ikke lastes opp', + 'form_filler.file_uploader_validation_error_delete': 'Noe gikk galt under slettingen av filen, prøv igjen senere.', + 'form_filler.file_uploader_validation_error_exceeds_max_files': + 'Du kan ikke laste opp flere enn {0} filer. Ingen filer ble lastet opp.', + 'form_filler.file_uploader_validation_error_file_ending': 'er ikke blant de tillatte filtypene.', + 'form_filler.file_uploader_validation_error_file_number': 'For å fortsette må du laste opp {0} vedlegg', + 'form_filler.file_uploader_validation_error_file_size': '{0} overskrider tillatt filstørrelse.', + 'form_filler.file_uploader_validation_error_general': + 'Det var et problem med filen {0}. Forsikre deg om at filen har rett filtype og ikke overskrider maks filstørrelse.', + 'form_filler.file_uploader_validation_error_upload': + 'Noe gikk galt under opplastingen av filen, prøv igjen senere.', + 'form_filler.file_uploader_validation_error_update': + 'Noe gikk galt under oppdatering av filens merking, prøv igjen senere.', + 'form_filler.file_uploader_validation_error_no_chosen_tag': 'Du må velge {0}', + 'form_filler.placeholder_receipt_header': 'Skjemaet er nå fullført og sendt inn.', + 'form_filler.placeholder_user': 'OLA PRIVATPERSON', + 'form_filler.radiobutton_alert_label': 'Er du sikker på at du vil endre fra {0}?', + 'form_filler.required_description': 'Obligatoriske felter er markert med *', + 'form_filler.required_label': '*', + 'form_filler.summary_item_change': 'Endre', + 'form_filler.summary_go_to_correct_page': 'Gå til riktig side i skjema', + 'form_filler.address': 'Gateadresse', + 'form_filler.careOf': 'C/O eller annen tilleggsadresse', + 'form_filler.houseNumber': 'Bolignummer', + 'form_filler.postPlace': 'Poststed', + 'form_filler.zipCode': 'Postnr', + 'form_filler.no_options_found': 'Fant ingen treff', + 'form_filler.clear_selection': 'Fjern alle valgte', + 'form_filler.person_lookup_ssn': 'fødselsnummer', + 'form_filler.person_lookup_name': 'navn', + 'form_filler.organisation_lookup_orgnr': 'organisasjonsnummer', + 'form_filler.organisation_lookup_name': 'organisasjonsnavn', + 'navigation.main': 'Overordnet', + 'navigation.form': 'Skjemasider', + 'navigation.to_main_content': 'Hopp til hovedinnholdet', + 'navigation.go_to_task': 'Gå til {0}', + 'navigation.form_pages': 'Skjemasider', + 'navigation.back_to_inbox': 'Tilbake til innboks', + 'navigation.inbox': 'Innboks', + 'navigation.back_to_main_form': 'Tilbake til {0}', + 'navigation.main_form': '{0}', + 'navigation.back': 'Tilbake', + 'navigation.page_error': 'Feil på side', + 'navigation.page_complete': 'Side fullført', + 'navigation.page_group_error': 'Feil i sidegruppe', + 'navigation.page_group_complete': 'Sidegruppe fullført', + 'general.action': 'Handling', + 'general.accessibility': 'Tilgjengelighet', + 'general.accessibility_url': 'https://info.altinn.no/om-altinn/tilgjengelighet/', + 'general.add_connection': 'Legg til tilkobling', + 'general.add_new': 'Legg til ny', + 'general.add': 'Legg til', + 'general.back': 'Tilbake', + 'general.cancel': 'Avbryt', + 'general.choose_label': 'Velg navn', + 'general.choose_method': 'Velg metode', + 'general.choose': 'Velg', + 'general.close': 'Lukk', + 'general.contains': 'Inneholder', + 'general.control_submit': 'Kontroller og send inn', + 'general.create_new': 'Opprett ny', + 'general.create': 'Opprett', + 'general.customer_service_phone_number': '+47 75 00 60 00', + 'general.customer_service_slack': 'https://altinn.slack.com', + 'general.customer_service_email': 'servicedesk@altinn.no', + 'general.customer_service_error_message': + 'Hvis du har behov for assistanse kan du nå Altinn på

  • Telefon: {0}
  • E-post: {1}
  • Slack: {2}
  • ', + 'general.delete': 'Slett', + 'general.download': 'Nedlasting {0}', + 'general.disabled': 'Deaktivert', + 'general.done': 'Ferdig', + 'general.edit_alt_error': 'Rett feil her', + 'general.edit_alt': 'Rediger', + 'general.edit': 'Endre', + 'general.empty_summary': 'Du har ikke lagt inn informasjon her', + 'general.empty_table': 'Ingen data funnet.', + 'general.enabled': 'Aktivert', + 'general.error_message_with_colon': 'Feilmelding:', + 'general.full_width': 'Utvid bredden', + 'general.standard_width': 'Reduser bredden', + 'general.for': 'for', + 'general.header_profile_icon_label': 'Profil ikon knapp', + 'general.label': 'Navn', + 'general.loading': 'Laster innhold', + 'general.log_out': 'Logg ut', + 'general.next': 'Neste', + 'general.no_options': 'Ingen alternativer tilgjenglig', + 'general.optional': 'Valgfri', + 'general.page_number': 'Side {0}', + 'general.print_button_text': 'Print / Lagre PDF', + 'general.progress': 'Side {0} av {1}', + 'general.required': 'Obligatorisk', + 'general.save': 'Lagre', + 'general.save_and_close': 'Lagre og lukk', + 'general.save_and_next': 'Lagre og åpne neste', + 'general.search': 'Søk', + 'general.select_field': 'Velg felt', + 'general.service_description_header': 'Beskrivelse', + 'general.service_name': 'Tjenestenavn', + 'general.service_owner': 'Tjenesteeier', + 'general.service_saved_name': 'Lagringsnavn', + 'general.submit': 'Send inn', + 'general.validate_changes': 'Validér endringer', + 'general.value': 'Verdi', + 'general.version': 'Versjon', + 'general.wait_for_attachments': 'Vent litt, vi prosesserer vedlegg', + 'general.wait_for_attachments_infected': 'Fjern infiserte filer før du fortsetter', + 'general.wait_for_attachments_scanning': 'Skanner filer for skadelig programvare...', + 'general.part_of_form_completed': + 'Denne delen av skjemaet er ikke tilgjengelig. Du kan ikke gjøre endringer her nå.', + 'general.invalid_task_id': 'Denne delen av skjemaet finnes ikke.', + 'general.navigate_to_current_process': 'Gå til riktig prosessteg', + 'group.row_error': 'En av radene er ikke fylt ut riktig, dette må fikses før skjema kan sendes inn', + 'group.row_popover_delete_message': 'Er du sikker på at du vil slette denne raden?', + 'group.row_popover_delete_button_confirm': 'Ja, slett raden', + 'iframe_component.unsupported_browser_title': 'Nettleseren din støttes ikke', + 'iframe_component.unsupported_browser': + 'Nettleseren du bruker støtter ikke iframes som benytter seg av srcdoc. Dette kan føre til at du ikke ser all innholdet som er ment å vises her. Vi anbefaler deg å prøve en annen nettleser.', + 'input_components.remaining_characters': 'Du har %d tegn igjen', + 'input_components.exceeded_max_limit': 'Du har overskredet maks antall tegn med %d', + 'instance_selection.changed_by': 'Endret av', + 'instance_selection.continue': 'Fortsett her', + 'instance_selection.description': + 'Velg om du vil fortsette på et skjema du har begynt på, eller om du vil starte på ny.', + 'instance_selection.header': 'Du har allerede startet å fylle ut dette skjemaet.', + 'instance_selection.last_changed': 'Sist endret', + 'instance_selection.left_of': 'Fortsett der du slapp', + 'instance_selection.new_instance': 'Start på nytt', + 'instantiate.all_forms': 'alle skjema', + 'instantiate.inbox': 'innboks', + 'instantiate.profile': 'profil', + 'instantiate.unknown_error_title': 'Ukjent feil', + 'instantiate.unknown_error_text': 'Det har skjedd en ukjent feil, vennligst prøv igjen senere.', + 'instantiate.unknown_error_status': 'Ukjent feil', + 'instantiate.unknown_error_customer_support': 'Om problemet vedvarer, ta kontakt med oss på brukerservice {0}.', + 'instantiate.forbidden_action_error_title': 'Du mangler rettigheter til å utføre denne handlingen', + 'instantiate.forbidden_action_error_text': + 'Det ser ut til at du mangler rettigheter til å utføre denne handlingen.', + 'instantiate.forbidden_action_error_status': '403 - Forbidden', + 'instantiate.forbidden_action_error_customer_support': + 'Hvis du trenger hjelp, ta kontakt med oss på brukerservice
    {0}.', + 'instantiate.authorization_error_main_title': 'Du mangler rettigheter for å se denne tjenesten.', + 'instantiate.authorization_error_instantiate_validation_title': 'Du kan ikke starte denne tjenesten', + 'instantiate.authorization_error_rights': + 'Det ser ut til at du ikke har rettigheter til å starte denne tjenesten for {0}', + 'instantiate.authorization_error_ask': + 'Om du representerer en person, er det den du representerer som kan gi deg rettighet til å starte tjenesten. Representerer du en organisasjon er det de som har rollen tilgangsstyring innad i organisasjonen som kan gi deg rettighet.', + 'instantiate.authorization_error_check_rights': + 'Se hvem som har rollen tilgangsstyring under "Andre med rettigheter til virksomheten".', + 'instantiate.authorization_error_info_rights': + 'Her finner du mer informasjon om roller og rettigheter.', + 'instantiate.authorization_error_info_customer_service': 'Du kan også kontakte oss på brukerservice {0}.', + 'instantiate.authorization_error_instantiate_validation_info_customer_service': + 'Om du står fast kontakt oss på brukerservice {0}.', + 'instantiate.starting': 'Vent litt, vi henter det du trenger', + 'language.language_selection': 'Språkvalg', + 'language.full_name.nb': 'Norsk bokmål', + 'language.full_name.en': 'Engelsk', + 'language.full_name.nn': 'Nynorsk', + 'language.selector.label': 'Språk', + 'party_selection.error_caption_prefix': 'Feil', + 'party_selection.invalid_selection_non_existing_party': + 'Du har startet tjenesten med en aktør som enten ikke finnes eller som du ikke har tilgang på. Velg ny aktør under for å fortsette.', + 'party_selection.invalid_selection_existing_party': + 'Du har startet tjenesten som {0}. Denne tjenesten er kun tilgjengelig for {1}. Velg ny aktør under.', + 'party_selection.no_valid_selection_first_part': 'Dette er en tjeneste for {0}', + 'party_selection.no_valid_selection_second_part': + 'Det ser ut som du ikke har tilgang til en aktør som har lov til å starte {0}.', + 'party_selection.no_valid_selection_third_part': + 'For å starte denne tjenesten må du ha tilganger som knytter deg til en {0}.', + 'party_selection.no_valid_selection_binding_word': 'og', + 'party_selection.change_party': 'skift aktør her', + 'party_selection.read_more_roles_link': 'Her finner du mer informasjon om roller og rettigheter', + 'party_selection.binding_word': 'eller', + 'party_selection.header': 'Hvem vil du sende inn for?', + 'party_selection.load_more': 'Last flere', + 'party_selection.search_placeholder': 'Søk etter aktør', + 'party_selection.subheader': 'Dine aktører som kan starte tjenesten:', + 'party_selection.unit_type_private_person': 'privatperson', + 'party_selection.unit_type_company': 'virksomhet', + 'party_selection.unit_type_bankruptcy_state': 'konkursbo', + 'party_selection.unit_type_subunit': 'underenhet', + 'party_selection.unit_type_subunit_plural': 'underenheter', + 'party_selection.unit_deleted': 'slettet', + 'party_selection.unit_org_number': 'org.nr.', + 'party_selection.unit_personal_number': 'personnr.', + 'party_selection.show_deleted': 'Vis slettede', + 'party_selection.show_sub_unit': 'Vis underenheter', + 'party_selection.why_seeing_this': 'Hvorfor ser jeg dette?', + 'party_selection.seeing_this_preference': + 'Du kan endre [profilinnstillingene](https://altinn.no/ui/Profile) dine for å ikke bli spurt om aktør hver gang du starter utfylling av et nytt skjema. Du finner denne innstillingen under **Profil** > **Avanserte innstillinger** > **Jeg ønsker ikke å bli spurt om aktør hver gang jeg starter utfylling av et nytt skjema**.', + 'party_selection.seeing_this_override': 'Denne appen er satt opp til å alltid spørre om aktør.', + 'payment.pay': 'Betal', + 'payment.summary': 'Oppsummering', + 'payment.alert.paid': 'Du har betalt!', + 'payment.alert.failed': 'Betalingen feilet', + 'payment.receipt.title': 'Betalingskvittering', + 'payment.receipt.payment_id': 'Betalings ID', + 'payment.receipt.altinn_ref': 'Altinn reference', + 'payment.receipt.payment_date': 'Dato for kjøp', + 'payment.receipt.total_amount': 'Total beløp', + 'payment.receipt.receiver': 'Mottaker', + 'payment.receipt.payer': 'Betaler', + 'payment.receipt.name': 'Navn', + 'payment.receipt.phone': 'Telefon', + 'payment.receipt.company_name': 'Firmanavn', + 'payment.receipt.org_number': 'Organisasjonsnummer', + 'payment.receipt.contact_person': 'Kontaktperson', + 'payment.receipt.contact_phone': 'Kontakttelefon', + 'payment.receipt.contact_email': 'Kontakt-e-post', + 'payment.receipt.address': 'Addresse', + 'payment.receipt.org_num': 'Organisasjonsnummer', + 'payment.receipt.account_number': 'Kontonummer', + 'payment.receipt.card_number': 'Kortnummer', + 'payment.receipt.card_expiry': 'Utløpsdato', + 'payment.receipt.email': 'E-post', + 'payment.component.description': 'Beskrivelse', + 'payment.component.quantity': 'Antall', + 'payment.component.price': 'Pris', + 'payment.component.total': 'Totalt', + 'payment.component.vat': 'MVA', + 'organisation_lookup.orgnr_label': 'Organisasjonsnummer', + 'organisation_lookup.org_name': 'Organisasjonsnavn', + 'organisation_lookup.from_registry_description': 'Fra enhetsregisteret', + 'organisation_lookup.validation_error_not_found': 'Organisasjonsnummeret ble ikke funnet i enhetsregisteret', + 'organisation_lookup.validation_invalid_response_from_server': 'Ugyldig respons fra server', + 'organisation_lookup.unknown_error': 'Ukjent feil. Vennligst prøv igjen senere', + 'organisation_lookup.validation_error_orgnr': 'Organisasjonsnummeret er ugyldig', + 'organisation_lookup.error_required': 'Du må fylle ut {0} og hente opplysninger', + 'organisation_lookup.submit_button': 'Hent opplysninger', + 'organisation_lookup.clear_button': 'Fjern', + 'person_lookup.error_required': 'Du må fylle ut {0} og hente opplysninger', + 'person_lookup.submit_button': 'Hent opplysninger', + 'person_lookup.clear_button': 'Fjern', + 'person_lookup.ssn_label': 'Fødselsnummer', + 'person_lookup.surname_label': 'Etternavn', + 'person_lookup.name_label': 'Navn', + 'person_lookup.from_registry_description': 'Fra folkeregisteret', + 'person_lookup.validation_error_name_too_short': 'Etternavn kan ikke være tomt.', + 'person_lookup.validation_error_ssn': 'Fødselsnummeret/D-nummeret er ugyldig.', + 'person_lookup.validation_error_not_found': + 'Ingen person er registrert med denne kombinasjonen av fødselsnummer/D-nummer og navn. Vennligst kontroller feltene og prøv igjen.
    Merk: Etter 5 feilforsøk blir søkemuligheten midlertidig sperret.', + 'person_lookup.validation_error_too_many_requests': + 'Du har nådd grensen for antall søk. Vennligst prøv igjen senere.', + 'person_lookup.validation_error_forbidden': + 'Du har ikke tilgang til å søke på denne personen. Sikkerhetsnivå 2 eller høyere kreves.', + 'person_lookup.validation_invalid_response_from_server': 'Det oppstod en feil. Vennligst prøv igjen senere.', + 'person_lookup.unknown_error': 'Ukjent feil. Vennligst prøv igjen senere.', + 'helptext.button_title': 'Hjelp', + 'helptext.button_title_prefix': 'Hjelpetekst for', + 'receipt.attachments': 'Vedlegg', + 'receipt.body': + 'Det er gjennomført en maskinell kontroll under utfylling, men vi tar forbehold om at det kan bli oppdaget feil under saksbehandlingen og at annen dokumentasjon kan være nødvendig. Vennligst oppgi referansenummer ved eventuelle henvendelser til etaten.', + 'receipt.body_simple': + 'Av sikkerhetshensyn vil verken innholdet i tjenesten eller denne meldingen være synlig i Altinn etter at du har forlatt denne siden.', + 'receipt.date_sent': 'Dato sendt', + 'receipt.receiver': 'Mottaker', + 'receipt.receipt': 'Kvittering', + 'receipt.ref_num': 'Referansenummer', + 'receipt.sender': 'Avsender', + 'receipt.subtitle': 'Kopi av din kvittering er sendt til ditt arkiv', + 'receipt.title': 'Skjemaet er sendt inn', + 'receipt.title_submitted': 'Følgende er sendt inn:', + 'receipt_platform.attachments': 'Vedlegg', + 'receipt_platform.date_sent': 'Dato sendt', + 'receipt_platform.helper_text': + 'Det er gjennomført en maskinell kontroll under utfylling, men vi tar forbehold om at det kan bli oppdaget feil under saksbehandlingen og at annen dokumentasjon kan være nødvendig. Vennligst oppgi referansenummer ved eventuelle henvendelser til etaten.', + 'receipt_platform.is_sent': 'er sendt inn', + 'receipt_platform.receipt': 'Kvittering', + 'receipt_platform.receiver': 'Mottaker', + 'receipt_platform.reference_number': 'Referansenummer', + 'receipt_platform.sender': 'Avsender', + 'receipt_platform.sent_content': 'Følgende er sendt inn:', + 'receipt_platform.log_out': 'Logg ut', + 'receipt_platform.profile_icon_aria_label': 'Profil ikon knapp', + 'soft_validation.info_title': 'Lurt å tenke på', + 'soft_validation.warning_title': 'OBS', + 'soft_validation.success_title': 'Så flott!', + 'validation.generic_field': 'dette feltet', + 'validation_errors.min': 'Minste gyldig tall er {0}', + 'validation_errors.max': 'Største gyldig tall er {0}', + 'validation_errors.minLength': 'Bruk {0} eller flere tegn', + 'validation_errors.maxLength': 'Bruk {0} eller færre tegn', + 'validation_errors.length': 'Antall tillatte tegn er {0}', + 'validation_errors.pattern': 'Feil format eller verdi', + 'validation_errors.required': 'Feltet er påkrevd', + 'validation_errors.enum': 'Kun verdiene {0} er tillatt', + 'validation_errors.minItems': 'Minst {0} rader er påkrevd', + 'validation_errors.maxItems': 'Maks {0} rader er tillatt', + 'validation_errors.formatMinimum': 'Minste gyldig verdi er {0}', + 'validation_errors.formatMaximum': 'Største gyldig verdi er {0}', + 'map_component.selectedLocation': 'Valgt lokasjon: {0}° nord, {1}° øst', + 'map_component.noSelectedLocation': 'Ingen lokasjon valgt', + 'multiple_select_component.no_options': 'Ingen valg tilgjengelig', + 'multiple_select_component.placeholder': 'Velg...', + 'list_component.rowsPerPage': 'Rader per side', + 'list_component.previousPage': 'Forrige', + 'list_component.previousPageAriaLabel': 'Forrige side i tabell', + 'list_component.nextPage': 'Neste', + 'list_component.nextPageAriaLabel': 'Neste side i tabell', + 'list_component.controlsHeader': 'Velg rad', + 'config_error.layoutset_subform_config_error': + 'Layout set med id {0} er konfigurert feil.

    Layout set kan ikke ha både type og tasks definert.', + 'config_error.layoutset_error': 'Layout set error', + 'config_error.component_has_errors': 'En feil oppstod for {0}:', + 'config_error.component_has_errors_after': + 'Så lenge komponenten har konfigurasjonsfeil kan vi ikke vise den i skjemaet. Rett opp i feilene og prøv igjen.', + 'config_error.subform_no_datatype_layoutset': 'Datatype-spesifikasjon ikke funnet i layout-sets.json.', + 'config_error.subform_no_datatype_appmetadata': "Datatype '{0}' ble ikke funnet i applicationmetadata.json.", + 'config_error.subform_misconfigured_add_button': + "Datatype '{0}' er markert som 'disallowUserCreate=true', men underskjema-komponenten er konfigurert med 'showAddButton=true'. Dette er en motsetning, siden brukeren aldri vil få lov til å utføre handlingene bak legg-til knappen.", + 'config_error.file_upload_same_binding': + 'Det er flere filopplastingskomponenter med samme datamodell-binding. Hver komponent må ha en unik binding. Andre komponenter med samme binding: {0}', + 'config_error.deletion_strategy_no_group': 'Feltene deletionStrategy og checked kan kun brukes sammen med group.', + 'config_error.group_no_deletion_strategy': 'Når du har satt group må du også sette deletionStrategy.', + 'config_error.soft_delete_no_checked': 'Når du har satt deletionStrategy til soft må du også sette "checked".', + 'config_error.hard_delete_with_checked': 'Når du har satt deletionStrategy til hard kan du ikke sette "checked".', + 'version_error.version_mismatch': 'Versjonsfeil', + 'version_error.version_mismatch_message': + 'Denne versjonen av app frontend er ikke kompatibel med den versjonen av backend-bibliotekene du bruker. Oppdater til nyeste versjon av pakkene og prøv igjen.', + 'version_error.min_backend_version': 'Minimum backend versjon er {0}', + 'missing_row_id_error.title': 'Mangler rad-ID', + 'missing_row_id_error.message': + 'Når data ble lastet inn manglet det en rad-ID. Dette er en feil i konfigurasjonen av skjemaet, og må rettes opp ved hjelp av migreringsverktøyene. Sjekk loggene i utviklerverktøyene for mer informasjon.', + 'missing_row_id_error.full_message': + 'Datamodellen mangler egenskapen {0} i stien {1}. Dette skal automatisk bli lagt til i datamodellen dersom du bruker riktig versjon av nuget-pakkene og har kjørt migreringsverktøyene. Les mer om verktøyene i dokumentasjonen: https://docs.altinn.studio/community/changelog/app-nuget/v8/migrating-from-v7/', + 'likert.left_column_default_header_text': 'Spørsmål', + 'process_error.submit_error_please_retry': 'Noe gikk galt under innsendingen, prøv igjen om noen minutter.', + 'pdfPreview.error': 'Kunne ikke forhåndsvise PDF', + 'pdfPreview.defaultButtonText': 'Forhåndsvis PDF', + 'taskTypes.data': 'Utfylling', + 'taskTypes.signing': 'Signering', + 'taskTypes.confirmation': 'Bekreftelse', + 'taskTypes.payment': 'Betaling', + 'taskTypes.receipt': 'Kvittering', + 'signing.awaiting_signature_panel_title': 'Signer dokumenter', + 'signing.checkbox_label': 'Jeg bekrefter at informasjonen og dokumentene er korrekte.', + 'signing.sign_button': 'Signer', + 'signing.submit_panel_title': 'Du kan nå sende inn skjemaet', + 'signing.submit_panel_description': 'Alle parter har signert! Velg "{0}" for å fullføre.', + 'signing.submit_button': 'Send inn skjemaet', + 'signing.submit_panel_radio_group_legend': 'Hvem ønsker du å signere på vegne av?', + 'signing.submit_panel_radio_group_description': 'Følgende er parter du har rettigheter til å signere på vegne av.', + 'signing.submit_panel_single_org_choice': 'Du signerer på vegne av {0}.', + 'signing.submit_panel_myself_choice': 'Meg selv', + 'signing.awaiting_other_signatures_panel_title': 'Venter på signaturer', + 'signing.awaiting_other_signatures_panel_description_not_signing': + 'Du kan sende inn skjemaet når alle parter har signert.', + 'signing.awaiting_other_signatures_panel_description_signed': + 'Takk for at du signerte! Du kan sende inn skjemaet når alle parter har signert.', + 'signing.awaiting_other_signatures_panel_error_message': + 'Det mangler signaturer. Du kan sende inn skjemaet når alle parter har signert.', + 'signing.no_action_required_panel_title_has_signed': 'Du har signert skjemaet', + 'signing.no_action_required_panel_title_not_signed': 'Ingenting å signere', + 'signing.no_action_required_panel_description_has_signed': 'Alt i orden! Du kan nå gå tilbake til innboksen.', + 'signing.no_action_required_panel_description_not_signed': 'Du har ikke tilgang til å signere dette skjemaet.', + 'signing.no_action_required_button': 'Gå til innboksen', + 'signing.api_error_panel_title': 'Kunne ikke hente signeringsstatus', + 'signing.api_error_panel_description': + 'En feil oppstod under henting av status for signaturer. Prøv igjen senere eller kontakt skjemaeier for å rette opp feilen.', + 'signing.delegation_error_panel_title': 'Kunne ikke gi tilgang til skjema', + 'signing.delegation_error_panel_description': + 'En eller flere av signatarene er ugyldige og har ikke fått tilgang til skjemaet. Gå tilbake for å prøve å rette opp feilen eller kontakt skjemaeier.', + 'signing.reject_modal_title': 'Avbryt signeringsprosessen', + 'signing.reject_modal_description': + 'Ved å avbryte signeringsprosessen vil alle signaturer bli slettet og alle delegerte tilganger trukket tilbake.', + 'signing.reject_modal_button': 'Avbryt signeringsprosessen', + 'signing.reject_modal_trigger_button': 'Avbryt signering', + 'signing.loading': 'Laster inn signeringsstatus...', + 'signing.wrong_task_error': '{0}-komponenten er kun tilgjengelig i et signeringssteg.', + 'signing.error_missing_signing_rights': + 'Noe gikk galt. Nåværende bruker skal signere, men har ikke rettigheter til å gjøre det.', + 'signing.error_signing': 'Noe gikk galt under signeringen. Prøv igjen.', + 'signing.error_signing_not_confirmed_documents': 'Du må bekrefte at du har lest dokumentene før du signerer.', + 'signing.error_signing_no_on_behalf_of': 'Du må velge hvem du signerer på vegne av før du signerer.', + 'signee_list.parse_error': 'Feil ved lasting av signatarliste.', + 'signee_list.unknown_api_error': 'En feil oppstod under henting av signatarer.', + 'signee_list.api_error_display': + 'En feil oppstod under henting av signatarer. Se devtool-loggene for mer informasjon.', + 'signee_list.no_signees': 'Ingen signatarer funnet.', + 'signee_list.signee_status_signed': 'Signert', + 'signee_list.signee_status_waiting': 'Venter på signering', + 'signee_list.signee_status_delegation_failed': 'Delegering mislyktes', + 'signee_list.signee_status_notification_failed': 'Varsling mislyktes', + 'signee_list.header_name': 'Navn', + 'signee_list.header_on_behalf_of': 'På vegne av', + 'signee_list.header_status': 'Status', + 'signee_list_summary.name_placeholder': 'Ukjent navn', + 'signee_list_summary.on_behalf_of': 'på vegne av', + 'signee_list_summary.loading': 'Laster signaturdata...', + 'signee_list_summary.error': 'Feil ved lasting av signaturdata.', + 'signee_list_summary.no_data': 'Ingen signaturdata.', + 'signee_list_summary.no_signatures': 'Ingen signaturer funnet.', + 'signee_list_summary.signed_time': 'Digitalt signert gjennom Altinn {0}', + 'signing_document_list.parse_error': 'Feil ved lasting av dokumenter.', + 'signing_document_list.unknown_api_error': 'En feil oppstod under henting av doumenter.', + 'signing_document_list.api_error_display': + 'En feil oppstod under henting av dokumenter. Se devtool-loggene for mer informasjon.', + 'signing_document_list.header_filename': 'Navn', + 'signing_document_list.header_attachment_type': 'Vedleggstype', + 'signing_document_list.header_size': 'Størrelse', + 'signing_document_list.attachment_type_form': 'Skjema', + 'signing_document_list.download': 'Last ned', + 'signing_document_list_summary.header': 'Signerte dokumenter', + } satisfies FixedLanguageList; +} diff --git a/src/language/texts/nn.ts b/src/language/texts/nn.ts index 479a7ef8e5..2511857293 100644 --- a/src/language/texts/nn.ts +++ b/src/language/texts/nn.ts @@ -1,496 +1,497 @@ -import type { FixedLanguageList } from 'src/language/languages'; - -export function nn() { - return { - 'dateTime.am': 'a.m.', - 'dateTime.pm': 'p.m.', - 'altinn.standard_validation.file_content_type_not_allowed': - 'Det ser ut som du prøver å lasta opp ein filtype som ikkje er tillaten. Sjekk at fila faktisk er av den typen han gir seg ut for å vera.', - 'actions.sign': 'Signer', - 'actions.confirm': 'Bekreft', - 'actions.reject': 'Avslå', - 'actions.instantiate': 'Instansier', - 'address_component.address': 'Gateadresse', - 'address_component.care_of': 'C/O eller annan tilleggsadresse', - 'address_component.house_number': 'Bustadnummer', - 'address_component.house_number_helper': - 'Om adressa er felles for fleire bueiningar må du oppgi bustadnummer. Den består av ein bokstav og fire tal og skal vere ført opp ved/på inngangsdøra di.', - 'address_component.post_place': 'Poststad', - 'address_component.simplified': 'Enkel', - 'address_component.title_text_binding': 'Søk etter ledetekst for Adressekomponenten', - 'address_component.zip_code': 'Postnr', - 'address_component.validation_error_zipcode': 'Postnummer er ugyldig. Eit postnummer består berre av 4 siffer.', - 'address_component.validation_error_house_number': 'Bustadnummer er ugyldig', - 'confirm.answers': 'Svara dine', - 'confirm.attachments': 'Vedlegg', - 'confirm.body': - 'Du er no klar for å sende inn {0}. Før du sender inn vil vi anbefale å sjå over svara dine. Du kan ikkje endre svara etter at du har sendt inn.', - 'confirm.button_text': 'Send inn', - 'confirm.deadline': 'Frist innsending', - 'confirm.sender': 'Aktør', - 'confirm.title': 'Sjå over svara dine før du sender inn', - 'custom_actions.general_error': 'Noko gjekk gale med denne handlinga. Prøv igjen seinare.', - 'date_picker.invalid_date_message': 'Ugyldig datoformat. Bruk formatet {0}.', - 'date_picker.cancel_label': 'Avbryt', - 'date_picker.clear_label': 'Tøm', - 'date_picker.today_label': 'I dag', - 'date_picker.min_date_exeeded': 'Dato vald er før tidlegaste dato tillat', - 'date_picker.max_date_exeeded': 'Dato vald er etter seinaste dato tillat', - 'date_picker.aria_label_icon': 'Opne datoveljar', - 'date_picker.aria_label_left_arrow': 'Førre månad.', - 'date_picker.aria_label_right_arrow': 'Neste månad.', - 'date_picker.aria_label_year_dropdown': 'Vel år', - 'date_picker.aria_label_month_dropdown': 'Vel månad', - 'date_picker.format_text': 'Til dømes {0}', - 'time_picker.invalid_time_message': 'Ugyldig tidsformat. Bruk formatet {0}.', - 'time_picker.min_time_exceeded': 'Tida du har vald er før tidlegaste tillaten tid ({0}).', - 'time_picker.max_time_exceeded': 'Tida du har vald er etter seinaste tillaten tid ({0}).', - 'timepicker.hours': 'Timar', - 'timepicker.minutes': 'Minutt', - 'timepicker.seconds': 'Sekund', - 'timepicker.am_pm': 'AM/PM', - 'feedback.title': '## Du blir snart vidaresendt', - 'feedback.body': 'Vi venter på verifikasjon, når den er på plass blir du vidaresendt.', - 'form_filler.error_add_subform': 'Det oppstod ein feil ved oppretting av underskjema, ver vennleg og prøv igjen.', - 'form_filler.error_delete_subform': 'Noko gjekk gale ved sletting av underskjema, ver venleg og prøv igjen', - 'form_filler.error_fetch_subform': 'Feil ved lasting av skjemadata', - 'form_filler.error_max_count_reached_subform_server': 'Maksimalt tal på {0} oppføringar er nådd', - 'form_filler.error_max_count_reached_subform_local': 'Maksimalt tal på {0} oppføringar er nådd ({1})', - 'form_filler.error_min_count_not_reached_subform': 'Minst {0} {1} oppføring er påkravd', - 'form_filler.error_validation_inside_subform': 'Det er feil i ein eller fleire {0} oppføringar', - 'form_filler.subform_default_header': 'Oppføringer', - 'form_filler.alert_confirm': 'Bekreft', - 'form_filler.checkbox_alert': 'Er du sikker på at du vil fjerne avkrysningen?', - 'form_filler.multi_select_alert': 'Er du sikker på at du vil slette {0}?', - 'form_filler.dropdown_alert': 'Er du sikker på at du vil endre til {0}?', - 'form_filler.back_to_summary': 'Attende til samandrag', - 'form_filler.back_to_page': 'Attende til {0}', - 'form_filler.error_report_header': 'Du må retta desse feila før du kan gå vidare', - 'form_filler.error_required': 'Du må fylla ut {0}', - 'form_filler.file_upload_valid_file_format_all': 'alle', - 'form_filler.file_uploader_add_attachment': 'Legg til fleire vedlegg', - 'form_filler.file_uploader_drag': 'Dra og slepp eller', - 'form_filler.file_uploader_find': 'leit etter fil', - 'form_filler.file_uploader_list_delete': 'Slett vedlegg', - 'form_filler.file_uploader_delete_warning': 'Er du sikker på at du vil sletta dette vedlegget?', - 'form_filler.file_uploader_delete_button_confirm': 'Ja, slett vedlegg', - 'form_filler.file_uploader_list_header_file_size': 'Filstorleik', - 'form_filler.file_uploader_list_header_name': 'Namn', - 'form_filler.file_uploader_list_header_status': 'Status', - 'form_filler.file_uploader_list_status_done': 'Ferdig lasta', - 'form_filler.file_uploader_status_scanning': 'Skannar...', - 'form_filler.file_uploader_status_infected': 'Infisert', - 'form_filler.file_uploader_infected_file_alert': - 'Fila {0} er infisert med skadeleg programvare og kan ikkje brukast.', - 'form_filler.file_uploader_infected_file_action': 'Last opp ei rein fil.', - 'form_filler.file_uploader_remove_infected_files': 'Fjern infiserte filer før innsending.', - 'form_filler.file_uploader_list_header_delete_sr': 'Slett', - 'form_filler.file_uploader_max_size_mb': 'Maks filstorleik {0} MB', - 'form_filler.file_uploader_upload': 'Last opp fil', - 'form_filler.file_uploader_number_of_files': 'Tal på filer {0}.', - 'form_filler.file_uploader_show_more_errors': 'Vis {0} fleire', - 'form_filler.file_uploader_show_fewer_errors': 'Vis færre', - 'form_filler.file_uploader_valid_file_format': 'Tillatne filformat er:', - 'form_filler.file_uploader_failed_to_upload_file': 'Fila {0} kunne ikkje lastast opp', - 'form_filler.file_uploader_validation_error_delete': 'Noko gjekk galt under slettinga av fila, prøv igjen seinare.', - 'form_filler.file_uploader_validation_error_exceeds_max_files': - 'Du kan ikkje laste opp fleire enn {0} filer. Ingen filer blei lasta opp.', - 'form_filler.file_uploader_validation_error_file_ending': 'er ikkje blant dei tillatne filtypane.', - 'form_filler.file_uploader_validation_error_file_number': 'For å halde fram må du laste opp {0} vedlegg', - 'form_filler.file_uploader_validation_error_file_size': '{0} overskrid tillatt filstorleik.', - 'form_filler.file_uploader_validation_error_general': - 'Det var eit problem med fila {0}. Forsikre deg om at fila har rett filtype og ikkje overskrid maks filstorleik.', - 'form_filler.file_uploader_validation_error_upload': - 'Noko gjekk galt under opplastinga av fila, prøv igjen seinare.', - 'form_filler.file_uploader_validation_error_update': - 'Noko gjekk galt under oppdateringa av filas merking, prøv igjen seinare.', - 'form_filler.file_uploader_validation_error_no_chosen_tag': 'Du må velja {0}', - 'form_filler.placeholder_receipt_header': 'Skjemaet er no fullført og sendt inn.', - 'form_filler.placeholder_user': 'OLA PRIVATPERSON', - 'form_filler.radiobutton_alert_label': 'Er du sikker på at du vil endre frå {0}?', - 'form_filler.required_description': 'Obligatoriske felt er markerte med *', - 'form_filler.required_label': '*', - 'form_filler.summary_item_change': 'Endre', - 'form_filler.summary_go_to_correct_page': 'Gå til riktig side i skjema', - 'form_filler.address': 'Gateadresse', - 'form_filler.careOf': 'C/O eller annan tilleggsadresse', - 'form_filler.houseNumber': 'Bustadnummer', - 'form_filler.postPlace': 'Poststad', - 'form_filler.zipCode': 'Postnr', - 'form_filler.no_options_found': 'Fann ingen treff', - 'form_filler.clear_selection': 'Fjern alle valde', - 'form_filler.person_lookup_ssn': 'fødselsnummer', - 'form_filler.person_lookup_name': 'namn', - 'form_filler.organisation_lookup_orgnr': 'organisasjonsnummer', - 'form_filler.organisation_lookup_name': 'organisasjonsnamn', - 'navigation.main': 'Overordnet', - 'navigation.form': 'Skjemasider', - 'navigation.to_main_content': 'Hopp til hovedinnholdet', - 'navigation.go_to_task': 'Gå til {0}', - 'navigation.form_pages': 'Skjemasider', - 'navigation.back_to_inbox': 'Tilbake til innboks', - 'navigation.inbox': 'Innboks', - 'navigation.back_to_main_form': 'Tilbake til {0}', - 'navigation.main_form': '{0}', - 'navigation.back': 'Tilbake', - 'navigation.page_error': 'Feil på side', - 'navigation.page_complete': 'Side fullført', - 'navigation.page_group_error': 'Feil i sidegruppe', - 'navigation.page_group_complete': 'Sidegruppe fullført', - 'general.action': 'Handling', - 'general.accessibility': 'Tilgjengelegheit', - 'general.accessibility_url': 'https://info.altinn.no/nn/om-altinn/tilgjengelighet/', - 'general.add_connection': 'Legg til tilkobling', - 'general.add_new': 'Legg til ny', - 'general.add': 'Legg til', - 'general.back': 'Attende', - 'general.cancel': 'Avbryt', - 'general.choose_label': 'Vel namn', - 'general.choose_method': 'Vel metode', - 'general.choose': 'Vel', - 'general.close': 'Lukk', - 'general.contains': 'Inneheld', - 'general.control_submit': 'Kontroller og send inn', - 'general.create_new': 'Opprett ny', - 'general.create': 'Opprett', - 'general.customer_service_phone_number': '+47 75 00 60 00', - 'general.customer_service_slack': 'https://altinn.slack.com', - 'general.customer_service_email': 'servicedesk@altinn.no', - 'general.customer_service_error_message': - 'Om du treng hjelp kan du nå Altinn på:

    Telefon: {0}
    E-post: {1}
    Slack: {2}', - 'general.delete': 'Slett', - 'general.download': 'Nedlasting {0}', - 'general.disabled': 'Deaktivert', - 'general.done': 'Ferdig', - 'general.edit_alt_error': 'Rett feil her', - 'general.edit_alt': 'Rediger', - 'general.edit': 'Endre', - 'general.empty_summary': 'Du har ikkje lagt inn informasjon her', - 'general.empty_table': 'Ingen data funne.', - 'general.enabled': 'Aktivert', - 'general.error_message_with_colon': 'Feilmelding:', - 'general.full_width': 'Utvid breidden', - 'general.standard_width': 'Reduser breidden', - 'general.for': 'for', - 'general.header_profile_icon_label': 'Profil ikon knapp', - 'general.label': 'Namn', - 'general.loading': 'Lastar innhald', - 'general.log_out': 'Logg ut', - 'general.next': 'Neste', - 'general.no_options': 'Ingen alternativ tilgjengeleg', - 'general.optional': 'Valfri', - 'general.page_number': 'Side {0}', - 'general.print_button_text': 'Print / Lagre PDF', - 'general.progress': 'Side {0} av {1}', - 'general.required': 'Obligatorisk', - 'general.save': 'Lagre', - 'general.save_and_close': 'Lagre og lukk', - 'general.save_and_next': 'Lagre og opne neste', - 'general.search': 'Søk', - 'general.select_field': 'Vel felt', - 'general.service_description_header': 'Beskriving', - 'general.service_name': 'Tenestenamn', - 'general.service_owner': 'Tenesteeigar', - 'general.service_saved_name': 'Lagringsnamn', - 'general.submit': 'Send inn', - 'general.validate_changes': 'Validér endringar', - 'general.value': 'Verdi', - 'general.version': 'Versjon', - 'general.wait_for_attachments': 'Vent litt, vi prosesserer vedlegg', - 'general.wait_for_attachments_infected': 'Fjern infiserte filer før du held fram', - 'general.wait_for_attachments_scanning': 'Skannar filer for skadeleg programvare...', - 'general.part_of_form_completed': - 'Denne delen av skjemaet er ikkje tilgjengeleg. Du kan ikkje gjere endringar her no', - 'general.invalid_task_id': 'Denne delen av skjemaet finst ikkje.', - 'general.navigate_to_current_process': 'Gå til rett prosesstrinn', - 'group.row_error': 'Ei av radene er ikkje fylt ut riktig. Dette må bli retta før skjema kan sendast inn.', - 'group.row_popover_delete_message': 'Er du sikker på at du vil sletta denne rada?', - 'group.row_popover_delete_button_confirm': 'Ja, slett rada', - 'iframe_component.unsupported_browser_title': 'Nettlesaren din støttas ikkje', - 'iframe_component.unsupported_browser': - 'Nettlesaren di støttar ikkje iframes som brukar srcdoc. Dette kan føre til at du ikkje ser all innhaldet som er meint å visast her. Vi anbefalar deg å prøve ein annan nettlesar.', - 'input_components.remaining_characters': 'Du har %d teikn igjen', - 'input_components.exceeded_max_limit': 'Du har overskride maks teikn med %d', - 'instance_selection.changed_by': 'Endra av', - 'instance_selection.continue': 'Hald fram her', - 'instance_selection.description': - 'Vel om du vil halde fram med eit skjema du har byrja på, eller om du vil starte på ny.', - 'instance_selection.header': 'Du har allereie starta å fylle ut dette skjemaet.', - 'instance_selection.last_changed': 'Sist endra', - 'instance_selection.left_of': 'Hald fram der du slapp', - 'instance_selection.new_instance': 'Start på nytt', - 'instantiate.all_forms': 'alle skjema', - 'instantiate.inbox': 'innboks', - 'instantiate.profile': 'profil', - 'instantiate.unknown_error_title': 'Ukjent feil', - 'instantiate.unknown_error_text': 'Det har skjedd ein ukjent feil, ver venleg prøv igjen seinare.', - 'instantiate.unknown_error_status': 'Ukjent feil', - 'instantiate.unknown_error_customer_support': 'Om problemet hald fram, ta kontakt med oss på brukarservice {0}.', - 'instantiate.forbidden_action_error_title': 'Du manglar rett til å utføre denne handlinga', - 'instantiate.forbidden_action_error_text': 'Det ser ut til at du ikkje har rett til å utføre denne handlinga.', - 'instantiate.forbidden_action_error_status': '403 - Forbidden', - 'instantiate.forbidden_action_error_customer_support': - 'Om du treng hjelp, ta kontakt med oss på brukarservice
    {0}.', - 'instantiate.authorization_error_main_title': 'Du manglar rett til å sjå denne tenesta.', - 'instantiate.authorization_error_instantiate_validation_title': 'Du kan ikkje starte denne tenesta', - 'instantiate.authorization_error_rights': 'Det ser ut til at du ikkje har rett til å starte denne tenesta for {0}', - 'instantiate.authorization_error_ask': - 'Om du representerer ein person, er det den du representerer som kan gi deg dei naudsynte rettane til å starte tenesta. Representerer du ein organisasjon er det personar som har rolla tilgangsstyring innad i organisasjonen som kan gi deg dei naudsynte rettane.', - 'instantiate.authorization_error_check_rights': - 'Sjå kven som har rolla tilgangsstyring under "Andre med rettar til verksemda".', - 'instantiate.authorization_error_info_rights': - 'Her finn du meir informasjon om roller og rettar.', - 'instantiate.authorization_error_info_customer_service': 'Du kan også kontakte oss på brukarservice {0}.', - 'instantiate.authorization_error_instantiate_validation_info_customer_service': - 'Om du står fast kontakt oss på brukarservice {0}.', - 'instantiate.starting': 'Vent litt, vi hentar det du treng', - 'language.language_selection': 'Språkval', - 'language.full_name.nb': 'Norsk bokmål', - 'language.full_name.en': 'Engelsk', - 'language.full_name.nn': 'Nynorsk', - 'language.selector.label': 'Språk', - 'party_selection.error_caption_prefix': 'Feil', - 'party_selection.invalid_selection_non_existing_party': - 'Du har starta tenesta med ein aktør som anten ikkje finst eller som du ikkje har tilgang til. Vel ein ny aktør nedanfor for å halde fram.', - 'party_selection.invalid_selection_existing_party': - 'Du har starta tenesta som {0}. Denne tenesta er kun tilgjengeleg for {1}. Vel ny aktør under.', - 'party_selection.no_valid_selection_first_part': 'Dette er ei teneste for {0}', - 'party_selection.no_valid_selection_second_part': - 'Det ser ut som du ikkje har tilgang til ein aktør som har lov til å starte {0}.', - 'party_selection.no_valid_selection_third_part': - 'For å starte denne tenesta må du ha tilgangar som knytter deg til ein {0}.', - 'party_selection.no_valid_selection_binding_word': 'og', - 'party_selection.change_party': 'skift aktør her', - 'party_selection.read_more_roles_link': 'Her finn du meir informasjon om roller og rettar', - 'party_selection.binding_word': 'eller', - 'party_selection.header': 'Kven vil du sende inn for?', - 'party_selection.load_more': 'Last fleire', - 'party_selection.search_placeholder': 'Søk etter aktør', - 'party_selection.subheader': 'Dine aktørar som kan starte tenesta:', - 'party_selection.unit_type_private_person': 'privatperson', - 'party_selection.unit_type_company': 'verksemd', - 'party_selection.unit_type_bankruptcy_state': 'konkursbo', - 'party_selection.unit_type_subunit': 'undereining', - 'party_selection.unit_type_subunit_plural': 'undereiningar', - 'party_selection.unit_deleted': 'sletta', - 'party_selection.unit_org_number': 'org.nr.', - 'party_selection.unit_personal_number': 'personnr.', - 'party_selection.show_deleted': 'Vis sletta', - 'party_selection.show_sub_unit': 'Vis undereiningar', - 'party_selection.why_seeing_this': 'Kvifor ser eg dette?', - 'party_selection.seeing_this_preference': - 'Du kan endra [profilinnstillingane](https://altinn.no/ui/Profile) dine for å ikkje bli spurt om aktør kvar gong du startar utfylling av eit nytt skjema. Du finn denne innstillinga under **Profil** > **Avanserte innstillingar** > **Eg ønskjer ikkje å bli spurt om aktør kvar gong eg startar utfylling av eit nytt skjema**.', - 'party_selection.seeing_this_override': 'Denne appen er sett opp til å alltid spørja om aktør.', - 'payment.pay': 'Betal', - 'payment.summary': 'Oppsummering', - 'payment.alert.paid': 'Du har betalt!', - 'payment.alert.failed': 'Betalinga feilet', - 'payment.receipt.title': 'Betalingskvittering', - 'payment.receipt.payment_id': 'Betalings ID', - 'payment.receipt.altinn_ref': 'Altinn referanse', - 'payment.receipt.payment_date': 'Dato for kjøp', - 'payment.receipt.total_amount': 'Total beløp', - 'payment.receipt.receiver': 'Mottaker', - 'payment.receipt.payer': 'Betaler', - 'payment.receipt.name': 'Navn', - 'payment.receipt.company_name': 'Firmanavn', - 'payment.receipt.org_number': 'Organisasjonsnummer', - 'payment.receipt.contact_person': 'Kontaktperson', - 'payment.receipt.contact_phone': 'Kontakttelefon', - 'payment.receipt.contact_email': 'Kontakt-e-post', - 'payment.receipt.phone': 'Telefon', - 'payment.receipt.address': 'Addresse', - 'payment.receipt.org_num': 'Organisasjonsnummer', - 'payment.receipt.account_number': 'Kontonummer', - 'payment.receipt.card_number': 'Kortnummer', - 'payment.receipt.card_expiry': 'Utløpsdato', - 'payment.receipt.email': 'E-post', - 'payment.component.description': 'Beskrivelse', - 'payment.component.quantity': 'Antall', - 'payment.component.price': 'Pris', - 'payment.component.total': 'Totalt', - 'payment.component.vat': 'MVA', - 'organisation_lookup.orgnr_label': 'Organisasjonsnummer', - 'organisation_lookup.org_name': 'Organisasjonsnamn', - 'organisation_lookup.from_registry_description': 'Frå enhetsregisteret', - 'organisation_lookup.validation_error_not_found': 'Organisasjonsnummeret er ikkje funne i registeret', - 'organisation_lookup.validation_invalid_response_from_server': 'Ugyldig respons frå server', - 'organisation_lookup.unknown_error': 'Ukjent feil. Ver venleg og prøv igjen seinare', - 'organisation_lookup.validation_error_orgnr': 'Organisasjonsnummeret er ugyldig', - 'organisation_lookup.error_required': 'Du må fylla ut {0} og henta opplysningar', - 'organisation_lookup.submit_button': 'Hent opplysningar', - 'organisation_lookup.clear_button': 'Fjern', - 'person_lookup.error_required': 'Du må fylla ut {0} og henta opplysningar', - 'person_lookup.submit_button': 'Hent opplysningar', - 'person_lookup.clear_button': 'Fjern', - 'person_lookup.ssn_label': 'Fødselsnummer', - 'person_lookup.surname_label': 'Etternamn', - 'person_lookup.name_label': 'Namn', - 'person_lookup.from_registry_description': 'Frå folkeregisteret', - 'person_lookup.validation_error_name_too_short': 'Etternamn kan ikkje vere tomt.', - 'person_lookup.validation_error_ssn': 'Fødselsnummeret/D-nummeret er ugyldig.', - 'person_lookup.validation_error_not_found': - 'Ingen person er registrert med denne kombinasjonen av fødselsnummer/D-nummer og namn. Ver venleg og kontroller felta og prøv igjen.
    Merk: Etter 5 feilforsøk blir søkemoglegheita mellombels sperra.', - 'person_lookup.validation_error_too_many_requests': 'Du har gjort for mange søk. Ver venleg, prøv igjen seinare.', - 'person_lookup.validation_error_forbidden': - 'Du har ikkje tilgang til å gjere dette søket. Sikkerheitsnivå 2 eller høgare er påkravd.', - 'person_lookup.validation_invalid_response_from_server': 'Det oppstod ein feil. Ver venleg, prøv igjen seinare.', - 'person_lookup.unknown_error': 'Det oppstod ein feil. Ver venleg, prøv igjen seinare.', - 'helptext.button_title': 'Hjelp', - 'helptext.button_title_prefix': 'Hjelpetekst for', - 'receipt.attachments': 'Vedlegg', - 'receipt.body': - 'Det er gjennomført ein maskinell kontroll under utfylling, men vi tek atterhald om at det kan bli oppdaga feil under sakshandsaminga og at annan dokumentasjon kan vere naudsynt. Ver venleg oppgi referansenummer ved eventuelle førespurnadar til etaten.', - 'receipt.body_simple': - 'Av tryggleiksomsyn vil verken innhaldet i tenesta eller denne meldinga vere synleg i Altinn etter at du har forlate denne sida.', - 'receipt.date_sent': 'Dato sendt', - 'receipt.receiver': 'Mottakar', - 'receipt.receipt': 'Kvittering', - 'receipt.ref_num': 'Referansenummer', - 'receipt.sender': 'Avsendar', - 'receipt.subtitle': 'Kopi av kvitteringa di er sendt til ditt arkiv', - 'receipt.title': 'Skjemaet er sendt inn', - 'receipt.title_submitted': 'Følgjande er sendt inn:', - 'receipt_platform.attachments': 'Vedlegg', - 'receipt_platform.date_sent': 'Dato sendt', - 'receipt_platform.helper_text': - 'Det er gjennomført ein maskinell kontroll under utfylling, men vi tek atterhald om at det kan bli oppdaga feil under sakshandsaminga og at annan dokumentasjon kan vere naudsynt. Ver venleg oppgi referansenummer ved eventuelle førespurnadar til etaten.', - 'receipt_platform.is_sent': 'er sendt inn', - 'receipt_platform.receipt': 'Kvittering', - 'receipt_platform.receiver': 'Mottakar', - 'receipt_platform.reference_number': 'Referansenummer', - 'receipt_platform.sender': 'Avsendar', - 'receipt_platform.sent_content': 'Følgjande er sendt inn:', - 'receipt_platform.log_out': 'Logg ut', - 'receipt_platform.profile_icon_aria_label': 'Profil ikon knapp', - 'soft_validation.info_title': 'Lurt å tenke på', - 'soft_validation.warning_title': 'OBS', - 'soft_validation.success_title': 'Så flott!', - 'validation.generic_field': 'dette feltet', - 'validation_errors.min': 'Minste gyldige tal er {0}', - 'validation_errors.max': 'Største gyldige tal er {0}', - 'validation_errors.minLength': 'Bruk {0} eller fleire teikn', - 'validation_errors.maxLength': 'Bruk {0} eller færre teikn', - 'validation_errors.length': 'Antall tillatne teikn er {0}', - 'validation_errors.pattern': 'Feil format eller verdi', - 'validation_errors.required': 'Feltet er påkravd', - 'validation_errors.enum': 'Kun verdiane {0} er tillatne', - 'validation_errors.minItems': 'Minst {0} radar er påkrevd', - 'validation_errors.maxItems': 'Maks {0} radar er tillatne', - 'validation_errors.formatMinimum': 'Minste gyldige verdi er {0}', - 'validation_errors.formatMaximum': 'Største gyldige verdi er {0}', - 'map_component.selectedLocation': 'Valt lokasjon: {0}° nord, {1}° øst', - 'map_component.noSelectedLocation': 'Ingen lokasjon valt', - 'multiple_select_component.no_options': 'Ingen valg tilgjengelig', - 'multiple_select_component.placeholder': 'Velg...', - 'list_component.rowsPerPage': 'Rader per side', - 'list_component.previousPage': 'Førre', - 'list_component.previousPageAriaLabel': 'Førre side i tabell', - 'list_component.nextPage': 'Neste', - 'list_component.nextPageAriaLabel': 'Neste side i tabell', - 'list_component.controlsHeader': 'Vel rad', - 'config_error.layoutset_subform_config_error': - 'Layout set med id {0} er feilkonfigurert.

    Layout set kan ikkje ha både type og tasks definert.', - 'config_error.layoutset_error': 'Layout set error', - 'config_error.component_has_errors': 'Ein feil oppstod for {0}:', - 'config_error.component_has_errors_after': - 'Medan du har feil i konfigurasjonen kan me ikkje vise komponenten i skjemaet. Rett opp i feila og prøv igjen.', - 'config_error.subform_no_datatype_layoutset': 'Datatype-spesifikasjon ikkje funnen i layout-sets.json.', - 'config_error.subform_no_datatype_appmetadata': "Datatype '{0}' vart ikkje funnen i applicationmetadata.json.", - 'config_error.subform_misconfigured_add_button': - "Datatype '{0}' er markert som 'disallowUserCreate=true', men underskjema-komponenten er konfigurert med 'showAddButton=true'. Dette er ei motseiing, Sidan brukaren aldri vil få lov til å utføre handlingane bak legg-til knappen.", - 'config_error.file_upload_same_binding': - 'Det er fleire filopplastingskomponentar med same datamodellbinding. Kvar komponent må ha ein unik binding. Andre komponentar med same binding: {0}', - 'config_error.deletion_strategy_no_group': 'Felta deletionStrategy og checked kan berre brukast saman med group.', - 'config_error.group_no_deletion_strategy': 'Når du har sett group, må du også setje deletionStrategy.', - 'config_error.soft_delete_no_checked': 'Når du har sett deletionStrategy til soft, må du også setje checked.', - 'config_error.hard_delete_with_checked': 'Når du har sett deletionStrategy til hard, kan du ikkje setje checked.', - 'version_error.version_mismatch': 'Versjonsfeil', - 'version_error.version_mismatch_message': - 'Denne versjonen av app frontend er ikkje kompatibel med den versjonen av backend-biblioteka du brukar. Oppdater til nyaste versjon av pakkane og prøv igjen.', - 'version_error.min_backend_version': 'Minimum backend versjon er {0}', - 'missing_row_id_error.title': 'Manglar rad-ID', - 'missing_row_id_error.message': - 'Når data blei lasta inn mangla det ein rad-ID. Dette er ein feil i konfigurasjonen av skjemaet, og må rettast opp ved hjelp av migreringsverktøya. Sjekk loggane i utviklarverktøya for meir informasjon.', - 'missing_row_id_error.full_message': - 'Datamodellen manglar eigenskapen {0} i stien {1}. Dette skal automatisk bli lagt til i datamodellen dersom du brukar riktig versjon av nuget-pakkane og har køyrt migreringsverktøya. Les meir om verktøya i dokumentasjonen: https://docs.altinn.studio/community/changelog/app-nuget/v8/migrating-from-v7/', - 'likert.left_column_default_header_text': 'Spørsmål', - 'process_error.submit_error_please_retry': 'Noko gjekk gale med innsending, prøv igjen om nokre minutt.', - 'pdfPreview.error': 'Kunne ikkje førehandsvise PDF', - 'pdfPreview.defaultButtonText': 'Førehandsvis PDF', - 'taskTypes.data': 'Utfylling', - 'taskTypes.signing': 'Signering', - 'taskTypes.confirmation': 'Bekreftelse', - 'taskTypes.payment': 'Betaling', - 'taskTypes.receipt': 'Kvittering', - 'signing.loading': 'Lastar inn signeringsstatus...', - 'signing.checkbox_label': 'Eg stadfestar at informasjonen og dokumenta er riktige.', - 'signing.awaiting_signature_panel_title': 'Signer skjemaet', - 'signing.sign_button': 'Signer skjemaet', - 'signing.submit_panel_title': 'Du kan no sende inn skjemaet', - 'signing.submit_panel_description': 'Alle partar har signert! Vel "{0}" for å fullføre.', - 'signing.submit_button': 'Send inn skjemaet', - 'signing.submit_panel_radio_group_legend': 'Kven ønskjer du å signere på vegne av?', - 'signing.submit_panel_radio_group_description': 'Følgjande er partar du har rettar til å signere på vegne av.', - 'signing.submit_panel_single_org_choice': 'Du signerer på vegne av {0}.', - 'signing.submit_panel_myself_choice': 'Meg sjølv', - 'signing.awaiting_other_signatures_panel_title': 'Vent på signaturar', - 'signing.awaiting_other_signatures_panel_description_not_signing': - 'Du kan sende inn skjemaet når alle partar har signert.', - 'signing.awaiting_other_signatures_panel_description_signed': - 'Takk for at du signerte! Du kan sende inn skjemaet når alle partar har signert.', - 'signing.awaiting_other_signatures_panel_error_message': - 'Det manglar signaturar. Du kan sende inn skjemaet når alle partar har signert.', - 'signing.no_action_required_panel_title_has_signed': 'Du har signert skjemaet', - 'signing.no_action_required_panel_title_not_signed': 'Ingenting å signere', - 'signing.no_action_required_panel_description_has_signed': 'Alt i orden! Du kan no gå tilbake til innboksen din.', - 'signing.no_action_required_panel_description_not_signed': 'Du har ikkje tilgang til å signere dette skjemaet.', - 'signing.no_action_required_button': 'Gå til innboksen', - 'signing.reject_modal_title': 'Avbryt signeringsprosessen', - 'signing.reject_modal_description': - 'Ved å avbryte signeringsprosessen blir alle signaturar sletta, og alle delegert tilgang trekt tilbake.', - 'signing.reject_modal_button': 'Avbryt signeringsprosessen', - 'signing.reject_modal_trigger_button': 'Avbryt signering', - 'signing.api_error_panel_title': 'Klarte ikkje hente signeringsstatus', - 'signing.api_error_panel_description': - 'Ein feil oppstod under henting av status for signaturar. Prøv igjen seinare eller kontakt skjemaeigar for å rette opp feilen.', - 'signing.delegation_error_panel_title': 'Klarte ikkje gi tilgang til skjema', - 'signing.delegation_error_panel_description': - 'Ein eller fleire av signatarane er ugyldige og har ikkje fått tilgang til skjemaet. Gå tilbake for å prøve å rette opp feilen eller kontakt skjemaeigar.', - 'signing.wrong_task_error': '{0}-komponenten er berre tilgjengeleg i eit signeringssteg.', - 'signing.error_missing_signing_rights': - 'Noko gjekk gale. Den noverande brukaren skal signere, men har ikkje rettar til å gjere det.', - 'signing.error_signing': 'Noko gjekk gale under signeringa. Prøv på nytt.', - 'signing.error_signing_not_confirmed_documents': 'Du må stadfeste at du har lese dokumenta før du signerer.', - 'signing.error_signing_no_on_behalf_of': 'Du må velje kven du signerer på vegner av før du signerer.', - 'signee_list.parse_error': 'Feil ved lasting av signatarliste.', - 'signee_list.unknown_api_error': 'Ein feil oppstod under henting av signatarar.', - 'signee_list.api_error_display': - 'Ein feil oppstod under henting av signatarar. Sjå devtool-loggane for meir informasjon.', - 'signee_list.no_signees': 'Ingen signatarar funne.', - 'signee_list.signee_status_signed': 'Signert', - 'signee_list.signee_status_waiting': 'Ventar på signering', - 'signee_list.signee_status_delegation_failed': 'Delegering mislukkast', - 'signee_list.signee_status_notification_failed': 'Varsling mislukkast', - 'signee_list.header_name': 'Namn', - 'signee_list.header_on_behalf_of': 'På vegne av', - 'signee_list.header_status': 'Status', - 'signee_list_summary.name_placeholder': 'Ukjent namn', - 'signee_list_summary.on_behalf_of': 'på vegne av', - 'signee_list_summary.loading': 'Lastar signaturdata...', - 'signee_list_summary.error': 'Feil ved lasting av signaturdata', - 'signee_list_summary.no_data': 'Ingen signaturdata.', - 'signee_list_summary.no_signatures': 'Ingen signaturar.', - 'signee_list_summary.signed_time': 'Digitalt signert gjennom Altinn {0}', - 'signing_document_list.parse_error': 'Feil ved lasting av dokumenter.', - 'signing_document_list.unknown_api_error': 'Ein feil oppstod under henting av dokumenter.', - 'signing_document_list.api_error_display': - 'Ein feil oppstod under henting av dokumenter. Sjå devtool-loggane for meir informasjon.', - 'signing_document_list.header_filename': 'Namn', - 'signing_document_list.header_attachment_type': 'Vedleggstype', - 'signing_document_list.header_size': 'Storleik', - 'signing_document_list.attachment_type_form': 'Skjema', - 'signing_document_list.download': 'Last ned', - 'signing_document_list_summary.header': 'Signerte dokument', - } satisfies FixedLanguageList; -} +import type { FixedLanguageList } from 'src/language/languages'; + +export function nn() { + return { + 'dateTime.am': 'a.m.', + 'dateTime.pm': 'p.m.', + 'altinn.standard_validation.file_content_type_not_allowed': + 'Det ser ut som du prøver å lasta opp ein filtype som ikkje er tillaten. Sjekk at fila faktisk er av den typen han gir seg ut for å vera.', + 'actions.sign': 'Signer', + 'actions.confirm': 'Bekreft', + 'actions.reject': 'Avslå', + 'actions.instantiate': 'Instansier', + 'address_component.address': 'Gateadresse', + 'address_component.care_of': 'C/O eller annan tilleggsadresse', + 'address_component.house_number': 'Bustadnummer', + 'address_component.house_number_helper': + 'Om adressa er felles for fleire bueiningar må du oppgi bustadnummer. Den består av ein bokstav og fire tal og skal vere ført opp ved/på inngangsdøra di.', + 'address_component.post_place': 'Poststad', + 'address_component.simplified': 'Enkel', + 'address_component.title_text_binding': 'Søk etter ledetekst for Adressekomponenten', + 'address_component.zip_code': 'Postnr', + 'address_component.validation_error_zipcode': 'Postnummer er ugyldig. Eit postnummer består berre av 4 siffer.', + 'address_component.validation_error_house_number': 'Bustadnummer er ugyldig', + 'confirm.answers': 'Svara dine', + 'confirm.attachments': 'Vedlegg', + 'confirm.body': + 'Du er no klar for å sende inn {0}. Før du sender inn vil vi anbefale å sjå over svara dine. Du kan ikkje endre svara etter at du har sendt inn.', + 'confirm.button_text': 'Send inn', + 'confirm.deadline': 'Frist innsending', + 'confirm.sender': 'Aktør', + 'confirm.title': 'Sjå over svara dine før du sender inn', + 'custom_actions.general_error': 'Noko gjekk gale med denne handlinga. Prøv igjen seinare.', + 'date_picker.invalid_date_message': 'Ugyldig datoformat. Bruk formatet {0}.', + 'date_picker.cancel_label': 'Avbryt', + 'date_picker.clear_label': 'Tøm', + 'date_picker.today_label': 'I dag', + 'date_picker.min_date_exeeded': 'Dato vald er før tidlegaste dato tillat', + 'date_picker.max_date_exeeded': 'Dato vald er etter seinaste dato tillat', + 'date_picker.aria_label_icon': 'Opne datoveljar', + 'date_picker.aria_label_left_arrow': 'Førre månad.', + 'date_picker.aria_label_right_arrow': 'Neste månad.', + 'date_picker.aria_label_year_dropdown': 'Vel år', + 'date_picker.aria_label_month_dropdown': 'Vel månad', + 'date_picker.format_text': 'Til dømes {0}', + 'time_picker.invalid_time_message': 'Ugyldig tidsformat. Bruk formatet {0}.', + 'time_picker.min_time_exceeded': 'Tida du har vald er før tidlegaste tillaten tid ({0}).', + 'time_picker.max_time_exceeded': 'Tida du har vald er etter seinaste tillaten tid ({0}).', + 'timepicker.hours': 'Timar', + 'timepicker.minutes': 'Minutt', + 'timepicker.seconds': 'Sekund', + 'timepicker.am_pm': 'AM/PM', + 'feedback.title': '## Du blir snart vidaresendt', + 'feedback.body': 'Vi venter på verifikasjon, når den er på plass blir du vidaresendt.', + 'form_filler.error_add_subform': 'Det oppstod ein feil ved oppretting av underskjema, ver vennleg og prøv igjen.', + 'form_filler.error_delete_subform': 'Noko gjekk gale ved sletting av underskjema, ver venleg og prøv igjen', + 'form_filler.error_fetch_subform': 'Feil ved lasting av skjemadata', + 'form_filler.error_max_count_reached_subform_server': 'Maksimalt tal på {0} oppføringar er nådd', + 'form_filler.error_max_count_reached_subform_local': 'Maksimalt tal på {0} oppføringar er nådd ({1})', + 'form_filler.error_min_count_not_reached_subform': 'Minst {0} {1} oppføring er påkravd', + 'form_filler.error_validation_inside_subform': 'Det er feil i ein eller fleire {0} oppføringar', + 'form_filler.subform_default_header': 'Oppføringer', + 'form_filler.alert_confirm': 'Bekreft', + 'form_filler.checkbox_alert': 'Er du sikker på at du vil fjerne avkrysningen?', + 'form_filler.multi_select_alert': 'Er du sikker på at du vil slette {0}?', + 'form_filler.dropdown_alert': 'Er du sikker på at du vil endre til {0}?', + 'form_filler.back_to_summary': 'Attende til samandrag', + 'form_filler.back_to_page': 'Attende til {0}', + 'form_filler.error_report_header': 'Du må retta desse feila før du kan gå vidare', + 'form_filler.error_required': 'Du må fylla ut {0}', + 'form_filler.file_upload_valid_file_format_all': 'alle', + 'form_filler.file_uploader_add_attachment': 'Legg til fleire vedlegg', + 'form_filler.file_uploader_drag': 'Dra og slepp eller', + 'form_filler.file_uploader_find': 'leit etter fil', + 'form_filler.file_uploader_list_delete': 'Slett vedlegg', + 'form_filler.file_uploader_delete_warning': 'Er du sikker på at du vil sletta dette vedlegget?', + 'form_filler.file_uploader_delete_button_confirm': 'Ja, slett vedlegg', + 'form_filler.file_uploader_list_header_file_size': 'Filstorleik', + 'form_filler.file_uploader_list_header_thumbnail': 'Thumbnail', + 'form_filler.file_uploader_list_header_name': 'Namn', + 'form_filler.file_uploader_list_header_status': 'Status', + 'form_filler.file_uploader_list_status_done': 'Ferdig lasta', + 'form_filler.file_uploader_status_scanning': 'Skannar...', + 'form_filler.file_uploader_status_infected': 'Infisert', + 'form_filler.file_uploader_infected_file_alert': + 'Fila {0} er infisert med skadeleg programvare og kan ikkje brukast.', + 'form_filler.file_uploader_infected_file_action': 'Last opp ei rein fil.', + 'form_filler.file_uploader_remove_infected_files': 'Fjern infiserte filer før innsending.', + 'form_filler.file_uploader_list_header_delete_sr': 'Slett', + 'form_filler.file_uploader_max_size_mb': 'Maks filstorleik {0} MB', + 'form_filler.file_uploader_upload': 'Last opp fil', + 'form_filler.file_uploader_number_of_files': 'Tal på filer {0}.', + 'form_filler.file_uploader_show_more_errors': 'Vis {0} fleire', + 'form_filler.file_uploader_show_fewer_errors': 'Vis færre', + 'form_filler.file_uploader_valid_file_format': 'Tillatne filformat er:', + 'form_filler.file_uploader_failed_to_upload_file': 'Fila {0} kunne ikkje lastast opp', + 'form_filler.file_uploader_validation_error_delete': 'Noko gjekk galt under slettinga av fila, prøv igjen seinare.', + 'form_filler.file_uploader_validation_error_exceeds_max_files': + 'Du kan ikkje laste opp fleire enn {0} filer. Ingen filer blei lasta opp.', + 'form_filler.file_uploader_validation_error_file_ending': 'er ikkje blant dei tillatne filtypane.', + 'form_filler.file_uploader_validation_error_file_number': 'For å halde fram må du laste opp {0} vedlegg', + 'form_filler.file_uploader_validation_error_file_size': '{0} overskrid tillatt filstorleik.', + 'form_filler.file_uploader_validation_error_general': + 'Det var eit problem med fila {0}. Forsikre deg om at fila har rett filtype og ikkje overskrid maks filstorleik.', + 'form_filler.file_uploader_validation_error_upload': + 'Noko gjekk galt under opplastinga av fila, prøv igjen seinare.', + 'form_filler.file_uploader_validation_error_update': + 'Noko gjekk galt under oppdateringa av filas merking, prøv igjen seinare.', + 'form_filler.file_uploader_validation_error_no_chosen_tag': 'Du må velja {0}', + 'form_filler.placeholder_receipt_header': 'Skjemaet er no fullført og sendt inn.', + 'form_filler.placeholder_user': 'OLA PRIVATPERSON', + 'form_filler.radiobutton_alert_label': 'Er du sikker på at du vil endre frå {0}?', + 'form_filler.required_description': 'Obligatoriske felt er markerte med *', + 'form_filler.required_label': '*', + 'form_filler.summary_item_change': 'Endre', + 'form_filler.summary_go_to_correct_page': 'Gå til riktig side i skjema', + 'form_filler.address': 'Gateadresse', + 'form_filler.careOf': 'C/O eller annan tilleggsadresse', + 'form_filler.houseNumber': 'Bustadnummer', + 'form_filler.postPlace': 'Poststad', + 'form_filler.zipCode': 'Postnr', + 'form_filler.no_options_found': 'Fann ingen treff', + 'form_filler.clear_selection': 'Fjern alle valde', + 'form_filler.person_lookup_ssn': 'fødselsnummer', + 'form_filler.person_lookup_name': 'namn', + 'form_filler.organisation_lookup_orgnr': 'organisasjonsnummer', + 'form_filler.organisation_lookup_name': 'organisasjonsnamn', + 'navigation.main': 'Overordnet', + 'navigation.form': 'Skjemasider', + 'navigation.to_main_content': 'Hopp til hovedinnholdet', + 'navigation.go_to_task': 'Gå til {0}', + 'navigation.form_pages': 'Skjemasider', + 'navigation.back_to_inbox': 'Tilbake til innboks', + 'navigation.inbox': 'Innboks', + 'navigation.back_to_main_form': 'Tilbake til {0}', + 'navigation.main_form': '{0}', + 'navigation.back': 'Tilbake', + 'navigation.page_error': 'Feil på side', + 'navigation.page_complete': 'Side fullført', + 'navigation.page_group_error': 'Feil i sidegruppe', + 'navigation.page_group_complete': 'Sidegruppe fullført', + 'general.action': 'Handling', + 'general.accessibility': 'Tilgjengelegheit', + 'general.accessibility_url': 'https://info.altinn.no/nn/om-altinn/tilgjengelighet/', + 'general.add_connection': 'Legg til tilkobling', + 'general.add_new': 'Legg til ny', + 'general.add': 'Legg til', + 'general.back': 'Attende', + 'general.cancel': 'Avbryt', + 'general.choose_label': 'Vel namn', + 'general.choose_method': 'Vel metode', + 'general.choose': 'Vel', + 'general.close': 'Lukk', + 'general.contains': 'Inneheld', + 'general.control_submit': 'Kontroller og send inn', + 'general.create_new': 'Opprett ny', + 'general.create': 'Opprett', + 'general.customer_service_phone_number': '+47 75 00 60 00', + 'general.customer_service_slack': 'https://altinn.slack.com', + 'general.customer_service_email': 'servicedesk@altinn.no', + 'general.customer_service_error_message': + 'Om du treng hjelp kan du nå Altinn på:

    Telefon: {0}
    E-post: {1}
    Slack: {2}', + 'general.delete': 'Slett', + 'general.download': 'Nedlasting {0}', + 'general.disabled': 'Deaktivert', + 'general.done': 'Ferdig', + 'general.edit_alt_error': 'Rett feil her', + 'general.edit_alt': 'Rediger', + 'general.edit': 'Endre', + 'general.empty_summary': 'Du har ikkje lagt inn informasjon her', + 'general.empty_table': 'Ingen data funne.', + 'general.enabled': 'Aktivert', + 'general.error_message_with_colon': 'Feilmelding:', + 'general.full_width': 'Utvid breidden', + 'general.standard_width': 'Reduser breidden', + 'general.for': 'for', + 'general.header_profile_icon_label': 'Profil ikon knapp', + 'general.label': 'Namn', + 'general.loading': 'Lastar innhald', + 'general.log_out': 'Logg ut', + 'general.next': 'Neste', + 'general.no_options': 'Ingen alternativ tilgjengeleg', + 'general.optional': 'Valfri', + 'general.page_number': 'Side {0}', + 'general.print_button_text': 'Print / Lagre PDF', + 'general.progress': 'Side {0} av {1}', + 'general.required': 'Obligatorisk', + 'general.save': 'Lagre', + 'general.save_and_close': 'Lagre og lukk', + 'general.save_and_next': 'Lagre og opne neste', + 'general.search': 'Søk', + 'general.select_field': 'Vel felt', + 'general.service_description_header': 'Beskriving', + 'general.service_name': 'Tenestenamn', + 'general.service_owner': 'Tenesteeigar', + 'general.service_saved_name': 'Lagringsnamn', + 'general.submit': 'Send inn', + 'general.validate_changes': 'Validér endringar', + 'general.value': 'Verdi', + 'general.version': 'Versjon', + 'general.wait_for_attachments': 'Vent litt, vi prosesserer vedlegg', + 'general.wait_for_attachments_infected': 'Fjern infiserte filer før du held fram', + 'general.wait_for_attachments_scanning': 'Skannar filer for skadeleg programvare...', + 'general.part_of_form_completed': + 'Denne delen av skjemaet er ikkje tilgjengeleg. Du kan ikkje gjere endringar her no', + 'general.invalid_task_id': 'Denne delen av skjemaet finst ikkje.', + 'general.navigate_to_current_process': 'Gå til rett prosesstrinn', + 'group.row_error': 'Ei av radene er ikkje fylt ut riktig. Dette må bli retta før skjema kan sendast inn.', + 'group.row_popover_delete_message': 'Er du sikker på at du vil sletta denne rada?', + 'group.row_popover_delete_button_confirm': 'Ja, slett rada', + 'iframe_component.unsupported_browser_title': 'Nettlesaren din støttas ikkje', + 'iframe_component.unsupported_browser': + 'Nettlesaren di støttar ikkje iframes som brukar srcdoc. Dette kan føre til at du ikkje ser all innhaldet som er meint å visast her. Vi anbefalar deg å prøve ein annan nettlesar.', + 'input_components.remaining_characters': 'Du har %d teikn igjen', + 'input_components.exceeded_max_limit': 'Du har overskride maks teikn med %d', + 'instance_selection.changed_by': 'Endra av', + 'instance_selection.continue': 'Hald fram her', + 'instance_selection.description': + 'Vel om du vil halde fram med eit skjema du har byrja på, eller om du vil starte på ny.', + 'instance_selection.header': 'Du har allereie starta å fylle ut dette skjemaet.', + 'instance_selection.last_changed': 'Sist endra', + 'instance_selection.left_of': 'Hald fram der du slapp', + 'instance_selection.new_instance': 'Start på nytt', + 'instantiate.all_forms': 'alle skjema', + 'instantiate.inbox': 'innboks', + 'instantiate.profile': 'profil', + 'instantiate.unknown_error_title': 'Ukjent feil', + 'instantiate.unknown_error_text': 'Det har skjedd ein ukjent feil, ver venleg prøv igjen seinare.', + 'instantiate.unknown_error_status': 'Ukjent feil', + 'instantiate.unknown_error_customer_support': 'Om problemet hald fram, ta kontakt med oss på brukarservice {0}.', + 'instantiate.forbidden_action_error_title': 'Du manglar rett til å utføre denne handlinga', + 'instantiate.forbidden_action_error_text': 'Det ser ut til at du ikkje har rett til å utføre denne handlinga.', + 'instantiate.forbidden_action_error_status': '403 - Forbidden', + 'instantiate.forbidden_action_error_customer_support': + 'Om du treng hjelp, ta kontakt med oss på brukarservice
    {0}.', + 'instantiate.authorization_error_main_title': 'Du manglar rett til å sjå denne tenesta.', + 'instantiate.authorization_error_instantiate_validation_title': 'Du kan ikkje starte denne tenesta', + 'instantiate.authorization_error_rights': 'Det ser ut til at du ikkje har rett til å starte denne tenesta for {0}', + 'instantiate.authorization_error_ask': + 'Om du representerer ein person, er det den du representerer som kan gi deg dei naudsynte rettane til å starte tenesta. Representerer du ein organisasjon er det personar som har rolla tilgangsstyring innad i organisasjonen som kan gi deg dei naudsynte rettane.', + 'instantiate.authorization_error_check_rights': + 'Sjå kven som har rolla tilgangsstyring under "Andre med rettar til verksemda".', + 'instantiate.authorization_error_info_rights': + 'Her finn du meir informasjon om roller og rettar.', + 'instantiate.authorization_error_info_customer_service': 'Du kan også kontakte oss på brukarservice {0}.', + 'instantiate.authorization_error_instantiate_validation_info_customer_service': + 'Om du står fast kontakt oss på brukarservice {0}.', + 'instantiate.starting': 'Vent litt, vi hentar det du treng', + 'language.language_selection': 'Språkval', + 'language.full_name.nb': 'Norsk bokmål', + 'language.full_name.en': 'Engelsk', + 'language.full_name.nn': 'Nynorsk', + 'language.selector.label': 'Språk', + 'party_selection.error_caption_prefix': 'Feil', + 'party_selection.invalid_selection_non_existing_party': + 'Du har starta tenesta med ein aktør som anten ikkje finst eller som du ikkje har tilgang til. Vel ein ny aktør nedanfor for å halde fram.', + 'party_selection.invalid_selection_existing_party': + 'Du har starta tenesta som {0}. Denne tenesta er kun tilgjengeleg for {1}. Vel ny aktør under.', + 'party_selection.no_valid_selection_first_part': 'Dette er ei teneste for {0}', + 'party_selection.no_valid_selection_second_part': + 'Det ser ut som du ikkje har tilgang til ein aktør som har lov til å starte {0}.', + 'party_selection.no_valid_selection_third_part': + 'For å starte denne tenesta må du ha tilgangar som knytter deg til ein {0}.', + 'party_selection.no_valid_selection_binding_word': 'og', + 'party_selection.change_party': 'skift aktør her', + 'party_selection.read_more_roles_link': 'Her finn du meir informasjon om roller og rettar', + 'party_selection.binding_word': 'eller', + 'party_selection.header': 'Kven vil du sende inn for?', + 'party_selection.load_more': 'Last fleire', + 'party_selection.search_placeholder': 'Søk etter aktør', + 'party_selection.subheader': 'Dine aktørar som kan starte tenesta:', + 'party_selection.unit_type_private_person': 'privatperson', + 'party_selection.unit_type_company': 'verksemd', + 'party_selection.unit_type_bankruptcy_state': 'konkursbo', + 'party_selection.unit_type_subunit': 'undereining', + 'party_selection.unit_type_subunit_plural': 'undereiningar', + 'party_selection.unit_deleted': 'sletta', + 'party_selection.unit_org_number': 'org.nr.', + 'party_selection.unit_personal_number': 'personnr.', + 'party_selection.show_deleted': 'Vis sletta', + 'party_selection.show_sub_unit': 'Vis undereiningar', + 'party_selection.why_seeing_this': 'Kvifor ser eg dette?', + 'party_selection.seeing_this_preference': + 'Du kan endra [profilinnstillingane](https://altinn.no/ui/Profile) dine for å ikkje bli spurt om aktør kvar gong du startar utfylling av eit nytt skjema. Du finn denne innstillinga under **Profil** > **Avanserte innstillingar** > **Eg ønskjer ikkje å bli spurt om aktør kvar gong eg startar utfylling av eit nytt skjema**.', + 'party_selection.seeing_this_override': 'Denne appen er sett opp til å alltid spørja om aktør.', + 'payment.pay': 'Betal', + 'payment.summary': 'Oppsummering', + 'payment.alert.paid': 'Du har betalt!', + 'payment.alert.failed': 'Betalinga feilet', + 'payment.receipt.title': 'Betalingskvittering', + 'payment.receipt.payment_id': 'Betalings ID', + 'payment.receipt.altinn_ref': 'Altinn referanse', + 'payment.receipt.payment_date': 'Dato for kjøp', + 'payment.receipt.total_amount': 'Total beløp', + 'payment.receipt.receiver': 'Mottaker', + 'payment.receipt.payer': 'Betaler', + 'payment.receipt.name': 'Navn', + 'payment.receipt.company_name': 'Firmanavn', + 'payment.receipt.org_number': 'Organisasjonsnummer', + 'payment.receipt.contact_person': 'Kontaktperson', + 'payment.receipt.contact_phone': 'Kontakttelefon', + 'payment.receipt.contact_email': 'Kontakt-e-post', + 'payment.receipt.phone': 'Telefon', + 'payment.receipt.address': 'Addresse', + 'payment.receipt.org_num': 'Organisasjonsnummer', + 'payment.receipt.account_number': 'Kontonummer', + 'payment.receipt.card_number': 'Kortnummer', + 'payment.receipt.card_expiry': 'Utløpsdato', + 'payment.receipt.email': 'E-post', + 'payment.component.description': 'Beskrivelse', + 'payment.component.quantity': 'Antall', + 'payment.component.price': 'Pris', + 'payment.component.total': 'Totalt', + 'payment.component.vat': 'MVA', + 'organisation_lookup.orgnr_label': 'Organisasjonsnummer', + 'organisation_lookup.org_name': 'Organisasjonsnamn', + 'organisation_lookup.from_registry_description': 'Frå enhetsregisteret', + 'organisation_lookup.validation_error_not_found': 'Organisasjonsnummeret er ikkje funne i registeret', + 'organisation_lookup.validation_invalid_response_from_server': 'Ugyldig respons frå server', + 'organisation_lookup.unknown_error': 'Ukjent feil. Ver venleg og prøv igjen seinare', + 'organisation_lookup.validation_error_orgnr': 'Organisasjonsnummeret er ugyldig', + 'organisation_lookup.error_required': 'Du må fylla ut {0} og henta opplysningar', + 'organisation_lookup.submit_button': 'Hent opplysningar', + 'organisation_lookup.clear_button': 'Fjern', + 'person_lookup.error_required': 'Du må fylla ut {0} og henta opplysningar', + 'person_lookup.submit_button': 'Hent opplysningar', + 'person_lookup.clear_button': 'Fjern', + 'person_lookup.ssn_label': 'Fødselsnummer', + 'person_lookup.surname_label': 'Etternamn', + 'person_lookup.name_label': 'Namn', + 'person_lookup.from_registry_description': 'Frå folkeregisteret', + 'person_lookup.validation_error_name_too_short': 'Etternamn kan ikkje vere tomt.', + 'person_lookup.validation_error_ssn': 'Fødselsnummeret/D-nummeret er ugyldig.', + 'person_lookup.validation_error_not_found': + 'Ingen person er registrert med denne kombinasjonen av fødselsnummer/D-nummer og namn. Ver venleg og kontroller felta og prøv igjen.
    Merk: Etter 5 feilforsøk blir søkemoglegheita mellombels sperra.', + 'person_lookup.validation_error_too_many_requests': 'Du har gjort for mange søk. Ver venleg, prøv igjen seinare.', + 'person_lookup.validation_error_forbidden': + 'Du har ikkje tilgang til å gjere dette søket. Sikkerheitsnivå 2 eller høgare er påkravd.', + 'person_lookup.validation_invalid_response_from_server': 'Det oppstod ein feil. Ver venleg, prøv igjen seinare.', + 'person_lookup.unknown_error': 'Det oppstod ein feil. Ver venleg, prøv igjen seinare.', + 'helptext.button_title': 'Hjelp', + 'helptext.button_title_prefix': 'Hjelpetekst for', + 'receipt.attachments': 'Vedlegg', + 'receipt.body': + 'Det er gjennomført ein maskinell kontroll under utfylling, men vi tek atterhald om at det kan bli oppdaga feil under sakshandsaminga og at annan dokumentasjon kan vere naudsynt. Ver venleg oppgi referansenummer ved eventuelle førespurnadar til etaten.', + 'receipt.body_simple': + 'Av tryggleiksomsyn vil verken innhaldet i tenesta eller denne meldinga vere synleg i Altinn etter at du har forlate denne sida.', + 'receipt.date_sent': 'Dato sendt', + 'receipt.receiver': 'Mottakar', + 'receipt.receipt': 'Kvittering', + 'receipt.ref_num': 'Referansenummer', + 'receipt.sender': 'Avsendar', + 'receipt.subtitle': 'Kopi av kvitteringa di er sendt til ditt arkiv', + 'receipt.title': 'Skjemaet er sendt inn', + 'receipt.title_submitted': 'Følgjande er sendt inn:', + 'receipt_platform.attachments': 'Vedlegg', + 'receipt_platform.date_sent': 'Dato sendt', + 'receipt_platform.helper_text': + 'Det er gjennomført ein maskinell kontroll under utfylling, men vi tek atterhald om at det kan bli oppdaga feil under sakshandsaminga og at annan dokumentasjon kan vere naudsynt. Ver venleg oppgi referansenummer ved eventuelle førespurnadar til etaten.', + 'receipt_platform.is_sent': 'er sendt inn', + 'receipt_platform.receipt': 'Kvittering', + 'receipt_platform.receiver': 'Mottakar', + 'receipt_platform.reference_number': 'Referansenummer', + 'receipt_platform.sender': 'Avsendar', + 'receipt_platform.sent_content': 'Følgjande er sendt inn:', + 'receipt_platform.log_out': 'Logg ut', + 'receipt_platform.profile_icon_aria_label': 'Profil ikon knapp', + 'soft_validation.info_title': 'Lurt å tenke på', + 'soft_validation.warning_title': 'OBS', + 'soft_validation.success_title': 'Så flott!', + 'validation.generic_field': 'dette feltet', + 'validation_errors.min': 'Minste gyldige tal er {0}', + 'validation_errors.max': 'Største gyldige tal er {0}', + 'validation_errors.minLength': 'Bruk {0} eller fleire teikn', + 'validation_errors.maxLength': 'Bruk {0} eller færre teikn', + 'validation_errors.length': 'Antall tillatne teikn er {0}', + 'validation_errors.pattern': 'Feil format eller verdi', + 'validation_errors.required': 'Feltet er påkravd', + 'validation_errors.enum': 'Kun verdiane {0} er tillatne', + 'validation_errors.minItems': 'Minst {0} radar er påkrevd', + 'validation_errors.maxItems': 'Maks {0} radar er tillatne', + 'validation_errors.formatMinimum': 'Minste gyldige verdi er {0}', + 'validation_errors.formatMaximum': 'Største gyldige verdi er {0}', + 'map_component.selectedLocation': 'Valt lokasjon: {0}° nord, {1}° øst', + 'map_component.noSelectedLocation': 'Ingen lokasjon valt', + 'multiple_select_component.no_options': 'Ingen valg tilgjengelig', + 'multiple_select_component.placeholder': 'Velg...', + 'list_component.rowsPerPage': 'Rader per side', + 'list_component.previousPage': 'Førre', + 'list_component.previousPageAriaLabel': 'Førre side i tabell', + 'list_component.nextPage': 'Neste', + 'list_component.nextPageAriaLabel': 'Neste side i tabell', + 'list_component.controlsHeader': 'Vel rad', + 'config_error.layoutset_subform_config_error': + 'Layout set med id {0} er feilkonfigurert.

    Layout set kan ikkje ha både type og tasks definert.', + 'config_error.layoutset_error': 'Layout set error', + 'config_error.component_has_errors': 'Ein feil oppstod for {0}:', + 'config_error.component_has_errors_after': + 'Medan du har feil i konfigurasjonen kan me ikkje vise komponenten i skjemaet. Rett opp i feila og prøv igjen.', + 'config_error.subform_no_datatype_layoutset': 'Datatype-spesifikasjon ikkje funnen i layout-sets.json.', + 'config_error.subform_no_datatype_appmetadata': "Datatype '{0}' vart ikkje funnen i applicationmetadata.json.", + 'config_error.subform_misconfigured_add_button': + "Datatype '{0}' er markert som 'disallowUserCreate=true', men underskjema-komponenten er konfigurert med 'showAddButton=true'. Dette er ei motseiing, Sidan brukaren aldri vil få lov til å utføre handlingane bak legg-til knappen.", + 'config_error.file_upload_same_binding': + 'Det er fleire filopplastingskomponentar med same datamodellbinding. Kvar komponent må ha ein unik binding. Andre komponentar med same binding: {0}', + 'config_error.deletion_strategy_no_group': 'Felta deletionStrategy og checked kan berre brukast saman med group.', + 'config_error.group_no_deletion_strategy': 'Når du har sett group, må du også setje deletionStrategy.', + 'config_error.soft_delete_no_checked': 'Når du har sett deletionStrategy til soft, må du også setje checked.', + 'config_error.hard_delete_with_checked': 'Når du har sett deletionStrategy til hard, kan du ikkje setje checked.', + 'version_error.version_mismatch': 'Versjonsfeil', + 'version_error.version_mismatch_message': + 'Denne versjonen av app frontend er ikkje kompatibel med den versjonen av backend-biblioteka du brukar. Oppdater til nyaste versjon av pakkane og prøv igjen.', + 'version_error.min_backend_version': 'Minimum backend versjon er {0}', + 'missing_row_id_error.title': 'Manglar rad-ID', + 'missing_row_id_error.message': + 'Når data blei lasta inn mangla det ein rad-ID. Dette er ein feil i konfigurasjonen av skjemaet, og må rettast opp ved hjelp av migreringsverktøya. Sjekk loggane i utviklarverktøya for meir informasjon.', + 'missing_row_id_error.full_message': + 'Datamodellen manglar eigenskapen {0} i stien {1}. Dette skal automatisk bli lagt til i datamodellen dersom du brukar riktig versjon av nuget-pakkane og har køyrt migreringsverktøya. Les meir om verktøya i dokumentasjonen: https://docs.altinn.studio/community/changelog/app-nuget/v8/migrating-from-v7/', + 'likert.left_column_default_header_text': 'Spørsmål', + 'process_error.submit_error_please_retry': 'Noko gjekk gale med innsending, prøv igjen om nokre minutt.', + 'pdfPreview.error': 'Kunne ikkje førehandsvise PDF', + 'pdfPreview.defaultButtonText': 'Førehandsvis PDF', + 'taskTypes.data': 'Utfylling', + 'taskTypes.signing': 'Signering', + 'taskTypes.confirmation': 'Bekreftelse', + 'taskTypes.payment': 'Betaling', + 'taskTypes.receipt': 'Kvittering', + 'signing.loading': 'Lastar inn signeringsstatus...', + 'signing.checkbox_label': 'Eg stadfestar at informasjonen og dokumenta er riktige.', + 'signing.awaiting_signature_panel_title': 'Signer skjemaet', + 'signing.sign_button': 'Signer skjemaet', + 'signing.submit_panel_title': 'Du kan no sende inn skjemaet', + 'signing.submit_panel_description': 'Alle partar har signert! Vel "{0}" for å fullføre.', + 'signing.submit_button': 'Send inn skjemaet', + 'signing.submit_panel_radio_group_legend': 'Kven ønskjer du å signere på vegne av?', + 'signing.submit_panel_radio_group_description': 'Følgjande er partar du har rettar til å signere på vegne av.', + 'signing.submit_panel_single_org_choice': 'Du signerer på vegne av {0}.', + 'signing.submit_panel_myself_choice': 'Meg sjølv', + 'signing.awaiting_other_signatures_panel_title': 'Vent på signaturar', + 'signing.awaiting_other_signatures_panel_description_not_signing': + 'Du kan sende inn skjemaet når alle partar har signert.', + 'signing.awaiting_other_signatures_panel_description_signed': + 'Takk for at du signerte! Du kan sende inn skjemaet når alle partar har signert.', + 'signing.awaiting_other_signatures_panel_error_message': + 'Det manglar signaturar. Du kan sende inn skjemaet når alle partar har signert.', + 'signing.no_action_required_panel_title_has_signed': 'Du har signert skjemaet', + 'signing.no_action_required_panel_title_not_signed': 'Ingenting å signere', + 'signing.no_action_required_panel_description_has_signed': 'Alt i orden! Du kan no gå tilbake til innboksen din.', + 'signing.no_action_required_panel_description_not_signed': 'Du har ikkje tilgang til å signere dette skjemaet.', + 'signing.no_action_required_button': 'Gå til innboksen', + 'signing.reject_modal_title': 'Avbryt signeringsprosessen', + 'signing.reject_modal_description': + 'Ved å avbryte signeringsprosessen blir alle signaturar sletta, og alle delegert tilgang trekt tilbake.', + 'signing.reject_modal_button': 'Avbryt signeringsprosessen', + 'signing.reject_modal_trigger_button': 'Avbryt signering', + 'signing.api_error_panel_title': 'Klarte ikkje hente signeringsstatus', + 'signing.api_error_panel_description': + 'Ein feil oppstod under henting av status for signaturar. Prøv igjen seinare eller kontakt skjemaeigar for å rette opp feilen.', + 'signing.delegation_error_panel_title': 'Klarte ikkje gi tilgang til skjema', + 'signing.delegation_error_panel_description': + 'Ein eller fleire av signatarane er ugyldige og har ikkje fått tilgang til skjemaet. Gå tilbake for å prøve å rette opp feilen eller kontakt skjemaeigar.', + 'signing.wrong_task_error': '{0}-komponenten er berre tilgjengeleg i eit signeringssteg.', + 'signing.error_missing_signing_rights': + 'Noko gjekk gale. Den noverande brukaren skal signere, men har ikkje rettar til å gjere det.', + 'signing.error_signing': 'Noko gjekk gale under signeringa. Prøv på nytt.', + 'signing.error_signing_not_confirmed_documents': 'Du må stadfeste at du har lese dokumenta før du signerer.', + 'signing.error_signing_no_on_behalf_of': 'Du må velje kven du signerer på vegner av før du signerer.', + 'signee_list.parse_error': 'Feil ved lasting av signatarliste.', + 'signee_list.unknown_api_error': 'Ein feil oppstod under henting av signatarar.', + 'signee_list.api_error_display': + 'Ein feil oppstod under henting av signatarar. Sjå devtool-loggane for meir informasjon.', + 'signee_list.no_signees': 'Ingen signatarar funne.', + 'signee_list.signee_status_signed': 'Signert', + 'signee_list.signee_status_waiting': 'Ventar på signering', + 'signee_list.signee_status_delegation_failed': 'Delegering mislukkast', + 'signee_list.signee_status_notification_failed': 'Varsling mislukkast', + 'signee_list.header_name': 'Namn', + 'signee_list.header_on_behalf_of': 'På vegne av', + 'signee_list.header_status': 'Status', + 'signee_list_summary.name_placeholder': 'Ukjent namn', + 'signee_list_summary.on_behalf_of': 'på vegne av', + 'signee_list_summary.loading': 'Lastar signaturdata...', + 'signee_list_summary.error': 'Feil ved lasting av signaturdata', + 'signee_list_summary.no_data': 'Ingen signaturdata.', + 'signee_list_summary.no_signatures': 'Ingen signaturar.', + 'signee_list_summary.signed_time': 'Digitalt signert gjennom Altinn {0}', + 'signing_document_list.parse_error': 'Feil ved lasting av dokumenter.', + 'signing_document_list.unknown_api_error': 'Ein feil oppstod under henting av dokumenter.', + 'signing_document_list.api_error_display': + 'Ein feil oppstod under henting av dokumenter. Sjå devtool-loggane for meir informasjon.', + 'signing_document_list.header_filename': 'Namn', + 'signing_document_list.header_attachment_type': 'Vedleggstype', + 'signing_document_list.header_size': 'Storleik', + 'signing_document_list.attachment_type_form': 'Skjema', + 'signing_document_list.download': 'Last ned', + 'signing_document_list_summary.header': 'Signerte dokument', + } satisfies FixedLanguageList; +} From 4bba935be66f0d0bcb3fa8776057368a8970c28d Mon Sep 17 00:00:00 2001 From: Filippa Wallden <143729834+walldenfilippa@users.noreply.github.com> Date: Mon, 29 Sep 2025 16:07:31 +0200 Subject: [PATCH 3/6] Update access metadata --- src/types/shared.ts | 628 ++++++++++++++++++++++---------------------- 1 file changed, 317 insertions(+), 311 deletions(-) diff --git a/src/types/shared.ts b/src/types/shared.ts index 3853c245a2..b9b98362b6 100644 --- a/src/types/shared.ts +++ b/src/types/shared.ts @@ -1,311 +1,317 @@ -import type { FileScanResult } from 'src/features/attachments/types'; -import type { LooseAutocomplete } from 'src/types'; - -export interface IAltinnOrg { - name: ITitle; - logo: string; - orgnr: string; - homepage: string; - environments: string[]; -} - -export interface IAltinnOrgs { - [org: string]: IAltinnOrg; -} - -export interface IApplicationLogic { - allowAnonymousOnStateless?: boolean | null; - autoCreate?: boolean | null; - classRef?: string | null; - schemaRef?: string | null; - disallowUserCreate?: boolean | null; -} - -export interface IDisplayAttachment { - name?: string; - iconClass: string; - grouping: string | undefined; - description: Partial, string>> | undefined; - url?: string; - dataType: string; - tags?: string[]; -} - -export interface IData { - id: string; - instanceGuid: string; - dataType: string; - filename?: string; - contentType: string; - blobStoragePath: string; - selfLinks?: ISelfLinks; - size: number; - locked: boolean; - refs: string[]; - isRead?: boolean; - tags?: string[]; - created: string; - createdBy: string; - lastChanged: string; - lastChangedBy: string; - contentHash?: unknown; - fileScanResult?: FileScanResult; - fileScanDetails?: string; -} - -export interface IDataType { - id: string; - description?: Partial, string>> | null; - allowedContentTypes: string[] | null; - allowedContributers?: string[] | null; - allowedContributors?: string[] | null; - appLogic?: IApplicationLogic | null; - taskId?: string | null; - maxSize?: number | null; - maxCount: number; - minCount: number; - grouping?: string | null; -} - -export interface IInstance { - appId: string; - created?: string; - createdBy?: string; - data: IData[]; - dueBefore?: string; - id: string; - instanceOwner: IInstanceOwner; - instanceState?: IInstanceState; - lastChanged?: string; - lastChangedBy?: string; - org: string; - selfLinks?: ISelfLinks | null; - status?: IInstanceStatus | null; - title?: ITitle | null; - visibleAfter?: string; - completeConfirmations?: unknown; - presentationTexts?: unknown; - dataValues?: unknown; -} - -export interface IInstanceStatus { - substatus: ISubstatus; -} - -export interface ISubstatus { - label: string; - description: string; -} - -export interface IInstanceOwner { - partyId: string; - personNumber?: string; - organisationNumber?: string | null; - username?: string; - party?: IParty | null; -} - -export interface IInstanceState { - isDeleted: boolean; - isMarkedForHardDelete: boolean; - isArchived: boolean; -} - -// Language for the rendered altinn app -export interface IAppLanguage { - language: string; // Language code -} - -/** - * @see https://github.com/Altinn/altinn-platform/blob/main/Altinn.Platform.Models/src/Register/Models/Organization.cs - */ -export interface IOrganisation { - orgNumber: string; - name: string; - unitType: string; - telephoneNumber: string; - mobileNumber: string; - faxNumber: string; - emailAddress: string; - internetAddress: string; - mailingAddress: string; - mailingPostalCode: string; - mailingPostalCity: string; - businessPostalCode: string; - businessPostalCity: string; - // unitStatus: string; // This exists in the model but is not clearly defined, and not used in the frontend -} - -/** - * @see https://github.com/Altinn/altinn-platform/blob/main/Altinn.Platform.Models/src/Register/Models/Party.cs - */ -export interface IParty { - partyId: number; - partyUuid?: string | null; - partyTypeName: PartyType; - orgNumber?: string | null; - ssn: string | null; - unitType?: string | null; - name: string; - isDeleted: boolean; - onlyHierarchyElementWithNoAccess: boolean; - person?: IPerson | null; - organization?: IOrganisation | null; - childParties?: IParty[] | null; -} - -/** - * @see https://github.com/Altinn/altinn-register/blob/main/src/Altinn.Platform.Models/src/Altinn.Platform.Models/Register/PartyType.cs - */ -export enum PartyType { - Person = 1, - Organisation = 2, - - /** - * Commenting these out so nobody uses them by accident. The enum linked above has - * these values, but their existence seem to be a lie: - * @see https://digdir.slack.com/archives/C079ZFUSFMW/p1738771291616989?thread_ts=1738750152.285599&cid=C079ZFUSFMW - */ - // SubUnit = 4, - SelfIdentified = 3, - // BankruptcyEstate = 5, -} - -export interface IPerson { - ssn: string; - name: string; - firstName: string; - middleName: string | null; - lastName: string; - telephoneNumber: string; - mobileNumber: string; - mailingAddress: string; - mailingPostalCode: number; - mailingPostalCity: string; - addressMunicipalNumber: number; - addressMunicipalName: string; - addressStreetName: string; - addressHouseNumber: number; - addressHouseLetter: string | null; - addressPostalCode: number; - addressCity: string; -} - -export interface IProcess { - started: string; - startEvent?: string | null; - currentTask?: ITask; - ended?: string | null; - endEvent?: string | null; - processTasks?: Pick[]; -} - -export interface IProfile { - userId: number; - userName: string; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - phoneNumber?: any; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - email?: any; - partyId: number; - party?: IParty; - userType: number; - profileSettingPreference: IProfileSettingPreference; -} - -export interface IProfileSettingPreference { - language: string | null; - preSelectedPartyId: number; - doNotPromptForParty: boolean; -} - -export interface ISelfLinks { - apps: string; - platform: string; -} - -export interface IUserAction { - id: IActionType | string; - authorized: boolean; - type: 'ProcessAction' | 'ServerAction'; -} - -export const ELEMENT_TYPE = { - SERVICE_TASK: 'ServiceTask', - TASK: 'Task', -} as const; - -type ElementType = (typeof ELEMENT_TYPE)[keyof typeof ELEMENT_TYPE]; - -export type ITask = { - flow: number; - started: string; - elementId: string; - name: string; - altinnTaskType: string; - elementType?: ElementType; - ended?: string | null; - validated?: IValidated | null; - - read?: boolean | null; - write?: boolean | null; - actions?: IProcessActions | null; - userActions?: IUserAction[]; -}; - -export type IProcessActions = { - [k in IActionType]?: boolean; -}; - -export interface ITitle { - [key: string]: string; -} - -export interface IValidated { - timestamp: string; - canCompleteTask: boolean; -} - -export interface ITextResource { - value: string; - variables?: IVariable[]; -} - -export interface IVariable { - key: string; - dataSource: - | 'instanceContext' - | 'applicationSettings' - | 'dataModel.default' - | `dataModel.${string}` - | 'customTextParameters'; - defaultValue?: string; -} - -export interface IApplicationSettings { - [source: string]: string | undefined; -} - -export type InstanceOwnerPartyType = 'unknown' | 'org' | 'person' | 'selfIdentified'; - -/** Describes an object with key values from current instance to be used in texts. */ -export interface IInstanceDataSources { - instanceId: string; - appId: string; - instanceOwnerPartyId: string; - instanceOwnerPartyType: InstanceOwnerPartyType; - instanceOwnerName?: string; -} - -export type IActionType = 'instantiate' | 'confirm' | 'sign' | 'reject' | 'read' | 'write' | 'complete'; - -export type IAuthContext = { - read: boolean; - write: boolean; -} & { [action in IActionType]: boolean }; - -export type ProblemDetails = { - title: string; - detail: string; - status: number; -}; +import type { FileScanResult } from 'src/features/attachments/types'; +import type { LooseAutocomplete } from 'src/types'; + +export interface IAltinnOrg { + name: ITitle; + logo: string; + orgnr: string; + homepage: string; + environments: string[]; +} + +export interface IAltinnOrgs { + [org: string]: IAltinnOrg; +} + +export interface IApplicationLogic { + allowAnonymousOnStateless?: boolean | null; + autoCreate?: boolean | null; + classRef?: string | null; + schemaRef?: string | null; + disallowUserCreate?: boolean | null; +} + +export interface IMetadata { + key?: string; + value?: string; +} + +export interface IDisplayAttachment { + name?: string; + iconClass: string; + grouping: string | undefined; + description: Partial, string>> | undefined; + url?: string; + dataType: string; + tags?: string[]; +} + +export interface IData { + id: string; + instanceGuid: string; + dataType: string; + filename?: string; + contentType: string; + blobStoragePath: string; + selfLinks?: ISelfLinks; + size: number; + locked: boolean; + refs: string[]; + isRead?: boolean; + tags?: string[]; + created: string; + createdBy: string; + lastChanged: string; + lastChangedBy: string; + contentHash?: unknown; + fileScanResult?: FileScanResult; + fileScanDetails?: string; + metadata?: IMetadata[]; // Added metadata field to support thumbnails +} + +export interface IDataType { + id: string; + description?: Partial, string>> | null; + allowedContentTypes: string[] | null; + allowedContributers?: string[] | null; + allowedContributors?: string[] | null; + appLogic?: IApplicationLogic | null; + taskId?: string | null; + maxSize?: number | null; + maxCount: number; + minCount: number; + grouping?: string | null; +} + +export interface IInstance { + appId: string; + created?: string; + createdBy?: string; + data: IData[]; + dueBefore?: string; + id: string; + instanceOwner: IInstanceOwner; + instanceState?: IInstanceState; + lastChanged?: string; + lastChangedBy?: string; + org: string; + selfLinks?: ISelfLinks | null; + status?: IInstanceStatus | null; + title?: ITitle | null; + visibleAfter?: string; + completeConfirmations?: unknown; + presentationTexts?: unknown; + dataValues?: unknown; +} + +export interface IInstanceStatus { + substatus: ISubstatus; +} + +export interface ISubstatus { + label: string; + description: string; +} + +export interface IInstanceOwner { + partyId: string; + personNumber?: string; + organisationNumber?: string | null; + username?: string; + party?: IParty | null; +} + +export interface IInstanceState { + isDeleted: boolean; + isMarkedForHardDelete: boolean; + isArchived: boolean; +} + +// Language for the rendered altinn app +export interface IAppLanguage { + language: string; // Language code +} + +/** + * @see https://github.com/Altinn/altinn-platform/blob/main/Altinn.Platform.Models/src/Register/Models/Organization.cs + */ +export interface IOrganisation { + orgNumber: string; + name: string; + unitType: string; + telephoneNumber: string; + mobileNumber: string; + faxNumber: string; + emailAddress: string; + internetAddress: string; + mailingAddress: string; + mailingPostalCode: string; + mailingPostalCity: string; + businessPostalCode: string; + businessPostalCity: string; + // unitStatus: string; // This exists in the model but is not clearly defined, and not used in the frontend +} + +/** + * @see https://github.com/Altinn/altinn-platform/blob/main/Altinn.Platform.Models/src/Register/Models/Party.cs + */ +export interface IParty { + partyId: number; + partyUuid?: string | null; + partyTypeName: PartyType; + orgNumber?: string | null; + ssn: string | null; + unitType?: string | null; + name: string; + isDeleted: boolean; + onlyHierarchyElementWithNoAccess: boolean; + person?: IPerson | null; + organization?: IOrganisation | null; + childParties?: IParty[] | null; +} + +/** + * @see https://github.com/Altinn/altinn-register/blob/main/src/Altinn.Platform.Models/src/Altinn.Platform.Models/Register/PartyType.cs + */ +export enum PartyType { + Person = 1, + Organisation = 2, + + /** + * Commenting these out so nobody uses them by accident. The enum linked above has + * these values, but their existence seem to be a lie: + * @see https://digdir.slack.com/archives/C079ZFUSFMW/p1738771291616989?thread_ts=1738750152.285599&cid=C079ZFUSFMW + */ + // SubUnit = 4, + SelfIdentified = 3, + // BankruptcyEstate = 5, +} + +export interface IPerson { + ssn: string; + name: string; + firstName: string; + middleName: string | null; + lastName: string; + telephoneNumber: string; + mobileNumber: string; + mailingAddress: string; + mailingPostalCode: number; + mailingPostalCity: string; + addressMunicipalNumber: number; + addressMunicipalName: string; + addressStreetName: string; + addressHouseNumber: number; + addressHouseLetter: string | null; + addressPostalCode: number; + addressCity: string; +} + +export interface IProcess { + started: string; + startEvent?: string | null; + currentTask?: ITask; + ended?: string | null; + endEvent?: string | null; + processTasks?: Pick[]; +} + +export interface IProfile { + userId: number; + userName: string; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + phoneNumber?: any; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + email?: any; + partyId: number; + party?: IParty; + userType: number; + profileSettingPreference: IProfileSettingPreference; +} + +export interface IProfileSettingPreference { + language: string | null; + preSelectedPartyId: number; + doNotPromptForParty: boolean; +} + +export interface ISelfLinks { + apps: string; + platform: string; +} + +export interface IUserAction { + id: IActionType | string; + authorized: boolean; + type: 'ProcessAction' | 'ServerAction'; +} + +export const ELEMENT_TYPE = { + SERVICE_TASK: 'ServiceTask', + TASK: 'Task', +} as const; + +type ElementType = (typeof ELEMENT_TYPE)[keyof typeof ELEMENT_TYPE]; + +export type ITask = { + flow: number; + started: string; + elementId: string; + name: string; + altinnTaskType: string; + elementType?: ElementType; + ended?: string | null; + validated?: IValidated | null; + + read?: boolean | null; + write?: boolean | null; + actions?: IProcessActions | null; + userActions?: IUserAction[]; +}; + +export type IProcessActions = { + [k in IActionType]?: boolean; +}; + +export interface ITitle { + [key: string]: string; +} + +export interface IValidated { + timestamp: string; + canCompleteTask: boolean; +} + +export interface ITextResource { + value: string; + variables?: IVariable[]; +} + +export interface IVariable { + key: string; + dataSource: + | 'instanceContext' + | 'applicationSettings' + | 'dataModel.default' + | `dataModel.${string}` + | 'customTextParameters'; + defaultValue?: string; +} + +export interface IApplicationSettings { + [source: string]: string | undefined; +} + +export type InstanceOwnerPartyType = 'unknown' | 'org' | 'person' | 'selfIdentified'; + +/** Describes an object with key values from current instance to be used in texts. */ +export interface IInstanceDataSources { + instanceId: string; + appId: string; + instanceOwnerPartyId: string; + instanceOwnerPartyType: InstanceOwnerPartyType; + instanceOwnerName?: string; +} + +export type IActionType = 'instantiate' | 'confirm' | 'sign' | 'reject' | 'read' | 'write' | 'complete'; + +export type IAuthContext = { + read: boolean; + write: boolean; +} & { [action in IActionType]: boolean }; + +export type ProblemDetails = { + title: string; + detail: string; + status: number; +}; From 2b4472b841b505813bdd87ce220a7dc9d964dcbd Mon Sep 17 00:00:00 2001 From: Filippa Wallden <143729834+walldenfilippa@users.noreply.github.com> Date: Mon, 20 Oct 2025 16:05:04 +0200 Subject: [PATCH 4/6] Add thumbnail header to file uploader list - en --- src/language/texts/en.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/language/texts/en.ts b/src/language/texts/en.ts index 92663fc4ed..3f04ff920f 100644 --- a/src/language/texts/en.ts +++ b/src/language/texts/en.ts @@ -74,6 +74,7 @@ export function en() { 'form_filler.file_uploader_delete_warning': 'Are you sure you want to delete this attachment?', 'form_filler.file_uploader_delete_button_confirm': 'Yes, delete attachment', 'form_filler.file_uploader_list_header_file_size': 'File size', + 'form_filler.file_uploader_list_header_thumbnail': 'Thumbnail', 'form_filler.file_uploader_list_header_name': 'Name', 'form_filler.file_uploader_list_header_status': 'Status', 'form_filler.file_uploader_list_header_delete_sr': 'Delete', From 42c8633df3bb5ae8e0fa776bdd7b4fba78736219 Mon Sep 17 00:00:00 2001 From: Filippa Wallden <143729834+walldenfilippa@users.noreply.github.com> Date: Mon, 20 Oct 2025 16:05:34 +0200 Subject: [PATCH 5/6] Add 'Thumbnail' header to file uploader list - nb --- src/language/texts/nb.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/language/texts/nb.ts b/src/language/texts/nb.ts index 18f85f6752..9222a6dcd7 100644 --- a/src/language/texts/nb.ts +++ b/src/language/texts/nb.ts @@ -75,6 +75,7 @@ export function nb() { 'form_filler.file_uploader_delete_warning': 'Er du sikker på at du vil slette dette vedlegget?', 'form_filler.file_uploader_delete_button_confirm': 'Ja, slett vedlegg', 'form_filler.file_uploader_list_header_file_size': 'Filstørrelse', + 'form_filler.file_uploader_list_header_thumbnail': 'Thumbnail', 'form_filler.file_uploader_list_header_name': 'Navn', 'form_filler.file_uploader_list_header_status': 'Status', 'form_filler.file_uploader_list_status_done': 'Ferdig lastet', From 7672e60e98e341d97185c83b3feaa915c05784a1 Mon Sep 17 00:00:00 2001 From: Filippa Wallden <143729834+walldenfilippa@users.noreply.github.com> Date: Mon, 20 Oct 2025 16:05:53 +0200 Subject: [PATCH 6/6] Add 'Thumbnail' header to file uploader list --- src/language/texts/nn.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/language/texts/nn.ts b/src/language/texts/nn.ts index 5e6c9adcc8..a40a07da82 100644 --- a/src/language/texts/nn.ts +++ b/src/language/texts/nn.ts @@ -75,6 +75,7 @@ export function nn() { 'form_filler.file_uploader_delete_warning': 'Er du sikker på at du vil sletta dette vedlegget?', 'form_filler.file_uploader_delete_button_confirm': 'Ja, slett vedlegg', 'form_filler.file_uploader_list_header_file_size': 'Filstorleik', + 'form_filler.file_uploader_list_header_thumbnail': 'Thumbnail', 'form_filler.file_uploader_list_header_name': 'Namn', 'form_filler.file_uploader_list_header_status': 'Status', 'form_filler.file_uploader_list_status_done': 'Ferdig lasta',