@redocly/theme 0.43.0 → 0.44.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/lib/components/Buttons/CopyButton.js +2 -2
- package/lib/components/Buttons/EditPageButton.js +1 -1
- package/lib/components/Catalog/CatalogActions.js +1 -1
- package/lib/components/Feedback/Comment.js +6 -6
- package/lib/components/Feedback/Mood.js +7 -7
- package/lib/components/Feedback/Rating.js +4 -4
- package/lib/components/Feedback/Reasons.js +3 -3
- package/lib/components/Feedback/Scale.js +10 -10
- package/lib/components/Feedback/Sentiment.js +5 -5
- package/lib/components/Filter/FilterContent.js +2 -2
- package/lib/components/Filter/FilterInput.js +1 -1
- package/lib/components/Filter/FilterPopover.js +2 -2
- package/lib/components/Filter/FilterSelect.js +1 -1
- package/lib/components/Footer/FooterCopyright.js +2 -2
- package/lib/components/LastUpdated/LastUpdated.js +1 -1
- package/lib/components/PageNavigation/NextButton.js +1 -1
- package/lib/components/PageNavigation/PreviousButton.js +1 -1
- package/lib/components/Product/ProductPicker.js +1 -1
- package/lib/components/Search/FilterFields/SearchFilterFieldSelect.js +1 -1
- package/lib/components/Search/SearchDialog.js +10 -10
- package/lib/components/Search/SearchFilter.js +2 -2
- package/lib/components/Search/SearchFilterField.js +1 -1
- package/lib/components/Search/SearchRecent.js +1 -1
- package/lib/components/Search/SearchSuggestedPages.js +1 -1
- package/lib/components/Search/SearchTrigger.js +2 -2
- package/lib/components/SidebarActions/ChangeViewButton.js +1 -1
- package/lib/components/SidebarActions/SidebarActions.js +2 -2
- package/lib/components/TableOfContent/TableOfContent.js +1 -1
- package/lib/components/UserMenu/LoginButton.js +1 -1
- package/lib/components/UserMenu/LogoutMenuItem.js +1 -1
- package/lib/components/UserMenu/UserMenu.js +1 -1
- package/lib/components/VersionPicker/VersionPicker.js +2 -2
- package/lib/core/hooks/feedback/use-report-dialog.js +3 -3
- package/lib/core/hooks/menu/use-mobile-menu-items.js +1 -1
- package/lib/core/hooks/menu/use-mobile-menu-levels.js +2 -2
- package/lib/core/types/l10n.d.ts +1 -1
- package/lib/core/utils/menu.js +1 -1
- package/lib/layouts/Forbidden.js +2 -2
- package/lib/layouts/NotFound.js +3 -3
- package/lib/layouts/OIDCForbidden.js +1 -1
- package/lib/markdoc/tags/partial.js +1 -1
- package/package.json +7 -7
- package/src/components/Buttons/CopyButton.tsx +2 -2
- package/src/components/Buttons/EditPageButton.tsx +2 -2
- package/src/components/Catalog/CatalogActions.tsx +2 -2
- package/src/components/Feedback/Comment.tsx +8 -8
- package/src/components/Feedback/Mood.tsx +8 -8
- package/src/components/Feedback/Rating.tsx +5 -5
- package/src/components/Feedback/Reasons.tsx +4 -4
- package/src/components/Feedback/Scale.tsx +13 -13
- package/src/components/Feedback/Sentiment.tsx +6 -6
- package/src/components/Filter/FilterContent.tsx +3 -3
- package/src/components/Filter/FilterInput.tsx +1 -1
- package/src/components/Filter/FilterPopover.tsx +3 -3
- package/src/components/Filter/FilterSelect.tsx +2 -2
- package/src/components/Footer/FooterCopyright.tsx +3 -3
- package/src/components/LastUpdated/LastUpdated.tsx +1 -2
- package/src/components/PageNavigation/NextButton.tsx +1 -1
- package/src/components/PageNavigation/PreviousButton.tsx +1 -1
- package/src/components/Product/ProductPicker.tsx +2 -2
- package/src/components/Search/FilterFields/SearchFilterFieldSelect.tsx +1 -1
- package/src/components/Search/SearchDialog.tsx +17 -20
- package/src/components/Search/SearchFilter.tsx +4 -4
- package/src/components/Search/SearchFilterField.tsx +2 -2
- package/src/components/Search/SearchRecent.tsx +2 -2
- package/src/components/Search/SearchSuggestedPages.tsx +2 -2
- package/src/components/Search/SearchTrigger.tsx +2 -2
- package/src/components/SidebarActions/ChangeViewButton.tsx +1 -1
- package/src/components/SidebarActions/SidebarActions.tsx +2 -2
- package/src/components/TableOfContent/TableOfContent.tsx +2 -2
- package/src/components/UserMenu/LoginButton.tsx +2 -2
- package/src/components/UserMenu/LogoutMenuItem.tsx +2 -2
- package/src/components/UserMenu/UserMenu.tsx +2 -2
- package/src/components/VersionPicker/VersionPicker.tsx +3 -3
- package/src/core/hooks/feedback/use-report-dialog.ts +3 -3
- package/src/core/hooks/menu/use-mobile-menu-items.ts +1 -1
- package/src/core/hooks/menu/use-mobile-menu-levels.ts +2 -2
- package/src/core/types/l10n.ts +67 -67
- package/src/core/utils/menu.ts +1 -1
- package/src/layouts/Forbidden.tsx +4 -9
- package/src/layouts/NotFound.tsx +6 -6
- package/src/layouts/OIDCForbidden.tsx +2 -2
- package/src/markdoc/tags/partial.ts +1 -1
|
@@ -110,9 +110,9 @@ export function SearchDialog({ onClose, className }: SearchDialogProps): JSX.Ele
|
|
|
110
110
|
<SearchInput
|
|
111
111
|
value={query}
|
|
112
112
|
onChange={setQuery}
|
|
113
|
-
placeholder={translate('
|
|
113
|
+
placeholder={translate('search.label', 'Search docs...')}
|
|
114
114
|
isLoading={isSearchLoading}
|
|
115
|
-
data-translation-key="
|
|
115
|
+
data-translation-key="search.label"
|
|
116
116
|
/>
|
|
117
117
|
{advancedSearch && (
|
|
118
118
|
<SearchFilterToggleButton icon={<SettingsIcon />} onClick={onFilterToggle} />
|
|
@@ -135,12 +135,12 @@ export function SearchDialog({ onClose, className }: SearchDialogProps): JSX.Ele
|
|
|
135
135
|
{items[key]?.map(mapItem)}
|
|
136
136
|
{showLoadMore(key, items[key]?.length || 0) && (
|
|
137
137
|
<SearchGroupFooter
|
|
138
|
-
data-translation-key="
|
|
138
|
+
data-translation-key="search.showMore"
|
|
139
139
|
onClick={() =>
|
|
140
140
|
setLoadMore({ groupKey: key, offset: items[key]?.length || 0 })
|
|
141
141
|
}
|
|
142
142
|
>
|
|
143
|
-
{translate('
|
|
143
|
+
{translate('search.showMore', 'Show more')}
|
|
144
144
|
</SearchGroupFooter>
|
|
145
145
|
)}
|
|
146
146
|
</Fragment>
|
|
@@ -149,15 +149,12 @@ export function SearchDialog({ onClose, className }: SearchDialogProps): JSX.Ele
|
|
|
149
149
|
) : isSearchLoading ? (
|
|
150
150
|
<SearchMessage>
|
|
151
151
|
<SpinnerLoader size="26px" color="var(--search-input-icon-color)" />
|
|
152
|
-
{translate('
|
|
152
|
+
{translate('search.loading', 'Loading...')}
|
|
153
153
|
</SearchMessage>
|
|
154
154
|
) : (
|
|
155
|
-
<SearchMessage data-translation-key="
|
|
156
|
-
<b>{translate('
|
|
157
|
-
{translate(
|
|
158
|
-
'theme.search.noResults.description',
|
|
159
|
-
'Prease, try with a different query.',
|
|
160
|
-
)}
|
|
155
|
+
<SearchMessage data-translation-key="search.noResults">
|
|
156
|
+
<b>{translate('search.noResults.title', 'No results')}</b>
|
|
157
|
+
{translate('search.noResults.description', 'Prease, try with a different query.')}
|
|
161
158
|
</SearchMessage>
|
|
162
159
|
)
|
|
163
160
|
) : (
|
|
@@ -183,34 +180,34 @@ export function SearchDialog({ onClose, className }: SearchDialogProps): JSX.Ele
|
|
|
183
180
|
<SearchDialogFooter>
|
|
184
181
|
<SearchShortcuts>
|
|
185
182
|
<SearchShortcut
|
|
186
|
-
data-translation-key="
|
|
183
|
+
data-translation-key="search.keys.navigate"
|
|
187
184
|
combination="Tab"
|
|
188
|
-
text={translate('
|
|
185
|
+
text={translate('search.keys.navigate', 'to navigate')}
|
|
189
186
|
/>
|
|
190
187
|
<SearchShortcut
|
|
191
|
-
data-translation-key="
|
|
188
|
+
data-translation-key="search.keys.select"
|
|
192
189
|
combination="⏎"
|
|
193
|
-
text={translate('
|
|
190
|
+
text={translate('search.keys.select', 'to select')}
|
|
194
191
|
/>
|
|
195
192
|
<SearchShortcut
|
|
196
|
-
data-translation-key="
|
|
193
|
+
data-translation-key="search.keys.exit"
|
|
197
194
|
combination="Esc"
|
|
198
|
-
text={translate('
|
|
195
|
+
text={translate('search.keys.exit', 'to exit')}
|
|
199
196
|
/>
|
|
200
197
|
</SearchShortcuts>
|
|
201
198
|
{isSearchLoading && (
|
|
202
199
|
<SearchLoading>
|
|
203
200
|
<SpinnerLoader size="16px" color="var(--search-input-icon-color)" />
|
|
204
|
-
{translate('
|
|
201
|
+
{translate('search.loading', 'Loading...')}
|
|
205
202
|
</SearchLoading>
|
|
206
203
|
)}
|
|
207
204
|
<SearchCancelButton
|
|
208
|
-
data-translation-key="
|
|
205
|
+
data-translation-key="search.cancel"
|
|
209
206
|
variant="secondary"
|
|
210
207
|
size="small"
|
|
211
208
|
onClick={onClose}
|
|
212
209
|
>
|
|
213
|
-
{translate('
|
|
210
|
+
{translate('search.cancel', 'Cancel')}
|
|
214
211
|
</SearchCancelButton>
|
|
215
212
|
</SearchDialogFooter>
|
|
216
213
|
</SearchDialogWrapper>
|
|
@@ -32,16 +32,16 @@ export function SearchFilter({
|
|
|
32
32
|
return (
|
|
33
33
|
<SearchFilterWrapper data-component-name="Search/SearchFilter" className={className}>
|
|
34
34
|
<SearchFilterHeader>
|
|
35
|
-
<span data-translation-key="
|
|
36
|
-
{translate('
|
|
35
|
+
<span data-translation-key="search.filter.title">
|
|
36
|
+
{translate('search.filter.title', 'Advanced filter')}
|
|
37
37
|
</span>
|
|
38
38
|
<Button
|
|
39
|
-
data-translation-key="
|
|
39
|
+
data-translation-key="search.filter.reset"
|
|
40
40
|
onClick={onFilterReset}
|
|
41
41
|
variant="ghost"
|
|
42
42
|
icon={<CleanIcon />}
|
|
43
43
|
>
|
|
44
|
-
{translate('
|
|
44
|
+
{translate('search.filter.reset', 'Reset filters')}
|
|
45
45
|
</Button>
|
|
46
46
|
</SearchFilterHeader>
|
|
47
47
|
|
|
@@ -44,13 +44,13 @@ export function SearchFilterField({
|
|
|
44
44
|
{facet.name}
|
|
45
45
|
{selectedValues.length > 0 && (
|
|
46
46
|
<Button
|
|
47
|
-
data-translation-key="
|
|
47
|
+
data-translation-key="search.filter.field.reset"
|
|
48
48
|
icon={<ResetIcon />}
|
|
49
49
|
variant="ghost"
|
|
50
50
|
size="small"
|
|
51
51
|
onClick={onReset}
|
|
52
52
|
>
|
|
53
|
-
{translate('
|
|
53
|
+
{translate('search.filter.field.reset', 'Reset')}
|
|
54
54
|
</Button>
|
|
55
55
|
)}
|
|
56
56
|
</FilterFieldLabel>
|
|
@@ -34,8 +34,8 @@ export function SearchRecent({ onSelect, className }: SearchRecentProps): JSX.El
|
|
|
34
34
|
|
|
35
35
|
return (
|
|
36
36
|
<SearchRecentWrapper data-component-name="Search/SearchRecent" className={className}>
|
|
37
|
-
<SearchRecentTitle data-translation-key="
|
|
38
|
-
{translate('
|
|
37
|
+
<SearchRecentTitle data-translation-key="search.recent">
|
|
38
|
+
{translate('search.recent', 'Recent searches')}
|
|
39
39
|
</SearchRecentTitle>
|
|
40
40
|
<SearchRecentItems>
|
|
41
41
|
{items.map((item) => (
|
|
@@ -17,8 +17,8 @@ export function SearchSuggestedPages({ className }: SearchSuggestedPagesProps):
|
|
|
17
17
|
|
|
18
18
|
return (
|
|
19
19
|
<SearchSuggestedWrapper data-component-name="Search/SearchSuggestedPages" className={className}>
|
|
20
|
-
<SearchSuggestedTitle data-translation-key="
|
|
21
|
-
{translate('
|
|
20
|
+
<SearchSuggestedTitle data-translation-key="search.suggested">
|
|
21
|
+
{translate('search.suggested', 'Suggested pages')}
|
|
22
22
|
</SearchSuggestedTitle>
|
|
23
23
|
<SearchSuggestedItems>
|
|
24
24
|
{pages.map((page) =>
|
|
@@ -43,10 +43,10 @@ export function SearchTrigger({ onClick, className }: SearchTriggerProps): JSX.E
|
|
|
43
43
|
/>
|
|
44
44
|
<SearchTriggerInput
|
|
45
45
|
data-testid="search-trigger-input"
|
|
46
|
-
data-translation-key="
|
|
46
|
+
data-translation-key="search.navbar.label"
|
|
47
47
|
>
|
|
48
48
|
<SearchIcon />
|
|
49
|
-
{translate('
|
|
49
|
+
{translate('search.navbar.label', 'Search')}
|
|
50
50
|
{mainShortcutKey && <span>{mainShortcutKey}</span>}
|
|
51
51
|
</SearchTriggerInput>
|
|
52
52
|
</SearchTriggerWrapper>
|
|
@@ -25,7 +25,7 @@ export const ChangeViewButton = ({
|
|
|
25
25
|
|
|
26
26
|
return (
|
|
27
27
|
<StyledChangeViewButton
|
|
28
|
-
title={translate('
|
|
28
|
+
title={translate('sidebar.actions.changeLayout', 'Change layout')}
|
|
29
29
|
onClick={onClick}
|
|
30
30
|
collapsedSidebar={collapsedSidebar}
|
|
31
31
|
>
|
|
@@ -53,8 +53,8 @@ export const SidebarActions = ({
|
|
|
53
53
|
}}
|
|
54
54
|
title={
|
|
55
55
|
collapsedSidebar
|
|
56
|
-
? translate('
|
|
57
|
-
: translate('
|
|
56
|
+
? translate('sidebar.actions.show', 'Show sidebar')
|
|
57
|
+
: translate('sidebar.actions.hide', 'Hide sidebar')
|
|
58
58
|
}
|
|
59
59
|
size="small"
|
|
60
60
|
variant="outlined"
|
|
@@ -48,8 +48,8 @@ export function TableOfContent(props: TableOfContentProps): JSX.Element | null {
|
|
|
48
48
|
<TableOfContentMenu data-component-name="TableOfContent/TableOfContent" className={className}>
|
|
49
49
|
<TableOfContentItems ref={sidebar}>
|
|
50
50
|
{displayedHeadings.length ? (
|
|
51
|
-
<TableOfContentHeader data-translation-key="
|
|
52
|
-
{translate('
|
|
51
|
+
<TableOfContentHeader data-translation-key="toc.header">
|
|
52
|
+
{translate('toc.header', toc.header || 'On this page')}
|
|
53
53
|
</TableOfContentHeader>
|
|
54
54
|
) : null}
|
|
55
55
|
{displayedHeadings.map((heading: MdHeading | null, idx: number) => {
|
|
@@ -16,7 +16,7 @@ export function LoginButton({ href, className }: LoginButtonProps): JSX.Element
|
|
|
16
16
|
return (
|
|
17
17
|
<div data-component-name="UserMenu/LoginButton" className={className}>
|
|
18
18
|
<Button
|
|
19
|
-
data-translation-key="
|
|
19
|
+
data-translation-key="userMenu.login"
|
|
20
20
|
to={href}
|
|
21
21
|
onClick={() => telemetry.send('login_button_clicked', {})}
|
|
22
22
|
data-testid="login-btn"
|
|
@@ -24,7 +24,7 @@ export function LoginButton({ href, className }: LoginButtonProps): JSX.Element
|
|
|
24
24
|
variant="primary"
|
|
25
25
|
size="medium"
|
|
26
26
|
>
|
|
27
|
-
{translate('
|
|
27
|
+
{translate('userMenu.login', 'Login')}
|
|
28
28
|
</Button>
|
|
29
29
|
</div>
|
|
30
30
|
);
|
|
@@ -27,11 +27,11 @@ export function LogoutMenuItem({ iconOnly, className }: LogoutMenuItemProps): JS
|
|
|
27
27
|
dangerous
|
|
28
28
|
data-component-name="UserMenu/LogoutMenuItem"
|
|
29
29
|
onAction={handleClick}
|
|
30
|
-
data-translation-key="
|
|
30
|
+
data-translation-key="userMenu.logout"
|
|
31
31
|
prefix={<LogoutIcon />}
|
|
32
32
|
style={{ width: iconOnly ? 'fit-content' : '100%' }}
|
|
33
33
|
>
|
|
34
|
-
{iconOnly ? null : translate('
|
|
34
|
+
{iconOnly ? null : translate('userMenu.logout', 'Log out')}
|
|
35
35
|
</DropdownMenuItem>
|
|
36
36
|
);
|
|
37
37
|
}
|
|
@@ -45,10 +45,10 @@ export function UserMenu({ className }: UserMenuProps) {
|
|
|
45
45
|
<DropdownMenuItem
|
|
46
46
|
key="my-apps"
|
|
47
47
|
to="/apps"
|
|
48
|
-
data-translation-key="
|
|
48
|
+
data-translation-key="userMenu.devOnboardingLabel"
|
|
49
49
|
prefix={<GridIcon />}
|
|
50
50
|
>
|
|
51
|
-
{translate('
|
|
51
|
+
{translate('userMenu.devOnboardingLabel')}
|
|
52
52
|
</DropdownMenuItem>,
|
|
53
53
|
]
|
|
54
54
|
: [];
|
|
@@ -36,11 +36,11 @@ export function VersionPicker(props: { versions?: Version[]; onChange: (v: Versi
|
|
|
36
36
|
|
|
37
37
|
return (
|
|
38
38
|
<VersionsPickerWrapper data-component-name="VersionPicker/VersionPicker">
|
|
39
|
-
<VersionPickerLabel data-translation-key="
|
|
40
|
-
{translate('
|
|
39
|
+
<VersionPickerLabel data-translation-key="versionPicker.label">
|
|
40
|
+
{translate('versionPicker.label', 'Version:')}
|
|
41
41
|
</VersionPickerLabel>
|
|
42
42
|
<VersionPickerSelect
|
|
43
|
-
placeholder={translate('
|
|
43
|
+
placeholder={translate('versionPicker.unversioned', 'All versions')}
|
|
44
44
|
disabled={!options.length}
|
|
45
45
|
options={options}
|
|
46
46
|
value={value}
|
|
@@ -36,13 +36,13 @@ export function useReportDialog(): Record<string, ReportComponentsProps> {
|
|
|
36
36
|
};
|
|
37
37
|
const reportButtonProps: ReportButtonProps = {
|
|
38
38
|
onClick: showReportDialog,
|
|
39
|
-
buttonText: buttonText || translate('
|
|
40
|
-
tooltip: tooltipText || translate('
|
|
39
|
+
buttonText: buttonText || translate('codeSnippet.report.buttonText', 'Report'),
|
|
40
|
+
tooltip: tooltipText || translate('codeSnippet.report.tooltipText', 'Report a problem'),
|
|
41
41
|
hide: report?.hide === true,
|
|
42
42
|
};
|
|
43
43
|
const reportDialogProps: Partial<ReportDialogProps> = {
|
|
44
44
|
settings: {
|
|
45
|
-
label: label || translate('
|
|
45
|
+
label: label || translate('codeSnippet.report.label', 'What is wrong with this code?'),
|
|
46
46
|
},
|
|
47
47
|
onSubmit: hideReportDialog,
|
|
48
48
|
onCancel: closeReportDialog,
|
|
@@ -76,7 +76,7 @@ export const useMobileMenuItems = (menuType: MobileMenuType) => {
|
|
|
76
76
|
if (productMenuItems.length) {
|
|
77
77
|
menuItems.push({
|
|
78
78
|
type: 'separator',
|
|
79
|
-
label: translate('
|
|
79
|
+
label: translate('mobileMenu.products', 'Products'),
|
|
80
80
|
});
|
|
81
81
|
|
|
82
82
|
menuItems.push(...productMenuItems);
|
|
@@ -24,7 +24,7 @@ export const useMobileMenuLevels = () => {
|
|
|
24
24
|
const menuLevels = useMemo(() => {
|
|
25
25
|
const menuLevels = [
|
|
26
26
|
{
|
|
27
|
-
label: translate('
|
|
27
|
+
label: translate('mobileMenu.mainMenu', 'Main Menu'),
|
|
28
28
|
type: MobileMenuType.MAIN_MENU,
|
|
29
29
|
},
|
|
30
30
|
];
|
|
@@ -38,7 +38,7 @@ export const useMobileMenuLevels = () => {
|
|
|
38
38
|
|
|
39
39
|
if (sidebarItems.length || activeVersion) {
|
|
40
40
|
menuLevels.push({
|
|
41
|
-
label: translate('
|
|
41
|
+
label: translate('mobileMenu.previous', 'Previous'),
|
|
42
42
|
type: MobileMenuType.PAGE,
|
|
43
43
|
});
|
|
44
44
|
}
|
package/src/core/types/l10n.ts
CHANGED
|
@@ -69,73 +69,73 @@ export type TranslationKey =
|
|
|
69
69
|
| 'dev.app.overview.created'
|
|
70
70
|
| 'dev.app.overview.visibilityToggle.hide'
|
|
71
71
|
| 'dev.app.overview.visibilityToggle.show'
|
|
72
|
-
| '
|
|
73
|
-
| '
|
|
74
|
-
| '
|
|
75
|
-
| '
|
|
76
|
-
| '
|
|
77
|
-
| '
|
|
78
|
-
| '
|
|
79
|
-
| '
|
|
80
|
-
| '
|
|
81
|
-
| '
|
|
82
|
-
| '
|
|
83
|
-
| '
|
|
84
|
-
| '
|
|
85
|
-
| '
|
|
86
|
-
| '
|
|
87
|
-
| '
|
|
88
|
-
| '
|
|
89
|
-
| '
|
|
90
|
-
| '
|
|
91
|
-
| '
|
|
92
|
-
| '
|
|
93
|
-
| '
|
|
94
|
-
| '
|
|
95
|
-
| '
|
|
96
|
-
| '
|
|
97
|
-
| '
|
|
98
|
-
| '
|
|
99
|
-
| '
|
|
100
|
-
| '
|
|
101
|
-
| '
|
|
102
|
-
| '
|
|
103
|
-
| '
|
|
104
|
-
| '
|
|
105
|
-
| '
|
|
106
|
-
| '
|
|
107
|
-
| '
|
|
108
|
-
| '
|
|
109
|
-
| '
|
|
110
|
-
| '
|
|
111
|
-
| '
|
|
112
|
-
| '
|
|
113
|
-
| '
|
|
114
|
-
| '
|
|
115
|
-
| '
|
|
116
|
-
| '
|
|
117
|
-
| '
|
|
118
|
-
| '
|
|
119
|
-
| '
|
|
120
|
-
| '
|
|
121
|
-
| '
|
|
122
|
-
| '
|
|
123
|
-
| '
|
|
124
|
-
| '
|
|
125
|
-
| '
|
|
126
|
-
| '
|
|
127
|
-
| '
|
|
128
|
-
| '
|
|
129
|
-
| '
|
|
130
|
-
| '
|
|
131
|
-
| '
|
|
132
|
-
| '
|
|
133
|
-
| '
|
|
134
|
-
| '
|
|
135
|
-
| '
|
|
136
|
-
| '
|
|
137
|
-
| '
|
|
138
|
-
| '
|
|
72
|
+
| 'search.loading'
|
|
73
|
+
| 'search.noResults.title'
|
|
74
|
+
| 'search.noResults.description'
|
|
75
|
+
| 'search.keys.navigate'
|
|
76
|
+
| 'search.keys.select'
|
|
77
|
+
| 'search.keys.exit'
|
|
78
|
+
| 'search.label'
|
|
79
|
+
| 'search.cancel'
|
|
80
|
+
| 'search.recent'
|
|
81
|
+
| 'search.navbar.label'
|
|
82
|
+
| 'search.suggested'
|
|
83
|
+
| 'search.showMore'
|
|
84
|
+
| 'search.filter.title'
|
|
85
|
+
| 'search.filter.reset'
|
|
86
|
+
| 'search.filter.field.reset'
|
|
87
|
+
| 'toc.header'
|
|
88
|
+
| 'footer.copyrightText'
|
|
89
|
+
| 'page.homeButton'
|
|
90
|
+
| 'page.forbidden.title'
|
|
91
|
+
| 'page.notFound.title'
|
|
92
|
+
| 'page.notFound.description'
|
|
93
|
+
| 'page.lastUpdated.timeago'
|
|
94
|
+
| 'page.lastUpdated.on'
|
|
95
|
+
| 'catalog.filters.placeholder'
|
|
96
|
+
| 'catalog.filters.title'
|
|
97
|
+
| 'catalog.filters.clearAll'
|
|
98
|
+
| 'catalog.filters.select.addFilter'
|
|
99
|
+
| 'catalog.filters.select.all'
|
|
100
|
+
| 'catalog.filters.done'
|
|
101
|
+
| 'sidebar.menu.backLabel'
|
|
102
|
+
| 'sidebar.actions.show'
|
|
103
|
+
| 'sidebar.actions.hide'
|
|
104
|
+
| 'sidebar.actions.changeLayout'
|
|
105
|
+
| 'versionPicker.label'
|
|
106
|
+
| 'versionPicker.unversioned'
|
|
107
|
+
| 'codeSnippet.copy.buttonText'
|
|
108
|
+
| 'codeSnippet.copy.tooltipText'
|
|
109
|
+
| 'codeSnippet.copy.toasterText'
|
|
110
|
+
| 'markdown.editPage.text'
|
|
111
|
+
| 'feedback.settings.comment.submitText'
|
|
112
|
+
| 'feedback.settings.comment.label'
|
|
113
|
+
| 'feedback.settings.comment.send'
|
|
114
|
+
| 'feedback.settings.comment.cancel'
|
|
115
|
+
| 'feedback.settings.comment.satisfiedLabel'
|
|
116
|
+
| 'feedback.settings.comment.neutralLabel'
|
|
117
|
+
| 'feedback.settings.comment.dissatisfiedLabel'
|
|
118
|
+
| 'feedback.settings.submitText'
|
|
119
|
+
| 'feedback.settings.label'
|
|
120
|
+
| 'feedback.settings.reasons.label'
|
|
121
|
+
| 'feedback.settings.reasons.send'
|
|
122
|
+
| 'feedback.settings.comment.likeLabel'
|
|
123
|
+
| 'feedback.settings.comment.dislikeLabel'
|
|
124
|
+
| 'feedback.sentiment.thumbUp'
|
|
125
|
+
| 'feedback.sentiment.thumbDown'
|
|
126
|
+
| 'feedback.settings.leftScaleLabel'
|
|
127
|
+
| 'feedback.settings.rightScaleLabel'
|
|
128
|
+
| 'codeSnippet.report.buttonText'
|
|
129
|
+
| 'codeSnippet.report.tooltipText'
|
|
130
|
+
| 'codeSnippet.report.label'
|
|
131
|
+
| 'userMenu.login'
|
|
132
|
+
| 'userMenu.logout'
|
|
133
|
+
| 'userMenu.devOnboardingLabel'
|
|
134
|
+
| 'mobileMenu.mainMenu'
|
|
135
|
+
| 'mobileMenu.previous'
|
|
136
|
+
| 'mobileMenu.products'
|
|
137
|
+
| 'page.nextButton'
|
|
138
|
+
| 'page.previousButton'
|
|
139
139
|
| 'openapi.download.description.title'
|
|
140
140
|
| 'openapi.info.title'
|
|
141
141
|
| 'openapi.info.contact.url'
|
package/src/core/utils/menu.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { type Locale, type TFunction, type ItemState } from '@redocly/theme/core
|
|
|
7
7
|
import { MenuItemType } from '@redocly/theme/core/constants';
|
|
8
8
|
|
|
9
9
|
const TRANSLATION_KEYS = {
|
|
10
|
-
version: '
|
|
10
|
+
version: 'mobileMenu.version',
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
export const mapNavbarItems = (
|
|
@@ -11,16 +11,11 @@ export function Forbidden(): JSX.Element {
|
|
|
11
11
|
return (
|
|
12
12
|
<Wrapper data-component-name="Pages/Forbidden">
|
|
13
13
|
<Header>403</Header>
|
|
14
|
-
<Description data-translation-key="
|
|
15
|
-
{translate('
|
|
14
|
+
<Description data-translation-key="page.forbidden.title">
|
|
15
|
+
{translate('page.forbidden.title', 'Access forbidden')}
|
|
16
16
|
</Description>
|
|
17
|
-
<HomeButton
|
|
18
|
-
|
|
19
|
-
size="large"
|
|
20
|
-
to="/"
|
|
21
|
-
data-translation-key="theme.page.homeButton"
|
|
22
|
-
>
|
|
23
|
-
{translate('theme.page.homeButton', 'Go home')}
|
|
17
|
+
<HomeButton variant="primary" size="large" to="/" data-translation-key="page.homeButton">
|
|
18
|
+
{translate('page.homeButton', 'Go home')}
|
|
24
19
|
</HomeButton>
|
|
25
20
|
</Wrapper>
|
|
26
21
|
);
|
package/src/layouts/NotFound.tsx
CHANGED
|
@@ -12,12 +12,12 @@ export function NotFound(): JSX.Element {
|
|
|
12
12
|
return (
|
|
13
13
|
<NotFoundWrapper data-component-name="layouts/NotFound">
|
|
14
14
|
<StatusText>404</StatusText>
|
|
15
|
-
<Title data-translation-key="
|
|
16
|
-
{translate('
|
|
15
|
+
<Title data-translation-key="page.notFound.title">
|
|
16
|
+
{translate('page.notFound.title', 'Something went missing...')}
|
|
17
17
|
</Title>
|
|
18
|
-
<Description data-translation-key="
|
|
18
|
+
<Description data-translation-key="page.notFound.description">
|
|
19
19
|
{translate(
|
|
20
|
-
'
|
|
20
|
+
'page.notFound.description',
|
|
21
21
|
"The page you were trying to reach doesn't exist or may have been moved. You can go back to the previous page, return to the homepage, or use the search bar to find what you're looking for.",
|
|
22
22
|
)}
|
|
23
23
|
</Description>
|
|
@@ -25,10 +25,10 @@ export function NotFound(): JSX.Element {
|
|
|
25
25
|
variant="primary"
|
|
26
26
|
size="large"
|
|
27
27
|
to="/"
|
|
28
|
-
data-translation-key="
|
|
28
|
+
data-translation-key="page.homeButton"
|
|
29
29
|
icon={<ArrowLeftIcon />}
|
|
30
30
|
>
|
|
31
|
-
{translate('
|
|
31
|
+
{translate('page.homeButton', 'Go home')}
|
|
32
32
|
</Button>
|
|
33
33
|
</NotFoundWrapper>
|
|
34
34
|
);
|
|
@@ -35,8 +35,8 @@ export function OIDCForbidden(): JSX.Element {
|
|
|
35
35
|
return (
|
|
36
36
|
<Wrapper data-component-name="Pages/OIDCForbidden">
|
|
37
37
|
<Header>403</Header>
|
|
38
|
-
<Description data-translation-key="
|
|
39
|
-
{translate('
|
|
38
|
+
<Description data-translation-key="page.forbidden.title">
|
|
39
|
+
{translate('page.forbidden.title', 'Access forbidden')}
|
|
40
40
|
</Description>
|
|
41
41
|
{errorDescription && <ErrorDescription>{renderText(errorDescription)}</ErrorDescription>}
|
|
42
42
|
</Wrapper>
|
|
@@ -20,7 +20,7 @@ export const partial: MarkdocSchemaWrapper = {
|
|
|
20
20
|
return [
|
|
21
21
|
{
|
|
22
22
|
id: '',
|
|
23
|
-
message: `Could not resolve partial ${node.attributes.file}.
|
|
23
|
+
message: `Could not resolve partial ${node.attributes.file}. markdown.partialsFolders is empty.`,
|
|
24
24
|
level: 'error',
|
|
25
25
|
},
|
|
26
26
|
];
|