mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
I18n: Migrate to I18next (#55845)
* Switch from lingui from i18next * Change lingui messages to i18next messages * Change lingui messages to i18next messages (grafana-ui) * Init i18n for tests
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
import { t, Trans } from '@lingui/macro';
|
||||
import React, { useCallback, useEffect, useState } from 'react';
|
||||
import { useAsync, useDebounce } from 'react-use';
|
||||
|
||||
import { isFetchError } from '@grafana/runtime';
|
||||
import { Button, Field, Input, Modal } from '@grafana/ui';
|
||||
import { FolderPicker } from 'app/core/components/Select/FolderPicker';
|
||||
import { t, Trans } from 'app/core/internationalization';
|
||||
|
||||
import { PanelModel } from '../../../dashboard/state';
|
||||
import { getLibraryPanelByName } from '../../state/api';
|
||||
@@ -53,13 +53,9 @@ export const AddLibraryPanelContents = ({ panel, initialFolderId, onDismiss }: A
|
||||
return (
|
||||
<>
|
||||
<Field
|
||||
label={t({ id: 'library-panel.add-modal.name', message: 'Library panel name' })}
|
||||
label={t('library-panel.add-modal.name', 'Library panel name')}
|
||||
invalid={invalidInput}
|
||||
error={
|
||||
invalidInput
|
||||
? t({ id: 'library-panel.add-modal.error', message: 'Library panel with this name already exists' })
|
||||
: ''
|
||||
}
|
||||
error={invalidInput ? t('library-panel.add-modal.error', 'Library panel with this name already exists') : ''}
|
||||
>
|
||||
<Input
|
||||
id="share-panel-library-panel-name-input"
|
||||
@@ -69,11 +65,11 @@ export const AddLibraryPanelContents = ({ panel, initialFolderId, onDismiss }: A
|
||||
/>
|
||||
</Field>
|
||||
<Field
|
||||
label={t({ id: 'library-panel.add-modal.folder', message: 'Save in folder' })}
|
||||
description={t({
|
||||
id: 'library-panel.add-modal.folder-description',
|
||||
message: 'Library panel permissions are derived from the folder permissions',
|
||||
})}
|
||||
label={t('library-panel.add-modal.folder', 'Save in folder')}
|
||||
description={t(
|
||||
'library-panel.add-modal.folder-description',
|
||||
'Library panel permissions are derived from the folder permissions'
|
||||
)}
|
||||
>
|
||||
<FolderPicker
|
||||
onChange={({ id }) => setFolderId(id)}
|
||||
@@ -84,10 +80,10 @@ export const AddLibraryPanelContents = ({ panel, initialFolderId, onDismiss }: A
|
||||
|
||||
<Modal.ButtonRow>
|
||||
<Button variant="secondary" onClick={onDismiss} fill="outline">
|
||||
<Trans id="library-panel.add-modal.cancel">Cancel</Trans>
|
||||
<Trans i18nKey="library-panel.add-modal.cancel">Cancel</Trans>
|
||||
</Button>
|
||||
<Button onClick={onCreate} disabled={invalidInput}>
|
||||
<Trans id="library-panel.add-modal.create">Create library panel</Trans>
|
||||
<Trans i18nKey="library-panel.add-modal.create">Create library panel</Trans>
|
||||
</Button>
|
||||
</Modal.ButtonRow>
|
||||
</>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { t } from '@lingui/macro';
|
||||
import { useEffect } from 'react';
|
||||
import useAsyncFn from 'react-use/lib/useAsyncFn';
|
||||
|
||||
import { isFetchError } from '@grafana/runtime';
|
||||
import { notifyApp } from 'app/core/actions';
|
||||
import { t } from 'app/core/internationalization';
|
||||
import { PanelModel } from 'app/features/dashboard/state';
|
||||
import { useDispatch } from 'app/types';
|
||||
|
||||
@@ -30,21 +30,18 @@ export const usePanelSave = () => {
|
||||
useEffect(() => {
|
||||
if (state.error) {
|
||||
const errorMsg = state.error.message;
|
||||
|
||||
dispatch(
|
||||
notifyApp(
|
||||
createPanelLibraryErrorNotification(
|
||||
t({ id: 'library-panels.save.error', message: `Error saving library panel: "${errorMsg}"` })
|
||||
t('library-panels.save.error', 'Error saving library panel: "{{errorMsg}}"', { errorMsg })
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
if (state.value) {
|
||||
dispatch(
|
||||
notifyApp(
|
||||
createPanelLibrarySuccessNotification(
|
||||
t({ id: 'library-panels.save.success', message: 'Library panel saved' })
|
||||
)
|
||||
)
|
||||
notifyApp(createPanelLibrarySuccessNotification(t('library-panels.save.success', 'Library panel saved')))
|
||||
);
|
||||
}
|
||||
}, [dispatch, state]);
|
||||
|
||||
Reference in New Issue
Block a user