@ndla/ui 56.0.128-alpha.0 → 56.0.129-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/es/Article/Article.js +1 -0
  2. package/es/Article/Article.js.map +1 -1
  3. package/es/Article/ArticleByline.js +14 -28
  4. package/es/Article/ArticleByline.js.map +1 -1
  5. package/es/AudioPlayer/AudioPlayer.js +1 -1
  6. package/es/AudioPlayer/index.js +1 -1
  7. package/es/Breadcrumb/Breadcrumb.js +1 -1
  8. package/es/Breadcrumb/HomeBreadcrumb.js +1 -1
  9. package/es/Breadcrumb/index.js +1 -1
  10. package/es/CopyParagraphButton/CopyParagraphButton.js +1 -1
  11. package/es/CopyParagraphButton/index.js +1 -1
  12. package/es/ErrorMessage/ErrorMessage.js +1 -1
  13. package/es/ErrorMessage/index.js +1 -1
  14. package/es/FactBox/FactBox.js +1 -1
  15. package/es/FactBox/index.js +1 -1
  16. package/es/locale/messages-en.js +10 -5
  17. package/es/locale/messages-en.js.map +1 -1
  18. package/es/locale/messages-nb.js +10 -5
  19. package/es/locale/messages-nb.js.map +1 -1
  20. package/es/locale/messages-nn.js +10 -5
  21. package/es/locale/messages-nn.js.map +1 -1
  22. package/es/locale/messages-se.js +10 -5
  23. package/es/locale/messages-se.js.map +1 -1
  24. package/lib/Article/Article.js +5 -4
  25. package/lib/Article/Article.js.map +1 -1
  26. package/lib/Article/ArticleByline.d.ts +3 -1
  27. package/lib/Article/ArticleByline.js +16 -30
  28. package/lib/Article/ArticleByline.js.map +1 -1
  29. package/lib/AudioPlayer/AudioPlayer.js +5 -5
  30. package/lib/AudioPlayer/index.js +2 -2
  31. package/lib/Breadcrumb/Breadcrumb.js +3 -3
  32. package/lib/Breadcrumb/HomeBreadcrumb.js +2 -2
  33. package/lib/Breadcrumb/index.js +3 -3
  34. package/lib/CampaignBlock/CampaignBlock.js +2 -2
  35. package/lib/CampaignBlock/CampaignBlock.js.map +1 -1
  36. package/lib/Concept/Concept.js +11 -11
  37. package/lib/Concept/Concept.js.map +1 -1
  38. package/lib/ContactBlock/ContactBlock.js +2 -2
  39. package/lib/ContentTypeBadge/ContentTypeBadge.js +20 -20
  40. package/lib/ContentTypeBadge/ContentTypeBadge.js.map +1 -1
  41. package/lib/ContentTypeHero/ContentTypeHero.js +20 -20
  42. package/lib/ContentTypeHero/ContentTypeHero.js.map +1 -1
  43. package/lib/CopyParagraphButton/CopyParagraphButton.js +1 -1
  44. package/lib/CopyParagraphButton/index.js +2 -2
  45. package/lib/Embed/AudioEmbed.js +9 -9
  46. package/lib/Embed/AudioEmbed.js.map +1 -1
  47. package/lib/Embed/BrightcoveEmbed.js +6 -6
  48. package/lib/Embed/BrightcoveEmbed.js.map +1 -1
  49. package/lib/Embed/CodeEmbed.js +6 -6
  50. package/lib/Embed/CodeEmbed.js.map +1 -1
  51. package/lib/Embed/ConceptEmbed.js +9 -9
  52. package/lib/Embed/ConceptEmbed.js.map +1 -1
  53. package/lib/Embed/ConceptInlineTriggerButton.js +2 -2
  54. package/lib/Embed/ConceptInlineTriggerButton.js.map +1 -1
  55. package/lib/Embed/CopyrightEmbed.js +2 -2
  56. package/lib/Embed/EmbedErrorPlaceholder.js +2 -2
  57. package/lib/Embed/ExternalEmbed.js +4 -4
  58. package/lib/Embed/ExternalEmbed.js.map +1 -1
  59. package/lib/Embed/GlossEmbed.js +7 -7
  60. package/lib/Embed/GlossEmbed.js.map +1 -1
  61. package/lib/Embed/H5pEmbed.js +2 -2
  62. package/lib/Embed/H5pEmbed.js.map +1 -1
  63. package/lib/Embed/IframeEmbed.js +4 -4
  64. package/lib/Embed/IframeEmbed.js.map +1 -1
  65. package/lib/Embed/ImageEmbed.js +6 -6
  66. package/lib/Embed/ImageEmbed.js.map +1 -1
  67. package/lib/Embed/RelatedContentEmbed.js +6 -6
  68. package/lib/Embed/RelatedContentEmbed.js.map +1 -1
  69. package/lib/ErrorMessage/ErrorMessage.js +1 -1
  70. package/lib/ErrorMessage/index.js +2 -2
  71. package/lib/FactBox/FactBox.js +1 -1
  72. package/lib/FactBox/index.js +2 -2
  73. package/lib/FileList/File.js +2 -2
  74. package/lib/FileList/File.js.map +1 -1
  75. package/lib/Gloss/Gloss.js +4 -4
  76. package/lib/LicenseByline/EmbedByline.js +2 -2
  77. package/lib/LinkBlock/LinkBlock.js +2 -2
  78. package/lib/LinkBlock/LinkBlock.js.map +1 -1
  79. package/lib/Pitch/Pitch.js +2 -2
  80. package/lib/Pitch/Pitch.js.map +1 -1
  81. package/lib/RelatedArticleList/RelatedArticleList.js +4 -4
  82. package/lib/RelatedArticleList/RelatedArticleList.js.map +1 -1
  83. package/lib/RelatedArticleList/index.js +2 -2
  84. package/lib/i18n/i18n.js +8 -8
  85. package/lib/i18n/i18n.js.map +1 -1
  86. package/lib/index.js +156 -156
  87. package/lib/locale/messages-en.d.ts +12 -5
  88. package/lib/locale/messages-en.js +12 -7
  89. package/lib/locale/messages-en.js.map +1 -1
  90. package/lib/locale/messages-nb.d.ts +12 -5
  91. package/lib/locale/messages-nb.js +12 -7
  92. package/lib/locale/messages-nb.js.map +1 -1
  93. package/lib/locale/messages-nn.d.ts +12 -5
  94. package/lib/locale/messages-nn.js +12 -7
  95. package/lib/locale/messages-nn.js.map +1 -1
  96. package/lib/locale/messages-se.d.ts +12 -5
  97. package/lib/locale/messages-se.js +12 -7
  98. package/lib/locale/messages-se.js.map +1 -1
  99. package/lib/model/index.js +10 -10
  100. package/lib/utils/relativeUrl.js +2 -2
  101. package/lib/utils/relativeUrl.js.map +1 -1
  102. package/package.json +2 -2
  103. package/src/Article/Article.tsx +1 -0
  104. package/src/Article/ArticleByline.stories.tsx +25 -0
  105. package/src/Article/ArticleByline.tsx +15 -35
  106. package/src/locale/messages-en.ts +12 -5
  107. package/src/locale/messages-nb.ts +12 -5
  108. package/src/locale/messages-nn.ts +12 -5
  109. package/src/locale/messages-se.ts +12 -5
@@ -113,6 +113,7 @@ const Article = ({ article, contentType, licenseBox, children, competenceGoals,
113
113
  }),
114
114
  /* @__PURE__ */ jsx(ArticleContent, { children: content }),
