@ndla/ui 54.0.6 → 55.0.0-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 (79) hide show
  1. package/es/ContactBlock/ContactBlock.js +14 -15
  2. package/es/Embed/AudioEmbed.js +1 -32
  3. package/es/Embed/BrightcoveEmbed.js +6 -10
  4. package/es/Embed/ConceptEmbed.js +8 -33
  5. package/es/Embed/ImageEmbed.js +36 -79
  6. package/es/Embed/UuDisclaimerEmbed.js +4 -12
  7. package/es/Embed/conceptComponents.js +28 -29
  8. package/es/LicenseByline/EmbedByline.js +44 -61
  9. package/es/LicenseByline/LicenseDescription.js +44 -8
  10. package/es/LicenseByline/LicenseLink.js +7 -11
  11. package/es/Messages/MessageBox.js +6 -6
  12. package/es/index.js +1 -2
  13. package/es/locale/messages-en.js +33 -21
  14. package/es/locale/messages-nb.js +33 -21
  15. package/es/locale/messages-nn.js +32 -20
  16. package/es/locale/messages-se.js +34 -22
  17. package/es/locale/messages-sma.js +33 -21
  18. package/lib/ContactBlock/ContactBlock.js +14 -15
  19. package/lib/Embed/AudioEmbed.d.ts +1 -3
  20. package/lib/Embed/AudioEmbed.js +1 -32
  21. package/lib/Embed/BrightcoveEmbed.d.ts +2 -3
  22. package/lib/Embed/BrightcoveEmbed.js +6 -10
  23. package/lib/Embed/ConceptEmbed.d.ts +4 -9
  24. package/lib/Embed/ConceptEmbed.js +8 -33
  25. package/lib/Embed/ImageEmbed.d.ts +2 -5
  26. package/lib/Embed/ImageEmbed.js +34 -79
  27. package/lib/Embed/UuDisclaimerEmbed.js +3 -11
  28. package/lib/Embed/conceptComponents.d.ts +0 -3
  29. package/lib/Embed/conceptComponents.js +28 -29
  30. package/lib/LicenseByline/EmbedByline.d.ts +7 -6
  31. package/lib/LicenseByline/EmbedByline.js +46 -60
  32. package/lib/LicenseByline/LicenseDescription.d.ts +3 -2
  33. package/lib/LicenseByline/LicenseDescription.js +43 -7
  34. package/lib/LicenseByline/LicenseLink.d.ts +3 -4
  35. package/lib/LicenseByline/LicenseLink.js +6 -10
  36. package/lib/Messages/MessageBox.js +6 -6
  37. package/lib/index.d.ts +1 -3
  38. package/lib/index.js +6 -37
  39. package/lib/locale/messages-en.d.ts +17 -5
  40. package/lib/locale/messages-en.js +33 -21
  41. package/lib/locale/messages-nb.d.ts +17 -5
  42. package/lib/locale/messages-nb.js +33 -21
  43. package/lib/locale/messages-nn.d.ts +17 -5
  44. package/lib/locale/messages-nn.js +32 -20
  45. package/lib/locale/messages-se.d.ts +17 -5
  46. package/lib/locale/messages-se.js +34 -22
  47. package/lib/locale/messages-sma.d.ts +17 -5
  48. package/lib/locale/messages-sma.js +33 -21
  49. package/package.json +9 -10
  50. package/src/ContactBlock/ContactBlock.tsx +1 -1
  51. package/src/Embed/AudioEmbed.stories.tsx +0 -5
  52. package/src/Embed/AudioEmbed.tsx +3 -40
  53. package/src/Embed/BrightcoveEmbed.stories.tsx +0 -4
  54. package/src/Embed/BrightcoveEmbed.tsx +2 -5
  55. package/src/Embed/ConceptEmbed.stories.tsx +0 -5
  56. package/src/Embed/ConceptEmbed.tsx +4 -26
  57. package/src/Embed/ImageEmbed.stories.tsx +0 -12
  58. package/src/Embed/ImageEmbed.tsx +33 -89
  59. package/src/Embed/UuDisclaimerEmbed.tsx +2 -1
  60. package/src/Embed/conceptComponents.tsx +14 -12
  61. package/src/LicenseByline/EmbedByline.stories.tsx +1 -26
  62. package/src/LicenseByline/EmbedByline.tsx +50 -82
  63. package/src/LicenseByline/LicenseDescription.tsx +65 -8
  64. package/src/LicenseByline/LicenseLink.tsx +6 -12
  65. package/src/Messages/MessageBox.tsx +1 -0
  66. package/src/index.ts +1 -12
  67. package/src/locale/messages-en.ts +29 -17
  68. package/src/locale/messages-nb.ts +29 -17
  69. package/src/locale/messages-nn.ts +29 -17
  70. package/src/locale/messages-se.ts +30 -18
  71. package/src/locale/messages-sma.ts +29 -17
  72. package/es/MediaList/MediaList.js +0 -215
  73. package/es/MediaList/index.js +0 -8
  74. package/lib/MediaList/MediaList.d.ts +0 -49
  75. package/lib/MediaList/MediaList.js +0 -227
  76. package/lib/MediaList/index.d.ts +0 -9
  77. package/lib/MediaList/index.js +0 -42
  78. package/src/MediaList/MediaList.tsx +0 -285
  79. package/src/MediaList/index.ts +0 -17
