@ndla/ui 56.0.18-alpha.0 → 56.0.20-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.
- package/dist/panda.buildinfo.json +10 -8
- package/dist/styles.css +35 -29
- package/es/Article/Article.js +3 -3
- package/es/Article/ArticleByline.js +5 -4
- package/es/Article/index.js +1 -2
- package/es/AudioPlayer/AudioPlayer.js +1 -1
- package/es/CampaignBlock/CampaignBlock.js +25 -13
- package/es/Concept/Concept.js +7 -1
- package/es/ContactBlock/ContactBlock.js +0 -1
- package/es/ContentTypeBadge/ContentTypeBadgeNew.js +0 -3
- package/es/ContentTypeHero/ContentTypeHero.js +2 -8
- package/es/Embed/AudioEmbed.js +3 -0
- package/es/Embed/BrightcoveEmbed.js +5 -1
- package/es/Embed/ConceptEmbed.js +23 -11
- package/es/Embed/ConceptListEmbed.js +2 -1
- package/es/Embed/ImageEmbed.js +3 -0
- package/es/Embed/index.js +1 -0
- package/es/FileList/FileList.js +5 -1
- package/es/FileList/PdfFile.js +6 -1
- package/es/FileList/index.js +1 -1
- package/es/Grid/Grid.js +0 -1
- package/es/LicenseByline/EmbedByline.js +4 -1
- package/es/TreeStructure/TreeStructure.js +0 -2
- package/es/i18n/index.js +1 -1
- package/es/i18n/useComponentTranslations.js +62 -0
- package/es/index.js +7 -5
- package/es/locale/messages-en.js +31 -5
- package/es/locale/messages-nb.js +31 -5
- package/es/locale/messages-nn.js +79 -53
- package/es/locale/messages-se.js +31 -5
- package/es/locale/messages-sma.js +31 -5
- package/es/styles.css +35 -29
- package/es/utils/licenseAttributes.js +18 -0
- package/lib/Article/Article.js +3 -3
- package/lib/Article/ArticleByline.js +5 -4
- package/lib/Article/index.d.ts +0 -1
- package/lib/Article/index.js +1 -8
- package/lib/AudioPlayer/AudioPlayer.js +1 -1
- package/lib/CampaignBlock/CampaignBlock.js +25 -13
- package/lib/Concept/Concept.d.ts +2 -0
- package/lib/Concept/Concept.js +7 -1
- package/lib/ContactBlock/ContactBlock.js +0 -1
- package/lib/ContentTypeBadge/ContentTypeBadgeNew.js +0 -3
- package/lib/ContentTypeHero/ContentTypeHero.js +2 -7
- package/lib/Embed/AudioEmbed.js +3 -0
- package/lib/Embed/BrightcoveEmbed.d.ts +2 -1
- package/lib/Embed/BrightcoveEmbed.js +5 -1
- package/lib/Embed/ConceptEmbed.d.ts +3 -1
- package/lib/Embed/ConceptEmbed.js +23 -11
- package/lib/Embed/ConceptListEmbed.js +2 -1
- package/lib/Embed/ImageEmbed.js +3 -0
- package/lib/Embed/index.d.ts +1 -0
- package/lib/Embed/index.js +7 -0
- package/lib/FileList/FileList.d.ts +3 -1
- package/lib/FileList/FileList.js +5 -1
- package/lib/FileList/PdfFile.js +6 -1
- package/lib/FileList/index.d.ts +1 -1
- package/lib/FileList/index.js +6 -0
- package/lib/Grid/Grid.js +0 -1
- package/lib/LicenseByline/EmbedByline.js +4 -1
- package/lib/TreeStructure/TreeStructure.js +0 -2
- package/lib/i18n/index.d.ts +1 -1
- package/lib/i18n/index.js +12 -0
- package/lib/i18n/useComponentTranslations.d.ts +31 -0
- package/lib/i18n/useComponentTranslations.js +65 -2
- package/lib/index.d.ts +6 -4
- package/lib/index.js +38 -6
- package/lib/locale/messages-en.d.ts +26 -0
- package/lib/locale/messages-en.js +31 -5
- package/lib/locale/messages-nb.d.ts +26 -0
- package/lib/locale/messages-nb.js +31 -5
- package/lib/locale/messages-nn.d.ts +26 -0
- package/lib/locale/messages-nn.js +79 -53
- package/lib/locale/messages-se.d.ts +26 -0
- package/lib/locale/messages-se.js +31 -5
- package/lib/locale/messages-sma.d.ts +26 -0
- package/lib/locale/messages-sma.js +31 -5
- package/lib/styles.css +35 -29
- package/lib/utils/licenseAttributes.d.ts +16 -0
- package/lib/utils/licenseAttributes.js +25 -0
- package/package.json +8 -8
- package/src/Article/Article.tsx +7 -6
- package/src/Article/ArticleByline.tsx +2 -3
- package/src/Article/index.ts +0 -2
- package/src/AudioPlayer/AudioPlayer.tsx +5 -3
- package/src/CampaignBlock/CampaignBlock.tsx +23 -12
- package/src/Concept/Concept.tsx +8 -3
- package/src/ContactBlock/ContactBlock.tsx +0 -1
- package/src/ContentTypeBadge/ContentTypeBadgeNew.tsx +0 -3
- package/src/ContentTypeHero/ContentTypeHero.tsx +2 -7
- package/src/Embed/AudioEmbed.tsx +4 -1
- package/src/Embed/BrightcoveEmbed.tsx +6 -3
- package/src/Embed/ConceptEmbed.tsx +21 -11
- package/src/Embed/ConceptListEmbed.tsx +1 -0
- package/src/Embed/ImageEmbed.tsx +4 -0
- package/src/Embed/index.ts +1 -0
- package/src/FileList/FileList.tsx +16 -10
- package/src/FileList/PdfFile.tsx +8 -2
- package/src/FileList/index.ts +1 -1
- package/src/Grid/Grid.tsx +0 -1
- package/src/LicenseByline/EmbedByline.tsx +2 -1
- package/src/TreeStructure/TreeStructure.tsx +0 -1
- package/src/i18n/index.ts +2 -0
- package/src/i18n/useComponentTranslations.ts +79 -0
- package/src/index.ts +8 -2
- package/src/locale/messages-en.ts +30 -3
- package/src/locale/messages-nb.ts +30 -3
- package/src/locale/messages-nn.ts +78 -51
- package/src/locale/messages-se.ts +30 -3
- package/src/locale/messages-sma.ts +30 -3
- package/src/utils/licenseAttributes.ts +23 -0
- package/es/Article/ArticleParagraph.js +0 -23
- package/lib/Article/ArticleParagraph.d.ts +0 -13
- package/lib/Article/ArticleParagraph.js +0 -30
- package/src/Article/ArticleParagraph.tsx +0 -27
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
import { ComponentPropsWithoutRef } from "react";
|
|
10
10
|
import { useTranslation } from "react-i18next";
|
|
11
|
+
import { ark } from "@ark-ui/react";
|
|
11
12
|
import { Heading } from "@ndla/primitives";
|
|
12
13
|
import { styled } from "@ndla/styled-system/jsx";
|
|
13
14
|
|
|
@@ -21,19 +22,24 @@ export const FileListWrapper = styled("div", {
|
|
|
21
22
|
},
|
|
22
23
|
});
|
|
23
24
|
|
|
24
|
-
export const FileListItem = styled(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
export const FileListItem = styled(
|
|
26
|
+
ark.li,
|
|
27
|
+
{
|
|
28
|
+
base: {
|
|
29
|
+
listStyle: "none",
|
|
30
|
+
background: "surface.infoSubtle",
|
|
31
|
+
borderBlockEnd: "1px solid",
|
|
32
|
+
borderColor: "stroke.default",
|
|
33
|
+
display: "flex",
|
|
34
|
+
justifyContent: "space-between",
|
|
31
35
|
|
|
32
|
-
|
|
33
|
-
|
|
36
|
+
_hover: {
|
|
37
|
+
backgroundColor: "surface.infoSubtle.hover",
|
|
38
|
+
},
|
|
34
39
|
},
|
|
35
40
|
},
|
|
36
|
-
}
|
|
41
|
+
{ baseComponent: true },
|
|
42
|
+
);
|
|
37
43
|
|
|
38
44
|
export const FileListEmbed = ({ children, ...rest }: Props) => {
|
|
39
45
|
const { t } = useTranslation();
|
package/src/FileList/PdfFile.tsx
CHANGED
|
@@ -20,6 +20,12 @@ const StyledIframe = styled("iframe", {
|
|
|
20
20
|
},
|
|
21
21
|
});
|
|
22
22
|
|
|
23
|
+
const StyledListElement = styled("li", {
|
|
24
|
+
base: {
|
|
25
|
+
listStyle: "none",
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
|
|
23
29
|
const StyledFigure = styled(Figure, {
|
|
24
30
|
base: {
|
|
25
31
|
display: "flex",
|
|
@@ -30,13 +36,13 @@ const StyledFigure = styled(Figure, {
|
|
|
30
36
|
|
|
31
37
|
export const PdfFile = ({ title, url }: Props) => {
|
|
32
38
|
return (
|
|
33
|
-
<
|
|
39
|
+
<StyledListElement>
|
|
34
40
|
<StyledFigure>
|
|
35
41
|
<Heading asChild consumeCss textStyle="title.medium">
|
|
36
42
|
<h4>{title}</h4>
|
|
37
43
|
</Heading>
|
|
38
44
|
<StyledIframe title={title} height="1050" src={url} />
|
|
39
45
|
</StyledFigure>
|
|
40
|
-
</
|
|
46
|
+
</StyledListElement>
|
|
41
47
|
);
|
|
42
48
|
};
|
package/src/FileList/index.ts
CHANGED
package/src/Grid/Grid.tsx
CHANGED
|
@@ -233,7 +233,8 @@ export const LicenseContainerContent = ({ children, copyright, type }: LicenseCo
|
|
|
233
233
|
<>
|
|
234
234
|
{children}
|
|
235
235
|
{` ${t(`embed.type.${type}`)}${captionAuthors.length ? ": " : ""}`}
|
|
236
|
-
{
|
|
236
|
+
{/*eslint-disable-next-line react/no-unknown-property */}
|
|
237
|
+
<span property="cc:attributionName">{captionAuthors.map((author) => author.name).join(", ")}</span>
|
|
237
238
|
{license ? (
|
|
238
239
|
<>
|
|
239
240
|
{" / "}
|
|
@@ -293,7 +293,6 @@ const TreeStructureItem = ({ folder, targetResource }: TreeStructureItemProps) =
|
|
|
293
293
|
|
|
294
294
|
const FolderIcon = folder.status === "shared" ? StyledFolderUserLine : StyledFolderLine;
|
|
295
295
|
|
|
296
|
-
// TODO: Pressing enter selects the item and closes the popover immediately. Do we actually want this? Old behavior.
|
|
297
296
|
const onKeyDown = useCallback(
|
|
298
297
|
(e: KeyboardEvent<HTMLElement>) => {
|
|
299
298
|
if (e.key === "Enter") {
|
package/src/i18n/index.ts
CHANGED
|
@@ -11,6 +11,10 @@ import type { ComboboxCollectionItem } from "@ark-ui/react";
|
|
|
11
11
|
import type { ComboboxRootProps, PaginationRootProps, TagsInputRootProps } from "@ndla/primitives";
|
|
12
12
|
import { TagSelectorRootProps } from "../TagSelector/TagSelector";
|
|
13
13
|
|
|
14
|
+
type DeepPartial<T> = {
|
|
15
|
+
[K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K];
|
|
16
|
+
};
|
|
17
|
+
|
|
14
18
|
export const useTagsInputTranslations = (
|
|
15
19
|
translations?: Partial<TagsInputRootProps["translations"]>,
|
|
16
20
|
): TagsInputRootProps["translations"] => {
|
|
@@ -70,3 +74,78 @@ export const usePaginationTranslations = (
|
|
|
70
74
|
...translations,
|
|
71
75
|
};
|
|
72
76
|
};
|
|
77
|
+
|
|
78
|
+
// TODO: Deduplicate this and place it somewhere smart. Maybe core?
|
|
79
|
+
interface AudioSearchTranslations {
|
|
80
|
+
searchPlaceholder: string;
|
|
81
|
+
searchButtonTitle: string;
|
|
82
|
+
useAudio: string;
|
|
83
|
+
noResults: string;
|
|
84
|
+
paginationTranslations: PaginationRootProps["translations"];
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export interface PreviewTranslations {
|
|
88
|
+
creatorsLabel: string;
|
|
89
|
+
license: string;
|
|
90
|
+
caption: string;
|
|
91
|
+
altText: string;
|
|
92
|
+
modelRelease: string;
|
|
93
|
+
tags: string;
|
|
94
|
+
close: string;
|
|
95
|
+
checkboxLabel?: string;
|
|
96
|
+
missingTitleFallback?: string;
|
|
97
|
+
useImageTitle: string;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export interface ImageSearchTranslations {
|
|
101
|
+
searchPlaceholder: string;
|
|
102
|
+
searchButtonTitle: string;
|
|
103
|
+
imagePreview: PreviewTranslations;
|
|
104
|
+
paginationTranslations: PaginationRootProps["translations"];
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export const useImageSearchTranslations = (
|
|
108
|
+
translations: DeepPartial<ImageSearchTranslations> = {},
|
|
109
|
+
): ImageSearchTranslations => {
|
|
110
|
+
const { t } = useTranslation("translation", { keyPrefix: "component.imageSearch" });
|
|
111
|
+
const paginationTranslations = usePaginationTranslations();
|
|
112
|
+
|
|
113
|
+
const { imagePreview, paginationTranslations: fallbackPaginationTranslations, ...remaining } = translations;
|
|
114
|
+
|
|
115
|
+
return {
|
|
116
|
+
searchPlaceholder: t("searchPlaceholder"),
|
|
117
|
+
searchButtonTitle: t("searchButtonTitle"),
|
|
118
|
+
imagePreview: {
|
|
119
|
+
creatorsLabel: t("imagePreview.creatorsLabel"),
|
|
120
|
+
license: t("imagePreview.license"),
|
|
121
|
+
caption: t("imagePreview.caption"),
|
|
122
|
+
altText: t("imagePreview.altText"),
|
|
123
|
+
modelRelease: t("imagePreview.modelRelease"),
|
|
124
|
+
tags: t("imagePreview.tags"),
|
|
125
|
+
close: t("close"),
|
|
126
|
+
checkboxLabel: t("imagePreview.checkboxLabel"),
|
|
127
|
+
useImageTitle: t("imagePreview.useImageTitle"),
|
|
128
|
+
...imagePreview,
|
|
129
|
+
},
|
|
130
|
+
paginationTranslations: { ...paginationTranslations, ...fallbackPaginationTranslations },
|
|
131
|
+
...remaining,
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
export const useAudioSearchTranslations = (
|
|
136
|
+
translations: DeepPartial<AudioSearchTranslations> = {},
|
|
137
|
+
): AudioSearchTranslations => {
|
|
138
|
+
const { t } = useTranslation("translation", { keyPrefix: "component.audioSearch" });
|
|
139
|
+
const paginationTranslations = usePaginationTranslations();
|
|
140
|
+
|
|
141
|
+
const { paginationTranslations: fallbackPaginationTranslations, ...remaining } = translations;
|
|
142
|
+
|
|
143
|
+
return {
|
|
144
|
+
searchPlaceholder: t("searchPlaceholder"),
|
|
145
|
+
searchButtonTitle: t("searchButtonTitle"),
|
|
146
|
+
useAudio: t("useAudio"),
|
|
147
|
+
noResults: t("noResults"),
|
|
148
|
+
paginationTranslations: { ...paginationTranslations, ...fallbackPaginationTranslations },
|
|
149
|
+
...remaining,
|
|
150
|
+
};
|
|
151
|
+
};
|
package/src/index.ts
CHANGED
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
// Ignore typescript implicit any warning and export all javascript components
|
|
10
10
|
// Move components to this file when they are migrated to typescript
|
|
11
11
|
|
|
12
|
+
export { Concept } from "./Concept/Concept";
|
|
13
|
+
|
|
12
14
|
export {
|
|
13
15
|
ImageEmbed,
|
|
14
16
|
getCrop,
|
|
@@ -29,6 +31,7 @@ export {
|
|
|
29
31
|
UuDisclaimerEmbed,
|
|
30
32
|
CopyrightEmbed,
|
|
31
33
|
CodeEmbed,
|
|
34
|
+
InlineTriggerButton,
|
|
32
35
|
} from "./Embed";
|
|
33
36
|
|
|
34
37
|
export { LicenseLink, EmbedByline } from "./LicenseByline";
|
|
@@ -39,7 +42,6 @@ export {
|
|
|
39
42
|
ArticleFootNotes,
|
|
40
43
|
ArticleWrapper,
|
|
41
44
|
Article,
|
|
42
|
-
ArticleParagraph,
|
|
43
45
|
ArticleFooter,
|
|
44
46
|
ArticleHeader,
|
|
45
47
|
ArticleContent,
|
|
@@ -55,7 +57,7 @@ export { default as RelatedArticleList, RelatedArticle } from "./RelatedArticleL
|
|
|
55
57
|
|
|
56
58
|
export { ErrorResourceAccessDenied, default as ErrorMessage } from "./ErrorMessage";
|
|
57
59
|
|
|
58
|
-
export { FileListEmbed, File, PdfFile, FileListItem, FileListElement } from "./FileList";
|
|
60
|
+
export { FileListEmbed, File, PdfFile, FileListItem, FileListElement, FileListWrapper } from "./FileList";
|
|
59
61
|
|
|
60
62
|
export { default as FactBox } from "./FactBox";
|
|
61
63
|
|
|
@@ -84,6 +86,8 @@ export {
|
|
|
84
86
|
useTagSelectorTranslations,
|
|
85
87
|
useComboboxTranslations,
|
|
86
88
|
usePaginationTranslations,
|
|
89
|
+
useAudioSearchTranslations,
|
|
90
|
+
useImageSearchTranslations,
|
|
87
91
|
} from "./i18n";
|
|
88
92
|
|
|
89
93
|
export { default as LayoutItem, OneColumn, PageContainer } from "./Layout";
|
|
@@ -141,3 +145,5 @@ export { CodeBlock, codeLanguageOptions } from "./CodeBlock";
|
|
|
141
145
|
export { ZendeskButton } from "./ZendeskButton/ZendeskButton";
|
|
142
146
|
|
|
143
147
|
export type { ZendeskButtonProps } from "./ZendeskButton/ZendeskButton";
|
|
148
|
+
|
|
149
|
+
export { licenseAttributes } from "./utils/licenseAttributes";
|
|
@@ -922,6 +922,8 @@ const messages = {
|
|
|
922
922
|
close: "Close fact box",
|
|
923
923
|
},
|
|
924
924
|
myNdla: {
|
|
925
|
+
description:
|
|
926
|
+
"My NDLA: Organize the content your way! Use NDLA’s chat robot (AI). Save and share with colleagues and students.",
|
|
925
927
|
mainMenu: "Main menu",
|
|
926
928
|
myNDLA: "My NDLA",
|
|
927
929
|
myNDLAMenu: "My NDLA menu",
|
|
@@ -1012,6 +1014,8 @@ const messages = {
|
|
|
1012
1014
|
posts: "post",
|
|
1013
1015
|
posts_plural: "posts",
|
|
1014
1016
|
subcategory: "Subcategories",
|
|
1017
|
+
votes: "reaction",
|
|
1018
|
+
votes_plural: "reactions",
|
|
1015
1019
|
},
|
|
1016
1020
|
cancel: {
|
|
1017
1021
|
title: {
|
|
@@ -1075,6 +1079,8 @@ const messages = {
|
|
|
1075
1079
|
unlock: "Unlock topic",
|
|
1076
1080
|
lockDescription: "Do you want do lock this topic? This will prevent this topic from getting more posts.",
|
|
1077
1081
|
unlockDescription: "Do you want do unlock this topic? This will prevent this topic from getting more posts.",
|
|
1082
|
+
votes: "reaction",
|
|
1083
|
+
votes_plural: "reactions",
|
|
1078
1084
|
},
|
|
1079
1085
|
posts: {
|
|
1080
1086
|
title: "Posts",
|
|
@@ -1105,13 +1111,13 @@ const messages = {
|
|
|
1105
1111
|
maxLength: "The maximum length for the text field is reached",
|
|
1106
1112
|
error: "The field is required",
|
|
1107
1113
|
},
|
|
1108
|
-
bottomText: "Are you missing a category?
|
|
1114
|
+
bottomText: "Are you missing a category? You can request new categories. Use 'Ask NDLA' or send an email to ",
|
|
1109
1115
|
moderatorEmail: "moderator@ndla.no",
|
|
1110
1116
|
notification: {
|
|
1111
1117
|
title: "Notifications",
|
|
1112
1118
|
showAll: "View all notifications",
|
|
1113
1119
|
description:
|
|
1114
|
-
"Welcome to
|
|
1120
|
+
"Welcome to NDLAs Arena. Here, you can discuss, share and cooperate with other teachers from all over Norway.",
|
|
1115
1121
|
myNotification: "My notifications",
|
|
1116
1122
|
markAll: "Mark all as read",
|
|
1117
1123
|
subscribe: "You will now be notified of new replies to this topic",
|
|
@@ -1369,7 +1375,7 @@ const messages = {
|
|
|
1369
1375
|
dragHandle: "Drag the category {{name}}",
|
|
1370
1376
|
},
|
|
1371
1377
|
favoriteSubjects: {
|
|
1372
|
-
title: "My
|
|
1378
|
+
title: "My subjects",
|
|
1373
1379
|
subjects: "{{count}} subject",
|
|
1374
1380
|
subjects_0: "{{count}} subjects",
|
|
1375
1381
|
subjects_plural: "{{count}} subjects",
|
|
@@ -1499,6 +1505,27 @@ const messages = {
|
|
|
1499
1505
|
lastPage: "Last page, page {{page}}",
|
|
1500
1506
|
page: "Page {{page}}",
|
|
1501
1507
|
},
|
|
1508
|
+
imageSearch: {
|
|
1509
|
+
searchPlaceholder: "Search images",
|
|
1510
|
+
searchButtonTitle: "Search",
|
|
1511
|
+
imagePreview: {
|
|
1512
|
+
creatorsLabel: "Image",
|
|
1513
|
+
license: "License",
|
|
1514
|
+
caption: "Caption",
|
|
1515
|
+
altText: "Alt-text",
|
|
1516
|
+
modelRelease: "Model released",
|
|
1517
|
+
tags: "Tags",
|
|
1518
|
+
checkboxLabel: "Set as meta image",
|
|
1519
|
+
close: "Close",
|
|
1520
|
+
useImageTitle: "Use image",
|
|
1521
|
+
},
|
|
1522
|
+
},
|
|
1523
|
+
audioSearch: {
|
|
1524
|
+
searchPlaceholder: "Search in audio files",
|
|
1525
|
+
searchButtonTitle: "Search",
|
|
1526
|
+
useAudio: "Chose audio",
|
|
1527
|
+
noResults: "No audio files found",
|
|
1528
|
+
},
|
|
1502
1529
|
},
|
|
1503
1530
|
};
|
|
1504
1531
|
|
|
@@ -922,6 +922,8 @@ const messages = {
|
|
|
922
922
|
close: "Lukk faktaboks",
|
|
923
923
|
},
|
|
924
924
|
myNdla: {
|
|
925
|
+
description:
|
|
926
|
+
"Min NDLA: Organiser fagstoffet på din måte! Bruk NDLAs praterobot (AI/KI). Lagre og del med kolleger og elever.",
|
|
925
927
|
mainMenu: "Hovedmeny",
|
|
926
928
|
myNDLA: "Min NDLA",
|
|
927
929
|
myNDLAMenu: "Min NDLA meny",
|
|
@@ -1012,6 +1014,8 @@ const messages = {
|
|
|
1012
1014
|
posts: "innlegg",
|
|
1013
1015
|
posts_plural: "innlegg",
|
|
1014
1016
|
subcategory: "Tema",
|
|
1017
|
+
votes: "reaksjon",
|
|
1018
|
+
votes_plural: "reaksjoner",
|
|
1015
1019
|
},
|
|
1016
1020
|
publish: "Publiser",
|
|
1017
1021
|
cancel: {
|
|
@@ -1076,6 +1080,8 @@ const messages = {
|
|
|
1076
1080
|
lockDescription:
|
|
1077
1081
|
"Vil du låse dette innlegget? Dette vil gjøre at innlegget ikke kan få flere kommentarer, og vil vises som låst.",
|
|
1078
1082
|
unlockDescription: "Vil du låse opp dette innlegget? Dette vil gjøre at innlegget kan få flere kommentarer.",
|
|
1083
|
+
votes: "reaksjon",
|
|
1084
|
+
votes_plural: "reaksjoner",
|
|
1079
1085
|
},
|
|
1080
1086
|
posts: {
|
|
1081
1087
|
title: "Innlegg",
|
|
@@ -1106,13 +1112,13 @@ const messages = {
|
|
|
1106
1112
|
maxLength: "Maksimal lengde for tekstfeltet er nådd",
|
|
1107
1113
|
error: "Feltet er påkrevd",
|
|
1108
1114
|
},
|
|
1109
|
-
bottomText: "Savner du en kategori?
|
|
1115
|
+
bottomText: "Savner du en kategori? Du kan be om nye kategorier. Bruk 'Spør NDLA' eller send en epost til ",
|
|
1110
1116
|
moderatorEmail: "moderator@ndla.no",
|
|
1111
1117
|
notification: {
|
|
1112
1118
|
title: "Varslinger",
|
|
1113
1119
|
showAll: "Se alle varslinger",
|
|
1114
1120
|
description:
|
|
1115
|
-
"Velkommen
|
|
1121
|
+
"Velkommen til NDLAs Arena. Her kan du diskutere, dele og samarbeide med andre lærere fra hele Norge.",
|
|
1116
1122
|
myNotification: "Mine varsler",
|
|
1117
1123
|
markAll: "Merk alle som lest",
|
|
1118
1124
|
subscribe: "Du får nå varsling om nye svar på dette innlegget",
|
|
@@ -1369,7 +1375,7 @@ const messages = {
|
|
|
1369
1375
|
dragHandle: "Sorter kategorien {{name}}",
|
|
1370
1376
|
},
|
|
1371
1377
|
favoriteSubjects: {
|
|
1372
|
-
title: "Mine
|
|
1378
|
+
title: "Mine fag",
|
|
1373
1379
|
subjects: "{{count}} fag",
|
|
1374
1380
|
subjects_0: "{{count}} fag",
|
|
1375
1381
|
subjects_plural: "{{count}} fag",
|
|
@@ -1499,6 +1505,27 @@ const messages = {
|
|
|
1499
1505
|
lastPage: "Siste side, side {{page}}",
|
|
1500
1506
|
page: "Side {{page}}",
|
|
1501
1507
|
},
|
|
1508
|
+
imageSearch: {
|
|
1509
|
+
searchPlaceholder: "Søk i bilder",
|
|
1510
|
+
searchButtonTitle: "Søk",
|
|
1511
|
+
imagePreview: {
|
|
1512
|
+
creatorsLabel: "Bilde",
|
|
1513
|
+
license: "Lisens",
|
|
1514
|
+
caption: "Bildetekst",
|
|
1515
|
+
altText: "Alt-tekst",
|
|
1516
|
+
modelRelease: "Modellklarert",
|
|
1517
|
+
tags: "Emneknagger",
|
|
1518
|
+
checkboxLabel: "Sett som metabilde",
|
|
1519
|
+
close: "Lukk",
|
|
1520
|
+
useImageTitle: "Bruk bildet",
|
|
1521
|
+
},
|
|
1522
|
+
},
|
|
1523
|
+
audioSearch: {
|
|
1524
|
+
searchPlaceholder: "Søk i lydfiler",
|
|
1525
|
+
searchButtonTitle: "Søk",
|
|
1526
|
+
useAudio: "Velg lyd",
|
|
1527
|
+
noResults: "Ingen resultater funnet",
|
|
1528
|
+
},
|
|
1502
1529
|
},
|
|
1503
1530
|
};
|
|
1504
1531
|
|