From 334d77a2efc79ba97a2bdd32fe1882602f332d17 Mon Sep 17 00:00:00 2001 From: kazachilo Date: Mon, 14 Apr 2025 15:00:53 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D0=BD=D0=B0=D1=8F=20=D0=BB?= =?UTF-8?q?=D0=BE=D0=BA=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.tsx | 3 +- src/components/blocks/GenerateButton.tsx | 5 +- src/components/blocks/GridButtonsBlock.tsx | 3 +- src/components/blocks/TextInputBlock.tsx | 3 +- src/components/blocks/UploadPhotoBlock.tsx | 9 +- src/components/generation/MainActions.tsx | 11 + src/components/layout/Header.tsx | 17 +- src/components/layout/Navigation.tsx | 9 +- src/components/shared/EmojiPickerModal.tsx | 7 +- src/components/shared/FeedbackModal.tsx | 27 +- src/components/shared/ImageViewer.tsx | 3 +- src/components/shared/NotificationModal.tsx | 9 +- src/components/tokens/TokenPackCard.tsx | 20 +- src/components/tokens/TokenPacksList.tsx | 3 +- src/components/tokens/TokenPacksModal.tsx | 5 +- src/config/homeScreen.ts | 49 +- src/config/stylePresets.ts | 139 +-- src/constants/translations.ts | 797 ++++++++++++++++++ src/hooks/useGenerationState.ts | 53 +- src/hooks/useNotifications.ts | 26 +- src/screens/AddStickerToPackScreen.tsx | 30 +- src/screens/CreateSticker.tsx | 23 +- src/screens/CreateStickerPack.tsx | 36 +- src/screens/CropPhoto.tsx | 7 +- src/screens/Gallery.tsx | 35 +- src/screens/Profile.tsx | 19 +- src/screens/StickerPacks.tsx | 57 +- src/screens/onboarding/OnboardingHowTo.tsx | 19 +- .../onboarding/OnboardingStickerPacks.tsx | 19 +- src/screens/onboarding/OnboardingWelcome.tsx | 9 +- src/screens/onboarding/TermsAndConditions.tsx | 13 +- src/services/api.ts | 5 +- src/services/translateService.ts | 8 +- src/utils/generationUtils.ts | 13 +- 34 files changed, 1165 insertions(+), 326 deletions(-) create mode 100644 src/constants/translations.ts diff --git a/src/App.tsx b/src/App.tsx index 002cb96..3f5ca9f 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -6,6 +6,7 @@ import { initializeUserId, getCurrentUserId } from './constants/user'; import { trackScreenView } from './services/analyticsService'; import customAnalyticsService from './services/customAnalyticsService'; import { BalanceProvider } from './contexts/BalanceContext'; +import { getTranslation } from './constants/translations'; // Ленивая загрузка компонентов const OnboardingWelcome = lazy(() => import('./screens/onboarding/OnboardingWelcome')); @@ -29,7 +30,7 @@ const LoadingScreen = () => ( alignItems: 'center', height: '100vh' }}> - Загрузка... + {getTranslation('loading')} ); diff --git a/src/components/blocks/GenerateButton.tsx b/src/components/blocks/GenerateButton.tsx index a72a1b3..df50f3c 100644 --- a/src/components/blocks/GenerateButton.tsx +++ b/src/components/blocks/GenerateButton.tsx @@ -1,5 +1,6 @@ import React from 'react'; import styles from './GenerateButton.module.css'; +import { getTranslation } from '../../constants/translations'; interface GenerateButtonProps { onGenerate: () => void; @@ -13,8 +14,8 @@ const GenerateButton: React.FC = ({ onGenerate, tokenCount onClick={onGenerate} > - Начать генерацию - {tokenCount} токенов + {getTranslation('start_generation')} + {getTranslation('tokens_count', tokenCount)} ); diff --git a/src/components/blocks/GridButtonsBlock.tsx b/src/components/blocks/GridButtonsBlock.tsx index 2d6d04d..78dab01 100644 --- a/src/components/blocks/GridButtonsBlock.tsx +++ b/src/components/blocks/GridButtonsBlock.tsx @@ -2,6 +2,7 @@ import React, { useState } from 'react'; import { ButtonBlock } from '../../types/blocks'; import SquareButton from './SquareButton'; import styles from './GridButtonsBlock.module.css'; +import { getTranslation } from '../../constants/translations'; interface GridButtonsBlockProps { block: ButtonBlock; @@ -61,7 +62,7 @@ const GridButtonsBlock: React.FC = ({ block, onAction, is className={styles.showMoreButton} onClick={() => setExpanded(!expanded)} > - {expanded ? 'Свернуть' : 'Показать больше'} + {expanded ? getTranslation('collapse') : getTranslation('show_more')} )} diff --git a/src/components/blocks/TextInputBlock.tsx b/src/components/blocks/TextInputBlock.tsx index 45028bf..3e4033a 100644 --- a/src/components/blocks/TextInputBlock.tsx +++ b/src/components/blocks/TextInputBlock.tsx @@ -1,6 +1,7 @@ import React, { useState, useRef } from 'react'; import styles from './TextInputBlock.module.css'; import { TextInputBlock as TextInputBlockType } from '../../types/blocks'; +import { getTranslation } from '../../constants/translations'; interface TextInputBlockProps { block: TextInputBlockType; @@ -40,7 +41,7 @@ const TextInputBlock: React.FC = ({ block, visible, onTextC