@@ -6,16 +6,19 @@
6
6
  *
7
7
  */
8
8
 
9
- import { ReactNode } from "react";
9
+ import { t } from "i18next";
10
+ import { ReactNode, useState } from "react";
10
11
  import styled from "@emotion/styled";
11
- import { spacing } from "@ndla/core";
12
+ import { ButtonV2 } from "@ndla/button";
13
+ import { breakpoints, colors, fonts, mq, spacing } from "@ndla/core";
12
14
 
13
15
  interface Props {
14
- description: ReactNode;
15
16
  icon?: ReactNode;
17
+ children?: ReactNode;
18
+ warningByline?: boolean;
16
19
  }
17
20
 
18
- const StyledFigCaption = styled.figcaption`
21
+ const StyledFigCaption = styled.div`
19
22
  display: flex;
20
23
  gap: ${spacing.small};
21
24
  align-items: center;
@@ -23,18 +26,72 @@ const StyledFigCaption = styled.figcaption`
23
26
  padding: unset;
24
27
  font-size: unset;
25
28
  color: unset;
26
- padding-bottom: ${spacing.xsmall};
27
- border-bottom: inherit;
28
29
  p {
29
30
  margin: 0;
30
31
  }
31
32
  `;
32
33
 
33
- const LicenseDescription = ({ description, icon }: Props) => {
34
+ const StyledDescription = styled.div`
35
+ display: inline-flex;
36
+ white-space: pre-wrap;
37
+ &[data-warning="false"] {
38
+ ${mq.range({ until: breakpoints.mobileWide })} {
39
+ &[data-open="true"] {
40
+ display: inline;
41
+ }
42
+ width: 100%;
43
+ }
44
+ }
45
+ `;
46
+
47
+ const TextContent = styled.span`
48
+ &[data-warning="false"] {
49
+ ${mq.range({ until: breakpoints.mobileWide })} {
50
+ white-space: nowrap;
51
+ max-height: ${spacing.mediumlarge};
52
+ &[data-open="true"] {
53
+ white-space: pre-wrap;
54
+ max-height: none;
55
+ }
56
+
57
+ overflow: hidden;
58
+ text-overflow: ellipsis;
59
+ transition: max-height 0.7s ease-in;
60
+ margin: auto 0;
61
+ }
62
+ }
63
+ `;
64
+
65
+ const Button = styled(ButtonV2)`
66
+ color: ${colors.brand.primary};
67
+ font-weight: ${fonts.weight.semibold};
68
+ min-width: fit-content;
69
+ margin-left: ${spacing.small};
70
+ ${mq.range({ from: breakpoints.mobileWide })} {
71
+ display: none;
72
+ }
73
+ `;
74
+
75
+ const LicenseDescription = ({ icon, children, warningByline = false }: Props) => {
76
+ const [isOpen, setIsOpen] = useState(false);
77
+
78
+ const handleToggle = () => {
79
+ setIsOpen(!isOpen);
80
+ };
81
+
34
82
  return (
35
83
  <StyledFigCaption>
36
84
  {icon}
37
- <span>{description}</span>
85
+ <StyledDescription data-open={isOpen} data-warning={warningByline}>
86
+ <TextContent data-open={isOpen} data-warning={warningByline}>
87
+ {children}
88
+ </TextContent>
89
+ {!warningByline && (
90
+ <Button variant="link" onClick={handleToggle}>
91
+ {isOpen ? `${t("audio.readLessDescriptionLabel")}` : `${t("audio.readMoreDescriptionLabel")}`}
92
+ </Button>
93
+ )}
94
+ </StyledDescription>
38
95
  </StyledFigCaption>
39
96
  );
40
97
  };
@@ -7,18 +7,16 @@
7
7
  */
8
8
 
9
9
  import styled from "@emotion/styled";
10
- import { colors, fonts } from "@ndla/core";
10
+ import { colors } from "@ndla/core";
11
+ import { LicenseLocaleType } from "@ndla/licenses";
11
12
  import { SafeLink } from "@ndla/safelink";
12
- import { LicenseType } from "./EmbedByline";
13
13
 
14
14
  interface Props {
15
- license: LicenseType;
16
- asLink?: boolean;
15
+ license: LicenseLocaleType;
17
16
  }
18
17
 
19
18
  const StyledSafeLink = styled(SafeLink)`
20
19
  color: ${colors.brand.primary};
21
- font-weight: ${fonts.weight.bold};
22
20
  text-decoration: underline;
23
21
  white-space: nowrap;
24
22
  box-shadow: none;
@@ -28,22 +26,18 @@ const StyledSafeLink = styled(SafeLink)`
28
26
  }
