Remove localization feature flag and improve CI workflow (#10208)

This commit is contained in:
Félix Malfait
2025-02-14 09:41:35 +01:00
committed by GitHub
parent f2da915b20
commit 1090fb8fad
9 changed files with 46 additions and 88 deletions

View File

@ -1,50 +0,0 @@
name: 'Compile translations'
on:
push:
branches: ['i18n']
pull_request:
branches: ['i18n']
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
compile_translations:
name: Compile translations
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
token: ${{ github.token }}
ref: i18n
- name: Install dependencies
uses: ./.github/workflows/actions/yarn-install
- name: Build twenty-shared
run: npx nx build twenty-shared
- name: Compile translations
id: compile_translations
run: |
npx nx run twenty-server:lingui:compile
npx nx run twenty-emails:lingui:compile
npx nx run twenty-front:lingui:compile
- name: Check and commit compiled files
run: |
git config --global user.name 'github-actions'
git config --global user.email 'github-actions@twenty.com'
git add .
if ! git diff --staged --quiet --exit-code; then
git commit -m "chore: compile translations [skip ci]"
git push origin HEAD:i18n
fi

View File

@ -80,8 +80,37 @@ jobs:
github_base_url: 'github.com'
github_user_name: 'Crowdin Bot'
github_user_email: 'support+bot@crowdin.com'
env:
GITHUB_TOKEN: ${{ github.token }}
CROWDIN_PROJECT_ID: '1'
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
- name: Compile translations
if: inputs.force_pull || steps.compile_translations.outcome == 'failure'
run: |
npx nx run twenty-server:lingui:compile
npx nx run twenty-emails:lingui:compile
npx nx run twenty-front:lingui:compile
- name: Check and commit compiled files
id: check_changes
run: |
git config --global user.name 'github-actions'
git config --global user.email 'github-actions@twenty.com'
git add .
if ! git diff --staged --quiet --exit-code; then
git commit -m "chore: compile translations [skip ci]"
echo "changes_detected=true" >> $GITHUB_OUTPUT
else
echo "changes_detected=false" >> $GITHUB_OUTPUT
fi
- name: Push changes
if: steps.check_changes.outputs.changes_detected == 'true'
run: git push origin HEAD:i18n
- name: Create pull request
if: steps.check_changes.outputs.changes_detected == 'true'
run: gh pr create -B main -H i18n --title 'i18n - translations' --body 'Created by Github action' || true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@ -28,6 +28,7 @@ jobs:
if ! git ls-remote --heads origin i18n | grep i18n; then
git checkout -b i18n
else
git fetch origin i18n
git checkout i18n
git merge origin/main
fi
@ -44,6 +45,12 @@ jobs:
npx nx run twenty-emails:lingui:extract
npx nx run twenty-front:lingui:extract
- name: Compile translations
run: |
npx nx run twenty-server:lingui:compile
npx nx run twenty-emails:lingui:compile
npx nx run twenty-front:lingui:compile
- name: Check and commit any files created
id: check_changes
run: |

View File

@ -528,7 +528,6 @@ export enum FeatureFlagKey {
IsCustomDomainEnabled = 'IsCustomDomainEnabled',
IsEventObjectEnabled = 'IsEventObjectEnabled',
IsJsonFilterEnabled = 'IsJsonFilterEnabled',
IsLocalizationEnabled = 'IsLocalizationEnabled',
IsNewRelationEnabled = 'IsNewRelationEnabled',
IsPermissionsEnabled = 'IsPermissionsEnabled',
IsPostgreSQLIntegrationEnabled = 'IsPostgreSQLIntegrationEnabled',

View File

@ -1,5 +1,5 @@
import { gql } from '@apollo/client';
import * as Apollo from '@apollo/client';
import { gql } from '@apollo/client';
export type Maybe<T> = T | null;
export type InputMaybe<T> = Maybe<T>;
export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
@ -460,7 +460,6 @@ export enum FeatureFlagKey {
IsCustomDomainEnabled = 'IsCustomDomainEnabled',
IsEventObjectEnabled = 'IsEventObjectEnabled',
IsJsonFilterEnabled = 'IsJsonFilterEnabled',
IsLocalizationEnabled = 'IsLocalizationEnabled',
IsNewRelationEnabled = 'IsNewRelationEnabled',
IsPermissionsEnabled = 'IsPermissionsEnabled',
IsPostgreSQLIntegrationEnabled = 'IsPostgreSQLIntegrationEnabled',

View File

@ -4,10 +4,8 @@ import { SettingsPageContainer } from '@/settings/components/SettingsPageContain
import { SettingsPath } from '@/types/SettingsPath';
import { SubMenuTopBarContainer } from '@/ui/layout/page/components/SubMenuTopBarContainer';
import { useColorScheme } from '@/ui/theme/hooks/useColorScheme';
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
import { Trans, useLingui } from '@lingui/react/macro';
import { FeatureFlagKey } from '~/generated/graphql';
import { DateTimeSettings } from '~/pages/settings/profile/appearance/components/DateTimeSettings';
import { LocalePicker } from '~/pages/settings/profile/appearance/components/LocalePicker';
import { getSettingsPath } from '~/utils/navigation/getSettingsPath';
@ -15,10 +13,6 @@ import { getSettingsPath } from '~/utils/navigation/getSettingsPath';
export const SettingsExperience = () => {
const { colorScheme, setColorScheme } = useColorScheme();
const isLocalizationEnabled = useIsFeatureEnabled(
FeatureFlagKey.IsLocalizationEnabled,
);
const { t } = useLingui();
return (
@ -51,15 +45,13 @@ export const SettingsExperience = () => {
<DateTimeSettings />
</Section>
{isLocalizationEnabled && (
<Section>
<H2Title
title={t`Language`}
description={t`Select your preferred language`}
/>
<LocalePicker />
</Section>
)}
<Section>
<H2Title
title={t`Language`}
description={t`Select your preferred language`}
/>
<LocalePicker />
</Section>
</SettingsPageContainer>
</SubMenuTopBarContainer>
);

View File

@ -70,11 +70,6 @@ export const seedFeatureFlags = async (
workspaceId: workspaceId,
value: true,
},
{
key: FeatureFlagKey.IsLocalizationEnabled,
workspaceId: workspaceId,
value: true,
},
{
key: FeatureFlagKey.IsRichTextV2Enabled,
workspaceId: workspaceId,

View File

@ -7,23 +7,11 @@ type FeatureFlagMetadata = {
};
export type PublicFeatureFlag = {
key: Extract<
FeatureFlagKey,
FeatureFlagKey.IsLocalizationEnabled | FeatureFlagKey.IsWorkflowEnabled
>;
key: Extract<FeatureFlagKey, FeatureFlagKey.IsWorkflowEnabled>;
metadata: FeatureFlagMetadata;
};
export const PUBLIC_FEATURE_FLAGS: PublicFeatureFlag[] = [
{
key: FeatureFlagKey.IsLocalizationEnabled,
metadata: {
label: 'Localization',
description:
"Enable this and go to Settings > Experience to change your account's language. You can also help us improve the translations on Github.",
imagePath: 'https://twenty.com/images/releases/labs/translation.png',
},
},
{
key: FeatureFlagKey.IsWorkflowEnabled,
metadata: {

View File

@ -11,7 +11,6 @@ export enum FeatureFlagKey {
IsCommandMenuV2Enabled = 'IS_COMMAND_MENU_V2_ENABLED',
IsJsonFilterEnabled = 'IS_JSON_FILTER_ENABLED',
IsCustomDomainEnabled = 'IS_CUSTOM_DOMAIN_ENABLED',
IsLocalizationEnabled = 'IS_LOCALIZATION_ENABLED',
IsBillingPlansEnabled = 'IS_BILLING_PLANS_ENABLED',
IsRichTextV2Enabled = 'IS_RICH_TEXT_V2_ENABLED',
IsNewRelationEnabled = 'IS_NEW_RELATION_ENABLED',