diff --git a/apps/client/src/translation/languages/de.ts b/apps/client/src/translation/languages/de.ts index 03e6837eb..a181246f0 100644 --- a/apps/client/src/translation/languages/de.ts +++ b/apps/client/src/translation/languages/de.ts @@ -24,4 +24,10 @@ export const langDe: TranslationObject = { 'timeline.done': 'Beendet', 'timeline.due': 'fällig', 'timeline.followedby': 'Gefolgt von', + 'project.title': 'Titel', + 'project.description': 'Beschreibung', + 'project.backstage_info': 'Backstage-Informationen', + 'project.backstage_url': 'Backstage-URL', + 'project.public_info': 'Öffentliche Informationen', + 'project.public_url': 'Öffentliche URL', }; diff --git a/apps/client/src/translation/languages/en.ts b/apps/client/src/translation/languages/en.ts index 9dfa13347..8e3af15f8 100644 --- a/apps/client/src/translation/languages/en.ts +++ b/apps/client/src/translation/languages/en.ts @@ -22,6 +22,12 @@ export const langEn = { 'timeline.done': 'done', 'timeline.due': 'due', 'timeline.followedby': 'Followed by', + 'project.title': 'Title', + 'project.description': 'Description', + 'project.backstage_info': 'Backstage Info', + 'project.backstage_url': 'Backstage URL', + 'project.public_info': 'Public Info', + 'project.public_url': 'Public URL', }; export type TranslationObject = Record; diff --git a/apps/client/src/translation/languages/es.ts b/apps/client/src/translation/languages/es.ts index dac98ce31..58fad6884 100644 --- a/apps/client/src/translation/languages/es.ts +++ b/apps/client/src/translation/languages/es.ts @@ -24,4 +24,10 @@ export const langEs: TranslationObject = { 'timeline.done': 'Terminado', 'timeline.due': 'pendiente', 'timeline.followedby': 'Seguido por', + 'project.title': 'Título', + 'project.description': 'Descripción', + 'project.backstage_info': 'Información de backstage', + 'project.backstage_url': 'URL de backstage', + 'project.public_info': 'Información pública', + 'project.public_url': 'URL pública', }; diff --git a/apps/client/src/translation/languages/fr.ts b/apps/client/src/translation/languages/fr.ts index 521ccda92..1ba565860 100644 --- a/apps/client/src/translation/languages/fr.ts +++ b/apps/client/src/translation/languages/fr.ts @@ -24,4 +24,10 @@ export const langFr: TranslationObject = { 'timeline.done': 'Terminé', 'timeline.due': 'dû', 'timeline.followedby': 'Suivi de', + 'project.title': 'Titre', + 'project.description': 'Description', + 'project.backstage_info': 'Informations des coulisses', + 'project.backstage_url': 'URL des coulisses', + 'project.public_info': 'Informations publiques', + 'project.public_url': 'URL publique', }; diff --git a/apps/client/src/translation/languages/hu.ts b/apps/client/src/translation/languages/hu.ts index 542f31888..05efe2738 100644 --- a/apps/client/src/translation/languages/hu.ts +++ b/apps/client/src/translation/languages/hu.ts @@ -24,4 +24,10 @@ export const langHu: TranslationObject = { 'timeline.done': 'kész', 'timeline.due': 'esedékes', 'timeline.followedby': 'Követi', + 'project.title': 'Cím', + 'project.description': 'Leírás', + 'project.backstage_info': 'Kulisszák mögötti információ', + 'project.backstage_url': 'Kulisszák mögötti URL', + 'project.public_info': 'Nyilvános információ', + 'project.public_url': 'Nyilvános URL', }; diff --git a/apps/client/src/translation/languages/it.ts b/apps/client/src/translation/languages/it.ts index 41244fb7a..ec0c6cacf 100644 --- a/apps/client/src/translation/languages/it.ts +++ b/apps/client/src/translation/languages/it.ts @@ -24,4 +24,10 @@ export const langIt: TranslationObject = { 'timeline.done': 'Terminato', 'timeline.due': 'previsto', 'timeline.followedby': 'Seguito da', + 'project.title': 'Titolo', + 'project.description': 'Descrizione', + 'project.backstage_info': 'Informazioni di backstage', + 'project.backstage_url': 'URL di backstage', + 'project.public_info': 'Informazioni pubbliche', + 'project.public_url': 'URL pubblico', }; diff --git a/apps/client/src/translation/languages/no.ts b/apps/client/src/translation/languages/no.ts index 455623d7c..cc67302b3 100644 --- a/apps/client/src/translation/languages/no.ts +++ b/apps/client/src/translation/languages/no.ts @@ -24,4 +24,10 @@ export const langNo: TranslationObject = { 'timeline.done': 'Ferdig', 'timeline.due': 'Venter', 'timeline.followedby': 'Etterfulgt av', + 'project.title': 'Tittel', + 'project.description': 'Beskrivelse', + 'project.backstage_info': 'Backstage-informasjon', + 'project.backstage_url': 'Backstage-URL', + 'project.public_info': 'Offentlig informasjon', + 'project.public_url': 'Offentlig URL', }; diff --git a/apps/client/src/translation/languages/pl.ts b/apps/client/src/translation/languages/pl.ts index 6b8b30e4f..246230fe3 100644 --- a/apps/client/src/translation/languages/pl.ts +++ b/apps/client/src/translation/languages/pl.ts @@ -24,4 +24,10 @@ export const langPl: TranslationObject = { 'timeline.done': 'Zakończony', 'timeline.due': 'termin', 'timeline.followedby': 'Następnie', + 'project.title': 'Tytuł', + 'project.description': 'Opis', + 'project.backstage_info': 'Informacje zaplecza', + 'project.backstage_url': 'URL zaplecza', + 'project.public_info': 'Informacje publiczne', + 'project.public_url': 'URL publiczny', }; diff --git a/apps/client/src/translation/languages/pt.ts b/apps/client/src/translation/languages/pt.ts index e58f425fd..94a200a75 100644 --- a/apps/client/src/translation/languages/pt.ts +++ b/apps/client/src/translation/languages/pt.ts @@ -24,4 +24,10 @@ export const langPt: TranslationObject = { 'timeline.done': 'Concluído', 'timeline.due': 'Pendente', 'timeline.followedby': 'Seguido por', + 'project.title': 'Título', + 'project.description': 'Descrição', + 'project.backstage_info': 'Informações de bastidores', + 'project.backstage_url': 'URL de bastidores', + 'project.public_info': 'Informações públicas', + 'project.public_url': 'URL pública', }; diff --git a/apps/client/src/translation/languages/sv.ts b/apps/client/src/translation/languages/sv.ts index 2187d9eab..699473155 100644 --- a/apps/client/src/translation/languages/sv.ts +++ b/apps/client/src/translation/languages/sv.ts @@ -24,4 +24,10 @@ export const langSv: TranslationObject = { 'timeline.done': 'Avslutad', 'timeline.due': 'Väntande', 'timeline.followedby': 'Följt av', + 'project.title': 'Titel', + 'project.description': 'Beskrivning', + 'project.backstage_info': 'Backstageinformation', + 'project.backstage_url': 'Backstage-URL', + 'project.public_info': 'Offentlig information', + 'project.public_url': 'Offentlig URL', }; diff --git a/apps/client/src/translation/languages/zh.ts b/apps/client/src/translation/languages/zh.ts index 116f2b600..de49f751b 100644 --- a/apps/client/src/translation/languages/zh.ts +++ b/apps/client/src/translation/languages/zh.ts @@ -24,4 +24,10 @@ export const langZhCn: TranslationObject = { 'timeline.done': '已结束', 'timeline.due': '即将开始', 'timeline.followedby': '随后是', + 'project.title': '标题', + 'project.description': '描述', + 'project.backstage_info': '后台信息', + 'project.backstage_url': '后台网址', + 'project.public_info': '公开信息', + 'project.public_url': '公开网址', }; diff --git a/apps/client/src/views/project-info/ProjectInfo.scss b/apps/client/src/views/project-info/ProjectInfo.scss index 324198534..33a52f3ed 100644 --- a/apps/client/src/views/project-info/ProjectInfo.scss +++ b/apps/client/src/views/project-info/ProjectInfo.scss @@ -10,7 +10,8 @@ font-family: var(--font-family-override, $viewer-font-family); background: var(--background-color-override, $viewer-background-color); color: var(--color-override, $viewer-color); - padding: min(2vh, 16px) clamp(16px, 10vw, 64px); + padding: $view-outer-padding; + font-size: $base-font-size; display: flex; flex-direction: column; @@ -25,18 +26,15 @@ max-height: 100%; overflow-y: auto; width: min(calc(100vw - 4rem), 800px); - font-size: clamp(16px, 1.5vw, 24px); } .info__label { font-weight: 600; color: var(--label-color-override, $viewer-label-color); text-transform: uppercase; + margin-top: $view-element-gap; + white-space: pre; } - .info__label { - margin-top: 1rem; - } - a.info__value { color: $action-text-color; diff --git a/apps/client/src/views/project-info/ProjectInfo.tsx b/apps/client/src/views/project-info/ProjectInfo.tsx index 5f8f9e0cd..747e66da9 100644 --- a/apps/client/src/views/project-info/ProjectInfo.tsx +++ b/apps/client/src/views/project-info/ProjectInfo.tsx @@ -5,6 +5,7 @@ import EmptyPage from '../../common/components/state/EmptyPage'; import ViewLogo from '../../common/components/view-logo/ViewLogo'; import ViewParamsEditor from '../../common/components/view-params-editor/ViewParamsEditor'; import { useWindowTitle } from '../../common/hooks/useWindowTitle'; +import { useTranslation } from '../../translation/TranslationProvider'; import BackstageInfo from './backstage-info/BackstageInfo'; import PublicInfo from './public-info/PublicInfo'; @@ -19,18 +20,19 @@ interface ProjectInfoProps { export default function ProjectInfo(props: ProjectInfoProps) { const { general, isMirrored } = props; + const { getLocalizedString } = useTranslation(); useWindowTitle('Project info'); if (!general) { - return ; + return ; } if (!general) { return ( <> - return ; + ; ); } @@ -40,7 +42,7 @@ export default function ProjectInfo(props: ProjectInfoProps) { return ( <> - ; + ; ); } @@ -52,13 +54,13 @@ export default function ProjectInfo(props: ProjectInfoProps) {
{general.title && ( <> -
Title
+
{getLocalizedString('project.title')}
{general.title}
)} {general.description && ( <> -
Description
+
{getLocalizedString('project.description')}
{general.description}
)} diff --git a/apps/client/src/views/project-info/backstage-info/BackstageInfo.tsx b/apps/client/src/views/project-info/backstage-info/BackstageInfo.tsx index c60202f6f..1e9d21731 100644 --- a/apps/client/src/views/project-info/backstage-info/BackstageInfo.tsx +++ b/apps/client/src/views/project-info/backstage-info/BackstageInfo.tsx @@ -2,6 +2,7 @@ import { useSearchParams } from 'react-router-dom'; import { ProjectData } from 'ontime-types'; import { isStringBoolean } from '../../../features/viewers/common/viewUtils'; +import { useTranslation } from '../../../translation/TranslationProvider'; interface BackstageInfoProps { general: ProjectData; @@ -10,6 +11,7 @@ interface BackstageInfoProps { export default function BackstageInfo(props: BackstageInfoProps) { const { general } = props; const [searchParams] = useSearchParams(); + const { getLocalizedString } = useTranslation(); const showBackstage = isStringBoolean(searchParams.get('showBackstage')); @@ -21,13 +23,13 @@ export default function BackstageInfo(props: BackstageInfoProps) { <> {general.backstageInfo && ( <> -
Backstage info
+
{getLocalizedString('project.backstage_info')}
{general.backstageInfo}
)} {general.backstageUrl && ( <> -
Backstage URL
+
{getLocalizedString('project.backstage_url')}
{general.backstageUrl} diff --git a/apps/client/src/views/project-info/public-info/PublicInfo.tsx b/apps/client/src/views/project-info/public-info/PublicInfo.tsx index 8165c030a..ba77bb04f 100644 --- a/apps/client/src/views/project-info/public-info/PublicInfo.tsx +++ b/apps/client/src/views/project-info/public-info/PublicInfo.tsx @@ -2,6 +2,7 @@ import { useSearchParams } from 'react-router-dom'; import { ProjectData } from 'ontime-types'; import { isStringBoolean } from '../../../features/viewers/common/viewUtils'; +import { useTranslation } from '../../../translation/TranslationProvider'; interface PublicInfoProps { general: ProjectData; @@ -10,6 +11,7 @@ interface PublicInfoProps { export default function PublicInfo(props: PublicInfoProps) { const { general } = props; const [searchParams] = useSearchParams(); + const { getLocalizedString } = useTranslation(); const showPublic = isStringBoolean(searchParams.get('showPublic')); @@ -21,13 +23,13 @@ export default function PublicInfo(props: PublicInfoProps) { <> {general.publicInfo && ( <> -
Public info
+
{getLocalizedString('project.public_info')}
{general.publicInfo}
)} {general.publicUrl && ( <> -
Public URL
+
{getLocalizedString('project.public_url')}
{general.publicUrl}