115
115
  /* @__PURE__ */ jsxs(ArticleFooter, { children: [/* @__PURE__ */ jsx(ArticleByline, {
116
+ lang,
116
117
  footnotes: footNotes,
117
118
  authors,
118
119
  suppliers: copyright?.rightsholders,
@@ -1 +1 @@
1
- {"version":3,"file":"Article.js","names":[],"sources":["../../src/Article/Article.tsx"],"sourcesContent":["/**\n * Copyright (c) 2016-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { type ComponentPropsWithRef, type ReactNode, forwardRef } from \"react\";\nimport { ark, type HTMLArkProps } from \"@ark-ui/react\";\nimport { Heading, Text } from \"@ndla/primitives\";\nimport { cx } from \"@ndla/styled-system/css\";\nimport { Stack, styled } from \"@ndla/styled-system/jsx\";\nimport type { JsxStyleProps } from \"@ndla/styled-system/types\";\nimport { ArticleByline } from \"./ArticleByline\";\nimport { ContentTypeBadge, type ContentType } from \"../ContentTypeBadge/ContentTypeBadge\";\nimport type { Article as ArticleType } from \"../types\";\n\nconst StyledArticleContent = styled(ark.section, {}, { baseComponent: true });\n\nexport const ArticleContent = forwardRef<HTMLElement, HTMLArkProps<\"div\"> & JsxStyleProps>(\n ({ className, ...props }, ref) => (\n <StyledArticleContent className={cx(\"ndla-article\", className)} {...props} ref={ref} />\n ),\n);\n\nconst StyledArticleWrapper = styled(\n ark.article,\n {\n base: {\n background: \"background.default\",\n display: \"flex\",\n flexDirection: \"column\",\n color: \"text.default\",\n alignItems: \"center\",\n width: \"100%\",\n overflowWrap: \"break-word\",\n position: \"relative\",\n \"& mjx-stretchy-v > mjx-ext > mjx-c\": {\n transform: \"scaleY(100) translateY(0.075em)\",\n },\n _after: {\n content: \"\",\n display: \"table\",\n clear: \"both\",\n },\n },\n },\n { baseComponent: true },\n);\n\nexport const ArticleWrapper = forwardRef<HTMLElement, ComponentPropsWithRef<\"article\"> & JsxStyleProps>(\n (props, ref) => <StyledArticleWrapper data-ndla-article=\"\" ref={ref} {...props} />,\n);\n\nexport const ArticleHGroup = styled(\n ark.hgroup,\n {\n base: {\n display: \"flex\",\n width: \"100%\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n overflowWrap: \"anywhere\",\n },\n },\n },\n { baseComponent: true },\n);\n\nexport const ArticleHeader = styled(\n ark.header,\n {\n base: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"medium\",\n alignItems: \"flex-start\",\n width: \"100%\",\n paddingBlockStart: \"xxlarge\",\n overflowWrap: \"anywhere\",\n },\n },\n { baseComponent: true },\n);\n\nexport const ArticleFooter = styled(\n ark.footer,\n {\n base: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"xxlarge\",\n width: \"100%\",\n \"& > :is(:last-child)\": {\n paddingBlockEnd: \"5xlarge\",\n },\n },\n },\n { baseComponent: true },\n);\n\nconst StyledStack = styled(Stack, {\n base: {\n width: \"100%\",\n minHeight: \"xxlarge\",\n },\n});\n\nconst StyledWrapper = styled(\"div\", {\n base: {\n display: \"flex\",\n gap: \"small\",\n flexWrap: \"wrap\",\n alignItems: \"center\",\n },\n});\n\ninterface ArticleTitleProps {\n heartButton?: ReactNode;\n contentType?: ContentType;\n contentTypeLabel?: ReactNode;\n competenceGoals?: ReactNode;\n id: string;\n lang?: string;\n title?: ReactNode;\n introduction?: ReactNode;\n disclaimer?: ReactNode;\n}\n\nexport const ArticleTitle = ({\n contentType,\n heartButton,\n title,\n lang,\n id,\n introduction,\n contentTypeLabel,\n competenceGoals,\n disclaimer,\n}: ArticleTitleProps) => {\n return (\n <ArticleHeader>\n <ArticleHGroup>\n {(!!contentType || !!heartButton) && (\n <StyledStack justify=\"space-between\" align=\"center\" direction=\"row\" gap=\"small\">\n {!!contentType && <ContentTypeBadge contentType={contentType}>{contentTypeLabel}</ContentTypeBadge>}\n {heartButton}\n </StyledStack>\n )}\n <Heading textStyle=\"heading.medium\" id={id} lang={lang} property=\"dct:title\">\n {title}\n </Heading>\n </ArticleHGroup>\n {!!introduction && (\n <Text lang={lang} textStyle=\"body.xlarge\" asChild consumeCss>\n <div>{introduction}</div>\n </Text>\n )}\n <StyledWrapper>\n {competenceGoals}\n {disclaimer}\n </StyledWrapper>\n </ArticleHeader>\n );\n};\n\ninterface Props {\n heartButton?: ReactNode;\n article: ArticleType;\n licenseBox?: ReactNode;\n contentType?: ContentType;\n contentTypeLabel?: ReactNode;\n children?: ReactNode;\n competenceGoals?: ReactNode;\n id: string;\n lang?: string;\n disclaimer?: ReactNode;\n}\n\nexport const Article = ({\n article,\n contentType,\n licenseBox,\n children,\n competenceGoals,\n contentTypeLabel,\n id,\n heartButton,\n lang,\n disclaimer,\n}: Props) => {\n const { title, introduction, published, content, footNotes, copyright } = article;\n\n const authors =\n copyright?.creators.length || copyright?.rightsholders.length ? copyright.creators : copyright?.processors;\n\n return (\n <ArticleWrapper>\n <ArticleTitle\n id={id}\n contentType={contentType}\n heartButton={heartButton}\n title={title}\n introduction={introduction}\n competenceGoals={competenceGoals}\n lang={lang}\n contentTypeLabel={contentTypeLabel}\n disclaimer={disclaimer}\n />\n <ArticleContent>{content}</ArticleContent>\n <ArticleFooter>\n <ArticleByline\n footnotes={footNotes}\n authors={authors}\n suppliers={copyright?.rightsholders}\n published={published}\n licenseBox={licenseBox}\n />\n {children}\n </ArticleFooter>\n </ArticleWrapper>\n );\n};\n"],"mappings":";;;;;;;;;;AAkBA,MAAM,uBAAuB,OAAO,IAAI,SAAS,CAAE,GAAE,EAAE,eAAe,KAAM,EAAC;AAE7E,MAAa,iBAAiB,WAC5B,CAAC,EAAE,UAAW,GAAG,OAAO,EAAE,wBACxB,IAAC;CAAqB,WAAW,GAAG,gBAAgB,UAAU;CAAE,GAAI;CAAY;EAAO,CAE1F;AAED,MAAM,uBAAuB,OAC3B,IAAI,SACJ,EACE,MAAM;CACJ,YAAY;CACZ,SAAS;CACT,eAAe;CACf,OAAO;CACP,YAAY;CACZ,OAAO;CACP,cAAc;CACd,UAAU;CACV,sCAAsC,EACpC,WAAW,kCACZ;CACD,QAAQ;EACN,SAAS;EACT,SAAS;EACT,OAAO;CACR;AACF,EACF,GACD,EAAE,eAAe,KAAM,EACxB;AAED,MAAa,iBAAiB,WAC5B,CAAC,OAAO,wBAAQ,IAAC;CAAqB,qBAAkB;CAAQ;CAAK,GAAI;EAAS,CACnF;AAED,MAAa,gBAAgB,OAC3B,IAAI,QACJ,EACE,MAAM;CACJ,SAAS;CACT,OAAO;CACP,eAAe;CACf,YAAY;CACZ,QAAQ,EACN,cAAc,WACf;AACF,EACF,GACD,EAAE,eAAe,KAAM,EACxB;AAED,MAAa,gBAAgB,OAC3B,IAAI,QACJ,EACE,MAAM;CACJ,SAAS;CACT,eAAe;CACf,KAAK;CACL,YAAY;CACZ,OAAO;CACP,mBAAmB;CACnB,cAAc;AACf,EACF,GACD,EAAE,eAAe,KAAM,EACxB;AAED,MAAa,gBAAgB,OAC3B,IAAI,QACJ,EACE,MAAM;CACJ,SAAS;CACT,eAAe;CACf,KAAK;CACL,OAAO;CACP,wBAAwB,EACtB,iBAAiB,UAClB;AACF,EACF,GACD,EAAE,eAAe,KAAM,EACxB;AAED,MAAM,cAAc,OAAO,OAAO,EAChC,MAAM;CACJ,OAAO;CACP,WAAW;AACZ,EACF,EAAC;AAEF,MAAM,gBAAgB,OAAO,OAAO,EAClC,MAAM;CACJ,SAAS;CACT,KAAK;CACL,UAAU;CACV,YAAY;AACb,EACF,EAAC;AAcF,MAAa,eAAe,CAAC,EAC3B,aACA,aACA,OACA,MACA,IACA,cACA,kBACA,iBACA,YACkB,KAAK;AACvB,wBACE,KAAC;kBACC,KAAC,+BACK,iBAAiB,gCACnB,KAAC;GAAY,SAAQ;GAAgB,OAAM;GAAS,WAAU;GAAM,KAAI;gBACnE,+BAAe,IAAC;IAA8B;cAAc;KAAoC,EAClG;IACW,kBAEhB,IAAC;GAAQ,WAAU;GAAqB;GAAU;GAAM,UAAS;aAC9D;IACO,IACI;IACb,gCACD,IAAC;GAAW;GAAM,WAAU;GAAc;GAAQ;6BAChD,IAAC,mBAAK,eAAmB;IACpB;kBAET,KAAC,4BACE,iBACA,cACa;KACF;AAEnB;AAeD,MAAa,UAAU,CAAC,EACtB,SACA,aACA,YACA,UACA,iBACA,kBACA,IACA,aACA,MACA,YACM,KAAK;CACX,MAAM,EAAE,OAAO,cAAc,WAAW,SAAS,WAAW,WAAW,GAAG;CAE1E,MAAM,UACJ,WAAW,SAAS,UAAU,WAAW,cAAc,SAAS,UAAU,WAAW,WAAW;AAElG,wBACE,KAAC;kBACC,IAAC;GACK;GACS;GACA;GACN;GACO;GACG;GACX;GACY;GACN;IACZ;kBACF,IAAC,4BAAgB,UAAyB;kBAC1C,KAAC,4CACC,IAAC;GACC,WAAW;GACF;GACT,WAAW,WAAW;GACX;GACC;IACZ,EACD,YACa;KACD;AAEpB"}
1
+ {"version":3,"file":"Article.js","names":[],"sources":["../../src/Article/Article.tsx"],"sourcesContent":["/**\n * Copyright (c) 2016-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { type ComponentPropsWithRef, type ReactNode, forwardRef } from \"react\";\nimport { ark, type HTMLArkProps } from \"@ark-ui/react\";\nimport { Heading, Text } from \"@ndla/primitives\";\nimport { cx } from \"@ndla/styled-system/css\";\nimport { Stack, styled } from \"@ndla/styled-system/jsx\";\nimport type { JsxStyleProps } from \"@ndla/styled-system/types\";\nimport { ArticleByline } from \"./ArticleByline\";\nimport { ContentTypeBadge, type ContentType } from \"../ContentTypeBadge/ContentTypeBadge\";\nimport type { Article as ArticleType } from \"../types\";\n\nconst StyledArticleContent = styled(ark.section, {}, { baseComponent: true });\n\nexport const ArticleContent = forwardRef<HTMLElement, HTMLArkProps<\"div\"> & JsxStyleProps>(\n ({ className, ...props }, ref) => (\n <StyledArticleContent className={cx(\"ndla-article\", className)} {...props} ref={ref} />\n ),\n);\n\nconst StyledArticleWrapper = styled(\n ark.article,\n {\n base: {\n background: \"background.default\",\n display: \"flex\",\n flexDirection: \"column\",\n color: \"text.default\",\n alignItems: \"center\",\n width: \"100%\",\n overflowWrap: \"break-word\",\n position: \"relative\",\n \"& mjx-stretchy-v > mjx-ext > mjx-c\": {\n transform: \"scaleY(100) translateY(0.075em)\",\n },\n _after: {\n content: \"\",\n display: \"table\",\n clear: \"both\",\n },\n },\n },\n { baseComponent: true },\n);\n\nexport const ArticleWrapper = forwardRef<HTMLElement, ComponentPropsWithRef<\"article\"> & JsxStyleProps>(\n (props, ref) => <StyledArticleWrapper data-ndla-article=\"\" ref={ref} {...props} />,\n);\n\nexport const ArticleHGroup = styled(\n ark.hgroup,\n {\n base: {\n display: \"flex\",\n width: \"100%\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n overflowWrap: \"anywhere\",\n },\n },\n },\n { baseComponent: true },\n);\n\nexport const ArticleHeader = styled(\n ark.header,\n {\n base: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"medium\",\n alignItems: \"flex-start\",\n width: \"100%\",\n paddingBlockStart: \"xxlarge\",\n overflowWrap: \"anywhere\",\n },\n },\n { baseComponent: true },\n);\n\nexport const ArticleFooter = styled(\n ark.footer,\n {\n base: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"xxlarge\",\n width: \"100%\",\n \"& > :is(:last-child)\": {\n paddingBlockEnd: \"5xlarge\",\n },\n },\n },\n { baseComponent: true },\n);\n\nconst StyledStack = styled(Stack, {\n base: {\n width: \"100%\",\n minHeight: \"xxlarge\",\n },\n});\n\nconst StyledWrapper = styled(\"div\", {\n base: {\n display: \"flex\",\n gap: \"small\",\n flexWrap: \"wrap\",\n alignItems: \"center\",\n },\n});\n\ninterface ArticleTitleProps {\n heartButton?: ReactNode;\n contentType?: ContentType;\n contentTypeLabel?: ReactNode;\n competenceGoals?: ReactNode;\n id: string;\n lang?: string;\n title?: ReactNode;\n introduction?: ReactNode;\n disclaimer?: ReactNode;\n}\n\nexport const ArticleTitle = ({\n contentType,\n heartButton,\n title,\n lang,\n id,\n introduction,\n contentTypeLabel,\n competenceGoals,\n disclaimer,\n}: ArticleTitleProps) => {\n return (\n <ArticleHeader>\n <ArticleHGroup>\n {(!!contentType || !!heartButton) && (\n <StyledStack justify=\"space-between\" align=\"center\" direction=\"row\" gap=\"small\">\n {!!contentType && <ContentTypeBadge contentType={contentType}>{contentTypeLabel}</ContentTypeBadge>}\n {heartButton}\n </StyledStack>\n )}\n <Heading textStyle=\"heading.medium\" id={id} lang={lang} property=\"dct:title\">\n {title}\n </Heading>\n </ArticleHGroup>\n {!!introduction && (\n <Text lang={lang} textStyle=\"body.xlarge\" asChild consumeCss>\n <div>{introduction}</div>\n </Text>\n )}\n <StyledWrapper>\n {competenceGoals}\n {disclaimer}\n </StyledWrapper>\n </ArticleHeader>\n );\n};\n\ninterface Props {\n heartButton?: ReactNode;\n article: ArticleType;\n licenseBox?: ReactNode;\n contentType?: ContentType;\n contentTypeLabel?: ReactNode;\n children?: ReactNode;\n competenceGoals?: ReactNode;\n id: string;\n lang?: string;\n disclaimer?: ReactNode;\n}\n\nexport const Article = ({\n article,\n contentType,\n licenseBox,\n children,\n competenceGoals,\n contentTypeLabel,\n id,\n heartButton,\n lang,\n disclaimer,\n}: Props) => {\n const { title, introduction, published, content, footNotes, copyright } = article;\n\n const authors =\n copyright?.creators.length || copyright?.rightsholders.length ? copyright.creators : copyright?.processors;\n\n return (\n <ArticleWrapper>\n <ArticleTitle\n id={id}\n contentType={contentType}\n heartButton={heartButton}\n title={title}\n introduction={introduction}\n competenceGoals={competenceGoals}\n lang={lang}\n contentTypeLabel={contentTypeLabel}\n disclaimer={disclaimer}\n />\n <ArticleContent>{content}</ArticleContent>\n <ArticleFooter>\n <ArticleByline\n lang={lang}\n footnotes={footNotes}\n authors={authors}\n suppliers={copyright?.rightsholders}\n published={published}\n licenseBox={licenseBox}\n />\n {children}\n </ArticleFooter>\n </ArticleWrapper>\n );\n};\n"],"mappings":";;;;;;;;;;AAkBA,MAAM,uBAAuB,OAAO,IAAI,SAAS,CAAE,GAAE,EAAE,eAAe,KAAM,EAAC;AAE7E,MAAa,iBAAiB,WAC5B,CAAC,EAAE,UAAW,GAAG,OAAO,EAAE,wBACxB,IAAC;CAAqB,WAAW,GAAG,gBAAgB,UAAU;CAAE,GAAI;CAAY;EAAO,CAE1F;AAED,MAAM,uBAAuB,OAC3B,IAAI,SACJ,EACE,MAAM;CACJ,YAAY;CACZ,SAAS;CACT,eAAe;CACf,OAAO;CACP,YAAY;CACZ,OAAO;CACP,cAAc;CACd,UAAU;CACV,sCAAsC,EACpC,WAAW,kCACZ;CACD,QAAQ;EACN,SAAS;EACT,SAAS;EACT,OAAO;CACR;AACF,EACF,GACD,EAAE,eAAe,KAAM,EACxB;AAED,MAAa,iBAAiB,WAC5B,CAAC,OAAO,wBAAQ,IAAC;CAAqB,qBAAkB;CAAQ;CAAK,GAAI;EAAS,CACnF;AAED,MAAa,gBAAgB,OAC3B,IAAI,QACJ,EACE,MAAM;CACJ,SAAS;CACT,OAAO;CACP,eAAe;CACf,YAAY;CACZ,QAAQ,EACN,cAAc,WACf;AACF,EACF,GACD,EAAE,eAAe,KAAM,EACxB;AAED,MAAa,gBAAgB,OAC3B,IAAI,QACJ,EACE,MAAM;CACJ,SAAS;CACT,eAAe;CACf,KAAK;CACL,YAAY;CACZ,OAAO;CACP,mBAAmB;CACnB,cAAc;AACf,EACF,GACD,EAAE,eAAe,KAAM,EACxB;AAED,MAAa,gBAAgB,OAC3B,IAAI,QACJ,EACE,MAAM;CACJ,SAAS;CACT,eAAe;CACf,KAAK;CACL,OAAO;CACP,wBAAwB,EACtB,iBAAiB,UAClB;AACF,EACF,GACD,EAAE,eAAe,KAAM,EACxB;AAED,MAAM,cAAc,OAAO,OAAO,EAChC,MAAM;CACJ,OAAO;CACP,WAAW;AACZ,EACF,EAAC;AAEF,MAAM,gBAAgB,OAAO,OAAO,EAClC,MAAM;CACJ,SAAS;CACT,KAAK;CACL,UAAU;CACV,YAAY;AACb,EACF,EAAC;AAcF,MAAa,eAAe,CAAC,EAC3B,aACA,aACA,OACA,MACA,IACA,cACA,kBACA,iBACA,YACkB,KAAK;AACvB,wBACE,KAAC;kBACC,KAAC,+BACK,iBAAiB,gCACnB,KAAC;GAAY,SAAQ;GAAgB,OAAM;GAAS,WAAU;GAAM,KAAI;gBACnE,+BAAe,IAAC;IAA8B;cAAc;KAAoC,EAClG;IACW,kBAEhB,IAAC;GAAQ,WAAU;GAAqB;GAAU;GAAM,UAAS;aAC9D;IACO,IACI;IACb,gCACD,IAAC;GAAW;GAAM,WAAU;GAAc;GAAQ;6BAChD,IAAC,mBAAK,eAAmB;IACpB;kBAET,KAAC,4BACE,iBACA,cACa;KACF;AAEnB;AAeD,MAAa,UAAU,CAAC,EACtB,SACA,aACA,YACA,UACA,iBACA,kBACA,IACA,aACA,MACA,YACM,KAAK;CACX,MAAM,EAAE,OAAO,cAAc,WAAW,SAAS,WAAW,WAAW,GAAG;CAE1E,MAAM,UACJ,WAAW,SAAS,UAAU,WAAW,cAAc,SAAS,UAAU,WAAW,WAAW;AAElG,wBACE,KAAC;kBACC,IAAC;GACK;GACS;GACA;GACN;GACO;GACG;GACX;GACY;GACN;IACZ;kBACF,IAAC,4BAAgB,UAAyB;kBAC1C,KAAC,4CACC,IAAC;GACO;GACN,WAAW;GACF;GACT,WAAW,WAAW;GACX;GACC;IACZ,EACD,YACa;KACD;AAEpB"}
@@ -4,6 +4,7 @@ import { AccordionItem, AccordionItemContent, AccordionItemIndicator, AccordionI
4
4
  import { styled } from "@ndla/styled-system/jsx";
5
5
  import { useTranslation } from "react-i18next";
6
6
  import { ArrowDownShortLine } from "@ndla/icons";
7
+ import { SafeLink } from "@ndla/safelink";
7
8
  import { jsx, jsxs } from "react/jsx-runtime";
8
9
  import { useLocation } from "react-router-dom";
9
10
 
@@ -30,28 +31,13 @@ const TextWrapper = styled("div", {
30
31
  false: { tabletWide: { flexDirection: "row" } }
31
32
  } }
32
33
  });
33
- const renderContributors = (contributors, t) => {
34
- const contributorsArray = contributors.map((contributor, index) => {
35
- if (index < 1) return contributor.name;
36
- const sep = index === contributors.length - 1 ? ` ${t("article.conjunction")} ` : ", ";
37
- return `${sep}${contributor.name}`;
38
- });
39
- return contributorsArray.join("");
40
- };
41
- const getSuppliersText = (suppliers, t) => {
42
- if (suppliers.length === 0) return "";
43
- return suppliers.length > 1 ? t("article.multipleSuppliersLabel", {
44
- names: renderContributors(suppliers, t),
45
- interpolation: { escapeValue: false }
46
- }) : t("article.supplierLabel", {
47
- name: renderContributors(suppliers, t),
48
- interpolation: { escapeValue: false }
49
- });
50
- };
34
+ function formatList(list, listFormatter) {
35
+ return listFormatter.format(list.map((l) => l.name));
36
+ }
51
37
  const StyledAccordionRoot = styled(AccordionRoot, { base: { paddingBlockStart: "xxlarge" } });
52
38
  const refRegexp = /note\d/;
53
39
  const footnotesAccordionId = "footnotes";
54
- const ArticleByline = ({ authors = [], suppliers = [], footnotes, licenseBox, published, displayByline = true, bylineType = "article", bylineSuffix }) => {
40
+ const ArticleByline = ({ lang, authors = [], suppliers = [], footnotes, licenseBox, published, displayByline = true, bylineType = "article", bylineSuffix, learningpathCopiedFrom }) => {
55
41
  const { t } = useTranslation();
56
42
  const { pathname } = useLocation();
57
43
  const [openAccordions, setOpenAccordions] = useState([]);
@@ -73,18 +59,18 @@ const ArticleByline = ({ authors = [], suppliers = [], footnotes, licenseBox, pu
73
59
  return () => window.removeEventListener("hashchange", onHashChange);
74
60
  }, [onHashChange]);
75
61
  const showPrimaryContributors = suppliers.length > 0 || authors.length > 0;
76
- const authorLabel = {
77
- article: "article.authorsLabel",
78
- learningPath: "article.authorsLabelLearningpath",
79
- external: "article.authorsLabelExternal"
80
- };
62
+ const listFormatter = new Intl.ListFormat(lang, {
63
+ style: "long",
64
+ type: "conjunction"
65
+ });
81
66
  return /* @__PURE__ */ jsxs(Wrapper, { children: [!!displayByline && /* @__PURE__ */ jsxs(TextWrapper, {
82
67
  learningpath: bylineType === "learningPath",
83
68
  children: [
84
- !!showPrimaryContributors && /* @__PURE__ */ jsxs("span", { children: [authors.length > 0 && `${t(authorLabel[bylineType], {
85
- names: renderContributors(authors, t),
86
- interpolation: { escapeValue: false }
87
- })}. `, getSuppliersText(suppliers, t)] }),
69
+ !!showPrimaryContributors && /* @__PURE__ */ jsxs("span", { children: [authors.length > 0 && `${t("article.authorsLabel", { context: bylineType })} ${formatList(authors, listFormatter)}. `, suppliers.length > 0 && `${t("article.supplierLabel", { count: suppliers.length })} ${formatList(suppliers, listFormatter)}.`] }),
70
+ learningpathCopiedFrom ? /* @__PURE__ */ jsx(SafeLink, {
71
+ to: learningpathCopiedFrom,
72
+ children: t(`learningPath.copiedFrom`)
73
+ }) : null,
88
74
  published ? /* @__PURE__ */ jsxs("div", {
89
75
  "data-contributors": showPrimaryContributors,
90
76
  children: [
@@ -1 +1 @@
1
- {"version":3,"file":"ArticleByline.js","names":["contributors: SupplierProps[] | AuthorProps[]","t: TFunction","suppliers: SupplierProps[]","e: HashChangeEvent","authorLabel: Record<string, string>"],"sources":["../../src/Article/ArticleByline.tsx"],"sourcesContent":["/**\n * Copyright (c) 2020-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport type { TFunction } from \"i18next\";\nimport { type ReactNode, forwardRef, useCallback, useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\nimport { ArrowDownShortLine } from \"@ndla/icons\";\nimport {\n AccordionItem,\n AccordionItemContent,\n AccordionItemIndicator,\n type AccordionItemProps,\n AccordionItemTrigger,\n AccordionRoot,\n Heading,\n} from \"@ndla/primitives\";\nimport { styled } from \"@ndla/styled-system/jsx\";\nimport { ArticleFootNotes } from \"./ArticleFootNotes\";\nimport type { FootNote } from \"../types\";\n\nconst Wrapper = styled(\"div\", {\n base: {\n // TODO: Figure out if we want to remove this margin. It's only here to add some gap between the article content and the byline.\n marginBlockStart: \"medium\",\n paddingBlockStart: \"xsmall\",\n borderTop: \"1px solid\",\n borderColor: \"stroke.subtle\",\n },\n});\n\nconst TextWrapper = styled(\"div\", {\n base: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"3xsmall\",\n width: \"100%\",\n justifyContent: \"space-between\",\n paddingBlock: \"xsmall\",\n textStyle: \"body.medium\",\n '& [data-contributors=\"false\"]': {\n marginInlineStart: \"auto\",\n },\n },\n variants: {\n learningpath: {\n true: {},\n false: {\n tabletWide: {\n flexDirection: \"row\",\n },\n },\n },\n },\n});\n\ntype AuthorProps = {\n name: string;\n};\n\ntype SupplierProps = {\n name: string;\n};\n\ntype Props = {\n authors?: AuthorProps[];\n suppliers?: SupplierProps[];\n published?: string;\n licenseBox?: ReactNode;\n footnotes?: FootNote[];\n displayByline?: boolean;\n bylineType?: \"article\" | \"learningPath\" | \"external\";\n bylineSuffix?: ReactNode;\n};\n\nconst renderContributors = (contributors: SupplierProps[] | AuthorProps[], t: TFunction) => {\n const contributorsArray = contributors.map((contributor, index) => {\n if (index < 1) return contributor.name;\n const sep = index === contributors.length - 1 ? ` ${t(\"article.conjunction\")} ` : \", \";\n return `${sep}${contributor.name}`;\n });\n return contributorsArray.join(\"\");\n};\n\nconst getSuppliersText = (suppliers: SupplierProps[], t: TFunction) => {\n if (suppliers.length === 0) {\n return \"\";\n }\n return suppliers.length > 1\n ? t(\"article.multipleSuppliersLabel\", {\n names: renderContributors(suppliers, t),\n interpolation: { escapeValue: false },\n })\n : t(\"article.supplierLabel\", {\n name: renderContributors(suppliers, t),\n interpolation: { escapeValue: false },\n });\n};\n\nconst StyledAccordionRoot = styled(AccordionRoot, {\n base: {\n paddingBlockStart: \"xxlarge\",\n },\n});\n\nconst refRegexp = /note\\d/;\nconst footnotesAccordionId = \"footnotes\";\n\nexport const ArticleByline = ({\n authors = [],\n suppliers = [],\n footnotes,\n licenseBox,\n published,\n displayByline = true,\n bylineType = \"article\",\n bylineSuffix,\n}: Props) => {\n const { t } = useTranslation();\n const { pathname } = useLocation();\n const [openAccordions, setOpenAccordions] = useState<string[]>([]);\n const accordionItemValue = \"rulesForUse\";\n\n const onHashChange = useCallback(\n (e: HashChangeEvent) => {\n const hash = e.newURL.split(\"#\")[1];\n if (hash?.match(refRegexp) && !openAccordions.includes(footnotesAccordionId)) {\n setOpenAccordions([...openAccordions, footnotesAccordionId]);\n const el = document.getElementById(`#${hash}`);\n el?.click();\n el?.focus();\n }\n },\n [openAccordions],\n );\n\n useEffect(() => {\n setOpenAccordions((prev) => prev.filter((state) => state !== accordionItemValue));\n }, [pathname]);\n\n useEffect(() => {\n window.addEventListener(\"hashchange\", onHashChange);\n return () => window.removeEventListener(\"hashchange\", onHashChange);\n }, [onHashChange]);\n\n const showPrimaryContributors = suppliers.length > 0 || authors.length > 0;\n\n const authorLabel: Record<string, string> = {\n article: \"article.authorsLabel\",\n learningPath: \"article.authorsLabelLearningpath\",\n external: \"article.authorsLabelExternal\",\n };\n\n return (\n <Wrapper>\n {!!displayByline && (\n <TextWrapper learningpath={bylineType === \"learningPath\"}>\n {!!showPrimaryContributors && (\n <span>\n {authors.length > 0 &&\n `${t(authorLabel[bylineType], {\n names: renderContributors(authors, t),\n interpolation: { escapeValue: false },\n })}. `}\n {getSuppliersText(suppliers, t)}\n </span>\n )}\n {published ? (\n <div data-contributors={showPrimaryContributors}>\n {t(`${bylineType}.lastUpdated`)} {published}\n </div>\n ) : null}\n {bylineSuffix}\n </TextWrapper>\n )}\n {(!!licenseBox || !!footnotes?.length) && (\n <StyledAccordionRoot\n multiple\n value={openAccordions}\n onValueChange={(details) => setOpenAccordions(details.value)}\n >\n {!!licenseBox && (\n <ArticleBylineAccordionItem value={accordionItemValue} accordionTitle={t(\"article.useContent\")}>\n {licenseBox}\n </ArticleBylineAccordionItem>\n )}\n {!!footnotes?.length && (\n <ArticleBylineAccordionItem value={footnotesAccordionId} accordionTitle={t(\"article.footnotes\")}>\n <ArticleFootNotes footNotes={footnotes} />\n </ArticleBylineAccordionItem>\n )}\n </StyledAccordionRoot>\n )}\n </Wrapper>\n );\n};\n\ninterface ArticleBylineAccordionprops extends AccordionItemProps {\n accordionTitle: ReactNode;\n}\n\nexport const ArticleBylineAccordionItem = forwardRef<HTMLDivElement, ArticleBylineAccordionprops>(\n ({ value, accordionTitle, children, ...props }, ref) => {\n return (\n <AccordionItem value={value} ref={ref} {...props}>\n <Heading asChild consumeCss textStyle=\"label.medium\" fontWeight=\"bold\">\n <h2>\n <AccordionItemTrigger>\n {accordionTitle}\n <AccordionItemIndicator asChild>\n <ArrowDownShortLine />\n </AccordionItemIndicator>\n </AccordionItemTrigger>\n </h2>\n </Heading>\n <AccordionItemContent>{children}</AccordionItemContent>\n </AccordionItem>\n );\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"ArticleByline.js","names":["list: SupplierProps[]","listFormatter: Intl.ListFormat","e: HashChangeEvent"],"sources":["../../src/Article/ArticleByline.tsx"],"sourcesContent":["/**\n * Copyright (c) 2020-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { type ReactNode, forwardRef, useCallback, useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\nimport { ArrowDownShortLine } from \"@ndla/icons\";\nimport {\n AccordionItem,\n AccordionItemContent,\n AccordionItemIndicator,\n type AccordionItemProps,\n AccordionItemTrigger,\n AccordionRoot,\n Heading,\n} from \"@ndla/primitives\";\nimport { SafeLink } from \"@ndla/safelink\";\nimport { styled } from \"@ndla/styled-system/jsx\";\nimport { ArticleFootNotes } from \"./ArticleFootNotes\";\nimport type { FootNote } from \"../types\";\n\nconst Wrapper = styled(\"div\", {\n base: {\n // TODO: Figure out if we want to remove this margin. It's only here to add some gap between the article content and the byline.\n marginBlockStart: \"medium\",\n paddingBlockStart: \"xsmall\",\n borderTop: \"1px solid\",\n borderColor: \"stroke.subtle\",\n },\n});\n\nconst TextWrapper = styled(\"div\", {\n base: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"3xsmall\",\n width: \"100%\",\n justifyContent: \"space-between\",\n paddingBlock: \"xsmall\",\n textStyle: \"body.medium\",\n '& [data-contributors=\"false\"]': {\n marginInlineStart: \"auto\",\n },\n },\n variants: {\n learningpath: {\n true: {},\n false: {\n tabletWide: {\n flexDirection: \"row\",\n },\n },\n },\n },\n});\n\ntype AuthorProps = {\n name: string;\n};\n\ntype SupplierProps = {\n name: string;\n};\n\ntype Props = {\n lang?: string;\n authors?: AuthorProps[];\n suppliers?: SupplierProps[];\n published?: string;\n licenseBox?: ReactNode;\n footnotes?: FootNote[];\n displayByline?: boolean;\n bylineType?: \"article\" | \"learningPath\" | \"external\";\n bylineSuffix?: ReactNode;\n learningpathCopiedFrom?: string;\n};\n\nfunction formatList(list: SupplierProps[], listFormatter: Intl.ListFormat) {\n return listFormatter.format(list.map((l) => l.name));\n}\n\nconst StyledAccordionRoot = styled(AccordionRoot, {\n base: {\n paddingBlockStart: \"xxlarge\",\n },\n});\n\nconst refRegexp = /note\\d/;\nconst footnotesAccordionId = \"footnotes\";\n\nexport const ArticleByline = ({\n lang,\n authors = [],\n suppliers = [],\n footnotes,\n licenseBox,\n published,\n displayByline = true,\n bylineType = \"article\",\n bylineSuffix,\n learningpathCopiedFrom,\n}: Props) => {\n const { t } = useTranslation();\n const { pathname } = useLocation();\n const [openAccordions, setOpenAccordions] = useState<string[]>([]);\n const accordionItemValue = \"rulesForUse\";\n\n const onHashChange = useCallback(\n (e: HashChangeEvent) => {\n const hash = e.newURL.split(\"#\")[1];\n if (hash?.match(refRegexp) && !openAccordions.includes(footnotesAccordionId)) {\n setOpenAccordions([...openAccordions, footnotesAccordionId]);\n const el = document.getElementById(`#${hash}`);\n el?.click();\n el?.focus();\n }\n },\n [openAccordions],\n );\n\n useEffect(() => {\n setOpenAccordions((prev) => prev.filter((state) => state !== accordionItemValue));\n }, [pathname]);\n\n useEffect(() => {\n window.addEventListener(\"hashchange\", onHashChange);\n return () => window.removeEventListener(\"hashchange\", onHashChange);\n }, [onHashChange]);\n\n const showPrimaryContributors = suppliers.length > 0 || authors.length > 0;\n const listFormatter = new Intl.ListFormat(lang, { style: \"long\", type: \"conjunction\" });\n\n return (\n <Wrapper>\n {!!displayByline && (\n <TextWrapper learningpath={bylineType === \"learningPath\"}>\n {!!showPrimaryContributors && (\n <span>\n {authors.length > 0 &&\n `${t(\"article.authorsLabel\", { context: bylineType })} ${formatList(authors, listFormatter)}. `}\n {suppliers.length > 0 &&\n `${t(\"article.supplierLabel\", { count: suppliers.length })} ${formatList(suppliers, listFormatter)}.`}\n </span>\n )}\n {learningpathCopiedFrom ? (\n <SafeLink to={learningpathCopiedFrom}>{t(`learningPath.copiedFrom`)}</SafeLink>\n ) : null}\n {published ? (\n <div data-contributors={showPrimaryContributors}>\n {t(`${bylineType}.lastUpdated`)} {published}\n </div>\n ) : null}\n {bylineSuffix}\n </TextWrapper>\n )}\n {(!!licenseBox || !!footnotes?.length) && (\n <StyledAccordionRoot\n multiple\n value={openAccordions}\n onValueChange={(details) => setOpenAccordions(details.value)}\n >\n {!!licenseBox && (\n <ArticleBylineAccordionItem value={accordionItemValue} accordionTitle={t(\"article.useContent\")}>\n {licenseBox}\n </ArticleBylineAccordionItem>\n )}\n {!!footnotes?.length && (\n <ArticleBylineAccordionItem value={footnotesAccordionId} accordionTitle={t(\"article.footnotes\")}>\n <ArticleFootNotes footNotes={footnotes} />\n </ArticleBylineAccordionItem>\n )}\n </StyledAccordionRoot>\n )}\n </Wrapper>\n );\n};\n\ninterface ArticleBylineAccordionprops extends AccordionItemProps {\n accordionTitle: ReactNode;\n}\n\nexport const ArticleBylineAccordionItem = forwardRef<HTMLDivElement, ArticleBylineAccordionprops>(\n ({ value, accordionTitle, children, ...props }, ref) => {\n return (\n <AccordionItem value={value} ref={ref} {...props}>\n <Heading asChild consumeCss textStyle=\"label.medium\" fontWeight=\"bold\">\n <h2>\n <AccordionItemTrigger>\n {accordionTitle}\n <AccordionItemIndicator asChild>\n <ArrowDownShortLine />\n </AccordionItemIndicator>\n </AccordionItemTrigger>\n </h2>\n </Heading>\n <AccordionItemContent>{children}</AccordionItemContent>\n </AccordionItem>\n );\n },\n);\n"],"mappings":"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"}
@@ -153,5 +153,5 @@ const AudioPlayer = ({ src, title, subtitle, speech, description, img, textVersi
153
153
  var AudioPlayer_default = AudioPlayer;
154
154
 
155
155
  //#endregion
156
- export { AudioPlayer_default };
156
+ export { AudioPlayer_default as AudioPlayer_default$1 };
157
157
  //# sourceMappingURL=AudioPlayer.js.map
@@ -1,4 +1,4 @@
1
- import { AudioPlayer_default } from "./AudioPlayer.js";
1
+ import { AudioPlayer_default$1 as AudioPlayer_default } from "./AudioPlayer.js";
2
2
 
3
3
  //#region src/AudioPlayer/index.ts
4
4
  var AudioPlayer_default$1 = AudioPlayer_default;
@@ -40,5 +40,5 @@ const Breadcrumb = ({ items, renderItem, renderSeparator, collapseFirst, collaps
40
40
  var Breadcrumb_default = Breadcrumb;
41
41
 
42
42
  //#endregion
43
- export { Breadcrumb_default };
43
+ export { Breadcrumb_default as Breadcrumb_default$1 };
44
44
  //# sourceMappingURL=Breadcrumb.js.map
@@ -1,4 +1,4 @@
1
- import { Breadcrumb_default } from "./Breadcrumb.js";
1
+ import { Breadcrumb_default$1 as Breadcrumb_default } from "./Breadcrumb.js";
2
2
  import { styled } from "@ndla/styled-system/jsx";
3
3
  import { ArrowRightShortLine, HomeLine } from "@ndla/icons";
4
4
  import { SafeLink } from "@ndla/safelink";
@@ -1,4 +1,4 @@
1
- import { Breadcrumb_default } from "./Breadcrumb.js";
1
+ import { Breadcrumb_default$1 as Breadcrumb_default } from "./Breadcrumb.js";
2
2
  import { HomeBreadcrumb_default } from "./HomeBreadcrumb.js";
3
3
 
4
4
  //#region src/Breadcrumb/index.ts
@@ -58,5 +58,5 @@ const CopyParagraphButton = ({ children, copyText, lang }) => {
58
58
  var CopyParagraphButton_default = CopyParagraphButton;
59
59
 
60
60
  //#endregion
61
- export { CopyParagraphButton_default };
61
+ export { CopyParagraphButton_default as CopyParagraphButton_default$1 };
62
62
  //# sourceMappingURL=CopyParagraphButton.js.map
@@ -1,4 +1,4 @@
1
- import { CopyParagraphButton_default } from "./CopyParagraphButton.js";
1
+ import { CopyParagraphButton_default$1 as CopyParagraphButton_default } from "./CopyParagraphButton.js";
2
2
 
3
3
  //#region src/CopyParagraphButton/index.tsx
4
4
  var CopyParagraphButton_default$1 = CopyParagraphButton_default;
@@ -50,5 +50,5 @@ const ErrorMessage = ({ children, messages, illustration, illustrationElement, c
50
50
  var ErrorMessage_default = ErrorMessage;
51
51
 
52
52
  //#endregion
53
- export { ErrorMessage_default };
53
+ export { ErrorMessage_default as ErrorMessage_default$1 };
54
54
  //# sourceMappingURL=ErrorMessage.js.map
@@ -1,4 +1,4 @@
1
- import { ErrorMessage_default } from "./ErrorMessage.js";
1
+ import { ErrorMessage_default$1 as ErrorMessage_default } from "./ErrorMessage.js";
2
2
 
3
3
  //#region src/ErrorMessage/index.ts
4
4
  var ErrorMessage_default$1 = ErrorMessage_default;
@@ -117,5 +117,5 @@ const FactBox = forwardRef(({ children, open, onOpenChange, defaultOpen = false,
117
117
  var FactBox_default = FactBox;
118
118
 
119
119
  //#endregion
120
- export { FactBox_default };
120
+ export { FactBox_default as FactBox_default$1 };
121
121
  //# sourceMappingURL=FactBox.js.map
@@ -1,4 +1,4 @@
1
- import { FactBox_default } from "./FactBox.js";
1
+ import { FactBox_default$1 as FactBox_default } from "./FactBox.js";
2
2
 
3
3
  //#region src/FactBox/index.ts
4
4
  var FactBox_default$1 = FactBox_default;
@@ -26,18 +26,23 @@ const messages = {
26
26
  article: {
27
27
  lastUpdated: "Last revised date",
28
28
  useContent: "Cite or reuse?",
29
- authorsLabel: "Written by: {{names}}",
30
- authorsLabelLearningpath: "Made by {{names}}",
29
+ authorsLabel_article: "Written by",
30
+ authorsLabel_learningPath: "Made by",
31
+ authorsLabel_external: "This link is added by",
31
32
  copyPageLinkCopied: "Link copied",
32
33
  copyHeaderLink: "Copy link to header",
33
34
  conjunction: "and",
34
- authorsLabelExternal: "This link is added by {{names}}",
35
- supplierLabel: "Rightsholder: {{name}}",
36
- multipleSuppliersLabel: "Rightsholders: {{names}}",
35
+ supplierLabel_one: "Rightsholder:",
36
+ supplierLabel_other: "Rightsholders:",
37
37
  printPage: "Print text",
38
38
  access: { onlyTeacher: "This resource is accessible only to teachers who are logged in with Feide." },
39
39
  footnotes: "Footnotes"
40
40
  },
41
+ external: { lastUpdated: "Last revised date" },
42
+ learningPath: {
43
+ copiedFrom: "This is a remix of a different learning path",
44
+ lastUpdated: "Last revised date"
45
+ },
41
46
  license: {
42
47
  tabs: {
43
48
  text: "Text",
@@ -1 +1 @@
1
- {"version":3,"file":"messages-en.js","names":["constants"],"sources":["../../src/locale/messages-en.ts"],"sourcesContent":["/**\n * Copyright (c) 2018-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { contributorTypes } from \"@ndla/licenses\";\nimport constants from \"../model\";\n\nconst { subjectCategories, subjectTypes, wordClass } = constants;\n\nconst messages = {\n ...contributorTypes.en,\n askNDLA: \"Ask NDLA\",\n subjectCategories: {\n [subjectCategories.ACTIVE_SUBJECTS]: \"Active\",\n [subjectCategories.ARCHIVE_SUBJECTS]: \"Expired\",\n [subjectCategories.BETA_SUBJECTS]: \"Revised\",\n [subjectCategories.OTHER]: \"Other resources\",\n [subjectTypes.RESOURCE_COLLECTION]: \"Resource collections\",\n },\n subjectTypes: {\n [subjectTypes.BETA_SUBJECT]: \"Betafag\",\n [subjectTypes.RESOURCE_COLLECTION]: \"Resource collection\",\n [subjectTypes.SUBJECT]: \"Subject\",\n },\n meta: {\n description: \"Norwegian Digital Learning Arena, Open Educational Resources for upper secondary education.\",\n keywords: \"open educational resources,teaching,learning\",\n },\n logo: {\n altText: \"The Norwegian Digital Learning Arena\",\n },\n article: {\n lastUpdated: \"Last revised date\",\n useContent: \"Cite or reuse?\",\n authorsLabel: \"Written by: {{names}}\",\n authorsLabelLearningpath: \"Made by {{names}}\",\n copyPageLinkCopied: \"Link copied\",\n copyHeaderLink: \"Copy link to header\",\n conjunction: \"and\",\n authorsLabelExternal: \"This link is added by {{names}}\",\n supplierLabel: \"Rightsholder: {{name}}\",\n multipleSuppliersLabel: \"Rightsholders: {{names}}\",\n printPage: \"Print text\",\n access: {\n onlyTeacher: \"This resource is accessible only to teachers who are logged in with Feide.\",\n },\n footnotes: \"Footnotes\",\n },\n license: {\n tabs: {\n text: \"Text\",\n images: \"Images\",\n audio: \"Audio\",\n video: \"Video\",\n h5p: \"H5P\",\n files: \"Files\",\n embedlink: \"Embedded link\",\n concept: \"Concepts\",\n gloss: \"Glosses\",\n podcast: \"Podcast\",\n other: \"Other content\",\n },\n embedlink: {\n heading: \"How to show the article in other content\",\n description: \"This url shows the article without menu and footer\",\n copyTitle: \"Copy link\",\n hasCopiedTitle: \"Link copied\",\n },\n image: {\n rules: \"Rules for use of image:\",\n },\n images: {\n heading: \"How to reuse images\",\n description: \"Remember to copy the text to be attached to the image where you use it.\",\n rules: \"Rules for use of image\",\n itemImage: {\n ariaLabel: \"Open image in new window\",\n zoomImageButtonLabel: \"Expand image\",\n zoomOutImageButtonLabel: \"Shrink image\",\n expandByline: \"Show byline\",\n minimizeByline: \"Hide byline\",\n },\n licenseText: \"This image has the license\",\n restrictedUseText: \"This image has\",\n },\n text: {\n heading: \"How to reuse the text\",\n description: \"Remember to refer to the source when reusing text.\",\n rules: \"Rules for use of text\",\n published: \"Published\",\n licenseText: \"This text has the license\",\n restrictedUseText: \"This text has\",\n },\n audio: {\n heading: \"How to reuse audio files\",\n description: \"Remember to copy the text to be attached to the audio where you use it.\",\n rules: \"Rules for use of audio file\",\n licenseText: \"This audio file has the license\",\n restrictedUseText: \"This audio file has\",\n },\n podcast: {\n heading: \"How to reuse podcasts\",\n description: \"Remember to copy the text to be attached to the podcast where you use it.\",\n rules: \"Rules for use of podcast\",\n licenseText: \"This podcast has the license\",\n restrictedUseText: \"This podcast has\",\n },\n video: {\n heading: \"How to reuse videos\",\n description: \"Remember to copy the text to be attached to the video where you use it.\",\n rules: \"Rules for use of video files\",\n itemImage: {\n ariaLabel: \"Open video in new window\",\n },\n licenseText: \"This video has the license\",\n restrictedUseText: \"This video has\",\n },\n other: {\n heading: \"How to reuse other content\",\n description: \"You will find guidelines for use of other content in the asset\",\n itemImage: {\n ariaLabel: \"Open in new window\",\n },\n },\n h5p: {\n heading: \"How to reuse H5P content\",\n description: \"You will find guidelines for use of H5P content in the asset\",\n rules: \"Rules for use of H5P\",\n licenseText: \"This interactive task (H5P) is licensed\",\n restrictedUseText: \"This interactive task (H5P) has\",\n },\n concept: {\n heading: \"How to reuse concept content\",\n description: \"Remember that built-in content might have a different license than the explanation text\",\n rules: \"Rules for use of concept\",\n embedlink: {\n heading: \"How to show the concept in other content\",\n description: \"This url shows the concept without menu and footer\",\n copyTitle: \"Copy embed link\",\n hasCopiedTitle: \"Embed link copied\",\n },\n licenseText: \"This concept has the license\",\n restrictedUseText: \"This concept has\",\n },\n gloss: {\n heading: \"How to reuse gloss content\",\n description: \"Remember that built-in content might have a different license than the gloss text\",\n rules: \"Rules for use of gloss\",\n showOrHideExamples: \"Show or hide examples\",\n embedlink: {\n heading: \"How to show the gloss in other content\",\n description: \"This url shows the gloss without menu and footer\",\n copyTitle: \"Copy embed link\",\n hasCopiedTitle: \"Embed link copied\",\n },\n licenseText: \"This gloss has the license\",\n restrictedUseText: \"This gloss has\",\n },\n files: {\n heading: \"How to reuse files\",\n description: \"Remember to copy the text to be attached to the file where you use it.\",\n rules: \"Rules for use of file\",\n itemImage: {\n ariaLabel: \"Open video in new window\",\n },\n },\n copyTitle: \"Copy source reference\",\n embed: \"Embed\",\n embedCopied: \"Copied embed code!\",\n copyText: {\n now: \"now\",\n podcast: \"podcast\",\n by: \"by\",\n internet: \"[Internet]. \",\n noTitle: \"No title\",\n downloadedFrom: \"Downloaded from: \",\n readDate: \"Read: \",\n },\n hasCopiedTitle: \"Copied!\",\n download: \"Download\",\n openLink: \"Open in new tab\",\n processed: \"The content has been processed\",\n },\n errorMessage: {\n title: \"Oops, something went wrong\",\n description: \"Sorry, an error occurred.\",\n back: \"Go back\",\n goToFrontPage: \"Go to frontpage\",\n },\n figure: {\n button: {\n alternative: \"Switch to visually interpreted video\",\n original: \"Switch to original video\",\n },\n },\n contentTypes: {\n all: \"All\",\n article: \"Article\",\n subject: \"Subject\",\n \"topic-article\": \"Topic article\",\n learningpath: \"Learning path\",\n \"learning-path\": \"Learning path\",\n \"subject-material\": \"Subject material\",\n \"tasks-and-activities\": \"Task and activities\",\n \"source-material\": \"Source material\",\n \"assessment-resources\": \"Assessment resource\",\n topic: \"Topic\",\n multidisciplinary: \"Multidisciplinary case\",\n image: \"Image\",\n concept: \"Concept\",\n audio: \"Audio\",\n podcast: \"Podcast\",\n h5p: \"H5P\",\n video: \"Video\",\n missing: \"Unknown\",\n external: \"External\",\n gloss: \"Gloss\",\n programme: \"Programme\",\n \"podcast-series\": \"Podcast series\",\n \"frontpage-article\": \"About NDLA article\",\n },\n languages: {\n nb: \"Norwegian Bokmål\",\n nn: \"Norwegian Nynorsk\",\n en: \"English\",\n fr: \"French\",\n de: \"German\",\n se: \"Northern Sami\",\n sma: \"Southern Sami\",\n es: \"Spanish\",\n zh: \"Chinese\",\n ukr: \"Ukranian\",\n unknown: \"Unknown\",\n prefixChangeLanguage: \"Choose language\",\n },\n breadcrumb: {\n toFrontpage: \"NDLA frontpage\",\n breadcrumb: \"Breadcrumb\",\n },\n codeBlock: {\n copiedCode: \"Copied code\",\n copyCode: \"Copy code\",\n },\n cancel: \"Cancel\",\n close: \"Close\",\n loading: \"Loading\",\n title: \"Title\",\n save: \"Save\",\n email: \"Email\",\n finished: \"Finished\",\n audio: {\n play: \"Play\",\n pause: \"Pause\",\n progressBar: \"Progress bar\",\n valueText: \"{{start}} of {{end}}\",\n controls: {\n forward15sec: \"Forward 15 seconds\",\n rewind15sec: \"Rewind 15 seconds\",\n selectSpeed: \"Choose speed\",\n adjustVolume: \"Adjust volume\",\n },\n textVersion: {\n heading: \"Text version\",\n close: \"Close text version\",\n },\n readMoreDescriptionLabel: \"Show more\",\n readLessDescriptionLabel: \"Show less\",\n },\n source: \"Source\",\n related: {\n title: \"Related content\",\n linkInfo: \"Web page at\",\n showMore: \"Show more related content\",\n showLess: \"Show less\",\n },\n download: \"Download file: \",\n factbox: {\n open: \"Open fact box\",\n close: \"Close fact box\",\n },\n embed: {\n linkError: \"Failed to show link.\",\n unsupported: `Embed {{type}} not supported.`,\n embedError: `An error occurred while loading the {{type}}. Try reloading the page.`,\n type: {\n image: \"Image\",\n video: \"Video\",\n audio: \"Audio\",\n podcast: \"Podcast\",\n concept: \"Concept\",\n h5p: \"H5P\",\n external: \"External resource\",\n gloss: \"Gloss\",\n copyright: \"Text\",\n code: \"Code block\",\n disclaimer: \"Accessibility warning\",\n },\n },\n uuDisclaimer: { title: \"Accessibility\" },\n gloss: {\n examples: \"Examples\",\n showExamples: \"Show examples\",\n wordClass: \"Word class\",\n play: \"Play gloss\",\n transcriptions: {\n traditional: \"Traditional spelling\",\n pinyin: \"Pinyin\",\n },\n },\n wordClass: {\n [wordClass.wordClass.adjective]: \"Adjective\",\n [wordClass.wordClass.adverb]: \"Adverb\",\n [wordClass.wordClass.properNoun]: \"Proper Noun\",\n [wordClass.wordClass.auxiliary]: \"Auxiliary\",\n [wordClass.wordClass.complement]: \"Complement\",\n [wordClass.wordClass.conjunction]: \"Conjunction\",\n [wordClass.wordClass.coverb]: \"Coverb\",\n [wordClass.wordClass.determiner]: \"Determiner\",\n [wordClass.wordClass.interjection]: \"Interjection\",\n [wordClass.wordClass.quantifier]: \"Quantifier\",\n [wordClass.wordClass.marker]: \"Marker\",\n [wordClass.wordClass.modalVerb]: \"Modal Verb\",\n [wordClass.wordClass.measureWord]: \"Measure Word\",\n [wordClass.wordClass.noun]: \"Noun\",\n [wordClass.wordClass[\"noun-zh\"]]: \"Noun\",\n [wordClass.wordClass.nounPhrase]: \"Noun Phrase\",\n [wordClass.wordClass.onomatopoeia]: \"Onomatopoeia\",\n [wordClass.wordClass.particle]: \"Particle\",\n [wordClass.wordClass.demonstrative]: \"Demonstrative\",\n [wordClass.wordClass.personalPronoun]: \"Personal Pronoun\",\n [wordClass.wordClass.preposition]: \"Preposition\",\n [wordClass.wordClass.pronoun]: \"Pronoun\",\n [wordClass.wordClass.questionWord]: \"Question Word\",\n [wordClass.wordClass.locationWord]: \"Location Word\",\n [wordClass.wordClass.suffix]: \"Suffix\",\n [wordClass.wordClass.numeral]: \"Numeral\",\n [wordClass.wordClass.timeWord]: \"Time word\",\n [wordClass.wordClass.timeExpression]: \"Time Expression\",\n [wordClass.wordClass.stativeVerb]: \"Stative Verb\",\n [wordClass.wordClass.subordinatingConjunction]: \"Subordinating Conjunction\",\n [wordClass.wordClass.exclamationWord]: \"Exclamation Word\",\n [wordClass.wordClass.expression]: \"Expression\",\n [wordClass.wordClass.verb]: \"Verb\",\n [wordClass.wordClass.verbComplement]: \"Verb-Complement\",\n [wordClass.wordClass.verbObject]: \"Verb-Object\",\n },\n login: \"Log in\",\n component: {\n tagsInput: {\n clearTriggerLabel: \"Clear all tags\",\n deleteTagTriggerLabel: \"Remove tag {{tag}}\",\n tagAdded: \"Added tag {{tag}}\",\n tagsPasted: \"Pasted {{length}} tags\",\n tagEdited: \"Edited tag {{tag}}. Press enter to save, or escape to cancel.\",\n tagUpdated: \"Tag updated to {{tag}}\",\n tagDeleted: \"Tag {{tag}} deleted\",\n tagSelected: \"Tag {{tag}} selected. Press enter to edit. Press backspace or delete to delete.\",\n },\n combobox: {\n triggerLabel: \"Show suggestions\",\n clearTriggerLabel: \"Clear selection\",\n },\n pagination: {\n rootLabel: \"Pagination\",\n prevTriggerLabel: \"Previous page\",\n nextTriggerLabel: \"Next page\",\n lastPage: \"Last page, page {{page}}\",\n page: \"Page {{page}}\",\n },\n imageSearch: {\n searchPlaceholder: \"Search images\",\n searchButtonTitle: \"Search\",\n imagePreview: {\n creatorsLabel: \"Image\",\n license: \"License\",\n caption: \"Caption\",\n altText: \"Alt-text\",\n modelRelease: \"Model released\",\n tags: \"Tags\",\n checkboxLabel: \"Set as meta image\",\n close: \"Close\",\n useImageTitle: \"Use image\",\n },\n },\n audioSearch: {\n searchPlaceholder: \"Search in audio files\",\n searchButtonTitle: \"Search\",\n useAudio: \"Chose audio\",\n noResults: \"No audio files found\",\n },\n videoSearch: {\n searchPlaceholder: \"Search videos\",\n searchButtonTitle: \"Search\",\n loadMoreVideos: \"Load more videos\",\n noResults: \"No videos found\",\n addVideo: \"Use video\",\n previewVideo: \"Preview\",\n is360Video: \"VR video\",\n close: \"Lukk\",\n },\n datePicker: {\n dayCell: {\n unavailable: \"Unavailable date. {{date}}\",\n selected: \"Selected date. {{date}}\",\n select: \"Select date. {{date}}\",\n },\n nextTrigger: {\n day: \"Go to next month\",\n month: \"Go to next year\",\n year: \"Go to next decade\",\n },\n prevTrigger: {\n day: \"Go to previous month\",\n month: \"Go to previous year\",\n year: \"Go to previous decade\",\n },\n monthSelect: \"Select month\",\n yearSelect: \"Select year\",\n viewTrigger: {\n day: \"Switch to day view\",\n month: \"Switch to month view\",\n year: \"Switch to year view\",\n },\n presetTrigger: {\n single: \"Select {{date}}\",\n range: \"Select from {{start}} to {{end}}\",\n },\n clearTrigger: \"Clear selected dates\",\n trigger: {\n open: \"Open date picker\",\n close: \"Close date picker\",\n },\n content: \"Calendar\",\n },\n },\n richTextEditor: {\n tooltip: {\n bold: \"Bold ({{shortcut}})\",\n code: \"Code ({{shortcut}})\",\n sub: \"Subscript ({{shortcut}})\",\n sup: \"Superscript ({{shortcut}})\",\n underlined: \"Underlined ({{shortcut}})\",\n italic: \"Italic ({{shortcut}})\",\n \"numbered-list\": \"Numbered list ({{shortcut}})\",\n \"letter-list\": \"Alphabetical list ({{shortcut}})\",\n \"bulleted-list\": \"Bulleted list ({{shortcut}})\",\n heading: \"Heading {{level}} ({{shortcut}})\",\n paragraph: \"Paragraph ({{shortcut}})\",\n section: \"Section ({{shortcut}})\",\n link: \"Link ({{shortcut}})\",\n },\n },\n};\n\nexport default messages;\n"],"mappings":"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"}
1
+ {"version":3,"file":"messages-en.js","names":["constants"],"sources":["../../src/locale/messages-en.ts"],"sourcesContent":["/**\n * Copyright (c) 2018-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { contributorTypes } from \"@ndla/licenses\";\nimport constants from \"../model\";\n\nconst { subjectCategories, subjectTypes, wordClass } = constants;\n\nconst messages = {\n ...contributorTypes.en,\n askNDLA: \"Ask NDLA\",\n subjectCategories: {\n [subjectCategories.ACTIVE_SUBJECTS]: \"Active\",\n [subjectCategories.ARCHIVE_SUBJECTS]: \"Expired\",\n [subjectCategories.BETA_SUBJECTS]: \"Revised\",\n [subjectCategories.OTHER]: \"Other resources\",\n [subjectTypes.RESOURCE_COLLECTION]: \"Resource collections\",\n },\n subjectTypes: {\n [subjectTypes.BETA_SUBJECT]: \"Betafag\",\n [subjectTypes.RESOURCE_COLLECTION]: \"Resource collection\",\n [subjectTypes.SUBJECT]: \"Subject\",\n },\n meta: {\n description: \"Norwegian Digital Learning Arena, Open Educational Resources for upper secondary education.\",\n keywords: \"open educational resources,teaching,learning\",\n },\n logo: {\n altText: \"The Norwegian Digital Learning Arena\",\n },\n article: {\n lastUpdated: \"Last revised date\",\n useContent: \"Cite or reuse?\",\n authorsLabel_article: \"Written by\",\n authorsLabel_learningPath: \"Made by\",\n authorsLabel_external: \"This link is added by\",\n copyPageLinkCopied: \"Link copied\",\n copyHeaderLink: \"Copy link to header\",\n conjunction: \"and\",\n supplierLabel_one: \"Rightsholder:\",\n supplierLabel_other: \"Rightsholders:\",\n printPage: \"Print text\",\n access: {\n onlyTeacher: \"This resource is accessible only to teachers who are logged in with Feide.\",\n },\n footnotes: \"Footnotes\",\n },\n external: {\n lastUpdated: \"Last revised date\",\n },\n learningPath: {\n copiedFrom: \"This is a remix of a different learning path\",\n lastUpdated: \"Last revised date\",\n },\n license: {\n tabs: {\n text: \"Text\",\n images: \"Images\",\n audio: \"Audio\",\n video: \"Video\",\n h5p: \"H5P\",\n files: \"Files\",\n embedlink: \"Embedded link\",\n concept: \"Concepts\",\n gloss: \"Glosses\",\n podcast: \"Podcast\",\n other: \"Other content\",\n },\n embedlink: {\n heading: \"How to show the article in other content\",\n description: \"This url shows the article without menu and footer\",\n copyTitle: \"Copy link\",\n hasCopiedTitle: \"Link copied\",\n },\n image: {\n rules: \"Rules for use of image:\",\n },\n images: {\n heading: \"How to reuse images\",\n description: \"Remember to copy the text to be attached to the image where you use it.\",\n rules: \"Rules for use of image\",\n itemImage: {\n ariaLabel: \"Open image in new window\",\n zoomImageButtonLabel: \"Expand image\",\n zoomOutImageButtonLabel: \"Shrink image\",\n expandByline: \"Show byline\",\n minimizeByline: \"Hide byline\",\n },\n licenseText: \"This image has the license\",\n restrictedUseText: \"This image has\",\n },\n text: {\n heading: \"How to reuse the text\",\n description: \"Remember to refer to the source when reusing text.\",\n rules: \"Rules for use of text\",\n published: \"Published\",\n licenseText: \"This text has the license\",\n restrictedUseText: \"This text has\",\n },\n audio: {\n heading: \"How to reuse audio files\",\n description: \"Remember to copy the text to be attached to the audio where you use it.\",\n rules: \"Rules for use of audio file\",\n licenseText: \"This audio file has the license\",\n restrictedUseText: \"This audio file has\",\n },\n podcast: {\n heading: \"How to reuse podcasts\",\n description: \"Remember to copy the text to be attached to the podcast where you use it.\",\n rules: \"Rules for use of podcast\",\n licenseText: \"This podcast has the license\",\n restrictedUseText: \"This podcast has\",\n },\n video: {\n heading: \"How to reuse videos\",\n description: \"Remember to copy the text to be attached to the video where you use it.\",\n rules: \"Rules for use of video files\",\n itemImage: {\n ariaLabel: \"Open video in new window\",\n },\n licenseText: \"This video has the license\",\n restrictedUseText: \"This video has\",\n },\n other: {\n heading: \"How to reuse other content\",\n description: \"You will find guidelines for use of other content in the asset\",\n itemImage: {\n ariaLabel: \"Open in new window\",\n },\n },\n h5p: {\n heading: \"How to reuse H5P content\",\n description: \"You will find guidelines for use of H5P content in the asset\",\n rules: \"Rules for use of H5P\",\n licenseText: \"This interactive task (H5P) is licensed\",\n restrictedUseText: \"This interactive task (H5P) has\",\n },\n concept: {\n heading: \"How to reuse concept content\",\n description: \"Remember that built-in content might have a different license than the explanation text\",\n rules: \"Rules for use of concept\",\n embedlink: {\n heading: \"How to show the concept in other content\",\n description: \"This url shows the concept without menu and footer\",\n copyTitle: \"Copy embed link\",\n hasCopiedTitle: \"Embed link copied\",\n },\n licenseText: \"This concept has the license\",\n restrictedUseText: \"This concept has\",\n },\n gloss: {\n heading: \"How to reuse gloss content\",\n description: \"Remember that built-in content might have a different license than the gloss text\",\n rules: \"Rules for use of gloss\",\n showOrHideExamples: \"Show or hide examples\",\n embedlink: {\n heading: \"How to show the gloss in other content\",\n description: \"This url shows the gloss without menu and footer\",\n copyTitle: \"Copy embed link\",\n hasCopiedTitle: \"Embed link copied\",\n },\n licenseText: \"This gloss has the license\",\n restrictedUseText: \"This gloss has\",\n },\n files: {\n heading: \"How to reuse files\",\n description: \"Remember to copy the text to be attached to the file where you use it.\",\n rules: \"Rules for use of file\",\n itemImage: {\n ariaLabel: \"Open video in new window\",\n },\n },\n copyTitle: \"Copy source reference\",\n embed: \"Embed\",\n embedCopied: \"Copied embed code!\",\n copyText: {\n now: \"now\",\n podcast: \"podcast\",\n by: \"by\",\n internet: \"[Internet]. \",\n noTitle: \"No title\",\n downloadedFrom: \"Downloaded from: \",\n readDate: \"Read: \",\n },\n hasCopiedTitle: \"Copied!\",\n download: \"Download\",\n openLink: \"Open in new tab\",\n processed: \"The content has been processed\",\n },\n errorMessage: {\n title: \"Oops, something went wrong\",\n description: \"Sorry, an error occurred.\",\n back: \"Go back\",\n goToFrontPage: \"Go to frontpage\",\n },\n figure: {\n button: {\n alternative: \"Switch to visually interpreted video\",\n original: \"Switch to original video\",\n },\n },\n contentTypes: {\n all: \"All\",\n article: \"Article\",\n subject: \"Subject\",\n \"topic-article\": \"Topic article\",\n learningpath: \"Learning path\",\n \"learning-path\": \"Learning path\",\n \"subject-material\": \"Subject material\",\n \"tasks-and-activities\": \"Task and activities\",\n \"source-material\": \"Source material\",\n \"assessment-resources\": \"Assessment resource\",\n topic: \"Topic\",\n multidisciplinary: \"Multidisciplinary case\",\n image: \"Image\",\n concept: \"Concept\",\n audio: \"Audio\",\n podcast: \"Podcast\",\n h5p: \"H5P\",\n video: \"Video\",\n missing: \"Unknown\",\n external: \"External\",\n gloss: \"Gloss\",\n programme: \"Programme\",\n \"podcast-series\": \"Podcast series\",\n \"frontpage-article\": \"About NDLA article\",\n },\n languages: {\n nb: \"Norwegian Bokmål\",\n nn: \"Norwegian Nynorsk\",\n en: \"English\",\n fr: \"French\",\n de: \"German\",\n se: \"Northern Sami\",\n sma: \"Southern Sami\",\n es: \"Spanish\",\n zh: \"Chinese\",\n ukr: \"Ukranian\",\n unknown: \"Unknown\",\n prefixChangeLanguage: \"Choose language\",\n },\n breadcrumb: {\n toFrontpage: \"NDLA frontpage\",\n breadcrumb: \"Breadcrumb\",\n },\n codeBlock: {\n copiedCode: \"Copied code\",\n copyCode: \"Copy code\",\n },\n cancel: \"Cancel\",\n close: \"Close\",\n loading: \"Loading\",\n title: \"Title\",\n save: \"Save\",\n email: \"Email\",\n finished: \"Finished\",\n audio: {\n play: \"Play\",\n pause: \"Pause\",\n progressBar: \"Progress bar\",\n valueText: \"{{start}} of {{end}}\",\n controls: {\n forward15sec: \"Forward 15 seconds\",\n rewind15sec: \"Rewind 15 seconds\",\n selectSpeed: \"Choose speed\",\n adjustVolume: \"Adjust volume\",\n },\n textVersion: {\n heading: \"Text version\",\n close: \"Close text version\",\n },\n readMoreDescriptionLabel: \"Show more\",\n readLessDescriptionLabel: \"Show less\",\n },\n source: \"Source\",\n related: {\n title: \"Related content\",\n linkInfo: \"Web page at\",\n showMore: \"Show more related content\",\n showLess: \"Show less\",\n },\n download: \"Download file: \",\n factbox: {\n open: \"Open fact box\",\n close: \"Close fact box\",\n },\n embed: {\n linkError: \"Failed to show link.\",\n unsupported: `Embed {{type}} not supported.`,\n embedError: `An error occurred while loading the {{type}}. Try reloading the page.`,\n type: {\n image: \"Image\",\n video: \"Video\",\n audio: \"Audio\",\n podcast: \"Podcast\",\n concept: \"Concept\",\n h5p: \"H5P\",\n external: \"External resource\",\n gloss: \"Gloss\",\n copyright: \"Text\",\n code: \"Code block\",\n disclaimer: \"Accessibility warning\",\n },\n },\n uuDisclaimer: { title: \"Accessibility\" },\n gloss: {\n examples: \"Examples\",\n showExamples: \"Show examples\",\n wordClass: \"Word class\",\n play: \"Play gloss\",\n transcriptions: {\n traditional: \"Traditional spelling\",\n pinyin: \"Pinyin\",\n },\n },\n wordClass: {\n [wordClass.wordClass.adjective]: \"Adjective\",\n [wordClass.wordClass.adverb]: \"Adverb\",\n [wordClass.wordClass.properNoun]: \"Proper Noun\",\n [wordClass.wordClass.auxiliary]: \"Auxiliary\",\n [wordClass.wordClass.complement]: \"Complement\",\n [wordClass.wordClass.conjunction]: \"Conjunction\",\n [wordClass.wordClass.coverb]: \"Coverb\",\n [wordClass.wordClass.determiner]: \"Determiner\",\n [wordClass.wordClass.interjection]: \"Interjection\",\n [wordClass.wordClass.quantifier]: \"Quantifier\",\n [wordClass.wordClass.marker]: \"Marker\",\n [wordClass.wordClass.modalVerb]: \"Modal Verb\",\n [wordClass.wordClass.measureWord]: \"Measure Word\",\n [wordClass.wordClass.noun]: \"Noun\",\n [wordClass.wordClass[\"noun-zh\"]]: \"Noun\",\n [wordClass.wordClass.nounPhrase]: \"Noun Phrase\",\n [wordClass.wordClass.onomatopoeia]: \"Onomatopoeia\",\n [wordClass.wordClass.particle]: \"Particle\",\n [wordClass.wordClass.demonstrative]: \"Demonstrative\",\n [wordClass.wordClass.personalPronoun]: \"Personal Pronoun\",\n [wordClass.wordClass.preposition]: \"Preposition\",\n [wordClass.wordClass.pronoun]: \"Pronoun\",\n [wordClass.wordClass.questionWord]: \"Question Word\",\n [wordClass.wordClass.locationWord]: \"Location Word\",\n [wordClass.wordClass.suffix]: \"Suffix\",\n [wordClass.wordClass.numeral]: \"Numeral\",\n [wordClass.wordClass.timeWord]: \"Time word\",\n [wordClass.wordClass.timeExpression]: \"Time Expression\",\n [wordClass.wordClass.stativeVerb]: \"Stative Verb\",\n [wordClass.wordClass.subordinatingConjunction]: \"Subordinating Conjunction\",\n [wordClass.wordClass.exclamationWord]: \"Exclamation Word\",\n [wordClass.wordClass.expression]: \"Expression\",\n [wordClass.wordClass.verb]: \"Verb\",\n [wordClass.wordClass.verbComplement]: \"Verb-Complement\",\n [wordClass.wordClass.verbObject]: \"Verb-Object\",\n },\n login: \"Log in\",\n component: {\n tagsInput: {\n clearTriggerLabel: \"Clear all tags\",\n deleteTagTriggerLabel: \"Remove tag {{tag}}\",\n tagAdded: \"Added tag {{tag}}\",\n tagsPasted: \"Pasted {{length}} tags\",\n tagEdited: \"Edited tag {{tag}}. Press enter to save, or escape to cancel.\",\n tagUpdated: \"Tag updated to {{tag}}\",\n tagDeleted: \"Tag {{tag}} deleted\",\n tagSelected: \"Tag {{tag}} selected. Press enter to edit. Press backspace or delete to delete.\",\n },\n combobox: {\n triggerLabel: \"Show suggestions\",\n clearTriggerLabel: \"Clear selection\",\n },\n pagination: {\n rootLabel: \"Pagination\",\n prevTriggerLabel: \"Previous page\",\n nextTriggerLabel: \"Next page\",\n lastPage: \"Last page, page {{page}}\",\n page: \"Page {{page}}\",\n },\n imageSearch: {\n searchPlaceholder: \"Search images\",\n searchButtonTitle: \"Search\",\n imagePreview: {\n creatorsLabel: \"Image\",\n license: \"License\",\n caption: \"Caption\",\n altText: \"Alt-text\",\n modelRelease: \"Model released\",\n tags: \"Tags\",\n checkboxLabel: \"Set as meta image\",\n close: \"Close\",\n useImageTitle: \"Use image\",\n },\n },\n audioSearch: {\n searchPlaceholder: \"Search in audio files\",\n searchButtonTitle: \"Search\",\n useAudio: \"Chose audio\",\n noResults: \"No audio files found\",\n },\n videoSearch: {\n searchPlaceholder: \"Search videos\",\n searchButtonTitle: \"Search\",\n loadMoreVideos: \"Load more videos\",\n noResults: \"No videos found\",\n addVideo: \"Use video\",\n previewVideo: \"Preview\",\n is360Video: \"VR video\",\n close: \"Lukk\",\n },\n datePicker: {\n dayCell: {\n unavailable: \"Unavailable date. {{date}}\",\n selected: \"Selected date. {{date}}\",\n select: \"Select date. {{date}}\",\n },\n nextTrigger: {\n day: \"Go to next month\",\n month: \"Go to next year\",\n year: \"Go to next decade\",\n },\n prevTrigger: {\n day: \"Go to previous month\",\n month: \"Go to previous year\",\n year: \"Go to previous decade\",\n },\n monthSelect: \"Select month\",\n yearSelect: \"Select year\",\n viewTrigger: {\n day: \"Switch to day view\",\n month: \"Switch to month view\",\n year: \"Switch to year view\",\n },\n presetTrigger: {\n single: \"Select {{date}}\",\n range: \"Select from {{start}} to {{end}}\",\n },\n clearTrigger: \"Clear selected dates\",\n trigger: {\n open: \"Open date picker\",\n close: \"Close date picker\",\n },\n content: \"Calendar\",\n },\n },\n richTextEditor: {\n tooltip: {\n bold: \"Bold ({{shortcut}})\",\n code: \"Code ({{shortcut}})\",\n sub: \"Subscript ({{shortcut}})\",\n sup: \"Superscript ({{shortcut}})\",\n underlined: \"Underlined ({{shortcut}})\",\n italic: \"Italic ({{shortcut}})\",\n \"numbered-list\": \"Numbered list ({{shortcut}})\",\n \"letter-list\": \"Alphabetical list ({{shortcut}})\",\n \"bulleted-list\": \"Bulleted list ({{shortcut}})\",\n heading: \"Heading {{level}} ({{shortcut}})\",\n paragraph: \"Paragraph ({{shortcut}})\",\n section: \"Section ({{shortcut}})\",\n link: \"Link ({{shortcut}})\",\n },\n },\n};\n\nexport default messages;\n"],"mappings":"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"}
@@ -26,18 +26,23 @@ const messages = {
26
26
  article: {
27
27
  lastUpdated: "Sist faglig oppdatert",
28
28
  useContent: "Sitere eller gjenbruke?",
29
- authorsLabel: "Skrevet av {{names}}",
30
- authorsLabelLearningpath: "Laget av {{names}}",
29
+ authorsLabel_article: "Skrevet av",
30
+ authorsLabel_external: "Denne lenken er lagt til av",
31
+ authorsLabel_learningPath: "Laget av",
31
32
  copyPageLinkCopied: "Lenke kopiert",
32
33
  copyHeaderLink: "Kopier lenke til overskriften",
33
34
  conjunction: "og",
34
- authorsLabelExternal: "Denne lenken er lagt til av {{names}}",
35
- supplierLabel: "Rettighetshaver: {{name}}",
36
- multipleSuppliersLabel: "Rettighetshavere: {{names}}",
35
+ supplierLabel_one: "Rettighetshaver:",
36
+ supplierLabel_other: "Rettighetshavere:",
37
37
  printPage: "Skriv ut teksten",
38
38
  access: { onlyTeacher: "Denne ressursen er bare tilgjengelig for lærere som er pålogget med Feide." },
39
39
  footnotes: "Fotnoter"
40
40
  },
41
+ external: { lastUpdated: "Sist faglig oppdatert" },
42
+ learningPath: {
43
+ copiedFrom: "Dette er en remiks av en annen læringsti",
44
+ lastUpdated: "Sist faglig oppdatert"
45
+ },
41
46
  license: {
42
47
  copyTitle: "Kopier kildehenvisning",
43
48
  hasCopiedTitle: "Kopiert!",
@@ -1 +1 @@
1
- {"version":3,"file":"messages-nb.js","names":["constants"],"sources":["../../src/locale/messages-nb.ts"],"sourcesContent":["/**\n * Copyright (c) 2018-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { contributorTypes } from \"@ndla/licenses\";\nimport constants from \"../model\";\n\nconst { subjectCategories, subjectTypes, wordClass } = constants;\n\nconst messages = {\n ...contributorTypes.nb,\n askNDLA: \"Spør NDLA\",\n subjectCategories: {\n [subjectCategories.ACTIVE_SUBJECTS]: \"Aktive\",\n [subjectCategories.ARCHIVE_SUBJECTS]: \"Utgåtte\",\n [subjectCategories.BETA_SUBJECTS]: \"Kommende\",\n [subjectCategories.OTHER]: \"Andre ressurser\",\n [subjectTypes.RESOURCE_COLLECTION]: \"Ressurssamlinger\",\n },\n subjectTypes: {\n [subjectTypes.BETA_SUBJECT]: \"Betafag\",\n [subjectTypes.RESOURCE_COLLECTION]: \"Ressurssamling\",\n [subjectTypes.SUBJECT]: \"Fag\",\n },\n meta: {\n description:\n \"Åpne og fritt tilgjengelige ressurser for videregående opplæring. Utviklet og oppdatert i samarbeid med dyktige lærere og elever.\",\n keywords: \"læremiddel,fag,skole,videregående,lærling,pensum,fagstoff\",\n },\n logo: {\n altText: \"Nasjonal digital læringsarena\",\n },\n article: {\n lastUpdated: \"Sist faglig oppdatert\",\n useContent: \"Sitere eller gjenbruke?\",\n authorsLabel: \"Skrevet av {{names}}\",\n authorsLabelLearningpath: \"Laget av {{names}}\",\n copyPageLinkCopied: \"Lenke kopiert\",\n copyHeaderLink: \"Kopier lenke til overskriften\",\n conjunction: \"og\",\n authorsLabelExternal: \"Denne lenken er lagt til av {{names}}\",\n supplierLabel: \"Rettighetshaver: {{name}}\",\n multipleSuppliersLabel: \"Rettighetshavere: {{names}}\",\n printPage: \"Skriv ut teksten\",\n access: {\n onlyTeacher: \"Denne ressursen er bare tilgjengelig for lærere som er pålogget med Feide.\",\n },\n footnotes: \"Fotnoter\",\n },\n license: {\n copyTitle: \"Kopier kildehenvisning\",\n hasCopiedTitle: \"Kopiert!\",\n embed: \"Bygg inn\",\n embedCopied: \"Kopierte innbyggingskode!\",\n copyText: {\n now: \"nå\",\n podcast: \"podkast\",\n by: \"av\",\n internet: \"[Internett]. \",\n noTitle: \"Uten tittel\",\n downloadedFrom: \"Hentet fra: \",\n readDate: \"Lest: \",\n },\n download: \"Last ned\",\n openLink: \"Åpne i ny fane\",\n tabs: {\n text: \"Tekst\",\n images: \"Bilder\",\n audio: \"Lyd\",\n video: \"Video\",\n h5p: \"H5P\",\n files: \"Filer\",\n embedlink: \"Innbyggingslenke\",\n concept: \"Forklaringer\",\n gloss: \"Gloser\",\n podcast: \"Podkast\",\n other: \"Annet innhold\",\n },\n embedlink: {\n heading: \"Slik viser du artikkelen i annet innhold\",\n description: \"Denne lenken viser artikkelen uten kontekst (meny og bunntekst)\",\n copyTitle: \"Kopier lenke\",\n hasCopiedTitle: \"Lenke kopiert\",\n },\n image: {\n rules: \"Regler for bruk av bildet:\",\n },\n images: {\n heading: \"Slik gjenbruker du bilder\",\n description: \"Husk å kopiere teksten som skal legges ved bildet der du bruker det.\",\n rules: \"Regler for bruk av bildet\",\n itemImage: {\n ariaLabel: \"Åpne bilde i et nytt vindu\",\n zoomImageButtonLabel: \"Forstørr bilde\",\n zoomOutImageButtonLabel: \"Forminsk bilde\",\n expandByline: \"Vis byline\",\n minimizeByline: \"Skjul byline\",\n },\n licenseText: \"Dette bildet har lisensen\",\n restrictedUseText: \"Dette bildet har\",\n },\n text: {\n heading: \"Slik gjenbruker du teksten\",\n description: \"Husk å henvise til kilden når du gjenbruker tekst.\",\n rules: \"Regler for bruk av teksten\",\n published: \"Publiseringsdato\",\n licenseText: \"Denne teksten har lisensen\",\n restrictedUseText: \"Denne teksten har\",\n },\n audio: {\n heading: \"Slik gjenbruker du lydfiler\",\n description: \"Husk å kopiere teksten som skal legges ved lydfilen der du bruker den.\",\n rules: \"Regler for bruk av lydfilen\",\n licenseText: \"Denne lydfilen har lisensen\",\n restrictedUseText: \"Denne lydfilen har\",\n },\n podcast: {\n heading: \"Slik gjenbruker du podkaster\",\n description: \"Husk å kopiere teksten som skal legges ved podkasten der du bruker den.\",\n rules: \"Regler for bruk av podkasten\",\n licenseText: \"Denne podkasten har lisensen\",\n restrictedUseText: \"Denne podkasten har\",\n },\n video: {\n heading: \"Slik gjenbruker du videoer\",\n description: \"Husk å kopiere teksten som skal legges ved videoen der du bruker den.\",\n rules: \"Regler for bruk av videoen\",\n itemImage: {\n ariaLabel: \"Åpne video i et nytt vindu\",\n },\n licenseText: \"Denne videoen har lisensen\",\n restrictedUseText: \"Denne videoen har\",\n },\n other: {\n heading: \"Slik gjenbruker du annet innhold\",\n description: \"Du finner retningslinjene for bruk av innholdet i innholdselementet\",\n itemImage: {\n ariaLabel: \"Åpne i nytt vindu\",\n },\n },\n h5p: {\n heading: \"Slik gjenbruker du H5P-innhold\",\n description: \"Du finner retningslinjene for bruk av innholdet i H5P-elementet\",\n rules: \"Regler for bruk av H5P\",\n licenseText: \"Denne interaktive oppgaven (H5P) har lisensen\",\n restrictedUseText: \"Denne interaktive oppgaven (H5P) har\",\n },\n concept: {\n heading: \"Slik gjenbruker du forklaringer\",\n description: \"Husk at innebygd innhold i en forklaring kan ha en annen lisens enn selve forklaringsteksten\",\n rules: \"Regler for bruk av forklaring\",\n embedlink: {\n heading: \"Slik viser du forklaringen i annet innhold\",\n description: \"Denne lenken viser forklaringen uten kontekst (meny og bunntekst)\",\n copyTitle: \"Kopier innbyggingslenke\",\n hasCopiedTitle: \"Innbyggingslenke kopiert\",\n },\n licenseText: \"Denne forklaringen har lisensen\",\n restrictedUseText: \"Denne forklaringen har\",\n },\n gloss: {\n heading: \"Slik gjenbruker du gloser\",\n description: \"Husk at innebygd innhold i en glose kan ha en annen lisens enn selve gloseteksten\",\n rules: \"Regler for bruk av glose\",\n showOrHideExamples: \"Vis eller skjul eksempler\",\n embedlink: {\n heading: \"Slik viser du glosen i annet innhold\",\n description: \"Denne lenken viser glosen uten kontekst (meny og bunntekst)\",\n copyTitle: \"Kopier innbyggingslenke\",\n hasCopiedTitle: \"Innbyggingslenke kopiert\",\n },\n licenseText: \"Denne glosen har lisensen\",\n restrictedUseText: \"Denne glosen har\",\n },\n files: {\n heading: \"Slik gjenbruker du filer\",\n description: \"Husk å kopier teksten som skal legges ved filen der du bruker den.\",\n rules: \"Regler for bruk av filen\",\n itemImage: {\n ariaLabel: \"Åpne i nytt vindu\",\n },\n },\n processed: \"Innholdet har blitt bearbeidet\",\n },\n errorMessage: {\n title: \"Ops, noe gikk galt\",\n description: \"Beklager, en feil oppstod.\",\n back: \"Gå tilbake\",\n goToFrontPage: \"Gå til forsiden\",\n },\n figure: {\n button: {\n alternative: \"Bytt til synstolket video\",\n original: \"Bytt til original video\",\n },\n },\n contentTypes: {\n all: \"Alle\",\n article: \"Artikkel\",\n subject: \"Fag\",\n \"topic-article\": \"Emne\",\n learningpath: \"Læringssti\",\n \"learning-path\": \"Læringssti\",\n \"subject-material\": \"Fagstoff\",\n \"tasks-and-activities\": \"Oppgaver og aktiviteter\",\n \"source-material\": \"Kildemateriale\",\n \"assessment-resources\": \"Vurderingsressurs\",\n topic: \"Emne\",\n multidisciplinary: \"Tverrfaglig case\",\n image: \"Bilde\",\n concept: \"Forklaring\",\n audio: \"Lyd\",\n podcast: \"Podkast\",\n h5p: \"H5P\",\n video: \"Video\",\n missing: \"Ukjent\",\n external: \"Ekstern\",\n gloss: \"Glose\",\n programme: \"Programfag\",\n \"podcast-series\": \"Podkast-serie\",\n \"frontpage-article\": \"Om NDLA-artikkel\",\n },\n languages: {\n nb: \"Bokmål\",\n nn: \"Nynorsk\",\n en: \"Engelsk\",\n fr: \"Fransk\",\n de: \"Tysk\",\n se: \"Nordsamisk\",\n sma: \"Sørsamisk\",\n es: \"Spansk\",\n zh: \"Kinesisk\",\n ukr: \"Ukrainsk\",\n unknown: \"Ukjent\",\n prefixChangeLanguage: \"Velg språk\",\n },\n breadcrumb: {\n toFrontpage: \"NDLA forside\",\n breadcrumb: \"Brødsmulesti\",\n },\n codeBlock: {\n copiedCode: \"Kode kopiert til utklippstavle\",\n copyCode: \"Kopier kode til utklippstavle\",\n },\n close: \"Lukk\",\n loading: \"Laster\",\n title: \"Tittel\",\n cancel: \"Avbryt\",\n save: \"Lagre\",\n email: \"E-post\",\n finished: \"Ferdig\",\n audio: {\n play: \"Spill av\",\n pause: \"Pause\",\n progressBar: \"Fremdriftsindikator\",\n valueText: \"{{start}} av {{end}}\",\n controls: {\n forward15sec: \"Spol 15 sekunder fram\",\n rewind15sec: \"Spol 15 sekunder tilbake\",\n selectSpeed: \"Velg avspillingshastighet\",\n adjustVolume: \"Endre volum\",\n },\n textVersion: {\n heading: \"Tekstversjon\",\n close: \"Lukk tekstversjon\",\n },\n readMoreDescriptionLabel: \"Vis mer\",\n readLessDescriptionLabel: \"Vis mindre\",\n },\n source: \"Kilde\",\n related: {\n title: \"Relatert innhold\",\n linkInfo: \"Nettside hos\",\n showMore: \"Vis mer relatert innhold\",\n showLess: \"Vis mindre\",\n },\n download: \"Last ned fil: \",\n factbox: {\n open: \"Åpne faktaboks\",\n close: \"Lukk faktaboks\",\n },\n embed: {\n linkError: \"Klarte ikke å vise lenke.\",\n unsupported: `Embed {{type}} er ikke støttet.`,\n embedError: `Beklager, en feil oppstod ved lasting av {{type}}. Prøv å laste inn siden på nytt.`,\n type: {\n image: \"Bilde\",\n video: \"Video\",\n audio: \"Lyd\",\n podcast: \"Podkast\",\n concept: \"Forklaring\",\n h5p: \"H5P\",\n external: \"Ekstern ressurs\",\n gloss: \"Glose\",\n copyright: \"Tekst\",\n code: \"Kodeblokk\",\n disclaimer: \"UU-advarsel\",\n },\n },\n uuDisclaimer: { title: \"Tilgjengelighet\" },\n gloss: {\n examples: \"Eksempler\",\n showExamples: \"Vis eksempler\",\n wordClass: \"Ordklasse\",\n play: \"Spill av glose\",\n transcriptions: {\n traditional: \"Tradisjonell skrivemåte\",\n pinyin: \"Pinyin\",\n },\n },\n wordClass: {\n [wordClass.wordClass.adjective]: \"Adjektiv\",\n [wordClass.wordClass.adverb]: \"Adverb\",\n [wordClass.wordClass.properNoun]: \"Egennavn\",\n [wordClass.wordClass.auxiliary]: \"Hjelpeord\",\n [wordClass.wordClass.complement]: \"Komplement\",\n [wordClass.wordClass.conjunction]: \"Konjunksjon\",\n [wordClass.wordClass.coverb]: \"Koverb\",\n [wordClass.wordClass.determiner]: \"Bestemmerord\",\n [wordClass.wordClass.interjection]: \"Interjeksjon\",\n [wordClass.wordClass.quantifier]: \"Kvantor\",\n [wordClass.wordClass.marker]: \"Markør\",\n [wordClass.wordClass.modalVerb]: \"Modalverb\",\n [wordClass.wordClass.measureWord]: \"Målord\",\n [wordClass.wordClass.noun]: \"Substantiv\",\n [wordClass.wordClass[\"noun-zh\"]]: \"Nomen\",\n [wordClass.wordClass.nounPhrase]: \"Nominalfrase\",\n [wordClass.wordClass.onomatopoeia]: \"Onomatopoetikon\",\n [wordClass.wordClass.particle]: \"Partikkel\",\n [wordClass.wordClass.demonstrative]: \"Pekeord\",\n [wordClass.wordClass.personalPronoun]: \"Personlig pronomen\",\n [wordClass.wordClass.preposition]: \"Preposisjon\",\n [wordClass.wordClass.pronoun]: \"Pronomen\",\n [wordClass.wordClass.questionWord]: \"Spørreord\",\n [wordClass.wordClass.locationWord]: \"Stedsord\",\n [wordClass.wordClass.suffix]: \"Suffiks\",\n [wordClass.wordClass.numeral]: \"Tallord\",\n [wordClass.wordClass.timeWord]: \"Tidsord\",\n [wordClass.wordClass.timeExpression]: \"Tidsuttrykk\",\n [wordClass.wordClass.stativeVerb]: \"Tilstandsverb\",\n [wordClass.wordClass.subordinatingConjunction]: \"Subjunksjon\",\n [wordClass.wordClass.exclamationWord]: \"Utropsord\",\n [wordClass.wordClass.expression]: \"Uttrykk\",\n [wordClass.wordClass.verb]: \"Verb\",\n [wordClass.wordClass.verbComplement]: \"Verb-komplement\",\n [wordClass.wordClass.verbObject]: \"Verb-objekt\",\n },\n login: \"Logg inn\",\n component: {\n tagsInput: {\n clearTriggerLabel: \"Fjern alle emneknagger\",\n deleteTagTriggerLabel: \"Fjern emneknagg {{tag}}\",\n tagAdded: \"Emneknagg {{tag}} lagt til\",\n tagsPasted: \"Limte inn {{length}} emneknagger\",\n tagEdited: \"Redigerer emneknagg {{tag}}. Trykk enter for å lagre, eller esc for å avbryte.\",\n tagUpdated: \"Emneknagg oppdatert til {{tag}}\",\n tagDeleted: \"Emneknagg {{tag}} slettet\",\n tagSelected: \"Emneknagg {{tag}} valgt. Trykk enter for å redigere. Trykk backspace eller delete for å slette\",\n },\n combobox: {\n triggerLabel: \"Vis resultater\",\n clearTriggerLabel: \"Fjern valg\",\n },\n pagination: {\n rootLabel: \"Sidenavigering\",\n prevTriggerLabel: \"Forrige side\",\n nextTriggerLabel: \"Neste side\",\n lastPage: \"Siste side, side {{page}}\",\n page: \"Side {{page}}\",\n },\n imageSearch: {\n searchPlaceholder: \"Søk i bilder\",\n searchButtonTitle: \"Søk\",\n imagePreview: {\n creatorsLabel: \"Bilde\",\n license: \"Lisens\",\n caption: \"Bildetekst\",\n altText: \"Alt-tekst\",\n modelRelease: \"Modellklarert\",\n tags: \"Emneknagger\",\n checkboxLabel: \"Sett som metabilde\",\n close: \"Lukk\",\n useImageTitle: \"Bruk bildet\",\n },\n },\n audioSearch: {\n searchPlaceholder: \"Søk i lydfiler\",\n searchButtonTitle: \"Søk\",\n useAudio: \"Velg lyd\",\n noResults: \"Ingen resultater funnet\",\n },\n videoSearch: {\n searchPlaceholder: \"Søk i videoer\",\n searchButtonTitle: \"Søk\",\n loadMoreVideos: \"Last flere videoer\",\n noResults: \"Ingen videoer funnet\",\n addVideo: \"Bruk video\",\n previewVideo: \"Forhåndsvis\",\n is360Video: \"VR-video\",\n close: \"Lukk\",\n },\n datePicker: {\n dayCell: {\n unavailable: \"Ikke tilgjengelig dato. {{date}}\",\n selected: \"Valgt dato. {{date}}\",\n select: \"Velg dato. {{date}}\",\n },\n nextTrigger: {\n day: \"Gå til neste måned\",\n month: \"Gå til neste år\",\n year: \"Gå til neste tiår\",\n },\n prevTrigger: {\n day: \"Gå til forrige måned\",\n month: \"Gå til forrige år\",\n year: \"Gå til forrige tiår\",\n },\n monthSelect: \"Velg måned\",\n yearSelect: \"Velg år\",\n viewTrigger: {\n day: \"Bytt til dagvisning\",\n month: \"Bytt til månedvisning\",\n year: \"Bytt til årvisning\",\n },\n presetTrigger: {\n single: \"Velg {{date}}\",\n range: \"Velg fra {{start}} til {{end}}\",\n },\n clearTrigger: \"Fjern valgte datoer\",\n trigger: {\n open: \"Åpne datovelger\",\n close: \"Lukk datovelger\",\n },\n content: \"Kalender\",\n },\n },\n richTextEditor: {\n tooltip: {\n bold: \"Fet ({{shortcut}})\",\n code: \"Kode ({{shortcut}})\",\n sub: \"Senket skrift ({{shortcut}})\",\n sup: \"Hevet skrift ({{shortcut}})\",\n underlined: \"Understreket ({{shortcut}})\",\n italic: \"Kursiv ({{shortcut}})\",\n \"numbered-list\": \"Nummerert liste ({{shortcut}})\",\n \"letter-list\": \"Bokstavliste ({{shortcut}})\",\n \"bulleted-list\": \"Punktliste ({{shortcut}})\",\n heading: \"Overskrift {{level}} ({{shortcut}})\",\n paragraph: \"Paragraf ({{shortcut}})\",\n section: \"Seksjon ({{shortcut}})\",\n link: \"Lenke ({{shortcut}})\",\n },\n },\n};\n\nexport default messages;\n"],"mappings":"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"}
1
+ {"version":3,"file":"messages-nb.js","names":["constants"],"sources":["../../src/locale/messages-nb.ts"],"sourcesContent":["/**\n * Copyright (c) 2018-present, NDLA.\n *\n * This source code is licensed under the GPLv3 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { contributorTypes } from \"@ndla/licenses\";\nimport constants from \"../model\";\n\nconst { subjectCategories, subjectTypes, wordClass } = constants;\n\nconst messages = {\n ...contributorTypes.nb,\n askNDLA: \"Spør NDLA\",\n subjectCategories: {\n [subjectCategories.ACTIVE_SUBJECTS]: \"Aktive\",\n [subjectCategories.ARCHIVE_SUBJECTS]: \"Utgåtte\",\n [subjectCategories.BETA_SUBJECTS]: \"Kommende\",\n [subjectCategories.OTHER]: \"Andre ressurser\",\n [subjectTypes.RESOURCE_COLLECTION]: \"Ressurssamlinger\",\n },\n subjectTypes: {\n [subjectTypes.BETA_SUBJECT]: \"Betafag\",\n [subjectTypes.RESOURCE_COLLECTION]: \"Ressurssamling\",\n [subjectTypes.SUBJECT]: \"Fag\",\n },\n meta: {\n description:\n \"Åpne og fritt tilgjengelige ressurser for videregående opplæring. Utviklet og oppdatert i samarbeid med dyktige lærere og elever.\",\n keywords: \"læremiddel,fag,skole,videregående,lærling,pensum,fagstoff\",\n },\n logo: {\n altText: \"Nasjonal digital læringsarena\",\n },\n article: {\n lastUpdated: \"Sist faglig oppdatert\",\n useContent: \"Sitere eller gjenbruke?\",\n authorsLabel_article: \"Skrevet av\",\n authorsLabel_external: \"Denne lenken er lagt til av\",\n authorsLabel_learningPath: \"Laget av\",\n copyPageLinkCopied: \"Lenke kopiert\",\n copyHeaderLink: \"Kopier lenke til overskriften\",\n conjunction: \"og\",\n supplierLabel_one: \"Rettighetshaver:\",\n supplierLabel_other: \"Rettighetshavere:\",\n printPage: \"Skriv ut teksten\",\n access: {\n onlyTeacher: \"Denne ressursen er bare tilgjengelig for lærere som er pålogget med Feide.\",\n },\n footnotes: \"Fotnoter\",\n },\n external: {\n lastUpdated: \"Sist faglig oppdatert\",\n },\n learningPath: {\n copiedFrom: \"Dette er en remiks av en annen læringsti\",\n lastUpdated: \"Sist faglig oppdatert\",\n },\n license: {\n copyTitle: \"Kopier kildehenvisning\",\n hasCopiedTitle: \"Kopiert!\",\n embed: \"Bygg inn\",\n embedCopied: \"Kopierte innbyggingskode!\",\n copyText: {\n now: \"nå\",\n podcast: \"podkast\",\n by: \"av\",\n internet: \"[Internett]. \",\n noTitle: \"Uten tittel\",\n downloadedFrom: \"Hentet fra: \",\n readDate: \"Lest: \",\n },\n download: \"Last ned\",\n openLink: \"Åpne i ny fane\",\n tabs: {\n text: \"Tekst\",\n images: \"Bilder\",\n audio: \"Lyd\",\n video: \"Video\",\n h5p: \"H5P\",\n files: \"Filer\",\n embedlink: \"Innbyggingslenke\",\n concept: \"Forklaringer\",\n gloss: \"Gloser\",\n podcast: \"Podkast\",\n other: \"Annet innhold\",\n },\n embedlink: {\n heading: \"Slik viser du artikkelen i annet innhold\",\n description: \"Denne lenken viser artikkelen uten kontekst (meny og bunntekst)\",\n copyTitle: \"Kopier lenke\",\n hasCopiedTitle: \"Lenke kopiert\",\n },\n image: {\n rules: \"Regler for bruk av bildet:\",\n },\n images: {\n heading: \"Slik gjenbruker du bilder\",\n description: \"Husk å kopiere teksten som skal legges ved bildet der du bruker det.\",\n rules: \"Regler for bruk av bildet\",\n itemImage: {\n ariaLabel: \"Åpne bilde i et nytt vindu\",\n zoomImageButtonLabel: \"Forstørr bilde\",\n zoomOutImageButtonLabel: \"Forminsk bilde\",\n expandByline: \"Vis byline\",\n minimizeByline: \"Skjul byline\",\n },\n licenseText: \"Dette bildet har lisensen\",\n restrictedUseText: \"Dette bildet har\",\n },\n text: {\n heading: \"Slik gjenbruker du teksten\",\n description: \"Husk å henvise til kilden når du gjenbruker tekst.\",\n rules: \"Regler for bruk av teksten\",\n published: \"Publiseringsdato\",\n licenseText: \"Denne teksten har lisensen\",\n restrictedUseText: \"Denne teksten har\",\n },\n audio: {\n heading: \"Slik gjenbruker du lydfiler\",\n description: \"Husk å kopiere teksten som skal legges ved lydfilen der du bruker den.\",\n rules: \"Regler for bruk av lydfilen\",\n licenseText: \"Denne lydfilen har lisensen\",\n restrictedUseText: \"Denne lydfilen har\",\n },\n podcast: {\n heading: \"Slik gjenbruker du podkaster\",\n description: \"Husk å kopiere teksten som skal legges ved podkasten der du bruker den.\",\n rules: \"Regler for bruk av podkasten\",\n licenseText: \"Denne podkasten har lisensen\",\n restrictedUseText: \"Denne podkasten har\",\n },\n video: {\n heading: \"Slik gjenbruker du videoer\",\n description: \"Husk å kopiere teksten som skal legges ved videoen der du bruker den.\",\n rules: \"Regler for bruk av videoen\",\n itemImage: {\n ariaLabel: \"Åpne video i et nytt vindu\",\n },\n licenseText: \"Denne videoen har lisensen\",\n restrictedUseText: \"Denne videoen har\",\n },\n other: {\n heading: \"Slik gjenbruker du annet innhold\",\n description: \"Du finner retningslinjene for bruk av innholdet i innholdselementet\",\n itemImage: {\n ariaLabel: \"Åpne i nytt vindu\",\n },\n },\n h5p: {\n heading: \"Slik gjenbruker du H5P-innhold\",\n description: \"Du finner retningslinjene for bruk av innholdet i H5P-elementet\",\n rules: \"Regler for bruk av H5P\",\n licenseText: \"Denne interaktive oppgaven (H5P) har lisensen\",\n restrictedUseText: \"Denne interaktive oppgaven (H5P) har\",\n },\n concept: {\n heading: \"Slik gjenbruker du forklaringer\",\n description: \"Husk at innebygd innhold i en forklaring kan ha en annen lisens enn selve forklaringsteksten\",\n rules: \"Regler for bruk av forklaring\",\n embedlink: {\n heading: \"Slik viser du forklaringen i annet innhold\",\n description: \"Denne lenken viser forklaringen uten kontekst (meny og bunntekst)\",\n copyTitle: \"Kopier innbyggingslenke\",\n hasCopiedTitle: \"Innbyggingslenke kopiert\",\n },\n licenseText: \"Denne forklaringen har lisensen\",\n restrictedUseText: \"Denne forklaringen har\",\n },\n gloss: {\n heading: \"Slik gjenbruker du gloser\",\n description: \"Husk at innebygd innhold i en glose kan ha en annen lisens enn selve gloseteksten\",\n rules: \"Regler for bruk av glose\",\n showOrHideExamples: \"Vis eller skjul eksempler\",\n embedlink: {\n heading: \"Slik viser du glosen i annet innhold\",\n description: \"Denne lenken viser glosen uten kontekst (meny og bunntekst)\",\n copyTitle: \"Kopier innbyggingslenke\",\n hasCopiedTitle: \"Innbyggingslenke kopiert\",\n },\n licenseText: \"Denne glosen har lisensen\",\n restrictedUseText: \"Denne glosen har\",\n },\n files: {\n heading: \"Slik gjenbruker du filer\",\n description: \"Husk å kopier teksten som skal legges ved filen der du bruker den.\",\n rules: \"Regler for bruk av filen\",\n itemImage: {\n ariaLabel: \"Åpne i nytt vindu\",\n },\n },\n processed: \"Innholdet har blitt bearbeidet\",\n },\n errorMessage: {\n title: \"Ops, noe gikk galt\",\n description: \"Beklager, en feil oppstod.\",\n back: \"Gå tilbake\",\n goToFrontPage: \"Gå til forsiden\",\n },\n figure: {\n button: {\n alternative: \"Bytt til synstolket video\",\n original: \"Bytt til original video\",\n },\n },\n contentTypes: {\n all: \"Alle\",\n article: \"Artikkel\",\n subject: \"Fag\",\n \"topic-article\": \"Emne\",\n learningpath: \"Læringssti\",\n \"learning-path\": \"Læringssti\",\n \"subject-material\": \"Fagstoff\",\n \"tasks-and-activities\": \"Oppgaver og aktiviteter\",\n \"source-material\": \"Kildemateriale\",\n \"assessment-resources\": \"Vurderingsressurs\",\n topic: \"Emne\",\n multidisciplinary: \"Tverrfaglig case\",\n image: \"Bilde\",\n concept: \"Forklaring\",\n audio: \"Lyd\",\n podcast: \"Podkast\",\n h5p: \"H5P\",\n video: \"Video\",\n missing: \"Ukjent\",\n external: \"Ekstern\",\n gloss: \"Glose\",\n programme: \"Programfag\",\n \"podcast-series\": \"Podkast-serie\",\n \"frontpage-article\": \"Om NDLA-artikkel\",\n },\n languages: {\n nb: \"Bokmål\",\n nn: \"Nynorsk\",\n en: \"Engelsk\",\n fr: \"Fransk\",\n de: \"Tysk\",\n se: \"Nordsamisk\",\n sma: \"Sørsamisk\",\n es: \"Spansk\",\n zh: \"Kinesisk\",\n ukr: \"Ukrainsk\",\n unknown: \"Ukjent\",\n prefixChangeLanguage: \"Velg språk\",\n },\n breadcrumb: {\n toFrontpage: \"NDLA forside\",\n breadcrumb: \"Brødsmulesti\",\n },\n codeBlock: {\n copiedCode: \"Kode kopiert til utklippstavle\",\n copyCode: \"Kopier kode til utklippstavle\",\n },\n close: \"Lukk\",\n loading: \"Laster\",\n title: \"Tittel\",\n cancel: \"Avbryt\",\n save: \"Lagre\",\n email: \"E-post\",\n finished: \"Ferdig\",\n audio: {\n play: \"Spill av\",\n pause: \"Pause\",\n progressBar: \"Fremdriftsindikator\",\n valueText: \"{{start}} av {{end}}\",\n controls: {\n forward15sec: \"Spol 15 sekunder fram\",\n rewind15sec: \"Spol 15 sekunder tilbake\",\n selectSpeed: \"Velg avspillingshastighet\",\n adjustVolume: \"Endre volum\",\n },\n textVersion: {\n heading: \"Tekstversjon\",\n close: \"Lukk tekstversjon\",\n },\n readMoreDescriptionLabel: \"Vis mer\",\n readLessDescriptionLabel: \"Vis mindre\",\n },\n source: \"Kilde\",\n related: {\n title: \"Relatert innhold\",\n linkInfo: \"Nettside hos\",\n showMore: \"Vis mer relatert innhold\",\n showLess: \"Vis mindre\",\n },\n download: \"Last ned fil: \",\n factbox: {\n open: \"Åpne faktaboks\",\n close: \"Lukk faktaboks\",\n },\n embed: {\n linkError: \"Klarte ikke å vise lenke.\",\n unsupported: `Embed {{type}} er ikke støttet.`,\n embedError: `Beklager, en feil oppstod ved lasting av {{type}}. Prøv å laste inn siden på nytt.`,\n type: {\n image: \"Bilde\",\n video: \"Video\",\n audio: \"Lyd\",\n podcast: \"Podkast\",\n concept: \"Forklaring\",\n h5p: \"H5P\",\n external: \"Ekstern ressurs\",\n gloss: \"Glose\",\n copyright: \"Tekst\",\n code: \"Kodeblokk\",\n disclaimer: \"UU-advarsel\",\n },\n },\n uuDisclaimer: { title: \"Tilgjengelighet\" },\n gloss: {\n examples: \"Eksempler\",\n showExamples: \"Vis eksempler\",\n wordClass: \"Ordklasse\",\n play: \"Spill av glose\",\n transcriptions: {\n traditional: \"Tradisjonell skrivemåte\",\n pinyin: \"Pinyin\",\n },\n },\n wordClass: {\n [wordClass.wordClass.adjective]: \"Adjektiv\",\n [wordClass.wordClass.adverb]: \"Adverb\",\n [wordClass.wordClass.properNoun]: \"Egennavn\",\n [wordClass.wordClass.auxiliary]: \"Hjelpeord\",\n [wordClass.wordClass.complement]: \"Komplement\",\n [wordClass.wordClass.conjunction]: \"Konjunksjon\",\n [wordClass.wordClass.coverb]: \"Koverb\",\n [wordClass.wordClass.determiner]: \"Bestemmerord\",\n [wordClass.wordClass.interjection]: \"Interjeksjon\",\n [wordClass.wordClass.quantifier]: \"Kvantor\",\n [wordClass.wordClass.marker]: \"Markør\",\n [wordClass.wordClass.modalVerb]: \"Modalverb\",\n [wordClass.wordClass.measureWord]: \"Målord\",\n [wordClass.wordClass.noun]: \"Substantiv\",\n [wordClass.wordClass[\"noun-zh\"]]: \"Nomen\",\n [wordClass.wordClass.nounPhrase]: \"Nominalfrase\",\n [wordClass.wordClass.onomatopoeia]: \"Onomatopoetikon\",\n [wordClass.wordClass.particle]: \"Partikkel\",\n [wordClass.wordClass.demonstrative]: \"Pekeord\",\n [wordClass.wordClass.personalPronoun]: \"Personlig pronomen\",\n [wordClass.wordClass.preposition]: \"Preposisjon\",\n [wordClass.wordClass.pronoun]: \"Pronomen\",\n [wordClass.wordClass.questionWord]: \"Spørreord\",\n [wordClass.wordClass.locationWord]: \"Stedsord\",\n [wordClass.wordClass.suffix]: \"Suffiks\",\n [wordClass.wordClass.numeral]: \"Tallord\",\n [wordClass.wordClass.timeWord]: \"Tidsord\",\n [wordClass.wordClass.timeExpression]: \"Tidsuttrykk\",\n [wordClass.wordClass.stativeVerb]: \"Tilstandsverb\",\n [wordClass.wordClass.subordinatingConjunction]: \"Subjunksjon\",\n [wordClass.wordClass.exclamationWord]: \"Utropsord\",\n [wordClass.wordClass.expression]: \"Uttrykk\",\n [wordClass.wordClass.verb]: \"Verb\",\n [wordClass.wordClass.verbComplement]: \"Verb-komplement\",\n [wordClass.wordClass.verbObject]: \"Verb-objekt\",\n },\n login: \"Logg inn\",\n component: {\n tagsInput: {\n clearTriggerLabel: \"Fjern alle emneknagger\",\n deleteTagTriggerLabel: \"Fjern emneknagg {{tag}}\",\n tagAdded: \"Emneknagg {{tag}} lagt til\",\n tagsPasted: \"Limte inn {{length}} emneknagger\",\n tagEdited: \"Redigerer emneknagg {{tag}}. Trykk enter for å lagre, eller esc for å avbryte.\",\n tagUpdated: \"Emneknagg oppdatert til {{tag}}\",\n tagDeleted: \"Emneknagg {{tag}} slettet\",\n tagSelected: \"Emneknagg {{tag}} valgt. Trykk enter for å redigere. Trykk backspace eller delete for å slette\",\n },\n combobox: {\n triggerLabel: \"Vis resultater\",\n clearTriggerLabel: \"Fjern valg\",\n },\n pagination: {\n rootLabel: \"Sidenavigering\",\n prevTriggerLabel: \"Forrige side\",\n nextTriggerLabel: \"Neste side\",\n lastPage: \"Siste side, side {{page}}\",\n page: \"Side {{page}}\",\n },\n imageSearch: {\n searchPlaceholder: \"Søk i bilder\",\n searchButtonTitle: \"Søk\",\n imagePreview: {\n creatorsLabel: \"Bilde\",\n license: \"Lisens\",\n caption: \"Bildetekst\",\n altText: \"Alt-tekst\",\n modelRelease: \"Modellklarert\",\n tags: \"Emneknagger\",\n checkboxLabel: \"Sett som metabilde\",\n close: \"Lukk\",\n useImageTitle: \"Bruk bildet\",\n },\n },\n audioSearch: {\n searchPlaceholder: \"Søk i lydfiler\",\n searchButtonTitle: \"Søk\",\n useAudio: \"Velg lyd\",\n noResults: \"Ingen resultater funnet\",\n },\n videoSearch: {\n searchPlaceholder: \"Søk i videoer\",\n searchButtonTitle: \"Søk\",\n loadMoreVideos: \"Last flere videoer\",\n noResults: \"Ingen videoer funnet\",\n addVideo: \"Bruk video\",\n previewVideo: \"Forhåndsvis\",\n is360Video: \"VR-video\",\n close: \"Lukk\",\n },\n datePicker: {\n dayCell: {\n unavailable: \"Ikke tilgjengelig dato. {{date}}\",\n selected: \"Valgt dato. {{date}}\",\n select: \"Velg dato. {{date}}\",\n },\n nextTrigger: {\n day: \"Gå til neste måned\",\n month: \"Gå til neste år\",\n year: \"Gå til neste tiår\",\n },\n prevTrigger: {\n day: \"Gå til forrige måned\",\n month: \"Gå til forrige år\",\n year: \"Gå til forrige tiår\",\n },\n monthSelect: \"Velg måned\",\n yearSelect: \"Velg år\",\n viewTrigger: {\n day: \"Bytt til dagvisning\",\n month: \"Bytt til månedvisning\",\n year: \"Bytt til årvisning\",\n },\n presetTrigger: {\n single: \"Velg {{date}}\",\n range: \"Velg fra {{start}} til {{end}}\",\n },\n clearTrigger: \"Fjern valgte datoer\",\n trigger: {\n open: \"Åpne datovelger\",\n close: \"Lukk datovelger\",\n },\n content: \"Kalender\",\n },\n },\n richTextEditor: {\n tooltip: {\n bold: \"Fet ({{shortcut}})\",\n code: \"Kode ({{shortcut}})\",\n sub: \"Senket skrift ({{shortcut}})\",\n sup: \"Hevet skrift ({{shortcut}})\",\n underlined: \"Understreket ({{shortcut}})\",\n italic: \"Kursiv ({{shortcut}})\",\n \"numbered-list\": \"Nummerert liste ({{shortcut}})\",\n \"letter-list\": \"Bokstavliste ({{shortcut}})\",\n \"bulleted-list\": \"Punktliste ({{shortcut}})\",\n heading: \"Overskrift {{level}} ({{shortcut}})\",\n paragraph: \"Paragraf ({{shortcut}})\",\n section: \"Seksjon ({{shortcut}})\",\n link: \"Lenke ({{shortcut}})\",\n },\n },\n};\n\nexport default messages;\n"],"mappings":"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"}
@@ -26,18 +26,23 @@ const messages = {
26
26
  article: {
27
27
  lastUpdated: "Sist fagleg oppdatert",
28
28
  useContent: "Sitere eller gjenbruke?",
29
- authorsLabel: "Skrive av {{names}}",
30
- authorsLabelLearningpath: "Laga av {{names}}",
29
+ authorsLabel_article: "Skrive av",
30
+ authorsLabel_learningPath: "Laga av",
31
+ authorsLabel_external: "Denne lenka er lagt til av",
31
32
  copyPageLinkCopied: "Lenke kopiert",
32
33
  copyHeaderLink: "Kopier lenke til overskrifta",
33
34
  conjunction: "og",
34
- authorsLabelExternal: "Denne lenka er lagt til av {{names}}",
35
- supplierLabel: "Rettshavar: {{name}}",
36
- multipleSuppliersLabel: "Rettshavarar: {{names}}",
35
+ supplierLabel_one: "Rettshavar:",
36
+ supplierLabel_other: "Rettshavarar:",
37
37
  printPage: "Skriv ut teksten",
38
38
  access: { onlyTeacher: "Denne ressursen er berre tilgjengeleg for lærarar som er pålogga med Feide." },
39
39
  footnotes: "Fotnotar"
40
40
  },
41
+ external: { lastUpdated: "Sist fagleg oppdatert" },
42
+ learningPath: {
43
+ copiedFrom: "Dette er en remiks av en annen læringsti",
44
+ lastUpdated: "Sist fagleg oppdatert"
45
+ },
41
46
  license: {
42
47
  copyTitle: "Kopier kjeldetilvising",
43
48
  hasCopiedTitle: "Kopiert!",