29
27
  `;
30
28
 
31
- const StyledSpan = styled.span`
32
- font-weight: ${fonts.weight.bold};
33
- `;
34
-
35
- const LicenseLink = ({ license, asLink = true }: Props) => {
29
+ const LicenseLink = ({ license }: Props) => {
36
30
  if (license.abbreviation === "unknown") {
37
31
  return null;
38
32
  }
39
- if (asLink) {
33
+ if (license.url?.length) {
40
34
  return (
41
35
  <StyledSafeLink to={license.url} rel="license">
42
36
  {license.abbreviation}
43
37
  </StyledSafeLink>
44
38
  );
45
39
  }
46
- return <StyledSpan>{license.abbreviation}</StyledSpan>;
40
+ return <span>{license.abbreviation}</span>;
47
41
  };
48
42
 
49
43
  export default LicenseLink;
@@ -63,6 +63,7 @@ const InfoWrapper = styled.div`
63
63
  const ChildrenWrapper = styled.div`
64
64
  display: flex;
65
65
  gap: ${spacing.small};
66
+ ${fonts.sizes("18px", "24px")};
66
67
  svg {
67
68
  min-width: 24px;
68
69
  min-height: 24px;
package/src/index.ts CHANGED
@@ -34,7 +34,7 @@ export {
34
34
  CodeEmbed,
35
35
  } from "./Embed";
36
36
 
37
- export { LicenseLink } from "./LicenseByline";
37
+ export { LicenseLink, EmbedByline } from "./LicenseByline";
38
38
 
39
39
  export {
40
40
  ArticleByline,
@@ -119,17 +119,6 @@ export { i18nInstance, formatNestedMessages } from "./i18n";
119
119
 
120
120
  export { default as LayoutItem, OneColumn, PageContainer } from "./Layout";
121
121
 
122
- export {
123
- MediaList,
124
- MediaListItem,
125
- MediaListItemBody,
126
- MediaListItemActions,
127
- MediaListItemImage,
128
- MediaListItemMeta,
129
- } from "./MediaList";
130
-
131
- export type { ItemType } from "./MediaList";
132
-
133
122
  export {
134
123
  default as ContentTypeBadge,
135
124
  SubjectMaterialBadge,
@@ -300,7 +300,7 @@ const messages = {
300
300
  publisher: "Publisher",
301
301
  lastUpdated: "Last revised date",
302
302
  closeLabel: "Close",
303
- useContent: "Cite or use",
303
+ useContent: "Cite or reuse?",
304
304
  additionalLabel: "Additional content",
305
305
  urlContributionsLabel: "See {{name}}`s contributions",
