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

@ -23,6 +23,7 @@ import { useSaveCurrentViewFiltersAndSorts } from '@/views/hooks/useSaveCurrentV
import { VIEW_PICKER_DROPDOWN_ID } from '@/views/view-picker/constants/ViewPickerDropdownId';
import { useViewPickerMode } from '@/views/view-picker/hooks/useViewPickerMode';
import { viewPickerReferenceViewIdComponentState } from '@/views/view-picker/states/viewPickerReferenceViewIdComponentState';
import { t } from '@lingui/core/macro';
const StyledContainer = styled.div`
border-radius: ${({ theme }) => theme.border.radius.md};
@ -122,7 +123,7 @@ export const UpdateViewButtonGroup = ({
<MenuItem
onClick={handleCreateViewClick}
LeftIcon={IconPlus}
text="Create view"
text={t`Create view`}
/>
</DropdownMenuItemsContainer>
}
@ -130,7 +131,7 @@ export const UpdateViewButtonGroup = ({
</ButtonGroup>
) : (
<Button
title="Save as new view"
title={t`Save as new view`}
onClick={handleSaveAsNewViewClick}
accent="blue"
size="small"

View File

@ -27,6 +27,7 @@ import { useResetUnsavedViewStates } from '@/views/hooks/useResetUnsavedViewStat
import { isViewBarExpandedComponentState } from '@/views/states/isViewBarExpandedComponentState';
import { isNonEmptyArray } from '@sniptt/guards';
import { isDefined } from 'twenty-shared';
import { t } from '@lingui/core/macro';
export type ViewBarDetailsProps = {
hasFilterButton?: boolean;
@ -250,7 +251,7 @@ export const ViewBarDetails = ({
data-testid="cancel-button"
onClick={handleCancelClick}
>
Reset
{t`Reset`}
</StyledCancelButton>
)}
{rightComponent}

View File

@ -33,6 +33,7 @@ import { viewPickerKanbanFieldMetadataIdComponentState } from '@/views/view-pick
import { viewPickerSelectedIconComponentState } from '@/views/view-picker/states/viewPickerSelectedIconComponentState';
import { viewPickerTypeComponentState } from '@/views/view-picker/states/viewPickerTypeComponentState';
import { useMemo, useState } from 'react';
import { useLingui } from '@lingui/react/macro';
const StyledNoKanbanFieldAvailableContainer = styled.div`
color: ${({ theme }) => theme.font.color.light};
@ -43,6 +44,7 @@ const StyledNoKanbanFieldAvailableContainer = styled.div`
`;
export const ViewPickerContentCreateMode = () => {
const { t } = useLingui();
const { viewPickerMode, setViewPickerMode } = useViewPickerMode();
const [hasManuallySelectedIcon, setHasManuallySelectedIcon] = useState(false);
@ -129,7 +131,7 @@ export const ViewPickerContentCreateMode = () => {
return (
<>
<DropdownMenuHeader StartIcon={IconX} onClick={handleClose}>
Create view
{t`Create view`}
</DropdownMenuHeader>
<DropdownMenuSeparator />
<DropdownMenuItemsContainer>
@ -150,7 +152,7 @@ export const ViewPickerContentCreateMode = () => {
</ViewPickerIconAndNameContainer>
<ViewPickerSelectContainer>
<Select
label="View type"
label={t`View type`}
fullWidth
value={viewPickerType}
onChange={(value) => {
@ -158,10 +160,10 @@ export const ViewPickerContentCreateMode = () => {
setViewPickerType(value);
}}
options={[
{ value: ViewType.Table, label: 'Table', Icon: IconTable },
{ value: ViewType.Table, label: t`Table`, Icon: IconTable },
{
value: ViewType.Kanban,
label: 'Kanban',
label: t`Kanban`,
Icon: IconLayoutKanban,
},
]}
@ -172,7 +174,7 @@ export const ViewPickerContentCreateMode = () => {
<>
<ViewPickerSelectContainer>
<Select
label="Stages"
label={t`Stages`}
fullWidth
value={viewPickerKanbanFieldMetadataId}
onChange={(value) => {
@ -185,7 +187,7 @@ export const ViewPickerContentCreateMode = () => {
value: field.id,
label: field.label,
}))
: [{ value: '', label: 'No Select field' }]
: [{ value: '', label: t`No Select field` }]
}
dropdownId={VIEW_PICKER_KANBAN_FIELD_DROPDOWN_ID}
/>

View File

@ -8,8 +8,10 @@ import { viewPickerIsPersistingComponentState } from '@/views/view-picker/states
import { viewPickerKanbanFieldMetadataIdComponentState } from '@/views/view-picker/states/viewPickerKanbanFieldMetadataIdComponentState';
import { viewPickerTypeComponentState } from '@/views/view-picker/states/viewPickerTypeComponentState';
import { Button } from 'twenty-ui';
import { useLingui } from '@lingui/react/macro';
export const ViewPickerCreateButton = () => {
const { t } = useLingui();
const { availableFieldsForKanban, navigateToSelectSettings } =
useGetAvailableFieldsForKanban();
@ -34,7 +36,7 @@ export const ViewPickerCreateButton = () => {
if (viewPickerMode === 'edit') {
return (
<Button
title="Delete"
title={t`Delete`}
onClick={deleteViewFromCurrentState}
accent="danger"
fullWidth
@ -53,7 +55,7 @@ export const ViewPickerCreateButton = () => {
) {
return (
<Button
title="Go to Settings"
title={t`Go to Settings`}
onClick={navigateToSelectSettings}
size="small"
accent="blue"
@ -69,7 +71,7 @@ export const ViewPickerCreateButton = () => {
) {
return (
<Button
title="Create"
title={t`Create`}
onClick={handleCreateButtonClick}
accent="blue"
fullWidth

View File

@ -16,12 +16,14 @@ import { useViewPickerMode } from '@/views/view-picker/hooks/useViewPickerMode';
import { viewPickerReferenceViewIdComponentState } from '@/views/view-picker/states/viewPickerReferenceViewIdComponentState';
import { isDefined } from 'twenty-shared';
import { moveArrayItem } from '~/utils/array/moveArrayItem';
import { useLingui } from '@lingui/react/macro';
const StyledBoldDropdownMenuItemsContainer = styled(DropdownMenuItemsContainer)`
font-weight: ${({ theme }) => theme.font.weight.regular};
`;
export const ViewPickerListContent = () => {
const { t } = useLingui();
const { currentViewWithCombinedFiltersAndSorts, viewsOnCurrentObject } =
useGetCurrentView();
@ -101,7 +103,7 @@ export const ViewPickerListContent = () => {
<MenuItem
onClick={handleAddViewButtonClick}
LeftIcon={IconPlus}
text="Add view"
text={t`Add view`}
/>
</StyledBoldDropdownMenuItemsContainer>
</>

View File

@ -17,6 +17,7 @@ import {
MenuItem,
useIcons,
} from 'twenty-ui';
import { useLingui } from '@lingui/react/macro';
type ViewPickerOptionDropdownProps = {
isIndexView: boolean;
@ -31,6 +32,7 @@ export const ViewPickerOptionDropdown = ({
view,
handleViewSelect,
}: ViewPickerOptionDropdownProps) => {
const { t } = useLingui();
const { closeDropdown } = useDropdown(`view-picker-options-${view.id}`);
const { getIcon } = useIcons();
const [isHovered, setIsHovered] = useState(false);
@ -83,20 +85,20 @@ export const ViewPickerOptionDropdown = ({
{isIndexView ? (
<MenuItem
LeftIcon={IconHeart}
text={isFavorite ? 'Manage favorite' : 'Add to Favorite'}
text={isFavorite ? t`Manage favorite` : t`Add to Favorite`}
onClick={handleAddToFavorites}
/>
) : (
<>
<MenuItem
LeftIcon={IconHeart}
text={isFavorite ? 'Manage favorite' : 'Add to Favorite'}
text={isFavorite ? t`Manage favorite` : t`Add to Favorite`}
onClick={handleAddToFavorites}
/>
<MenuItem
LeftIcon={IconPencil}
text="Edit"
text={t`Edit`}
onClick={(event) => {
onEdit(event, view.id);
closeDropdown();
@ -104,7 +106,7 @@ export const ViewPickerOptionDropdown = ({
/>
<MenuItem
LeftIcon={IconTrash}
text="Delete"
text={t`Delete`}
onClick={handleDelete}
accent="danger"
/>