Add missing translations (#10414)

As per title, add ~200 missing translations in different places of app.
Most places are now available for translation with AI but still some
aren't available - some enums (like in MenuItemSelectColor.tsx) or
values in complex types (like in
SettingsNonCompositeFieldTypeConfigs.ts) or values where are injected
some variables (like in SettingsDataModelFieldNumberForm.tsx)

---------

Co-authored-by: Félix Malfait <felix@twenty.com>
This commit is contained in:
BOHEUS
2025-02-23 22:35:03 +00:00
committed by GitHub
parent 2162538b8b
commit ff001d9def
135 changed files with 24834 additions and 311 deletions

View File

@ -111,7 +111,7 @@ export const Releases = () => {
title={t`Releases`}
links={[
{
children: <Trans>Workspace</Trans>,
children: <Trans>Other</Trans>,
href: getSettingsPath(SettingsPath.Workspace),
},
{ children: <Trans>Releases</Trans> },

View File

@ -18,6 +18,7 @@ import { z } from 'zod';
import { FieldMetadataType } from '~/generated-metadata/graphql';
import { useNavigateApp } from '~/hooks/useNavigateApp';
import { getSettingsPath } from '~/utils/navigation/getSettingsPath';
import { t } from '@lingui/core/macro';
export const settingsDataModelFieldTypeFormSchema = z.object({
type: z.enum(
@ -68,10 +69,10 @@ export const SettingsObjectNewFieldSelect = () => {
{...formMethods}
>
<SubMenuTopBarContainer
title="1. Select a field type"
title={t`1. Select a field type`}
links={[
{ children: 'Workspace', href: '/settings/workspace' },
{ children: 'Objects', href: '/settings/objects' },
{ children: t`Workspace`, href: '/settings/workspace' },
{ children: t`Objects`, href: '/settings/objects' },
{
children: activeObjectMetadataItem.labelPlural,
href: getSettingsPath(SettingsPath.ObjectDetail, {

View File

@ -260,7 +260,7 @@ export const SettingsDevelopersApiKeyDetail = () => {
</Trans>
}
onConfirmClick={deleteIntegration}
deleteButtonText="Delete"
deleteButtonText={t`Delete`}
loading={isLoading}
/>
<ConfirmationModal

View File

@ -21,6 +21,7 @@ import { AnalyticsGraphDataInstanceContext } from '@/analytics/states/contexts/A
import { isAnalyticsEnabledState } from '@/client-config/states/isAnalyticsEnabledState';
import { useObjectMetadataItems } from '@/object-metadata/hooks/useObjectMetadataItems';
import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer';
import { useWebhookUpdateForm } from '@/settings/developers/hooks/useWebhookUpdateForm';
import { SettingsPath } from '@/types/SettingsPath';
import { Select, SelectOption } from '@/ui/input/components/Select';
import { TextArea } from '@/ui/input/components/TextArea';
@ -30,10 +31,9 @@ import { SubMenuTopBarContainer } from '@/ui/layout/page/components/SubMenuTopBa
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
import { Trans, useLingui } from '@lingui/react/macro';
import { useRecoilValue } from 'recoil';
import { isDefined } from 'twenty-shared';
import { FeatureFlagKey } from '~/generated/graphql';
import { getSettingsPath } from '~/utils/navigation/getSettingsPath';
import { useWebhookUpdateForm } from '@/settings/developers/hooks/useWebhookUpdateForm';
import { isDefined } from 'twenty-shared';
const OBJECT_DROPDOWN_WIDTH = 340;
const ACTION_DROPDOWN_WIDTH = 140;
@ -96,21 +96,21 @@ export const SettingsDevelopersWebhooksDetail = () => {
const fieldTypeOptions: SelectOption<string>[] = useMemo(
() => [
{ value: '*', label: 'All Objects', Icon: IconNorthStar },
{ value: '*', label: t`All Objects`, Icon: IconNorthStar },
...objectMetadataItems.map((item) => ({
value: item.nameSingular,
label: item.labelPlural,
Icon: getIcon(item.icon),
})),
],
[objectMetadataItems, getIcon],
[objectMetadataItems, getIcon, t],
);
const actionOptions: SelectOption<string>[] = [
{ value: '*', label: 'All Actions', Icon: IconNorthStar },
{ value: 'created', label: 'Created', Icon: IconPlus },
{ value: 'updated', label: 'Updated', Icon: IconRefresh },
{ value: 'deleted', label: 'Deleted', Icon: IconTrash },
{ value: '*', label: t`All Actions`, Icon: IconNorthStar },
{ value: 'created', label: t`Created`, Icon: IconPlus },
{ value: 'updated', label: t`Updated`, Icon: IconRefresh },
{ value: 'deleted', label: t`Deleted`, Icon: IconTrash },
];
if (loading || !formData) {
@ -214,12 +214,12 @@ export const SettingsDevelopersWebhooksDetail = () => {
</Section>
<Section>
<H2Title
title="Secret"
description="Optional: Define a secret string that we will include in every webhook. Use this to authenticate and verify the webhook upon receipt."
title={t`Secret`}
description={t`Optional: Define a secret string that we will include in every webhook. Use this to authenticate and verify the webhook upon receipt.`}
/>
<TextInput
type="password"
placeholder="Write a secret"
placeholder={t`Write a secret`}
value={formData.secret}
onChange={(secret: string) => {
updateWebhook({ secret: secret.trim() });

View File

@ -3,17 +3,18 @@ import { SettingsLabContent } from '@/settings/lab/components/SettingsLabContent
import { SettingsPath } from '@/types/SettingsPath';
import { SubMenuTopBarContainer } from '@/ui/layout/page/components/SubMenuTopBarContainer';
import { getSettingsPath } from '~/utils/navigation/getSettingsPath';
import { t } from '@lingui/core/macro';
export const SettingsLab = () => {
return (
<SubMenuTopBarContainer
title="Lab"
title={t`Lab`}
links={[
{
children: 'Other',
children: t`Other`,
href: getSettingsPath(SettingsPath.Lab),
},
{ children: 'Lab' },
{ children: t`Lab` },
]}
>
<SettingsPageContainer>

View File

@ -33,7 +33,7 @@ export const DateTimeSettingsDateFormatSelect = ({
<Select
dropdownId="datetime-settings-date-format"
dropdownWidth={218}
label="Date format"
label={t`Date format`}
fullWidth
dropdownWidthAuto
value={value}

View File

@ -3,6 +3,7 @@ import { findAvailableTimeZoneOption } from '@/localization/utils/findAvailableT
import { AVAILABLE_TIMEZONE_OPTIONS } from '@/settings/accounts/constants/AvailableTimezoneOptions';
import { Select } from '@/ui/input/components/Select';
import { isDefined } from 'twenty-shared';
import { t } from '@lingui/core/macro';
type DateTimeSettingsTimeZoneSelectProps = {
value?: string;
@ -20,15 +21,15 @@ export const DateTimeSettingsTimeZoneSelect = ({
return (
<Select
dropdownId="settings-accounts-calendar-time-zone"
label="Time zone"
label={t`Time zone`}
dropdownWidthAuto
fullWidth
value={value}
options={[
{
label: isDefined(systemTimeZoneOption)
? `System settings - ${systemTimeZoneOption.label}`
: 'System settings',
? t`System settings`.concat(` - ${systemTimeZoneOption.label}`)
: t`System settings`,
value: 'system',
},
...AVAILABLE_TIMEZONE_OPTIONS,

View File

@ -108,7 +108,7 @@ export const SettingsSecurityApprovedAccessDomain = () => {
>
<SettingsPageContainer>
<Section>
<H2Title title="Domain" description="The name of your Domain" />
<H2Title title={t`Domain`} description={t`The name of your Domain`} />
<Controller
name="domain"
control={formConfig.control}
@ -128,8 +128,8 @@ export const SettingsSecurityApprovedAccessDomain = () => {
</Section>
<Section>
<H2Title
title="Email verification"
description="We will send your a link to verify domain ownership"
title={t`Email verification`}
description={t`We will send your a link to verify domain ownership`}
/>
<Controller
name="email"

View File

@ -16,6 +16,7 @@ import pick from 'lodash.pick';
import { FormProvider, useForm } from 'react-hook-form';
import { useNavigateSettings } from '~/hooks/useNavigateSettings';
import { getSettingsPath } from '~/utils/navigation/getSettingsPath';
import { t } from '@lingui/core/macro';
export const SettingsSecuritySSOIdentifyProvider = () => {
const navigate = useNavigateSettings();
@ -55,7 +56,7 @@ export const SettingsSecuritySSOIdentifyProvider = () => {
return (
<SubMenuTopBarContainer
title="New SSO Configuration"
title={t`New SSO Configuration`}
actionButton={
<SaveAndCancelButtons
isSaveDisabled={!formConfig.formState.isValid}