306
306
  urlAuthorLabel: "Read more about {{name}}",
@@ -317,7 +317,7 @@ const messages = {
317
317
  cite: "Cite content",
318
318
  notionsPrompt: "Do you know the notions?",
319
319
  citeNotion: "Cite this explanation",
320
- printPage: "Print",
320
+ printPage: "Print text",
321
321
  access: {
322
322
  onlyTeacher: "This resource is accessible only to teachers who are logged in with Feide.",
323
323
  },
@@ -393,7 +393,7 @@ const messages = {
393
393
  images: {
394
394
  heading: "How to reuse images",
395
395
  description: "Remember to copy the text to be attached to the image where you use it.",
396
- rules: "Rules for use of image:",
396
+ rules: "Rules for use of image",
397
397
  itemImage: {
398
398
  ariaLabel: "Open image in new window",
399
399
  zoomImageButtonLabel: "Expand image",
@@ -401,32 +401,40 @@ const messages = {
401
401
  expandByline: "Show byline",
402
402
  minimizeByline: "Hide byline",
403
403
  },
404
- source: "Source",
405
- title: "Title",
404
+ licenseText: "This image has the license",
405
+ restrictedUseText: "This image has",
406
406
  },
407
407
  text: {
408
408
  heading: "How to reuse the text",
409
409
  description: "Remember to refer to the source when reusing text.",
410
- rules: "Rules for use of text:",
410
+ rules: "Rules for use of text",
411
411
  published: "Published",
412
+ licenseText: "This text has the license",
413
+ restrictedUseText: "This text has",
412
414
  },
413
415
  audio: {
414
416
  heading: "How to reuse audio files",
415
417
  description: "Remember to copy the text to be attached to the audio where you use it.",
416
- rules: "Rules for use of audio file:",
418
+ rules: "Rules for use of audio file",
419
+ licenseText: "This audio file has the license",
420
+ restrictedUseText: "This audio file has",
417
421
  },
418
422
  podcast: {
419
423
  heading: "How to reuse podcasts",
420
424
  description: "Remember to copy the text to be attached to the podcast where you use it.",
421
- rules: "Rules for use of podcast:",
425
+ rules: "Rules for use of podcast",
426
+ licenseText: "This podcast has the license",
427
+ restrictedUseText: "This podcast has",
422
428
  },
423
429
  video: {
424
430
  heading: "How to reuse videos",
425
431
  description: "Remember to copy the text to be attached to the video where you use it.",
426
- rules: "Rules for use of video files:",
432
+ rules: "Rules for use of video files",
427
433
  itemImage: {
428
434
  ariaLabel: "Open video in new window",
429
435
  },
436
+ licenseText: "This video has the license",
437
+ restrictedUseText: "This video has",
430
438
  },
431
439
  other: {
432
440
  heading: "How to reuse other content",
@@ -438,25 +446,27 @@ const messages = {
438
446
  h5p: {
439
447
  heading: "How to reuse H5P content",
440
448
  description: "You will find guidelines for use of H5P content in the asset",
441
- rules: "Rules for use of H5P:",
449
+ rules: "Rules for use of H5P",
450
+ licenseText: "This interactive task (H5P) is licensed",
451
+ restrictedUseText: "This interactive task (H5P) has",
442
452
  },
443
453
  concept: {
444
454
  heading: "How to reuse concept content",
445
455
  description: "Remember that built-in content might have a different license than the explanation text",
446
- rules: "Rules for use of concept:",
447
- title: "Title",
456
+ rules: "Rules for use of concept",
448
457
  embedlink: {
449
458
  heading: "How to show the concept in other content",
450
459
  description: "This url shows the concept without menu and footer",
451
460
  copyTitle: "Copy embed link",
452
461
  hasCopiedTitle: "Embed link copied",
453
462
  },
463
+ licenseText: "This concept has the license",
464
+ restrictedUseText: "This concept has",
454
465
  },
455
466
  gloss: {
456
467
  heading: "How to reuse gloss content",
457
468
  description: "Remember that built-in content might have a different license than the gloss text",
458
- rules: "Rules for use of gloss:",
459
- title: "Title",
469
+ rules: "Rules for use of gloss",
460
470
  showOrHideExamples: "Show or hide examples",
461
471
  embedlink: {
462
472
  heading: "How to show the gloss in other content",
@@ -464,17 +474,19 @@ const messages = {
464
474
  copyTitle: "Copy embed link",
465
475
  hasCopiedTitle: "Embed link copied",
466
476
  },
477
+ licenseText: "This gloss has the license",
478
+ restrictedUseText: "This gloss has",
467
479
  },
468
480
  files: {
469
481
  heading: "How to reuse files",
470
482
  description: "Remember to copy the text to be attached to the file where you use it.",
471
- rules: "Rules for use of file:",
483
+ rules: "Rules for use of file",
472
484
  itemImage: {
473
485
  ariaLabel: "Open video in new window",
474
486
  },
475
487
  },
476
488
  learnMore: "Learn more about open licenses",
477
- copyTitle: "Source reference",
489
+ copyTitle: "Copy source reference",
478
490
  embed: "Embed",
479
491
  embedCopied: "Copied embed code!",
480
492
  copyText: {
@@ -488,11 +500,11 @@ const messages = {
488
500
  },
489
501
  hasCopiedTitle: "Copied!",
490
502
  download: "Download",
503
+ openLink: "Open in new tab",
491
504
  title: "Title",
492
505
  originator: "Originator",
493
506
  rightsholder: "Rightsholder",
494
507
  processed: "The content has been processed",
495
- source: "Source",
496
508
  published: "Published",
497
509
  info: "License information",
498
510
  },
@@ -299,7 +299,7 @@ const messages = {
299
299
  lastUpdated: "Sist faglig oppdatert",
300
300
  edition: "Utgave",
301
301
  publisher: "Utgiver",
302
- useContent: "Regler for bruk",
302
+ useContent: "Sitere eller gjenbruke?",
303
303
  closeLabel: "Lukk",
304
304
  additionalLabel: "Tilleggsstoff",
305
305
  urlContributionsLabel: "Se hva {{name}} har bidratt med",
@@ -317,7 +317,7 @@ const messages = {
317
317
  cite: "Bruk innhold",
318
318
  notionsPrompt: "Kan du begrepene?",
319
319
  citeNotion: "Bruk forklaringen",
320
- printPage: "Skriv ut",
320
+ printPage: "Skriv ut teksten",
321
321
  access: {
322
322
  onlyTeacher: "Denne ressursen er bare tilgjengelig for lærere som er pålogget med Feide.",
323
323
  },
@@ -368,7 +368,7 @@ const messages = {
368
368
  license: {
369
369
  heading: "Slik gjenbruker du innhold",
370
370
  learnMore: "Lær mer om åpne lisenser",
371
- copyTitle: "Kildehenvisning",
371
+ copyTitle: "Kopier kildehenvisning",
372
372
  copy: "Kopier",
373
373
  hasCopiedTitle: "Kopiert!",
374
374
  embed: "Bygg inn",
@@ -383,6 +383,7 @@ const messages = {
383
383
  readDate: "Lest: ",
384
384
  },
385
385
  download: "Last ned",
386
+ openLink: "Åpne i ny fane",
386
387
  tabs: {
387
388
  text: "Tekst",
388
389
  images: "Bilder",
@@ -408,7 +409,7 @@ const messages = {
408
409
  images: {
409
410
  heading: "Slik gjenbruker du bilder",
410
411
  description: "Husk å kopiere teksten som skal legges ved bildet der du bruker det.",
411
- rules: "Regler for bruk av bildet:",
412
+ rules: "Regler for bruk av bildet",
412
413
  itemImage: {
413
414
  ariaLabel: "Åpne bilde i et nytt vindu",
414
415
  zoomImageButtonLabel: "Forstørr bilde",
@@ -416,32 +417,40 @@ const messages = {
416
417
  expandByline: "Vis byline",
417
418
  minimizeByline: "Skjul byline",
418
419
  },
419
- source: "Kilde",
420
- title: "Tittel",
420
+ licenseText: "Dette bildet har lisensen",
421
+ restrictedUseText: "Dette bildet har",
421
422
  },
422
423
  text: {
423
424
  heading: "Slik gjenbruker du teksten",
424
425
  description: "Husk å henvise til kilden når du gjenbruker tekst.",
425
- rules: "Regler for bruk av teksten:",
426
+ rules: "Regler for bruk av teksten",
426
427
  published: "Publiseringsdato",
428
+ licenseText: "Denne teksten har lisensen",
429
+ restrictedUseText: "Denne teksten har",
427
430
  },
428
431
  audio: {
429
432
  heading: "Slik gjenbruker du lydfiler",
430
433
  description: "Husk å kopiere teksten som skal legges ved lydfilen der du bruker den.",
431
- rules: "Regler for bruk av lydfilen:",
434
+ rules: "Regler for bruk av lydfilen",
435
+ licenseText: "Denne lydfilen har lisensen",
436
+ restrictedUseText: "Denne lydfilen har",
432
437
  },
433
438
  podcast: {
434
439
  heading: "Slik gjenbruker du podkaster",
435
440
  description: "Husk å kopiere teksten som skal legges ved podkasten der du bruker den.",
436
- rules: "Regler for bruk av podkasten:",
441
+ rules: "Regler for bruk av podkasten",
442
+ licenseText: "Denne podkasten har lisensen",
443
+ restrictedUseText: "Denne podkasten har",
437
444
  },
438
445
  video: {
439
446
  heading: "Slik gjenbruker du videoer",
440
447
  description: "Husk å kopiere teksten som skal legges ved videoen der du bruker den.",
441
- rules: "Regler for bruk av videoen:",
448
+ rules: "Regler for bruk av videoen",
442
449
  itemImage: {
443
450
  ariaLabel: "Åpne video i et nytt vindu",
444
451
  },
452
+ licenseText: "Denne videoen har lisensen",
453
+ restrictedUseText: "Denne videoen har",
445
454
  },
446
455
  other: {
447
456
  heading: "Slik gjenbruker du annet innhold",
@@ -453,25 +462,27 @@ const messages = {
453
462
  h5p: {
454
463
  heading: "Slik gjenbruker du H5P-innhold",
455
464
  description: "Du finner retningslinjene for bruk av innholdet i H5P-elementet",
456
- rules: "Regler for bruk av H5P:",
465
+ rules: "Regler for bruk av H5P",
466
+ licenseText: "Denne interaktive oppgaven (H5P) har lisensen",
467
+ restrictedUseText: "Denne interaktive oppgaven (H5P) har",
457
468
  },
458
469
  concept: {
459
470
  heading: "Slik gjenbruker du forklaringer",
460
471
  description: "Husk at innebygd innhold i en forklaring kan ha en annen lisens enn selve forklaringsteksten",
461
- rules: "Regler for bruk av forklaring:",
462
- title: "Tittel",
472
+ rules: "Regler for bruk av forklaring",
463
473
  embedlink: {
464
474
  heading: "Slik viser du forklaringen i annet innhold",
465
475
  description: "Denne lenken viser forklaringen uten kontekst (meny og bunntekst)",
466
476
  copyTitle: "Kopier innbyggingslenke",
467
477
  hasCopiedTitle: "Innbyggingslenke kopiert",
468
478
  },
479
+ licenseText: "Denne forklaringen har lisensen",
480
+ restrictedUseText: "Denne forklaringen har",
469
481
  },
470
482
  gloss: {
471
483
  heading: "Slik gjenbruker du gloser",
472
484
  description: "Husk at innebygd innhold i en glose kan ha en annen lisens enn selve gloseteksten",
473
- rules: "Regler for bruk av glose:",
474
- title: "Tittel",
485
+ rules: "Regler for bruk av glose",
475
486
  showOrHideExamples: "Vis eller skjul eksempler",
476
487
  embedlink: {
477
488
  heading: "Slik viser du glosen i annet innhold",
@@ -479,11 +490,13 @@ const messages = {
479
490
  copyTitle: "Kopier innbyggingslenke",
480
491
  hasCopiedTitle: "Innbyggingslenke kopiert",
481
492
  },
493
+ licenseText: "Denne glosen har lisensen",
494
+ restrictedUseText: "Denne glosen har",
482
495
  },
483
496
  files: {
484
497
  heading: "Slik gjenbruker du filer",
485
498
  description: "Husk å kopier teksten som skal legges ved filen der du bruker den.",
486
- rules: "Regler for bruk av filen:",
499
+ rules: "Regler for bruk av filen",
487
500
  itemImage: {
488
501
  ariaLabel: "Åpne i nytt vindu",
489
502
  },
@@ -493,7 +506,6 @@ const messages = {
493
506
  published: "Publiseringsdato",
494
507
  processed: "Innholdet har blitt bearbeidet",
495
508
  rightsholder: "Rettighetshaver",
496
- source: "Kilde",
497
509
  info: "Lisensinformasjon",
498
510
  },
499
511
  errorMessage: {
@@ -300,7 +300,7 @@ const messages = {
300
300
  edition: "Utgåve",
301
301
  publisher: "Utgjevar",
302
302
  closeLabel: "Lukk",
303
- useContent: "Reglar for bruk",
303
+ useContent: "Sitere eller gjenbruke?",
304
304
  additionalLabel: "Tilleggsstoff",
305
305
  urlContributionsLabel: "Sjå kva {{name}} har bidratt med",
306
306
  urlAuthorLabel: "Les meir om {{name}}",
@@ -317,7 +317,7 @@ const messages = {
317
317
  cite: "Bruk innhald",
318
318
  notionsPrompt: "Kan du begrepa?",
319
319
  citeNotion: "Bruk forklaringa",
320
- printPage: "Skriv ut",
320
+ printPage: "Skriv ut teksten",
321
321
  access: {
322
322
  onlyTeacher: "Denne ressursen er berre tilgjengeleg for lærarar som er pålogga med Feide.",
323
323
  },
@@ -368,7 +368,7 @@ const messages = {
368
368
  license: {
369
369
  heading: "Slik gjenbruker du innhald",
370
370
  learnMore: "Lær meir om opne lisensar",
371
- copyTitle: "Kjeldetilvising",
371
+ copyTitle: "Kopier kjeldetilvising",
372
372
  copy: "Kopier",
373
373
  hasCopiedTitle: "Kopiert!",
374
374
  embed: "Bygg inn",
@@ -383,6 +383,7 @@ const messages = {
383
383
  readDate: "Lese: ",
384
384
  },
385
385
  download: "Last ned",
386
+ openLink: "Åpne i ny fane",
386
387
  tabs: {
387
388
  text: "Tekst",
388
389
  images: "Bilete",
@@ -408,7 +409,7 @@ const messages = {
408
409
  images: {
409
410
  heading: "Slik gjenbruker du bileta",
410
411
  description: "Hugs å kopiere teksten som skal leggjast ved biletet der du bruker det.",
411
- rules: "Reglar for bruk av biletet:",
412
+ rules: "Reglar for bruk av biletet",
412
413
  itemImage: {
413
414
  ariaLabel: "Opne bilete i eit nytt vindauge",
414
415
  zoomImageButtonLabel: "Forstørr bilete",
@@ -416,32 +417,40 @@ const messages = {
416
417
  expandByline: "Vis byline",
417
418
  minimizeByline: "Skjul byline",
418
419
  },
419
- source: "Kjelde",
420
- title: "Tittel",
420
+ licenseText: "Dette biletet har lisensen",
421
+ restrictedUseText: "Dette biletet har",
421
422
  },
422
423
  text: {
423
424
  heading: "Slik gjenbruker du teksten",
424
425
  description: "Hugs å vise til kjelda når du gjenbruker tekst.",
425
- rules: "Reglar for bruk av teksten:",
426
+ rules: "Reglar for bruk av teksten",
426
427
  published: "Publiseringsdato",
428
+ licenseText: "Denne teksten har lisensen",
429
+ restrictedUseText: "Denne teksten har",
427
430
  },
428
431
  audio: {
429
432
  heading: "Slik gjenbruker du lydfiler",
430
433
  description: "Hugs å kopiera teksten som skal leggjast ved lydfila der du bruker ho.",
431
- rules: "Reglar for bruk av lydfila:",
434
+ rules: "Reglar for bruk av lydfila",
435
+ licenseText: "Denne lydfila har lisensen",
436
+ restrictedUseText: "Denne lydfila har",
432
437
  },
433
438
  podcast: {
434
439
  heading: "Slik gjenbruker du podkaster",
435
440
  description: "Hugs å kopiera teksten som skal leggjast ved podkasten der du bruker ho.",
436
- rules: "Reglar for bruk av podkasten:",
441
+ rules: "Reglar for bruk av podkasten",
442
+ licenseText: "Denne podkasten har lisensen",
443
+ restrictedUseText: "Denne podkasten har",
437
444
  },
438
445
  video: {
439
446
  heading: "Slik gjenbruker du videoar",
440
447
  description: "Hugs å kopiera teksten som skal leggjast ved videoen der du bruker han.",
441
- rules: "Reglar for bruk av videoen:",
448
+ rules: "Reglar for bruk av videoen",
442
449
  itemImage: {
443
450
  ariaLabel: "Opne video i eit nytt vindauge",
444
451
  },
452
+ licenseText: "Denne videoen har lisensen",
453
+ restrictedUseText: "Denne videoen har",
445
454
  },
446
455
  other: {
447
456
  heading: "Slik gjenbruker du anna innhald",
@@ -453,7 +462,9 @@ const messages = {
453
462
  h5p: {
454
463
  heading: "Slik gjenbruker du H5P-innhald",
455
464
  description: "Du finn retningslinjene for bruk av innhaldet i H5P-elementet.",
456
- rules: "Reglar for bruk av H5P:",
465
+ rules: "Reglar for bruk av H5P",
466
+ licenseText: "Denne interaktive oppgåva (H5p) har lisensen",
467
+ restrictedUseText: "Denne interaktive oppgåva (H5p) har",
457
468
  },
458
469
  concept: {
459
470
  embedlink: {
@@ -464,8 +475,9 @@ const messages = {
464
475
  },
465
476
  heading: "Slik gjenbruker du forklaringar",
466
477
  description: "Husk at innebygd innhald i ei forklaring kan ha ein anna lisens enn sjølve forklaringsteksten",
467
- rules: "Reglar for bruk av forklaring:",
468
- title: "Tittel",
478
+ rules: "Reglar for bruk av forklaring",
479
+ licenseText: "Denne forklaringa har lisensen",
480
+ restrictedUseText: "Denne forklaringa har",
469
481
  },
470
482
  gloss: {
471
483
  embedlink: {
@@ -476,14 +488,15 @@ const messages = {
476
488
  },
477
489
  heading: "Slik gjenbruker du gloser",
478
490
  description: "Husk at innebygd innhald i ei glose kan ha ein anna lisens enn sjølve gloseteksten",
479
- rules: "Regler for bruk av glose:",
480
- title: "Tittel",
491
+ rules: "Regler for bruk av glose",
481
492
  showOrHideExamples: "Vis eller skjul eksempler",
493
+ licenseText: "Denne glosa har lisensen",
494
+ restrictedUseText: "Denne glosa har",
482
495
  },
483
496
  files: {
484
497
  heading: "Slik gjenbruker du filer",
485
498
  description: "Hugs å kopiere teksten som skal leggjast ved fila der du bruker ho.",
486
- rules: "Regler for bruk av fila:",
499
+ rules: "Regler for bruk av fila",
487
500
  itemImage: {
488
501
  ariaLabel: "Opne i nytt vindauge",
489
502
  },
@@ -492,7 +505,6 @@ const messages = {
492
505
  originator: "Opphavar",
493
506
  processed: "Innhaldet har vorte omarbeidd",
494
507
  rightsholder: "Rettshavar",
495
- source: "Kjelde",
496
508
  published: "Publiseringsdato",
497
509
  info: "Lisensinformasjon",
498
510
  },