@ndla/ui 27.1.6 → 28.0.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/es/Article/ArticleByline.js +38 -7
- package/es/Breadcrumb/ActionBreadcrumb.js +5 -4
- package/es/Breadcrumb/Breadcrumb.js +12 -4
- package/es/Frontpage/FrontpageAllSubjects.js +9 -8
- package/es/Resource/BlockResource.js +45 -23
- package/es/Resource/ListResource.js +45 -25
- package/es/Resource/resourceComponents.js +42 -34
- package/es/SearchTypeResult/SearchItem.js +8 -35
- package/es/SearchTypeResult/components/ItemResourceHeader.js +5 -5
- package/es/locale/messages-en.js +8 -6
- package/es/locale/messages-nb.js +20 -18
- package/es/locale/messages-nn.js +19 -17
- package/es/locale/messages-se.js +97 -95
- package/es/locale/messages-sma.js +19 -17
- package/es/model/ContentType.js +24 -1
- package/es/model/SubjectCategories.js +1 -5
- package/es/model/index.js +3 -2
- package/es/utils/resourceTypeColor.js +44 -0
- package/lib/Article/ArticleByline.d.ts +3 -1
- package/lib/Article/ArticleByline.js +38 -7
- package/lib/Breadcrumb/ActionBreadcrumb.js +5 -4
- package/lib/Breadcrumb/Breadcrumb.js +12 -4
- package/lib/Frontpage/FrontpageAllSubjects.js +10 -8
- package/lib/Resource/BlockResource.d.ts +6 -2
- package/lib/Resource/BlockResource.js +47 -22
- package/lib/Resource/ListResource.d.ts +6 -2
- package/lib/Resource/ListResource.js +47 -24
- package/lib/Resource/resourceComponents.d.ts +11 -4
- package/lib/Resource/resourceComponents.js +47 -37
- package/lib/SearchTypeResult/SearchItem.d.ts +0 -1
- package/lib/SearchTypeResult/SearchItem.js +9 -39
- package/lib/SearchTypeResult/components/ItemResourceHeader.js +8 -8
- package/lib/locale/messages-en.d.ts +18 -23
- package/lib/locale/messages-en.js +8 -6
- package/lib/locale/messages-nb.d.ts +18 -23
- package/lib/locale/messages-nb.js +20 -18
- package/lib/locale/messages-nn.d.ts +18 -23
- package/lib/locale/messages-nn.js +19 -17
- package/lib/locale/messages-se.d.ts +18 -23
- package/lib/locale/messages-se.js +97 -95
- package/lib/locale/messages-sma.d.ts +18 -23
- package/lib/locale/messages-sma.js +19 -17
- package/lib/model/ContentType.d.ts +19 -0
- package/lib/model/ContentType.js +34 -2
- package/lib/model/SubjectCategories.d.ts +0 -3
- package/lib/model/SubjectCategories.js +3 -10
- package/lib/model/index.d.ts +12 -2
- package/lib/model/index.js +4 -3
- package/lib/utils/resourceTypeColor.d.ts +9 -0
- package/lib/utils/resourceTypeColor.js +59 -0
- package/package.json +7 -7
- package/src/Article/ArticleByline.tsx +40 -1
- package/src/Breadcrumb/ActionBreadcrumb.tsx +1 -2
- package/src/Breadcrumb/Breadcrumb.tsx +15 -6
- package/src/Frontpage/FrontpageAllSubjects.tsx +5 -2
- package/src/Resource/BlockResource.tsx +33 -15
- package/src/Resource/ListResource.tsx +41 -16
- package/src/Resource/resourceComponents.tsx +27 -16
- package/src/SearchTypeResult/SearchItem.tsx +0 -22
- package/src/SearchTypeResult/components/ItemResourceHeader.tsx +3 -1
- package/src/locale/messages-en.ts +7 -7
- package/src/locale/messages-nb.ts +19 -19
- package/src/locale/messages-nn.ts +18 -18
- package/src/locale/messages-se.ts +97 -96
- package/src/locale/messages-sma.ts +18 -18
- package/src/model/ContentType.ts +41 -0
- package/src/model/SubjectCategories.ts +0 -5
- package/src/model/index.ts +2 -1
- package/src/utils/resourceTypeColor.tsx +38 -0
|
@@ -16,10 +16,13 @@ import {
|
|
|
16
16
|
ResourceImageProps,
|
|
17
17
|
ResourceTitle,
|
|
18
18
|
ResourceTitleLink,
|
|
19
|
-
|
|
19
|
+
ResourceTypeList,
|
|
20
|
+
StyledContentIconWrapper,
|
|
20
21
|
LoaderProps,
|
|
21
22
|
} from './resourceComponents';
|
|
22
23
|
import ContentLoader from '../ContentLoader';
|
|
24
|
+
import ContentTypeBadge from '../ContentTypeBadge';
|
|
25
|
+
import { contentTypeMapping } from '../model/ContentType';
|
|
23
26
|
|
|
24
27
|
const StyledResourceDescription = styled.p`
|
|
25
28
|
grid-area: description;
|
|
@@ -90,18 +93,21 @@ const TagsandActionMenu = styled.div`
|
|
|
90
93
|
const StyledImageWrapper = styled.div<StyledImageProps>`
|
|
91
94
|
grid-area: image;
|
|
92
95
|
width: ${(p) => (p.imageSize === 'normal' ? '136px' : '56px')};
|
|
93
|
-
height: ${(p) => (p.imageSize === 'normal' ? '96px' : '40px')};
|
|
94
96
|
${mq.range({ until: breakpoints.mobileWide })} {
|
|
95
97
|
width: 54px;
|
|
96
98
|
height: 40px;
|
|
97
99
|
}
|
|
98
100
|
overflow: hidden;
|
|
101
|
+
border-radius: 2px;
|
|
102
|
+
display: flex;
|
|
103
|
+
align-items: center;
|
|
104
|
+
justify-content: center;
|
|
105
|
+
aspect-ratio: 4/3;
|
|
99
106
|
`;
|
|
100
107
|
|
|
101
108
|
const StyledImage = styled(Image)`
|
|
102
|
-
display: flex;
|
|
103
|
-
border-radius: 2px;
|
|
104
109
|
object-fit: cover;
|
|
110
|
+
aspect-ratio: 4/3;
|
|
105
111
|
`;
|
|
106
112
|
|
|
107
113
|
const TopicAndTitleWrapper = styled.div`
|
|
@@ -119,7 +125,8 @@ export interface ListResourceProps {
|
|
|
119
125
|
tagLinkPrefix?: string;
|
|
120
126
|
title: string;
|
|
121
127
|
resourceImage: ResourceImageProps;
|
|
122
|
-
|
|
128
|
+
headingLevel?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
|
|
129
|
+
resourceTypes: { id: string; name: string }[];
|
|
123
130
|
tags?: string[];
|
|
124
131
|
description?: string;
|
|
125
132
|
menuItems?: MenuItemProps[];
|
|
@@ -131,14 +138,24 @@ interface ListResourceImageProps {
|
|
|
131
138
|
resourceImage: ResourceImageProps;
|
|
132
139
|
loading?: boolean;
|
|
133
140
|
type: 'normal' | 'compact';
|
|
141
|
+
contentType: string;
|
|
134
142
|
}
|
|
135
143
|
|
|
136
|
-
const ListResourceImage = ({ resourceImage, loading, type }: ListResourceImageProps) => {
|
|
144
|
+
const ListResourceImage = ({ resourceImage, loading, type, contentType }: ListResourceImageProps) => {
|
|
137
145
|
if (!loading) {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
146
|
+
if (resourceImage.src === '') {
|
|
147
|
+
return (
|
|
148
|
+
<StyledContentIconWrapper contentType={contentType}>
|
|
149
|
+
<ContentTypeBadge type={contentType} size="x-small" />
|
|
150
|
+
</StyledContentIconWrapper>
|
|
151
|
+
);
|
|
152
|
+
} else {
|
|
153
|
+
return (
|
|
154
|
+
<StyledImage alt={resourceImage.alt} src={resourceImage.src} fallbackWidth={type === 'compact' ? 56 : 136} />
|
|
155
|
+
);
|
|
156
|
+
}
|
|
141
157
|
}
|
|
158
|
+
|
|
142
159
|
return (
|
|
143
160
|
<ContentLoader height={'100%'} width={'100%'} viewBox={null} preserveAspectRatio="none">
|
|
144
161
|
<rect
|
|
@@ -153,7 +170,7 @@ const ListResourceImage = ({ resourceImage, loading, type }: ListResourceImagePr
|
|
|
153
170
|
);
|
|
154
171
|
};
|
|
155
172
|
|
|
156
|
-
const
|
|
173
|
+
const ResourceTypeAndTitleLoader = ({ loading, children }: LoaderProps) => {
|
|
157
174
|
if (loading) {
|
|
158
175
|
return (
|
|
159
176
|
<ContentLoader height={'40px'} width={'100%'} viewBox={null} preserveAspectRatio="none">
|
|
@@ -189,7 +206,8 @@ const ListResource = ({
|
|
|
189
206
|
title,
|
|
190
207
|
tags,
|
|
191
208
|
resourceImage,
|
|
192
|
-
|
|
209
|
+
resourceTypes,
|
|
210
|
+
headingLevel = 'h2',
|
|
193
211
|
description,
|
|
194
212
|
menuItems,
|
|
195
213
|
isLoading = false,
|
|
@@ -198,6 +216,8 @@ const ListResource = ({
|
|
|
198
216
|
const showDescription = description !== undefined;
|
|
199
217
|
const imageType = showDescription ? 'normal' : 'compact';
|
|
200
218
|
const linkRef = useRef<HTMLAnchorElement>(null);
|
|
219
|
+
const firstContentType = resourceTypes?.[0].id ?? '';
|
|
220
|
+
const Title = ResourceTitle.withComponent(headingLevel);
|
|
201
221
|
const handleClick = () => {
|
|
202
222
|
if (linkRef.current) {
|
|
203
223
|
linkRef.current.click();
|
|
@@ -207,15 +227,20 @@ const ListResource = ({
|
|
|
207
227
|
return (
|
|
208
228
|
<ResourceWrapper onClick={handleClick} id={id}>
|
|
209
229
|
<StyledImageWrapper imageSize={imageType}>
|
|
210
|
-
<ListResourceImage
|
|
230
|
+
<ListResourceImage
|
|
231
|
+
resourceImage={resourceImage}
|
|
232
|
+
loading={isLoading}
|
|
233
|
+
type={imageType}
|
|
234
|
+
contentType={contentTypeMapping[firstContentType] ?? contentTypeMapping['default']}
|
|
235
|
+
/>
|
|
211
236
|
</StyledImageWrapper>
|
|
212
237
|
<TopicAndTitleWrapper>
|
|
213
|
-
<
|
|
238
|
+
<ResourceTypeAndTitleLoader loading={isLoading}>
|
|
214
239
|
<ResourceTitleLink to={link} target={targetBlank ? '_blank' : undefined} ref={linkRef}>
|
|
215
|
-
<
|
|
240
|
+
<Title>{title}</Title>
|
|
216
241
|
</ResourceTitleLink>
|
|
217
|
-
<
|
|
218
|
-
</
|
|
242
|
+
<ResourceTypeList resourceTypes={resourceTypes} />
|
|
243
|
+
</ResourceTypeAndTitleLoader>
|
|
219
244
|
</TopicAndTitleWrapper>
|
|
220
245
|
{showDescription && <ResourceDescription description={description} loading={isLoading} />}
|
|
221
246
|
<TagsandActionMenu>
|
|
@@ -14,7 +14,7 @@ import { MenuButton } from '@ndla/button';
|
|
|
14
14
|
import SafeLink from '@ndla/safelink';
|
|
15
15
|
import { useNavigate } from 'react-router-dom';
|
|
16
16
|
import { HashTag } from '@ndla/icons/common';
|
|
17
|
-
|
|
17
|
+
import resourceTypeColor from '../utils/resourceTypeColor';
|
|
18
18
|
export interface ResourceImageProps {
|
|
19
19
|
alt: string;
|
|
20
20
|
src: string;
|
|
@@ -65,13 +65,12 @@ const StyledSafeLink = styled(SafeLink)`
|
|
|
65
65
|
}
|
|
66
66
|
`;
|
|
67
67
|
|
|
68
|
-
const
|
|
68
|
+
const StyledResourceTypeList = styled.ul`
|
|
69
69
|
list-style: none;
|
|
70
70
|
display: flex;
|
|
71
71
|
margin: 0;
|
|
72
72
|
padding: 0;
|
|
73
73
|
overflow: hidden;
|
|
74
|
-
grid-area: topicList;
|
|
75
74
|
`;
|
|
76
75
|
|
|
77
76
|
const StyledTopicDivider = styled.span`
|
|
@@ -79,7 +78,7 @@ const StyledTopicDivider = styled.span`
|
|
|
79
78
|
padding: 0 ${spacing.xxsmall};
|
|
80
79
|
`;
|
|
81
80
|
|
|
82
|
-
const
|
|
81
|
+
const StyledResourceListElement = styled.li`
|
|
83
82
|
${fonts.sizes(12)};
|
|
84
83
|
margin: 0;
|
|
85
84
|
line-height: 1.5;
|
|
@@ -103,6 +102,19 @@ const TagCounterWrapper = styled.span`
|
|
|
103
102
|
padding: 5px;
|
|
104
103
|
`;
|
|
105
104
|
|
|
105
|
+
export interface ContentIconProps {
|
|
106
|
+
contentType: string;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export const StyledContentIconWrapper = styled.span<ContentIconProps>`
|
|
110
|
+
width: 100%;
|
|
111
|
+
aspect-ratio: 4/3;
|
|
112
|
+
display: flex;
|
|
113
|
+
align-items: center;
|
|
114
|
+
justify-content: center;
|
|
115
|
+
background-color: ${({ contentType }) => resourceTypeColor(contentType)};
|
|
116
|
+
`;
|
|
117
|
+
|
|
106
118
|
interface TagListProps {
|
|
107
119
|
tags?: string[];
|
|
108
120
|
tagLinkPrefix?: string;
|
|
@@ -146,7 +158,6 @@ const TagMenuButton = styled(MenuButton)`
|
|
|
146
158
|
background-color: ${colors.brand.light};
|
|
147
159
|
}
|
|
148
160
|
`;
|
|
149
|
-
|
|
150
161
|
export const CompressedTagList = ({ tags, tagLinkPrefix }: CompressedTagListProps) => {
|
|
151
162
|
const navigate = useNavigate();
|
|
152
163
|
const { t } = useTranslation();
|
|
@@ -175,21 +186,21 @@ export const CompressedTagList = ({ tags, tagLinkPrefix }: CompressedTagListProp
|
|
|
175
186
|
);
|
|
176
187
|
};
|
|
177
188
|
|
|
178
|
-
interface
|
|
179
|
-
|
|
189
|
+
interface ResourceTypeListProps {
|
|
190
|
+
resourceTypes?: { id: string; name: string }[];
|
|
180
191
|
}
|
|
181
192
|
|
|
182
|
-
export const
|
|
193
|
+
export const ResourceTypeList = ({ resourceTypes }: ResourceTypeListProps) => {
|
|
183
194
|
const { t } = useTranslation();
|
|
184
|
-
if (!
|
|
195
|
+
if (!resourceTypes) return null;
|
|
185
196
|
return (
|
|
186
|
-
<
|
|
187
|
-
{
|
|
188
|
-
<
|
|
189
|
-
{
|
|
190
|
-
{i !==
|
|
191
|
-
</
|
|
197
|
+
<StyledResourceTypeList aria-label={t('navigation.topics')}>
|
|
198
|
+
{resourceTypes.map((resource, i) => (
|
|
199
|
+
<StyledResourceListElement key={resource.id}>
|
|
200
|
+
{resource.name}
|
|
201
|
+
{i !== resourceTypes.length - 1 && <StyledTopicDivider aria-hidden="true">•</StyledTopicDivider>}
|
|
202
|
+
</StyledResourceListElement>
|
|
192
203
|
))}
|
|
193
|
-
</
|
|
204
|
+
</StyledResourceTypeList>
|
|
194
205
|
);
|
|
195
206
|
};
|
|
@@ -18,30 +18,8 @@ import constants from '../model';
|
|
|
18
18
|
import ItemContexts, { ItemContextsType } from './components/ItemContexts';
|
|
19
19
|
import ItemTopicHeader from './components/ItemTopicHeader';
|
|
20
20
|
import ItemResourceHeader from './components/ItemResourceHeader';
|
|
21
|
-
|
|
22
21
|
const { contentTypes } = constants;
|
|
23
22
|
|
|
24
|
-
export const resourceTypeColor = (type: string) => {
|
|
25
|
-
switch (type) {
|
|
26
|
-
case contentTypes.SUBJECT_MATERIAL:
|
|
27
|
-
return colors.subjectMaterial.light;
|
|
28
|
-
case contentTypes.TOPIC:
|
|
29
|
-
return colors.subject.light;
|
|
30
|
-
case contentTypes.TASKS_AND_ACTIVITIES:
|
|
31
|
-
return colors.tasksAndActivities.light;
|
|
32
|
-
case contentTypes.ASSESSMENT_RESOURCES:
|
|
33
|
-
return colors.assessmentResource.light;
|
|
34
|
-
case contentTypes.EXTERNAL_LEARNING_RESOURCES:
|
|
35
|
-
return colors.externalLearningResource.light;
|
|
36
|
-
case contentTypes.SOURCE_MATERIAL:
|
|
37
|
-
return colors.sourceMaterial.light;
|
|
38
|
-
case contentTypes.LEARNING_PATH:
|
|
39
|
-
return colors.learningPath.light;
|
|
40
|
-
default:
|
|
41
|
-
return '';
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
|
|
45
23
|
type ItemTypeProps = {
|
|
46
24
|
contentType?: ContentType;
|
|
47
25
|
isTopic?: boolean;
|
|
@@ -13,7 +13,9 @@ import styled from '@emotion/styled';
|
|
|
13
13
|
import { animations, fonts, spacing } from '@ndla/core';
|
|
14
14
|
|
|
15
15
|
import { ContentType } from '../SearchTypeResult';
|
|
16
|
-
import {
|
|
16
|
+
import { SearchItemType } from '../SearchItem';
|
|
17
|
+
|
|
18
|
+
import resourceTypeColor from '../../utils/resourceTypeColor';
|
|
17
19
|
import ContentTypeBadge from '../../ContentTypeBadge';
|
|
18
20
|
|
|
19
21
|
type ItemTypeProps = {
|
|
@@ -71,9 +71,7 @@ const messages = {
|
|
|
71
71
|
[subjectCategories.ACTIVE_SUBJECTS]: 'Active',
|
|
72
72
|
[subjectCategories.ARCHIVE_SUBJECTS]: 'Expired',
|
|
73
73
|
[subjectCategories.BETA_SUBJECTS]: 'Revised',
|
|
74
|
-
[
|
|
75
|
-
[subjectCategories.PROGRAMME_SUBJECTS]: 'Programme subj. SF',
|
|
76
|
-
[subjectCategories.SPECIALIZED_SUBJECTS]: 'Programme subj. YF',
|
|
74
|
+
[subjectTypes.RESOURCE_COLLECTION]: 'Other resources',
|
|
77
75
|
},
|
|
78
76
|
subjectTypes: {
|
|
79
77
|
[subjectTypes.SUBJECT]: 'Subject',
|
|
@@ -432,6 +430,7 @@ const messages = {
|
|
|
432
430
|
},
|
|
433
431
|
license: {
|
|
434
432
|
heading: 'How to reuse content',
|
|
433
|
+
copy: 'Copy',
|
|
435
434
|
tabs: {
|
|
436
435
|
text: 'Text',
|
|
437
436
|
images: 'Images',
|
|
@@ -1046,9 +1045,10 @@ const messages = {
|
|
|
1046
1045
|
deleteAccount: 'Delete My NDLA',
|
|
1047
1046
|
welcome:
|
|
1048
1047
|
'Welcome to my NDLA! You can now save your favourite resources from NDLA and organise them in folders with tags',
|
|
1049
|
-
read: {
|
|
1048
|
+
read: { read: 'Read our', our: '.' },
|
|
1050
1049
|
privacy: 'privacy statement',
|
|
1051
|
-
|
|
1050
|
+
privacyLink: 'https://om.ndla.no/gdpr',
|
|
1051
|
+
questions: { question: 'Any questions?', ask: 'Ask NDLA' },
|
|
1052
1052
|
wishToDelete: 'Do you wish to delete your account?',
|
|
1053
1053
|
terms: {
|
|
1054
1054
|
terms: 'Terms of use',
|
|
@@ -1067,11 +1067,11 @@ const messages = {
|
|
|
1067
1067
|
},
|
|
1068
1068
|
folderInfo: {
|
|
1069
1069
|
title: 'How to organise your favourite resources in folders',
|
|
1070
|
-
text: 'You can get to the folder overview by clicking on
|
|
1070
|
+
text: 'You can get to the folder overview by clicking on <strong>My folders</strong> on the menu to the left. Here you can create new folders and subfolder. You can also create a new folder in the dialogue window that is activated when you click on the heart in a resource',
|
|
1071
1071
|
},
|
|
1072
1072
|
tagInfo: {
|
|
1073
1073
|
title: 'How to tag your favourite resources',
|
|
1074
|
-
text: 'When you save a resource, you will have the option to tag it with a keyword. This tag can be used to find the resource across folders. By selecting
|
|
1074
|
+
text: 'When you save a resource, you will have the option to tag it with a keyword. This tag can be used to find the resource across folders. By selecting <strong>My tags</strong> on the menu to the left, you will see all the tags your have used. You can also see which resources are tagget with which keyword.',
|
|
1075
1075
|
},
|
|
1076
1076
|
},
|
|
1077
1077
|
resource: {
|
|
@@ -71,9 +71,7 @@ const messages = {
|
|
|
71
71
|
[subjectCategories.ACTIVE_SUBJECTS]: 'Aktive',
|
|
72
72
|
[subjectCategories.ARCHIVE_SUBJECTS]: 'Utgåtte',
|
|
73
73
|
[subjectCategories.BETA_SUBJECTS]: 'Kommende',
|
|
74
|
-
[
|
|
75
|
-
[subjectCategories.PROGRAMME_SUBJECTS]: 'Programfag SF',
|
|
76
|
-
[subjectCategories.SPECIALIZED_SUBJECTS]: 'Yrkesfag',
|
|
74
|
+
[subjectTypes.RESOURCE_COLLECTION]: 'Andre ressurser',
|
|
77
75
|
},
|
|
78
76
|
subjectTypes: {
|
|
79
77
|
[subjectTypes.SUBJECT]: 'Fag',
|
|
@@ -432,6 +430,7 @@ const messages = {
|
|
|
432
430
|
heading: 'Slik gjenbruker du innhold',
|
|
433
431
|
learnMore: 'Lær mer om åpne lisenser',
|
|
434
432
|
copyTitle: 'Kildehenvisning',
|
|
433
|
+
copy: 'Kopier',
|
|
435
434
|
hasCopiedTitle: 'Kopiert!',
|
|
436
435
|
embed: 'Bygg inn',
|
|
437
436
|
embedCopied: 'Kopierte innbyggingskode!',
|
|
@@ -826,7 +825,7 @@ const messages = {
|
|
|
826
825
|
},
|
|
827
826
|
frontPageToolbox: {
|
|
828
827
|
heading: 'Verktøykassa',
|
|
829
|
-
text: 'Har du lyst til å bli god til å presentere, eller vil du lære å studere smartere ved hjelp av riktig studieteknikk? Trenger du råd om hvordan du leser mest mulig effektivt til eksamen? I verktøykassa til NDLA finner du
|
|
828
|
+
text: 'Har du lyst til å bli god til å presentere, eller vil du lære å studere smartere ved hjelp av riktig studieteknikk? Trenger du råd om hvordan du leser mest mulig effektivt til eksamen? I verktøykassa til NDLA finner du mange gode tips og råd!',
|
|
830
829
|
linkTextStudents: 'Se alle tipsene for elever her',
|
|
831
830
|
linkTextTeachers: 'Se alle tipsene for lærere her',
|
|
832
831
|
cursorText: 'Tips',
|
|
@@ -954,9 +953,9 @@ const messages = {
|
|
|
954
953
|
loggedInAs: 'Du er pålogget som {{role}}.',
|
|
955
954
|
loggedInAsButton: 'Du er pålogget som {{role}}',
|
|
956
955
|
role: {
|
|
957
|
-
employee: '
|
|
958
|
-
staff: '
|
|
959
|
-
student: '
|
|
956
|
+
employee: 'lærer',
|
|
957
|
+
staff: 'ansatt',
|
|
958
|
+
student: 'elev',
|
|
960
959
|
},
|
|
961
960
|
buttonLogIn: 'Logg inn med Feide',
|
|
962
961
|
buttonLogOut: 'Logg ut',
|
|
@@ -971,7 +970,7 @@ const messages = {
|
|
|
971
970
|
resource: {
|
|
972
971
|
accessDenied: 'Vi beklager, men denne ressursen er bare for lærere innlogget med Feide.',
|
|
973
972
|
},
|
|
974
|
-
primarySchool: '
|
|
973
|
+
primarySchool: 'hovedskole',
|
|
975
974
|
name: 'Navn',
|
|
976
975
|
mail: 'E-post',
|
|
977
976
|
username: 'Brukernavn',
|
|
@@ -981,7 +980,7 @@ const messages = {
|
|
|
981
980
|
other: 'Andre grupper',
|
|
982
981
|
},
|
|
983
982
|
wrongUserInfoDisclaimer:
|
|
984
|
-
'Dersom
|
|
983
|
+
'Dersom informasjonen er feil, må den oppdateres av vertsorganisasjon/skoleeier som brukeren tilhører. Oversikt over brukerstøtte finnes her: ',
|
|
985
984
|
},
|
|
986
985
|
checkOutNewFeature: 'Sjekk ut ny funksjonalitet',
|
|
987
986
|
slateBlockMenu: {
|
|
@@ -1042,10 +1041,11 @@ const messages = {
|
|
|
1042
1041
|
loginResourcePitch: 'Ønsker du å favorittmerke denne siden?',
|
|
1043
1042
|
loginWelcome: 'Velkommen til NDLA! Her kan du organisere fagstoffet på <i>din</i> måte!',
|
|
1044
1043
|
welcome:
|
|
1045
|
-
'Velkommen til Min NDLA! Nå kan du lagre dine
|
|
1046
|
-
read: {
|
|
1047
|
-
privacy: '
|
|
1048
|
-
|
|
1044
|
+
'Velkommen til Min NDLA! Nå kan du lagre favorittressursene dine fra NDLA og organisere dem i mapper og med emneknagger.',
|
|
1045
|
+
read: { read: 'Les', our: ' vår.' },
|
|
1046
|
+
privacy: 'personvernerklæringa',
|
|
1047
|
+
privacyLink: 'https://om.ndla.no/gdpr',
|
|
1048
|
+
questions: { question: 'Lurer du på noe?', ask: 'Spør NDLA' },
|
|
1049
1049
|
wishToDelete: 'Vil du ikke ha brukerprofil hos oss lenger?',
|
|
1050
1050
|
terms: {
|
|
1051
1051
|
terms: 'Vilkår for bruk',
|
|
@@ -1058,16 +1058,16 @@ const messages = {
|
|
|
1058
1058
|
feideWrongInfo:
|
|
1059
1059
|
'Dersom informasjon er feil, så må dette oppdateres av vertsorganisasjon/skoleeier som brukeren tilhører. Oversikt over brukerstøtte finnes her: feide.no/brukerstøtte',
|
|
1060
1060
|
storageInfo: {
|
|
1061
|
-
title: 'Slik lagrer du dine
|
|
1062
|
-
text: 'Klikk på hjerteknappen for å lagre en ressurs. Du vil da få mulighet til å lagre ressursen i
|
|
1061
|
+
title: 'Slik lagrer du favorittressursene dine fra NDLA',
|
|
1062
|
+
text: 'Klikk på hjerteknappen for å lagre en ressurs. Du vil da få mulighet til å lagre ressursen i ei mappe.',
|
|
1063
1063
|
},
|
|
1064
1064
|
folderInfo: {
|
|
1065
|
-
title: 'Slik organiserer du dine
|
|
1066
|
-
text: 'Klikk på
|
|
1065
|
+
title: 'Slik organiserer du favorittressursene dine i mapper',
|
|
1066
|
+
text: 'Klikk på <strong>Mine mapper</strong> i menyen til venstre for å komme til mappeoversikten. Her kan du opprette nye mapper og undermapper. Du kan også opprette ei ny mappe i dialogvinduet som kommer når du klikker på et hjerte i en ressurs.',
|
|
1067
1067
|
},
|
|
1068
1068
|
tagInfo: {
|
|
1069
|
-
title: 'Slik tagger du dine
|
|
1070
|
-
text: 'Når du lagrer en ressurs får du mulighet til å markere ressursen med en emneknagg. Emneknaggen er et nøkkelord du kan bruke til å finne tilbake til ressurser på tvers av mapper. Du finner alle emneknaggene du har brukt ved å velge
|
|
1069
|
+
title: 'Slik tagger du favorittressursene dine',
|
|
1070
|
+
text: 'Når du lagrer en ressurs, får du mulighet til å markere ressursen med en emneknagg. Emneknaggen er et nøkkelord du kan bruke til å finne tilbake til ressurser på tvers av mapper. Du finner alle emneknaggene du har brukt, ved å velge <strong>Mine emneknagger</strong> i venstremenyen. Her kan du også se hvilke ressurser du har markert med hvilken emneknagg.',
|
|
1071
1071
|
},
|
|
1072
1072
|
},
|
|
1073
1073
|
resource: {
|
|
@@ -71,9 +71,7 @@ const messages = {
|
|
|
71
71
|
[subjectCategories.ACTIVE_SUBJECTS]: 'Aktive',
|
|
72
72
|
[subjectCategories.ARCHIVE_SUBJECTS]: 'Utgåtte',
|
|
73
73
|
[subjectCategories.BETA_SUBJECTS]: 'Kommande',
|
|
74
|
-
[
|
|
75
|
-
[subjectCategories.PROGRAMME_SUBJECTS]: 'Programfag SF',
|
|
76
|
-
[subjectCategories.SPECIALIZED_SUBJECTS]: 'Yrkesfag',
|
|
74
|
+
[subjectTypes.RESOURCE_COLLECTION]: 'Andre ressursar',
|
|
77
75
|
},
|
|
78
76
|
subjectTypes: {
|
|
79
77
|
[subjectTypes.SUBJECT]: 'Fag',
|
|
@@ -433,6 +431,7 @@ const messages = {
|
|
|
433
431
|
heading: 'Slik gjenbruker du innhald',
|
|
434
432
|
learnMore: 'Lær meir om opne lisensar',
|
|
435
433
|
copyTitle: 'Kjeldetilvising',
|
|
434
|
+
copy: 'Kopier',
|
|
436
435
|
hasCopiedTitle: 'Kopiert!',
|
|
437
436
|
embed: 'Bygg inn',
|
|
438
437
|
embedCopied: 'Kopierte innbyggingskode!',
|
|
@@ -827,7 +826,7 @@ const messages = {
|
|
|
827
826
|
},
|
|
828
827
|
frontPageToolbox: {
|
|
829
828
|
heading: 'Verktøykassa',
|
|
830
|
-
text: 'Har du lyst til å bli god til å presentere, eller vil du lære å studere smartare ved hjelp av riktig studieteknikk? Treng du råd om korleis du les mest mogleg effektivt til eksamen? I verktøykassa til NDLA finn du
|
|
829
|
+
text: 'Har du lyst til å bli god til å presentere, eller vil du lære å studere smartare ved hjelp av riktig studieteknikk? Treng du råd om korleis du les mest mogleg effektivt til eksamen? I verktøykassa til NDLA finn du mange gode tips og råd!',
|
|
831
830
|
linkTextStudents: 'Sjå alle tipsa for elever her',
|
|
832
831
|
linkTextTeachers: 'Sjå alle tipsa for lærarar her',
|
|
833
832
|
cursorText: 'Tips',
|
|
@@ -955,9 +954,9 @@ const messages = {
|
|
|
955
954
|
loggedInAs: 'Du er pålogga som {{role}}.',
|
|
956
955
|
loggedInAsButton: 'Du er pålogga som {{role}}',
|
|
957
956
|
role: {
|
|
958
|
-
employee: '
|
|
959
|
-
staff: '
|
|
960
|
-
student: '
|
|
957
|
+
employee: 'lærar',
|
|
958
|
+
staff: 'tilsett',
|
|
959
|
+
student: 'elev',
|
|
961
960
|
},
|
|
962
961
|
buttonLogIn: 'Logg inn med Feide',
|
|
963
962
|
buttonLogOut: 'Logg ut',
|
|
@@ -972,7 +971,7 @@ const messages = {
|
|
|
972
971
|
resource: {
|
|
973
972
|
accessDenied: 'Vi beklagar, men denne ressursen er berre for lærarar innlogga med Feide.',
|
|
974
973
|
},
|
|
975
|
-
primarySchool: '
|
|
974
|
+
primarySchool: 'hovudskule',
|
|
976
975
|
name: 'Namn',
|
|
977
976
|
mail: 'E-post',
|
|
978
977
|
username: 'Brukarnamn',
|
|
@@ -982,7 +981,7 @@ const messages = {
|
|
|
982
981
|
other: 'Andre grupper',
|
|
983
982
|
},
|
|
984
983
|
wrongUserInfoDisclaimer:
|
|
985
|
-
'Dersom
|
|
984
|
+
'Dersom informasjonen er feil, må han oppdaterast av vertsorganisasjon/skuleeigar som brukaren tilhøyrer. Oversikt over brukarstøtte finst her: ',
|
|
986
985
|
},
|
|
987
986
|
checkOutNewFeature: 'Sjekk ut ny funksjonalitet',
|
|
988
987
|
slateBlockMenu: {
|
|
@@ -1017,7 +1016,7 @@ const messages = {
|
|
|
1017
1016
|
'Er du sikker på at du vil slette mappa? Dersom mappa har undermapper vil desse også slettast. Denne handlinga kan ikkje endrast.',
|
|
1018
1017
|
confirmDeleteTag: 'Er du sikker på at du vil slette tag? Denne handlinga kan ikkje endrast.',
|
|
1019
1018
|
myFolders: 'Mine mapper',
|
|
1020
|
-
myTags: '
|
|
1019
|
+
myTags: 'Mine emneknaggar',
|
|
1021
1020
|
newFolder: 'Ny mappe',
|
|
1022
1021
|
newFolderUnder: 'Lag ny mappe under {{folderName}}',
|
|
1023
1022
|
myAccount: 'Min konto',
|
|
@@ -1043,10 +1042,11 @@ const messages = {
|
|
|
1043
1042
|
loginResourcePitch: 'Ønsker du å favorittmerke denne sida?',
|
|
1044
1043
|
loginWelcome: 'Velkommen til NDLA! Her kan du organisere fagstoffet på <i>din</i> måte!',
|
|
1045
1044
|
welcome:
|
|
1046
|
-
'Velkommen til Min NDLA!
|
|
1047
|
-
read: {
|
|
1048
|
-
privacy: '
|
|
1049
|
-
|
|
1045
|
+
'Velkommen til Min NDLA! No kan du lagre favorittressursane dine frå NDLA og organisere dei i mapper og med emneknaggar.',
|
|
1046
|
+
read: { read: 'Les', our: ' vår.' },
|
|
1047
|
+
privacy: 'personvernerklæringa',
|
|
1048
|
+
privacyLink: 'https://om.ndla.no/gdpr',
|
|
1049
|
+
questions: { question: 'Lurer du på noko?', ask: 'Spør NDLA' },
|
|
1050
1050
|
wishToDelete: 'Vil du ikkje ha brukerprofil hos oss lenger?',
|
|
1051
1051
|
terms: {
|
|
1052
1052
|
terms: 'Vilkår for bruk',
|
|
@@ -1059,16 +1059,16 @@ const messages = {
|
|
|
1059
1059
|
feideWrongInfo:
|
|
1060
1060
|
'Dersom informasjon er feil, så må dette oppdaterast av vertsorganisasjon/skuleeigar som brukaren tilhøyrer. Oversyn over brukartrygd finst her: feide.no/brukartrygd',
|
|
1061
1061
|
storageInfo: {
|
|
1062
|
-
title: 'Slik lagrar du
|
|
1062
|
+
title: 'Slik lagrar du favorittressursane dine frå NDLA',
|
|
1063
1063
|
text: 'Klikk på hjarteknappen for å lagre ein ressurs. Du vil då få høve til å lagre ressursen i ei mappe.',
|
|
1064
1064
|
},
|
|
1065
1065
|
folderInfo: {
|
|
1066
1066
|
title: 'Slik organiserer du favorittressursene dine i mapper',
|
|
1067
|
-
text: 'Klikk på
|
|
1067
|
+
text: 'Klikk på <strong>Mine mapper</strong> i menyen til venstre for å komme til mappeoversikta. Her kan du opprette nye mapper og undermapper. Du kan også opprette ny mappe i vindauget som kjem opp når du klikkar på eit hjarte i ein ressurs.',
|
|
1068
1068
|
},
|
|
1069
1069
|
tagInfo: {
|
|
1070
|
-
title: 'Slik
|
|
1071
|
-
text: 'Når du lagrar ein ressurs får du høve til å markere ressursen med ein emneknagg. Emneknaggen er eit nøkkelord du kan bruke til å finne tilbake til ressursar på tvers av mapper. Du finn alle emneknaggane du har brukt ved å velje
|
|
1070
|
+
title: 'Slik taggar du favorittressursane dine',
|
|
1071
|
+
text: 'Når du lagrar ein ressurs, får du høve til å markere ressursen med ein emneknagg. Emneknaggen er eit nøkkelord du kan bruke til å finne tilbake til ressursar på tvers av mapper. Du finn alle emneknaggane du har brukt, ved å velje <strong>Mine emneknaggar</strong> i venstremenyen. Her kan du også sjå kva for ressursar du har merkt med kva knagg.',
|
|
1072
1072
|
},
|
|
1073
1073
|
},
|
|
1074
1074
|
resource: {
|