support for i18n feature

Signed-off-by: Axel Koehler <axel@staffbase.com>
This commit is contained in:
Axel Koehler
2023-09-06 08:53:57 +02:00
parent aa844e704a
commit 2a64789f0c
3 changed files with 35 additions and 7 deletions
@@ -59,6 +59,8 @@ import FolderIcon from '@material-ui/icons/Folder';
import { adrApiRef, AdrFileInfo } from '../../api';
import { rootRouteRef } from '../../routes';
import { AdrContentDecorator, AdrReader } from '../AdrReader';
import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
import { adrTranslationRef } from '../../translations';
const useStyles = makeStyles((theme: Theme) => ({
adrMenu: {
@@ -160,9 +162,8 @@ const AdrListContainer = (props: {
export const EntityAdrContent = (props: {
contentDecorators?: AdrContentDecorator[];
filePathFilterFn?: AdrFilePathFilterFn;
headerTitle?: string;
}) => {
const { contentDecorators, filePathFilterFn, headerTitle } = props;
const { contentDecorators, filePathFilterFn } = props;
const classes = useStyles();
const { entity } = useEntity();
const [adrList, setAdrList] = useState<AdrFileInfo[]>([]);
@@ -170,6 +171,7 @@ export const EntityAdrContent = (props: {
const scmIntegrations = useApi(scmIntegrationsApiRef);
const adrApi = useApi(adrApiRef);
const entityHasAdrs = isAdrAvailable(entity);
const t = useTranslationRef(adrTranslationRef);
const config = useApi(configApiRef);
const appSupportConfigured = config?.getOptionalConfig('app.support');
@@ -215,7 +217,7 @@ export const EntityAdrContent = (props: {
return (
<Content>
<ContentHeader title={headerTitle ?? 'Architecture Decision Records'}>
<ContentHeader title={t('content_header_title')}>
{appSupportConfigured && <SupportButton />}
</ContentHeader>
@@ -226,7 +228,7 @@ export const EntityAdrContent = (props: {
{loading && <Progress />}
{entityHasAdrs && !loading && error && (
<WarningPanel title="Failed to fetch ADRs" message={error?.message} />
<WarningPanel title={t('failed_to_fetch')} message={error?.message} />
)}
{entityHasAdrs &&
@@ -253,7 +255,7 @@ export const EntityAdrContent = (props: {
</Grid>
</Grid>
) : (
<Typography>No ADRs found</Typography>
<Typography>{t('no_adrs')}</Typography>
))}
</Content>
);
+26
View File
@@ -0,0 +1,26 @@
/*
* Copyright 2023 The Backstage Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { createTranslationRef } from '@backstage/core-plugin-api/alpha';
/** @alpha */
export const adrTranslationRef = createTranslationRef({
id: 'adr',
messages: {
content_header_title: 'Architecture Decision Records',
failed_to_fetch: 'Failed to fetch ADRs',
no_adrs: 'No ADRs found',
},
});