@coorpacademy/components 11.32.15-alpha.9 → 11.32.16
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/atom/button-link/index.d.ts.map +1 -1
- package/es/atom/button-link/index.js +3 -2
- package/es/atom/button-link/index.js.map +1 -1
- package/es/atom/button-link-icon-only/index.d.ts.map +1 -1
- package/es/atom/button-link-icon-only/index.js +2 -1
- package/es/atom/button-link-icon-only/index.js.map +1 -1
- package/es/atom/button-menu/index.d.ts.map +1 -1
- package/es/atom/button-menu/index.js +2 -1
- package/es/atom/button-menu/index.js.map +1 -1
- package/es/atom/link/index.d.ts +1 -0
- package/es/atom/link/index.d.ts.map +1 -1
- package/es/atom/link/index.js +6 -4
- package/es/atom/link/index.js.map +1 -1
- package/es/molecule/cm-popin/types.d.ts +1 -0
- package/es/molecule/cm-popin/types.d.ts.map +1 -1
- package/es/molecule/discipline-associated-skills/index.d.ts +1 -0
- package/es/molecule/discipline-associated-skills/index.d.ts.map +1 -1
- package/es/molecule/discipline-associated-skills/index.js +8 -4
- package/es/molecule/discipline-associated-skills/index.js.map +1 -1
- package/es/molecule/discipline-associated-skills/style.css +23 -3
- package/es/template/app-player/loading/index.d.ts +1 -0
- package/es/template/app-player/player/index.d.ts +2 -0
- package/es/template/app-player/player/slides/index.d.ts +1 -0
- package/es/template/app-player/player/slides/index.d.ts.map +1 -1
- package/es/template/app-player/popin-correction/index.d.ts +3 -0
- package/es/template/app-player/popin-correction/index.d.ts.map +1 -1
- package/es/template/app-player/popin-end/index.d.ts +2 -0
- package/es/template/app-player/popin-end/summary.d.ts +1 -0
- package/es/template/app-player/popin-header/index.d.ts +1 -0
- package/es/template/app-player/popin-header/index.d.ts.map +1 -1
- package/es/template/app-review/index.d.ts +1 -0
- package/es/template/app-review/index.d.ts.map +1 -1
- package/es/template/app-review/player/prop-types.d.ts +1 -0
- package/es/template/app-review/player/prop-types.d.ts.map +1 -1
- package/es/template/app-review/prop-types.d.ts +1 -0
- package/es/template/app-review/prop-types.d.ts.map +1 -1
- package/es/template/back-office/brand-update/index.d.ts +1 -0
- package/es/template/common/dashboard/index.d.ts +2 -0
- package/es/template/common/discipline/index.d.ts +1 -0
- package/es/template/common/discipline/index.d.ts.map +1 -1
- package/es/template/common/discipline/index.js +6 -2
- package/es/template/common/discipline/index.js.map +1 -1
- package/es/template/common/search-page/index.d.ts +1 -0
- package/es/template/external-course/index.d.ts +1 -0
- package/es/template/my-learning/index.d.ts +0 -3
- package/es/template/my-learning/index.d.ts.map +1 -1
- package/es/template/my-learning/index.js +3 -8
- package/es/template/my-learning/index.js.map +1 -1
- package/es/template/skill-detail/all-courses.d.ts.map +1 -1
- package/es/template/skill-detail/all-courses.js +8 -14
- package/es/template/skill-detail/all-courses.js.map +1 -1
- package/es/template/skill-detail/continue-learning.d.ts.map +1 -1
- package/es/template/skill-detail/continue-learning.js +1 -1
- package/es/template/skill-detail/continue-learning.js.map +1 -1
- package/es/template/skill-detail/index.d.ts +1 -1
- package/es/template/skill-detail/index.js +4 -4
- package/es/template/skill-detail/index.js.map +1 -1
- package/lib/atom/button-link/index.d.ts.map +1 -1
- package/lib/atom/button-link/index.js +3 -2
- package/lib/atom/button-link/index.js.map +1 -1
- package/lib/atom/button-link-icon-only/index.d.ts.map +1 -1
- package/lib/atom/button-link-icon-only/index.js +2 -1
- package/lib/atom/button-link-icon-only/index.js.map +1 -1
- package/lib/atom/button-menu/index.d.ts.map +1 -1
- package/lib/atom/button-menu/index.js +2 -1
- package/lib/atom/button-menu/index.js.map +1 -1
- package/lib/atom/link/index.d.ts +1 -0
- package/lib/atom/link/index.d.ts.map +1 -1
- package/lib/atom/link/index.js +6 -4
- package/lib/atom/link/index.js.map +1 -1
- package/lib/molecule/cm-popin/types.d.ts +1 -0
- package/lib/molecule/cm-popin/types.d.ts.map +1 -1
- package/lib/molecule/discipline-associated-skills/index.d.ts +1 -0
- package/lib/molecule/discipline-associated-skills/index.d.ts.map +1 -1
- package/lib/molecule/discipline-associated-skills/index.js +8 -4
- package/lib/molecule/discipline-associated-skills/index.js.map +1 -1
- package/lib/molecule/discipline-associated-skills/style.css +23 -3
- package/lib/template/app-player/loading/index.d.ts +1 -0
- package/lib/template/app-player/player/index.d.ts +2 -0
- package/lib/template/app-player/player/slides/index.d.ts +1 -0
- package/lib/template/app-player/player/slides/index.d.ts.map +1 -1
- package/lib/template/app-player/popin-correction/index.d.ts +3 -0
- package/lib/template/app-player/popin-correction/index.d.ts.map +1 -1
- package/lib/template/app-player/popin-end/index.d.ts +2 -0
- package/lib/template/app-player/popin-end/summary.d.ts +1 -0
- package/lib/template/app-player/popin-header/index.d.ts +1 -0
- package/lib/template/app-player/popin-header/index.d.ts.map +1 -1
- package/lib/template/app-review/index.d.ts +1 -0
- package/lib/template/app-review/index.d.ts.map +1 -1
- package/lib/template/app-review/player/prop-types.d.ts +1 -0
- package/lib/template/app-review/player/prop-types.d.ts.map +1 -1
- package/lib/template/app-review/prop-types.d.ts +1 -0
- package/lib/template/app-review/prop-types.d.ts.map +1 -1
- package/lib/template/back-office/brand-update/index.d.ts +1 -0
- package/lib/template/common/dashboard/index.d.ts +2 -0
- package/lib/template/common/discipline/index.d.ts +1 -0
- package/lib/template/common/discipline/index.d.ts.map +1 -1
- package/lib/template/common/discipline/index.js +6 -2
- package/lib/template/common/discipline/index.js.map +1 -1
- package/lib/template/common/search-page/index.d.ts +1 -0
- package/lib/template/external-course/index.d.ts +1 -0
- package/lib/template/my-learning/index.d.ts +0 -3
- package/lib/template/my-learning/index.d.ts.map +1 -1
- package/lib/template/my-learning/index.js +3 -8
- package/lib/template/my-learning/index.js.map +1 -1
- package/lib/template/skill-detail/all-courses.d.ts.map +1 -1
- package/lib/template/skill-detail/all-courses.js +10 -14
- package/lib/template/skill-detail/all-courses.js.map +1 -1
- package/lib/template/skill-detail/continue-learning.d.ts.map +1 -1
- package/lib/template/skill-detail/continue-learning.js +1 -1
- package/lib/template/skill-detail/continue-learning.js.map +1 -1
- package/lib/template/skill-detail/index.d.ts +1 -1
- package/lib/template/skill-detail/index.js +4 -4
- package/lib/template/skill-detail/index.js.map +1 -1
- package/locales/bs/global.json +8 -0
- package/locales/cs/global.json +8 -0
- package/locales/de/global.json +8 -0
- package/locales/es/global.json +8 -0
- package/locales/et/global.json +8 -0
- package/locales/fi/global.json +8 -0
- package/locales/fr/global.json +8 -0
- package/locales/hr/global.json +8 -0
- package/locales/hu/global.json +8 -0
- package/locales/hy/global.json +8 -0
- package/locales/it/global.json +8 -0
- package/locales/ja/global.json +8 -0
- package/locales/ko/global.json +8 -0
- package/locales/nl/global.json +8 -0
- package/locales/pl/global.json +8 -0
- package/locales/pt/global.json +8 -0
- package/locales/ro/global.json +8 -0
- package/locales/ru/global.json +8 -0
- package/locales/sk/global.json +8 -0
- package/locales/sl/global.json +8 -0
- package/locales/sv/global.json +8 -0
- package/locales/tl/global.json +8 -0
- package/locales/tr/global.json +8 -0
- package/locales/uk/global.json +8 -0
- package/locales/vi/global.json +8 -0
- package/locales/zh/global.json +8 -0
- package/locales/zh_TW/global.json +8 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all-courses.js","names":["FilterButton","props","context","selected","filter","onClick","skin","primarySkinColor","buttonProps","customStyle","backgroundColor","color","transition","width","label","contextTypes","Provider","childContextTypes","translate","propTypes","PropTypes","bool","string","func","AllCourses","skillIncludedCourses","totalCourses","filters","sorting","options","onChange","list","loading","showCompleted","setShowCompleted","useState","searchValue","setSearchValue","searchResults","setSearchResults","sort","a","b","progressA","progress","progressB","sortView","undefined","useEffect","handleSearch","useCallback","value","skill","searchValueIncluded","title","handleSearchReset","handleShowCompletedToggle","tempShowCompleted","style","continueLearningWrapper","continueLearningTitle","continueLearningNumber","searchAndSortSection","searchWrapper","placeholder","sortSection","sortWrapper","filterWrapper","length","map","index","name","handleChange","filterButtonWrapper","divider","justifyContent","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","shape","CardsGrid","number","arrayOf","SelectOptionPropTypes","Select"],"sources":["../../../src/template/skill-detail/all-courses.js"],"sourcesContent":["import React, {useState, useCallback, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport SearchForm from '../../molecule/search-form';\nimport CardsGrid from '../../organism/cards-grid';\nimport searchValueIncluded from '../../util/search-value-included';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './all-courses.css';\n\nconst FilterButton = (props, context) => {\n const {selected, filter, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: selected ? primarySkinColor : '#E1E1E3',\n color: selected ? '#FFFFFF' : '#515161',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n label: filter,\n onClick,\n 'data-name': 'filter-type-course-button'\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nFilterButton.propTypes = {\n selected: PropTypes.bool,\n filter: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst AllCourses = (props, context) => {\n const {skillIncludedCourses, totalCourses, filters, sorting} = props;\n const {options, onChange} = filters;\n const {list, loading} = skillIncludedCourses;\n const {translate} = context;\n const [showCompleted, setShowCompleted] = useState(true);\n const [searchValue, setSearchValue] = useState('');\n const [searchResults, setSearchResults] = useState(\n list.sort((a, b) => {\n const progressA = a.progress ?? 0;\n const progressB = b.progress ?? 0;\n return progressB - progressA;\n })\n );\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\">\n <Select {...sorting} aria-label=\"All courses sort\" />\n </div>\n ) : null;\n\n useEffect(() => {\n setSearchResults(\n list.sort((a, b) => {\n const progressA = a.progress ?? 0;\n const progressB = b.progress ?? 0;\n return progressB - progressA;\n })\n );\n }, [list]);\n\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n setSearchResults(list.filter(skill => searchValueIncluded(skill.title, value)));\n },\n [list, setSearchValue, setSearchResults]\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n setSearchResults(list);\n }, [list, setSearchValue, setSearchResults]);\n\n const handleShowCompletedToggle = useCallback(() => {\n const tempShowCompleted = !showCompleted;\n setShowCompleted(tempShowCompleted);\n if (tempShowCompleted) {\n setSearchResults(list);\n handleSearchReset();\n } else {\n setSearchResults(searchResults.filter(skill => skill.progress === 0));\n }\n }, [searchResults, showCompleted, setShowCompleted]);\n\n return (\n <>\n <div className={style.continueLearningWrapper}>\n <span className={style.continueLearningTitle}>{translate('all_courses')}</span>\n <span className={style.continueLearningNumber}>{totalCourses}</span>\n </div>\n <div className={style.searchAndSortSection}>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n />\n </div>\n <div className={style.sortSection}>\n <InputSwitch\n id={'show-completed-courses-switch'}\n type=\"switch\"\n name={translate('show_completed')}\n title={translate('show_completed')}\n aria-label={'Show completed courses aria label'}\n value={showCompleted}\n onChange={handleShowCompletedToggle}\n />\n <div className={style.sortWrapper}>\n {translate('sort_by')}\n {sortView}\n </div>\n </div>\n </div>\n <div className={style.filterWrapper}>\n {options.length > 2 && searchResults.length > 0\n ? options.map((filter, index) => {\n const {name, value, selected} = filter;\n\n function handleChange() {\n onChange(value);\n handleSearchReset();\n }\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton selected={selected} filter={name} onClick={handleChange} />\n {value === 'ALL' ? <div className={style.divider} /> : null}\n </div>\n );\n })\n : null}\n </div>\n <div>\n {searchResults.length > 0 ? (\n <CardsGrid\n list={searchResults}\n loading={loading}\n customStyle={{justifyContent: 'left'}}\n />\n ) : (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleSearchReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nAllCourses.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nAllCourses.propTypes = {\n skillIncludedCourses: PropTypes.shape(CardsGrid.propTypes),\n totalCourses: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes)\n};\n\nexport default AllCourses;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"all-courses.js","names":["FilterButton","props","context","selected","filter","onClick","skin","primarySkinColor","buttonProps","customStyle","backgroundColor","color","transition","width","label","contextTypes","Provider","childContextTypes","translate","propTypes","PropTypes","bool","string","func","AllCourses","skillIncludedCourses","totalCourses","filters","sorting","options","onChange","list","loading","showCompleted","setShowCompleted","useState","searchValue","setSearchValue","searchResults","setSearchResults","course","sortView","undefined","useEffect","handleSearch","useCallback","value","skill","searchValueIncluded","title","handleSearchReset","handleShowCompletedToggle","toggledShowCompleted","progress","style","continueLearningWrapper","continueLearningTitle","continueLearningNumber","searchAndSortSection","searchWrapper","placeholder","sortSection","sortWrapper","filterWrapper","length","map","index","name","handleChange","filterButtonWrapper","divider","justifyContent","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","shape","CardsGrid","number","arrayOf","SelectOptionPropTypes","Select"],"sources":["../../../src/template/skill-detail/all-courses.js"],"sourcesContent":["import React, {useState, useCallback, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, sortBy} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport SearchForm from '../../molecule/search-form';\nimport CardsGrid from '../../organism/cards-grid';\nimport searchValueIncluded from '../../util/search-value-included';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './all-courses.css';\n\nconst FilterButton = (props, context) => {\n const {selected, filter, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: selected ? primarySkinColor : '#E1E1E3',\n color: selected ? '#FFFFFF' : '#515161',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n label: filter,\n onClick,\n 'data-name': 'filter-type-course-button'\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nFilterButton.propTypes = {\n selected: PropTypes.bool,\n filter: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst AllCourses = (props, context) => {\n const {skillIncludedCourses, totalCourses, filters, sorting} = props;\n const {options, onChange} = filters;\n const {list, loading} = skillIncludedCourses;\n const {translate} = context;\n const [showCompleted, setShowCompleted] = useState(true);\n const [searchValue, setSearchValue] = useState('');\n const [searchResults, setSearchResults] = useState(\n sortBy(course => -getOr(0, ['progress'], course), list)\n );\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\">\n <Select {...sorting} aria-label=\"All courses sort\" />\n </div>\n ) : null;\n\n useEffect(() => {\n setSearchResults(sortBy(course => -getOr(0, ['progress'], course), list));\n }, [list]);\n\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n setSearchResults(list.filter(skill => searchValueIncluded(skill.title, value)));\n },\n [list, setSearchValue, setSearchResults]\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n setSearchResults(list);\n }, [list, setSearchValue, setSearchResults]);\n\n const handleShowCompletedToggle = useCallback(() => {\n const toggledShowCompleted = !showCompleted;\n setShowCompleted(toggledShowCompleted);\n if (toggledShowCompleted) {\n setSearchResults(list);\n handleSearchReset();\n } else {\n setSearchResults(searchResults.filter(skill => skill.progress === 0));\n }\n }, [list, searchResults, showCompleted, setShowCompleted, setSearchResults, handleSearchReset]);\n\n return (\n <>\n <div className={style.continueLearningWrapper}>\n <span className={style.continueLearningTitle}>{translate('all_courses')}</span>\n <span className={style.continueLearningNumber}>{totalCourses}</span>\n </div>\n <div className={style.searchAndSortSection}>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n />\n </div>\n <div className={style.sortSection}>\n <InputSwitch\n id={'show-completed-courses-switch'}\n type=\"switch\"\n name={translate('show_completed')}\n title={translate('show_completed')}\n aria-label={'Show completed courses aria label'}\n value={showCompleted}\n onChange={handleShowCompletedToggle}\n />\n <div className={style.sortWrapper}>\n {translate('sort_by')}\n {sortView}\n </div>\n </div>\n </div>\n <div className={style.filterWrapper}>\n {options.length > 2 && searchResults.length > 0\n ? options.map((filter, index) => {\n const {name, value, selected} = filter;\n\n function handleChange() {\n onChange(value);\n handleSearchReset();\n }\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton selected={selected} filter={name} onClick={handleChange} />\n {value === 'ALL' ? <div className={style.divider} /> : null}\n </div>\n );\n })\n : null}\n </div>\n <div>\n {searchResults.length > 0 ? (\n <CardsGrid\n list={searchResults}\n loading={loading}\n customStyle={{justifyContent: 'left'}}\n />\n ) : (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleSearchReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nAllCourses.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nAllCourses.propTypes = {\n skillIncludedCourses: PropTypes.shape(CardsGrid.propTypes),\n totalCourses: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes)\n};\n\nexport default AllCourses;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continue-learning.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/continue-learning.js"],"names":[],"mappings":";AAOA,
|
|
1
|
+
{"version":3,"file":"continue-learning.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/continue-learning.js"],"names":[],"mappings":";AAOA,gFAyBC"}
|
|
@@ -32,7 +32,7 @@ const ContinueLearning = (props, context) => {
|
|
|
32
32
|
className: _continueLearning.default.continueLearningTitle
|
|
33
33
|
}, translate('continue_learning')), /*#__PURE__*/_react.default.createElement("span", {
|
|
34
34
|
className: _continueLearning.default.continueLearningNumber
|
|
35
|
-
}, ongoingCourses.list.length)));
|
|
35
|
+
}, ongoingCourses.list.length)), [ongoingCourses, translate]);
|
|
36
36
|
|
|
37
37
|
if (ongoingCourses.list.length === 0) {
|
|
38
38
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continue-learning.js","names":["ContinueLearning","props","context","ongoingCourses","translate","Title","useCallback","style","continueLearningTitle","continueLearningNumber","list","length","padding","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","shape","CardsGrid"],"sources":["../../../src/template/skill-detail/continue-learning.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport Provider from '../../atom/provider';\nimport CardsGrid from '../../organism/cards-grid';\nimport CardsList from '../../molecule/dashboard/cards-list';\nimport style from './continue-learning.css';\n\nconst ContinueLearning = (props, context) => {\n const {ongoingCourses} = props;\n const {translate} = context;\n\n const Title = useCallback(() => (\n
|
|
1
|
+
{"version":3,"file":"continue-learning.js","names":["ContinueLearning","props","context","ongoingCourses","translate","Title","useCallback","style","continueLearningTitle","continueLearningNumber","list","length","padding","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","shape","CardsGrid"],"sources":["../../../src/template/skill-detail/continue-learning.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport Provider from '../../atom/provider';\nimport CardsGrid from '../../organism/cards-grid';\nimport CardsList from '../../molecule/dashboard/cards-list';\nimport style from './continue-learning.css';\n\nconst ContinueLearning = (props, context) => {\n const {ongoingCourses} = props;\n const {translate} = context;\n\n const Title = useCallback(\n () => (\n <>\n <span className={style.continueLearningTitle}>{translate('continue_learning')}</span>\n <span className={style.continueLearningNumber}>{ongoingCourses.list.length}</span>\n </>\n ),\n [ongoingCourses, translate]\n );\n\n if (ongoingCourses.list.length === 0) {\n return null;\n }\n\n return (\n <CardsList\n cards={ongoingCourses.list}\n title={<Title />}\n customStyle={{padding: '16px 0px 8px'}}\n />\n );\n};\n\nContinueLearning.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContinueLearning.propTypes = {\n ongoingCourses: PropTypes.shape(CardsGrid.propTypes)\n};\n\nexport default ContinueLearning;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,gBAAgB,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EAC3C,MAAM;IAACC;EAAD,IAAmBF,KAAzB;EACA,MAAM;IAACG;EAAD,IAAcF,OAApB;EAEA,MAAMG,KAAK,GAAG,IAAAC,kBAAA,EACZ,mBACE,yEACE;IAAM,SAAS,EAAEC,yBAAA,CAAMC;EAAvB,GAA+CJ,SAAS,CAAC,mBAAD,CAAxD,CADF,eAEE;IAAM,SAAS,EAAEG,yBAAA,CAAME;EAAvB,GAAgDN,cAAc,CAACO,IAAf,CAAoBC,MAApE,CAFF,CAFU,EAOZ,CAACR,cAAD,EAAiBC,SAAjB,CAPY,CAAd;;EAUA,IAAID,cAAc,CAACO,IAAf,CAAoBC,MAApB,KAA+B,CAAnC,EAAsC;IACpC,OAAO,IAAP;EACD;;EAED,oBACE,6BAAC,kBAAD;IACE,KAAK,EAAER,cAAc,CAACO,IADxB;IAEE,KAAK,eAAE,6BAAC,KAAD,OAFT;IAGE,WAAW,EAAE;MAACE,OAAO,EAAE;IAAV;EAHf,EADF;AAOD,CAzBD;;AA2BAZ,gBAAgB,CAACa,YAAjB,GAAgC;EAC9BC,IAAI,EAAEC,iBAAA,CAASC,iBAAT,CAA2BF,IADH;EAE9BV,SAAS,EAAEW,iBAAA,CAASC,iBAAT,CAA2BZ;AAFR,CAAhC;AAKAJ,gBAAgB,CAACiB,SAAjB,2CAA6B;EAC3Bd,cAAc,EAAEe,kBAAA,CAAUC,KAAV,CAAgBC,kBAAA,CAAUH,SAA1B;AADW,CAA7B;eAIejB,gB"}
|
|
@@ -27,7 +27,7 @@ declare namespace SkillDetail {
|
|
|
27
27
|
}
|
|
28
28
|
namespace propTypes {
|
|
29
29
|
const title: PropTypes.Validator<string>;
|
|
30
|
-
const
|
|
30
|
+
const skillRef: PropTypes.Validator<string>;
|
|
31
31
|
const description: PropTypes.Requireable<string>;
|
|
32
32
|
const metrics: PropTypes.Requireable<PropTypes.InferProps<{
|
|
33
33
|
score: PropTypes.Requireable<number>;
|
|
@@ -83,7 +83,7 @@ ContinueLearningButton.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
83
83
|
const SkillDetail = (props, context) => {
|
|
84
84
|
const {
|
|
85
85
|
title,
|
|
86
|
-
|
|
86
|
+
skillRef,
|
|
87
87
|
description,
|
|
88
88
|
metrics = {},
|
|
89
89
|
focused,
|
|
@@ -112,7 +112,7 @@ const SkillDetail = (props, context) => {
|
|
|
112
112
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
113
113
|
className: (0, _classnames.default)(_style.default.description, !showMore && _style.default.truncate)
|
|
114
114
|
}, description);
|
|
115
|
-
});
|
|
115
|
+
}, [showMore, description]);
|
|
116
116
|
const ProgressBar = (0, _react.useCallback)(() => {
|
|
117
117
|
if (score === undefined) return null;
|
|
118
118
|
const progressBarColor = '#3EC483';
|
|
@@ -133,7 +133,7 @@ const SkillDetail = (props, context) => {
|
|
|
133
133
|
className: _style.default.backgroundContainer
|
|
134
134
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
135
135
|
className: _style.default.container,
|
|
136
|
-
"data-name":
|
|
136
|
+
"data-name": skillRef
|
|
137
137
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
138
138
|
className: _style.default.backButtonWrapper,
|
|
139
139
|
onClick: onBackClick
|
|
@@ -223,7 +223,7 @@ SkillDetail.contextTypes = {
|
|
|
223
223
|
};
|
|
224
224
|
SkillDetail.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
225
225
|
title: _propTypes.default.string.isRequired,
|
|
226
|
-
|
|
226
|
+
skillRef: _propTypes.default.string.isRequired,
|
|
227
227
|
description: _propTypes.default.string,
|
|
228
228
|
metrics: _propTypes.default.shape({
|
|
229
229
|
score: _propTypes.default.number,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["ContinueLearningButton","props","context","hovered","setHovered","useState","ongoingCoursesAvailable","onClick","skin","translate","primarySkinColor","handleMouseOver","useCallback","handleMouseLeave","width","borderRadius","backgroundColor","convert","position","faIcon","name","color","size","contextTypes","Provider","childContextTypes","propTypes","PropTypes","bool","func","SkillDetail","title","ref","description","metrics","focused","availableForReview","ongoingCourses","skillIncludedCourses","totalCourses","filters","sorting","onBackClick","onReviewClick","onContinueLearningClick","score","content","questionsToReview","contentCompleted","showMore","setShowMore","handleShowMore","Description","classnames","style","truncate","ProgressBar","undefined","progressBarColor","inlineProgressValueStyle","progressBarWrapper","progress","backgroundContainer","container","backButtonWrapper","faSize","wrapperSize","ctaContainer","skillFocusBadge","length","showMoreWrapper","ctaWrapper","list","progressInformationsWrapper","progressTitle","skillCoursesAndQuestionsWrapper","skillInformation","skillInformationNumber","progressInformations","progressInformation","progressInformationNumber","string","isRequired","shape","number","CardsGrid","onChange","options","arrayOf","SelectOptionPropTypes","Select"],"sources":["../../../src/template/skill-detail/index.js"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport classnames from 'classnames';\nimport {get} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport Icon from '../../atom/icon';\nimport CardsGrid from '../../organism/cards-grid';\nimport style from './style.css';\nimport AllCourses from './all-courses';\nimport ContinueLearning from './continue-learning';\n\nconst ContinueLearningButton = (props, context) => {\n const [hovered, setHovered] = useState(false);\n const {ongoingCoursesAvailable, onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n return (\n <div onMouseOver={handleMouseOver} onMouseLeave={handleMouseLeave}>\n <ButtonLink\n label={\n ongoingCoursesAvailable ? translate('continue_learning') : translate('start_learning')\n }\n type=\"primary\"\n customStyle={{\n width: 'fit-content',\n borderRadius: '12px',\n backgroundColor: hovered\n ? convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`)\n : primarySkinColor\n }}\n icon={{\n position: 'left',\n faIcon: {\n name: 'play',\n color: '#FFFFFF',\n size: 16\n }\n }}\n onClick={onClick}\n />\n </div>\n );\n};\n\nContinueLearningButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContinueLearningButton.propTypes = {\n ongoingCoursesAvailable: PropTypes.bool,\n onClick: PropTypes.func\n};\n\nconst SkillDetail = (props, context) => {\n const {\n title,\n ref,\n description,\n metrics = {},\n focused,\n availableForReview,\n ongoingCourses,\n skillIncludedCourses,\n totalCourses,\n filters,\n sorting,\n onBackClick,\n onReviewClick,\n onContinueLearningClick\n } = props;\n const {score, content, questionsToReview, contentCompleted = 0} = metrics;\n const {translate} = context;\n\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => setShowMore(!showMore), [setShowMore, showMore]);\n\n const Description = useCallback(() => {\n return (\n <div className={classnames(style.description, !showMore && style.truncate)}>\n {description}\n </div>\n );\n });\n\n const ProgressBar = useCallback(() => {\n if (score === undefined) return null;\n const progressBarColor = '#3EC483';\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${score}%`\n };\n\n return (\n <div className={style.progressBarWrapper}>\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressValueStyle}\n role=\"progressbar\"\n />\n </div>\n );\n }, [score]);\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={ref}>\n <div className={style.backButtonWrapper} onClick={onBackClick}>\n <Icon\n iconName=\"arrow-left\"\n size={{\n faSize: 14,\n wrapperSize: 14\n }}\n />\n </div>\n <div className={style.ctaContainer}>\n <div>\n {focused ? (\n <div className={style.skillFocusBadge}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n size={{\n faSize: 10,\n wrapperSize: 16\n }}\n />\n {translate('skill_focus')}\n </div>\n ) : null}\n <div className={style.title}>{title}</div>\n {description ? (\n <>\n <Description />\n {description.length >= 226 ? (\n <div className={style.showMoreWrapper} onClick={handleShowMore}>\n {showMore ? translate('Show less') : translate('Show more')}\n <Icon\n iconName={showMore ? 'chevron-up' : 'chevron-down'}\n size={{\n faSize: 14,\n wrapperSize: 16\n }}\n />\n </div>\n ) : null}\n </>\n ) : null}\n </div>\n\n <div className={style.ctaWrapper}>\n <ButtonLink\n type=\"secondary\"\n onClick={onReviewClick}\n label={translate('review_this_skill')}\n disabled={!availableForReview}\n customStyle={{\n width: 'fit-content',\n borderRadius: '12px'\n }}\n />\n <ContinueLearningButton\n ongoingCoursesAvailable={!!ongoingCourses.list.length}\n onClick={onContinueLearningClick}\n />\n </div>\n </div>\n {score !== undefined ? (\n <div className={style.progressInformationsWrapper}>\n <div className={style.progressTitle}>{translate('your_progress')}</div>\n <div className={style.skillCoursesAndQuestionsWrapper}>\n {content ? (\n <div className={style.skillInformation} data-name=\"skill-courses\">\n <span className={style.skillInformationNumber}>{content}</span>{' '}\n {translate('courses')}\n </div>\n ) : null}\n {questionsToReview ? (\n <div className={style.skillInformation} data-name=\"skill-questions\">\n <span className={style.skillInformationNumber}>{questionsToReview}</span>\n {translate('questions')}\n </div>\n ) : null}\n </div>\n <ProgressBar />\n <div className={style.progressInformations}>\n {content && (\n <>\n <div className={style.progressInformation} data-name=\"skill-completed-courses\">\n <span className={style.progressInformationNumber}>{contentCompleted}</span>\n {` ${translate('courses_completed')}`}\n </div>\n <div className={style.progressInformation} data-name=\"completed-percentage\">\n <span className={style.progressInformationNumber}>{score}%</span>\n </div>\n </>\n )}\n </div>\n </div>\n ) : null}\n <ContinueLearning ongoingCourses={ongoingCourses} />\n <AllCourses\n skillIncludedCourses={skillIncludedCourses}\n totalCourses={totalCourses}\n filters={filters}\n sorting={sorting}\n />\n </div>\n </div>\n );\n};\n\nSkillDetail.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nSkillDetail.propTypes = {\n title: PropTypes.string.isRequired,\n ref: PropTypes.string.isRequired,\n description: PropTypes.string,\n metrics: PropTypes.shape({\n score: PropTypes.number,\n content: PropTypes.number,\n questionsToReview: PropTypes.number,\n contentCompleted: PropTypes.number\n }),\n focused: PropTypes.bool,\n availableForReview: PropTypes.bool,\n ongoingCourses: PropTypes.shape(CardsGrid.propTypes),\n skillIncludedCourses: PropTypes.shape(CardsGrid.propTypes),\n totalCourses: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes),\n onBackClick: PropTypes.func,\n onReviewClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func\n};\n\nexport default SkillDetail;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["ContinueLearningButton","props","context","hovered","setHovered","useState","ongoingCoursesAvailable","onClick","skin","translate","primarySkinColor","handleMouseOver","useCallback","handleMouseLeave","width","borderRadius","backgroundColor","convert","position","faIcon","name","color","size","contextTypes","Provider","childContextTypes","propTypes","PropTypes","bool","func","SkillDetail","title","skillRef","description","metrics","focused","availableForReview","ongoingCourses","skillIncludedCourses","totalCourses","filters","sorting","onBackClick","onReviewClick","onContinueLearningClick","score","content","questionsToReview","contentCompleted","showMore","setShowMore","handleShowMore","Description","classnames","style","truncate","ProgressBar","undefined","progressBarColor","inlineProgressValueStyle","progressBarWrapper","progress","backgroundContainer","container","backButtonWrapper","faSize","wrapperSize","ctaContainer","skillFocusBadge","length","showMoreWrapper","ctaWrapper","list","progressInformationsWrapper","progressTitle","skillCoursesAndQuestionsWrapper","skillInformation","skillInformationNumber","progressInformations","progressInformation","progressInformationNumber","string","isRequired","shape","number","CardsGrid","onChange","options","arrayOf","SelectOptionPropTypes","Select"],"sources":["../../../src/template/skill-detail/index.js"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport classnames from 'classnames';\nimport {get} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport Icon from '../../atom/icon';\nimport CardsGrid from '../../organism/cards-grid';\nimport style from './style.css';\nimport AllCourses from './all-courses';\nimport ContinueLearning from './continue-learning';\n\nconst ContinueLearningButton = (props, context) => {\n const [hovered, setHovered] = useState(false);\n const {ongoingCoursesAvailable, onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n return (\n <div onMouseOver={handleMouseOver} onMouseLeave={handleMouseLeave}>\n <ButtonLink\n label={\n ongoingCoursesAvailable ? translate('continue_learning') : translate('start_learning')\n }\n type=\"primary\"\n customStyle={{\n width: 'fit-content',\n borderRadius: '12px',\n backgroundColor: hovered\n ? convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`)\n : primarySkinColor\n }}\n icon={{\n position: 'left',\n faIcon: {\n name: 'play',\n color: '#FFFFFF',\n size: 16\n }\n }}\n onClick={onClick}\n />\n </div>\n );\n};\n\nContinueLearningButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContinueLearningButton.propTypes = {\n ongoingCoursesAvailable: PropTypes.bool,\n onClick: PropTypes.func\n};\n\nconst SkillDetail = (props, context) => {\n const {\n title,\n skillRef,\n description,\n metrics = {},\n focused,\n availableForReview,\n ongoingCourses,\n skillIncludedCourses,\n totalCourses,\n filters,\n sorting,\n onBackClick,\n onReviewClick,\n onContinueLearningClick\n } = props;\n const {score, content, questionsToReview, contentCompleted = 0} = metrics;\n const {translate} = context;\n\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => setShowMore(!showMore), [setShowMore, showMore]);\n\n const Description = useCallback(() => {\n return (\n <div className={classnames(style.description, !showMore && style.truncate)}>\n {description}\n </div>\n );\n }, [showMore, description]);\n\n const ProgressBar = useCallback(() => {\n if (score === undefined) return null;\n const progressBarColor = '#3EC483';\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${score}%`\n };\n\n return (\n <div className={style.progressBarWrapper}>\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressValueStyle}\n role=\"progressbar\"\n />\n </div>\n );\n }, [score]);\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={skillRef}>\n <div className={style.backButtonWrapper} onClick={onBackClick}>\n <Icon\n iconName=\"arrow-left\"\n size={{\n faSize: 14,\n wrapperSize: 14\n }}\n />\n </div>\n <div className={style.ctaContainer}>\n <div>\n {focused ? (\n <div className={style.skillFocusBadge}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n size={{\n faSize: 10,\n wrapperSize: 16\n }}\n />\n {translate('skill_focus')}\n </div>\n ) : null}\n <div className={style.title}>{title}</div>\n {description ? (\n <>\n <Description />\n {description.length >= 226 ? (\n <div className={style.showMoreWrapper} onClick={handleShowMore}>\n {showMore ? translate('Show less') : translate('Show more')}\n <Icon\n iconName={showMore ? 'chevron-up' : 'chevron-down'}\n size={{\n faSize: 14,\n wrapperSize: 16\n }}\n />\n </div>\n ) : null}\n </>\n ) : null}\n </div>\n\n <div className={style.ctaWrapper}>\n <ButtonLink\n type=\"secondary\"\n onClick={onReviewClick}\n label={translate('review_this_skill')}\n disabled={!availableForReview}\n customStyle={{\n width: 'fit-content',\n borderRadius: '12px'\n }}\n />\n <ContinueLearningButton\n ongoingCoursesAvailable={!!ongoingCourses.list.length}\n onClick={onContinueLearningClick}\n />\n </div>\n </div>\n {score !== undefined ? (\n <div className={style.progressInformationsWrapper}>\n <div className={style.progressTitle}>{translate('your_progress')}</div>\n <div className={style.skillCoursesAndQuestionsWrapper}>\n {content ? (\n <div className={style.skillInformation} data-name=\"skill-courses\">\n <span className={style.skillInformationNumber}>{content}</span>{' '}\n {translate('courses')}\n </div>\n ) : null}\n {questionsToReview ? (\n <div className={style.skillInformation} data-name=\"skill-questions\">\n <span className={style.skillInformationNumber}>{questionsToReview}</span>\n {translate('questions')}\n </div>\n ) : null}\n </div>\n <ProgressBar />\n <div className={style.progressInformations}>\n {content && (\n <>\n <div className={style.progressInformation} data-name=\"skill-completed-courses\">\n <span className={style.progressInformationNumber}>{contentCompleted}</span>\n {` ${translate('courses_completed')}`}\n </div>\n <div className={style.progressInformation} data-name=\"completed-percentage\">\n <span className={style.progressInformationNumber}>{score}%</span>\n </div>\n </>\n )}\n </div>\n </div>\n ) : null}\n <ContinueLearning ongoingCourses={ongoingCourses} />\n <AllCourses\n skillIncludedCourses={skillIncludedCourses}\n totalCourses={totalCourses}\n filters={filters}\n sorting={sorting}\n />\n </div>\n </div>\n );\n};\n\nSkillDetail.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nSkillDetail.propTypes = {\n title: PropTypes.string.isRequired,\n skillRef: PropTypes.string.isRequired,\n description: PropTypes.string,\n metrics: PropTypes.shape({\n score: PropTypes.number,\n content: PropTypes.number,\n questionsToReview: PropTypes.number,\n contentCompleted: PropTypes.number\n }),\n focused: PropTypes.bool,\n availableForReview: PropTypes.bool,\n ongoingCourses: PropTypes.shape(CardsGrid.propTypes),\n skillIncludedCourses: PropTypes.shape(CardsGrid.propTypes),\n totalCourses: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes),\n onBackClick: PropTypes.func,\n onReviewClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func\n};\n\nexport default SkillDetail;\n"],"mappings":"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"}
|
package/locales/bs/global.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"all": "Sve",
|
|
3
|
+
"all_courses": "Svi kursevi",
|
|
3
4
|
"accepted_cards": "Kreditna ili debitna kartica",
|
|
4
5
|
"An Error Occurred": "Došlo je do greške ",
|
|
5
6
|
"Answer": "Odgovor",
|
|
@@ -22,6 +23,7 @@
|
|
|
22
23
|
"Create a new cohort": "Kreiraj novu kohortu",
|
|
23
24
|
"courses": "Kursevi",
|
|
24
25
|
"courses_completed": "Kursevi završeni",
|
|
26
|
+
"continue_learning": "Nastavite sa učenjem",
|
|
25
27
|
"skills_change_focus": "Promijenite fokus vještina",
|
|
26
28
|
"skills_choose_focus": "Odaberite fokus",
|
|
27
29
|
"cancel": "Otkaži",
|
|
@@ -59,6 +61,7 @@
|
|
|
59
61
|
"product_desc_culture": "Digitalna kultura: svi nivoi završeni",
|
|
60
62
|
"product_desc_forum": "Forum",
|
|
61
63
|
"product_desc_partnership": "Svi treninzi naših partnera.",
|
|
64
|
+
"your_progress": "Vaš napredak",
|
|
62
65
|
"Put back": "Vratiti",
|
|
63
66
|
"Reject": "Odbaci",
|
|
64
67
|
"Reload": "Napuni",
|
|
@@ -66,12 +69,16 @@
|
|
|
66
69
|
"Review lesson": "Osvrnite se na lekciju",
|
|
67
70
|
"search_place_holder": "Traži...",
|
|
68
71
|
"secured_payment": "Osiguraj server",
|
|
72
|
+
"start_learning": "Počni učiti",
|
|
73
|
+
"sort_by": "Poredaj po:",
|
|
69
74
|
"See clue": "Vidi trag",
|
|
70
75
|
"See less": "Vidi manje",
|
|
71
76
|
"See lesson": "Pogledajte lekciju",
|
|
72
77
|
"Select a dashboard in the Sidebar": "Odaberite kontrolnu tablu u bočnoj traci",
|
|
73
78
|
"Show more": "Prikaži više",
|
|
79
|
+
"Show less": "Prikaži manje",
|
|
74
80
|
"Show": "Pokaži",
|
|
81
|
+
"show_completed": "Show završen",
|
|
75
82
|
"Start battle": "Pokreni borbu",
|
|
76
83
|
"skills_section_title": "Vještine",
|
|
77
84
|
"skills_section_description": "Istražite ili pregledajte vještine",
|
|
@@ -127,6 +134,7 @@
|
|
|
127
134
|
"invalid_scorm": "scorm datoteka nije važeća",
|
|
128
135
|
"show_errors": "pokazati greške"
|
|
129
136
|
},
|
|
137
|
+
"review_this_skill": "Pregledajte ovu vještinu",
|
|
130
138
|
"review_skill_empty": "Još nemate vještinu za reviziju",
|
|
131
139
|
"review_skill_empty_description": "Prvo morate završiti kurseve prije nego što možete provjeriti različite vještine.",
|
|
132
140
|
"close_button_ariaLabel": "Zatvorite slajd za recenziju",
|
package/locales/cs/global.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"all": "Vše",
|
|
3
|
+
"all_courses": "Všechny kurzy",
|
|
3
4
|
"accepted_cards": "Kreditní nebo debetní karta",
|
|
4
5
|
"An Error Occurred": "Došlo k chybě",
|
|
5
6
|
"Answer": "Odpovědět",
|
|
@@ -22,6 +23,7 @@
|
|
|
22
23
|
"Create a new cohort": "Create a new cohort",
|
|
23
24
|
"courses": "Kurzy",
|
|
24
25
|
"courses_completed": "Dokončené kurzy",
|
|
26
|
+
"continue_learning": "Pokračujte v učení",
|
|
25
27
|
"skills_change_focus": "Změnit zaměření dovednosti",
|
|
26
28
|
"skills_choose_focus": "Vyberte své zaměření",
|
|
27
29
|
"cancel": "Zrušit",
|
|
@@ -59,6 +61,7 @@
|
|
|
59
61
|
"product_desc_culture": "Digitální kultura: všechny úrovně dokončené",
|
|
60
62
|
"product_desc_forum": "Fórum",
|
|
61
63
|
"product_desc_partnership": "Všechny školicí kurzy našich partnerů",
|
|
64
|
+
"your_progress": "Váš pokrok",
|
|
62
65
|
"Put back": "Dát zpět",
|
|
63
66
|
"Reject": "Zamítnout",
|
|
64
67
|
"Reload": "Načíst znovu",
|
|
@@ -66,12 +69,16 @@
|
|
|
66
69
|
"Review lesson": "Zopakovat lekci",
|
|
67
70
|
"search_place_holder": "Vyhledat...",
|
|
68
71
|
"secured_payment": "Zabezpečený server",
|
|
72
|
+
"start_learning": "Začněte se učit",
|
|
73
|
+
"sort_by": "Seřazeno podle:",
|
|
69
74
|
"See clue": "Zobrazit nápovědu",
|
|
70
75
|
"See less": "Zobrazit méně",
|
|
71
76
|
"See lesson": "Zobrazit lekci",
|
|
72
77
|
"Select a dashboard in the Sidebar": "Vybrat ovládací panel v postranním panelu",
|
|
73
78
|
"Show more": "Zobrazit další",
|
|
79
|
+
"Show less": "Ukaž méně",
|
|
74
80
|
"Show": "Zobrazit",
|
|
81
|
+
"show_completed": "Show dokončena",
|
|
75
82
|
"Start battle": "Zahájit souboj",
|
|
76
83
|
"skills_section_title": "Dovednosti",
|
|
77
84
|
"skills_section_description": "Prozkoumat nebo prověřit dovednosti",
|
|
@@ -127,6 +134,7 @@
|
|
|
127
134
|
"invalid_scorm": "soubor scorm je neplatný",
|
|
128
135
|
"show_errors": "zobrazit chyby"
|
|
129
136
|
},
|
|
137
|
+
"review_this_skill": "Zkontrolujte tuto dovednost",
|
|
130
138
|
"review_skill_empty": "Zatím nemáte žádnou dovednost k prověření",
|
|
131
139
|
"review_skill_empty_description": "Nejprve musíte dokončit kurzy, než budete moci prověřovat různé dovednosti.",
|
|
132
140
|
"close_button_ariaLabel": "Zavřít snímek recenze",
|
package/locales/de/global.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"all": "Alle",
|
|
3
|
+
"all_courses": "Alle Kurse",
|
|
3
4
|
"accepted_cards": "Kredit- oder Debitkarte",
|
|
4
5
|
"An Error Occurred": "Ein Fehler ist aufgetreten",
|
|
5
6
|
"Answer": "Antwort",
|
|
@@ -22,6 +23,7 @@
|
|
|
22
23
|
"Create a new cohort": "Create a new cohort",
|
|
23
24
|
"courses": "Kurse",
|
|
24
25
|
"courses_completed": "Kurse abgeschlossen",
|
|
26
|
+
"continue_learning": "Weiter lernen",
|
|
25
27
|
"skills_change_focus": "Fähigkeitsfokus ändern",
|
|
26
28
|
"skills_choose_focus": "Wählen Sie Ihren Fokus",
|
|
27
29
|
"cancel": "Abbrechen",
|
|
@@ -59,6 +61,7 @@
|
|
|
59
61
|
"product_desc_culture": "Digitale Kultur: alle Levels abgeschlossen",
|
|
60
62
|
"product_desc_forum": "Forum",
|
|
61
63
|
"product_desc_partnership": "Alle Kurse unserer Partner",
|
|
64
|
+
"your_progress": "Dein Fortschritt",
|
|
62
65
|
"Put back": "Zurücksetzen",
|
|
63
66
|
"Reject": "Verwerfen",
|
|
64
67
|
"Reload": "Neu laden",
|
|
@@ -66,12 +69,16 @@
|
|
|
66
69
|
"Review lesson": "Zurück zur Lektion",
|
|
67
70
|
"search_place_holder": "Suchen",
|
|
68
71
|
"secured_payment": "Sicherer Server",
|
|
72
|
+
"start_learning": "Beginne zu lernen",
|
|
73
|
+
"sort_by": "Sortiere nach:",
|
|
69
74
|
"See clue": "Hinweis öffnen",
|
|
70
75
|
"See less": "Weniger anzeigen",
|
|
71
76
|
"See lesson": "Lektion anzeigen",
|
|
72
77
|
"Select a dashboard in the Sidebar": "Wählen Sie ein Dashboard in der Seitenleiste aus",
|
|
73
78
|
"Show more": "Mehr anzeigen",
|
|
79
|
+
"Show less": "Zeige weniger",
|
|
74
80
|
"Show": "Anzeigen",
|
|
81
|
+
"show_completed": "Show abgeschlossen",
|
|
75
82
|
"Start battle": "Battle starten",
|
|
76
83
|
"skills_section_title": "Fähigkeiten",
|
|
77
84
|
"skills_section_description": "Fähigkeiten erkunden oder überprüfen",
|
|
@@ -127,6 +134,7 @@
|
|
|
127
134
|
"invalid_scorm": "Scorm-Datei ist ungültig",
|
|
128
135
|
"show_errors": "Fehler anzeigen"
|
|
129
136
|
},
|
|
137
|
+
"review_this_skill": "Diese Fähigkeit überprüfen",
|
|
130
138
|
"review_skill_empty": "Sie haben noch keine Fähigkeiten zum Überarbeiten",
|
|
131
139
|
"review_skill_empty_description": "Sie müssen erst Kurse abschließen, bevor Sie verschiedene Fähigkeiten überprüfen können.",
|
|
132
140
|
"close_button_ariaLabel": "Bewertungsfolie schließen",
|
package/locales/es/global.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"all": "Todas",
|
|
3
|
+
"all_courses": "Todos los cursos",
|
|
3
4
|
"accepted_cards": "Tarjeta de débito o crédito",
|
|
4
5
|
"An Error Occurred": "Ha ocurrido un error",
|
|
5
6
|
"Answer": "Respuesta",
|
|
@@ -22,6 +23,7 @@
|
|
|
22
23
|
"Create a new cohort": "Create a new cohort",
|
|
23
24
|
"courses": "Cursos",
|
|
24
25
|
"courses_completed": "Cursos completados",
|
|
26
|
+
"continue_learning": "Continuar aprendiendo",
|
|
25
27
|
"skills_change_focus": "Cambiar enfoque de habilidades",
|
|
26
28
|
"skills_choose_focus": "Elige el enfoque que te interese",
|
|
27
29
|
"cancel": "Cancelar",
|
|
@@ -59,6 +61,7 @@
|
|
|
59
61
|
"product_desc_culture": "Cultura digital: todos los niveles completados",
|
|
60
62
|
"product_desc_forum": "Foro",
|
|
61
63
|
"product_desc_partnership": "Todos los cursos de entrenamiento de nuestros socios",
|
|
64
|
+
"your_progress": "Su progreso",
|
|
62
65
|
"Put back": "Vuelve a poner",
|
|
63
66
|
"Reject": "Rechazar",
|
|
64
67
|
"Reload": "Recargar",
|
|
@@ -66,12 +69,16 @@
|
|
|
66
69
|
"Review lesson": "Repasar lección",
|
|
67
70
|
"search_place_holder": "Buscar...",
|
|
68
71
|
"secured_payment": "Servidor seguro",
|
|
72
|
+
"start_learning": "Comienza a aprender",
|
|
73
|
+
"sort_by": "Ordenar por:",
|
|
69
74
|
"See clue": "Ver pista",
|
|
70
75
|
"See less": "Ver menos",
|
|
71
76
|
"See lesson": "Ver lección",
|
|
72
77
|
"Select a dashboard in the Sidebar": "Selecciona un panel en la barra lateral",
|
|
73
78
|
"Show more": "Ver más",
|
|
79
|
+
"Show less": "Muestra menos",
|
|
74
80
|
"Show": "Mostrar",
|
|
81
|
+
"show_completed": "Mostrar completado",
|
|
75
82
|
"Start battle": "Comenzar batalla",
|
|
76
83
|
"skills_section_title": "Habilidades",
|
|
77
84
|
"skills_section_description": "Explora o repasa habilidades",
|
|
@@ -127,6 +134,7 @@
|
|
|
127
134
|
"invalid_scorm": "el archivo scorm no es válido",
|
|
128
135
|
"show_errors": "mostrar errores"
|
|
129
136
|
},
|
|
137
|
+
"review_this_skill": "Revisa esta habilidad",
|
|
130
138
|
"review_skill_empty": "Aún no tienes ninguna habilidad para repasar",
|
|
131
139
|
"review_skill_empty_description": "Primero tienes que completar los cursos antes de poder repasar habilidades diferentes.",
|
|
132
140
|
"close_button_ariaLabel": "Cerrar pantalla de reseña",
|
package/locales/et/global.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"all": "Kõik",
|
|
3
|
+
"all_courses": "Kõik kursused",
|
|
3
4
|
"accepted_cards": "Credit or debit card",
|
|
4
5
|
"An Error Occurred": "Ilmnes tõrge",
|
|
5
6
|
"Answer": "Vastus",
|
|
@@ -22,6 +23,7 @@
|
|
|
22
23
|
"Create a new cohort": "Loo uus grupp",
|
|
23
24
|
"courses": "Kursused",
|
|
24
25
|
"courses_completed": "Lõpetatud kursused",
|
|
26
|
+
"continue_learning": "Jätkake õppimist",
|
|
25
27
|
"skills_change_focus": "Muuda oskusfookust",
|
|
26
28
|
"skills_choose_focus": "Vali oma fookus",
|
|
27
29
|
"cancel": "Tühista",
|
|
@@ -59,6 +61,7 @@
|
|
|
59
61
|
"product_desc_culture": "Digitaalne kultuur: kõik tasemed on läbitud",
|
|
60
62
|
"product_desc_forum": "Foorum",
|
|
61
63
|
"product_desc_partnership": "All training courses of our partners",
|
|
64
|
+
"your_progress": "Teie edusammud",
|
|
62
65
|
"Put back": "Pane tagasi",
|
|
63
66
|
"Reject": "Keeldu",
|
|
64
67
|
"Reload": "Laadi uuesti",
|
|
@@ -66,12 +69,16 @@
|
|
|
66
69
|
"Review lesson": "Ülevaatustund",
|
|
67
70
|
"search_place_holder": "Otsi ...",
|
|
68
71
|
"secured_payment": "Turvaline server",
|
|
72
|
+
"start_learning": "Alusta õppimist",
|
|
73
|
+
"sort_by": "Sorteerima:",
|
|
69
74
|
"See clue": "Näita vihjet",
|
|
70
75
|
"See less": "Näita vähem",
|
|
71
76
|
"See lesson": "Vaadake õppetundi",
|
|
72
77
|
"Select a dashboard in the Sidebar": "Vali töölaud küljeribalt",
|
|
73
78
|
"Show more": "Näita rohkem",
|
|
79
|
+
"Show less": "Näita vähem",
|
|
74
80
|
"Show": "Näita",
|
|
81
|
+
"show_completed": "Näitus lõpetatud",
|
|
75
82
|
"Start battle": "Astu lahingusse",
|
|
76
83
|
"skills_section_title": "Oskused",
|
|
77
84
|
"skills_section_description": "Avasta oskusi ja tee ülevaateid",
|
|
@@ -127,6 +134,7 @@
|
|
|
127
134
|
"invalid_scorm": "scormi fail ei ole kehtiv",
|
|
128
135
|
"show_errors": "näidata vigu"
|
|
129
136
|
},
|
|
137
|
+
"review_this_skill": "Vaadake see oskus üle",
|
|
130
138
|
"review_skill_empty": "Sul puuduvad ülevaatuseks oskused",
|
|
131
139
|
"review_skill_empty_description": "Enne eri oskuste ülevaatamist tuleb sul läbida kursused.",
|
|
132
140
|
"close_button_ariaLabel": "Sulgege ülekordamise slaid",
|
package/locales/fi/global.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"all": "Kaikki",
|
|
3
|
+
"all_courses": "Kaikki kurssit",
|
|
3
4
|
"accepted_cards": "Luotto- tai pankkikortti",
|
|
4
5
|
"An Error Occurred": "Tapahtui virhe",
|
|
5
6
|
"Answer": "Vastaus",
|
|
@@ -22,6 +23,7 @@
|
|
|
22
23
|
"Create a new cohort": "Luo uusi kohortti",
|
|
23
24
|
"courses": "Kurssit",
|
|
24
25
|
"courses_completed": "Suoritetut kurssit",
|
|
26
|
+
"continue_learning": "Jatka oppimista",
|
|
25
27
|
"skills_change_focus": "Vaihda osaamisen painopistettä",
|
|
26
28
|
"skills_choose_focus": "Valitse painopisteesi",
|
|
27
29
|
"cancel": "Peruuta",
|
|
@@ -59,6 +61,7 @@
|
|
|
59
61
|
"product_desc_culture": "Digitaalinen kulttuuri: kaikki tasot suoritettu",
|
|
60
62
|
"product_desc_forum": "Keskustelupalsta",
|
|
61
63
|
"product_desc_partnership": "Kaikki kumppaneidemme koulutuskurssit",
|
|
64
|
+
"your_progress": "Edistymisesi",
|
|
62
65
|
"Put back": "Pane takaisin",
|
|
63
66
|
"Reject": "Hylkää",
|
|
64
67
|
"Reload": "Lataa uudelleen",
|
|
@@ -66,12 +69,16 @@
|
|
|
66
69
|
"Review lesson": "Katso oppitunti uudelleen",
|
|
67
70
|
"search_place_holder": "Hae...",
|
|
68
71
|
"secured_payment": "Turvallinen palvelin",
|
|
72
|
+
"start_learning": "Aloita oppiminen",
|
|
73
|
+
"sort_by": "Järjestä:",
|
|
69
74
|
"See clue": "Näytä vihje",
|
|
70
75
|
"See less": "Näytä vähemmän",
|
|
71
76
|
"See lesson": "Näytä oppitunti",
|
|
72
77
|
"Select a dashboard in the Sidebar": "Valitse koontinäyttö sivupalkista",
|
|
73
78
|
"Show more": "Näytä enemmän",
|
|
79
|
+
"Show less": "Näytä vähemmän",
|
|
74
80
|
"Show": "Aloita taistelu",
|
|
81
|
+
"show_completed": "Esitys valmis",
|
|
75
82
|
"Start battle": "Aloita taistelu",
|
|
76
83
|
"skills_section_title": "Valmiudet",
|
|
77
84
|
"skills_section_description": "Tutustu valmiuksiin tai kertaa niitä",
|
|
@@ -127,6 +134,7 @@
|
|
|
127
134
|
"invalid_scorm": "Scorm-tiedosto ei ole käypä",
|
|
128
135
|
"show_errors": "näytä virheet"
|
|
129
136
|
},
|
|
137
|
+
"review_this_skill": "Tarkista tämä taito",
|
|
130
138
|
"review_skill_empty": "Sinulla ei ole vielä kerrattavia valmiuksia",
|
|
131
139
|
"review_skill_empty_description": "Sinun on ensin suoritettava kursseja ennen kuin voit kerrata eri valmiuksia.",
|
|
132
140
|
"close_button_ariaLabel": "Sulje tarkastusdia",
|
package/locales/fr/global.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"all": "Toutes",
|
|
3
|
+
"all_courses": "Tous les cours",
|
|
3
4
|
"accepted_cards": "Carte de crédit ou de débit",
|
|
4
5
|
"An Error Occurred": "Une erreur s’est produite",
|
|
5
6
|
"Answer": "Répondre",
|
|
@@ -22,6 +23,7 @@
|
|
|
22
23
|
"Create a new cohort": "Créer une nouvelle cohorte",
|
|
23
24
|
"courses": "Cours",
|
|
24
25
|
"courses_completed": "Cours terminés",
|
|
26
|
+
"continue_learning": "Continuer à apprendre",
|
|
25
27
|
"skills_change_focus": "Changer ses compétences ciblées",
|
|
26
28
|
"skills_choose_focus": "Choisissez votre objectif",
|
|
27
29
|
"cancel": "Annuler",
|
|
@@ -59,6 +61,7 @@
|
|
|
59
61
|
"product_desc_culture": "Culture digitale : tous les niveaux terminés",
|
|
60
62
|
"product_desc_forum": "Forum",
|
|
61
63
|
"product_desc_partnership": "Toutes les formations de nos partenaires",
|
|
64
|
+
"your_progress": "Votre progression",
|
|
62
65
|
"Put back": "Autoriser",
|
|
63
66
|
"Reject": "Rejeter",
|
|
64
67
|
"Reload": "Recharger",
|
|
@@ -66,12 +69,16 @@
|
|
|
66
69
|
"Review lesson": "Revoir la leçon",
|
|
67
70
|
"search_place_holder": "Rechercher...",
|
|
68
71
|
"secured_payment": "Serveur sécurisé",
|
|
72
|
+
"start_learning": "Commencer à apprendre",
|
|
73
|
+
"sort_by": "Trier par :",
|
|
69
74
|
"See clue": "Voir l'indice",
|
|
70
75
|
"See less": "Voir moins",
|
|
71
76
|
"See lesson": "Voir la leçon",
|
|
72
77
|
"Select a dashboard in the Sidebar": "Sélectionnez un tableau de bord dans la barre latérale",
|
|
73
78
|
"Show more": "Voir plus",
|
|
79
|
+
"Show less": "Montrer moins",
|
|
74
80
|
"Show": "Voir",
|
|
81
|
+
"show_completed": "Montrer (seulement) les complétés",
|
|
75
82
|
"Start battle": "Commencer la battle",
|
|
76
83
|
"skills_section_title": "Compétences",
|
|
77
84
|
"skills_section_description": "Explorer ou réviser les compétences",
|
|
@@ -127,6 +134,7 @@
|
|
|
127
134
|
"invalid_scorm": "Le fichier SCORM n'est pas valide",
|
|
128
135
|
"show_errors": "afficher les erreurs"
|
|
129
136
|
},
|
|
137
|
+
"review_this_skill": "Revoir cette compétence",
|
|
130
138
|
"review_skill_empty": "Vous n'avez pas encore de compétence à réviser",
|
|
131
139
|
"review_skill_empty_description": "Vous devez d'abord suivre des cours avant de pouvoir réviser différentes compétences.",
|
|
132
140
|
"close_button_ariaLabel": "Fermez la diapositive de révision",
|
package/locales/hr/global.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"all": "Sve",
|
|
3
|
+
"all_courses": "Svi tečajevi",
|
|
3
4
|
"accepted_cards": "Kreditna ili debitna kartica",
|
|
4
5
|
"An Error Occurred": "Došlo je do pogreške",
|
|
5
6
|
"Answer": "Odgovor",
|
|
@@ -22,6 +23,7 @@
|
|
|
22
23
|
"Create a new cohort": "Stvorite novu skupinu",
|
|
23
24
|
"courses": "Tečajevi",
|
|
24
25
|
"courses_completed": "Završeni tečajevi",
|
|
26
|
+
"continue_learning": "Nastavite učiti",
|
|
25
27
|
"skills_change_focus": "Promijeni fokus vještina",
|
|
26
28
|
"skills_choose_focus": "Odaberi svoj fokus",
|
|
27
29
|
"cancel": "Odustani",
|
|
@@ -59,6 +61,7 @@
|
|
|
59
61
|
"product_desc_culture": "Digitalna kultura: sve razine završene",
|
|
60
62
|
"product_desc_forum": "Forum",
|
|
61
63
|
"product_desc_partnership": "Svi tečajevi usavršavanja naših partnera",
|
|
64
|
+
"your_progress": "Vaš napredak",
|
|
62
65
|
"Put back": "Vratite natrag",
|
|
63
66
|
"Reject": "Odbijte",
|
|
64
67
|
"Reload": "Ponovno učitajte",
|
|
@@ -66,12 +69,16 @@
|
|
|
66
69
|
"Review lesson": "Pregledajte lekciju",
|
|
67
70
|
"search_place_holder": "Pretraži...",
|
|
68
71
|
"secured_payment": "Sigurni poslužitelj",
|
|
72
|
+
"start_learning": "Počnite učiti",
|
|
73
|
+
"sort_by": "poredaj po:",
|
|
69
74
|
"See clue": "Pomoć za pitanje",
|
|
70
75
|
"See less": "Vidite manje",
|
|
71
76
|
"See lesson": "Vidite lekciju",
|
|
72
77
|
"Select a dashboard in the Sidebar": "Odaberite nadzornu ploču na bočnoj traci",
|
|
73
78
|
"Show more": "Prikaži više",
|
|
79
|
+
"Show less": "Prikaži manje",
|
|
74
80
|
"Show": "Pokaži",
|
|
81
|
+
"show_completed": "Prikaz dovršen",
|
|
75
82
|
"Start battle": "Započnite dvoboj",
|
|
76
83
|
"skills_section_title": "Vještine",
|
|
77
84
|
"skills_section_description": "Istraži ili pregledaj vještine",
|
|
@@ -127,6 +134,7 @@
|
|
|
127
134
|
"invalid_scorm": "scorm datoteka nije ispravna",
|
|
128
135
|
"show_errors": "pokazati greške"
|
|
129
136
|
},
|
|
137
|
+
"review_this_skill": "Pregledajte ovu vještinu",
|
|
130
138
|
"review_skill_empty": "Još nemaš vještinu za pregled",
|
|
131
139
|
"review_skill_empty_description": "Prvo moraš završiti tečajeve prije nego što možeš pregledavati različite vještine.",
|
|
132
140
|
"close_button_ariaLabel": "Zatvori pregledni slajd",
|