From 95f4ea7a1e6ddc397cccd6f9d1860d58aa813b06 Mon Sep 17 00:00:00 2001 From: desperado1802 Date: Tue, 28 Nov 2023 16:11:16 +0200 Subject: [PATCH 1/7] tasks icon all the times navigates to current user tasks, re-arranged the navigation icons, and fixed small logic issue --- .../components/ProfileInfoWithTime.tsx | 95 ++- apps/mobile/app/i18n/ar.ts | 666 +++++++++--------- apps/mobile/app/i18n/bg.ts | 629 ++++++++--------- apps/mobile/app/i18n/en.ts | 647 +++++++++-------- apps/mobile/app/i18n/es.ts | 629 ++++++++--------- apps/mobile/app/i18n/fr.ts | 594 ++++++++-------- apps/mobile/app/i18n/he.ts | 629 ++++++++--------- apps/mobile/app/i18n/ko.ts | 661 +++++++++-------- apps/mobile/app/i18n/ru.ts | 629 ++++++++--------- .../app/navigators/AuthenticatedNavigator.tsx | 75 +- 10 files changed, 2595 insertions(+), 2659 deletions(-) diff --git a/apps/mobile/app/components/Task/EstimateBlock/components/ProfileInfoWithTime.tsx b/apps/mobile/app/components/Task/EstimateBlock/components/ProfileInfoWithTime.tsx index 469f8b27c..45beebde7 100644 --- a/apps/mobile/app/components/Task/EstimateBlock/components/ProfileInfoWithTime.tsx +++ b/apps/mobile/app/components/Task/EstimateBlock/components/ProfileInfoWithTime.tsx @@ -1,50 +1,41 @@ /* eslint-disable react-native/no-inline-styles */ /* eslint-disable react-native/no-color-literals */ -import { Text, StyleSheet, TouchableOpacity, View } from "react-native" -import React from "react" -import { Avatar } from "react-native-paper" -import { imgTitleProfileAvatar } from "../../../../helpers/img-title-profile-avatar" -import { typography, useAppTheme } from "../../../../theme" -import { limitTextCharaters } from "../../../../helpers/sub-text" -import { useNavigation } from "@react-navigation/native" -import { - DrawerNavigationProp, - SettingScreenNavigationProp, -} from "../../../../navigators/AuthenticatedNavigator" +import { Text, StyleSheet, TouchableOpacity, View } from 'react-native'; +import React from 'react'; +import { Avatar } from 'react-native-paper'; +import { imgTitleProfileAvatar } from '../../../../helpers/img-title-profile-avatar'; +import { typography, useAppTheme } from '../../../../theme'; +import { limitTextCharaters } from '../../../../helpers/sub-text'; +import { useNavigation } from '@react-navigation/native'; +import { DrawerNavigationProp, SettingScreenNavigationProp } from '../../../../navigators/AuthenticatedNavigator'; interface IProfileInfo { - names: string - profilePicSrc: string - userId?: string - largerProfileInfo?: boolean - estimationsBlock?: boolean - time?: string + names: string; + profilePicSrc: string; + userId?: string; + largerProfileInfo?: boolean; + estimationsBlock?: boolean; + time?: string; } -const ProfileInfoWithTime: React.FC = ({ - profilePicSrc, - names, - userId, - largerProfileInfo, - time, -}) => { - const { colors } = useAppTheme() +const ProfileInfoWithTime: React.FC = ({ profilePicSrc, names, userId, largerProfileInfo, time }) => { + const { colors } = useAppTheme(); - const alternateNavigation = useNavigation>() - const navigation = useNavigation>() + const alternateNavigation = useNavigation>(); + const navigation = useNavigation>(); const navigateToProfile = () => { - alternateNavigation.navigate("AuthenticatedTab") + alternateNavigation.navigate('AuthenticatedTab'); setTimeout(() => { - navigation.navigate("Profile", { userId, activeTab: "worked" }) - }, 50) - } + navigation.navigate('Profile', { userId, activeTab: 'worked' }); + }, 50); + }; return ( @@ -56,9 +47,9 @@ const ProfileInfoWithTime: React.FC = ({ /> ) : ( )} @@ -67,41 +58,41 @@ const ProfileInfoWithTime: React.FC = ({ style={{ fontSize: largerProfileInfo ? 16 : 12, color: colors.primary, - fontWeight: "600", + fontWeight: '600' }} > {limitTextCharaters({ text: names.trim(), - numChars: 12, + numChars: 12 })} - {time ? time : "6 h: 40 m"} + {time || '6 h: 40 m'} - ) -} + ); +}; -export default ProfileInfoWithTime +export default ProfileInfoWithTime; const styles = StyleSheet.create({ container: { - alignItems: "center", - flexDirection: "row", - gap: 7, + alignItems: 'center', + flexDirection: 'row', + gap: 7 }, prefix: { - color: "#FFFFFF", - fontFamily: typography.fonts.PlusJakartaSans.light, + color: '#FFFFFF', + fontFamily: typography.fonts.PlusJakartaSans.light }, profileImage: { - borderRadius: 100, - }, -}) + borderRadius: 100 + } +}); diff --git a/apps/mobile/app/i18n/ar.ts b/apps/mobile/app/i18n/ar.ts index d058274ec..62e53242e 100644 --- a/apps/mobile/app/i18n/ar.ts +++ b/apps/mobile/app/i18n/ar.ts @@ -1,422 +1,412 @@ -import { Translations } from "./en" +import { Translations } from './en'; const ar: Translations = { common: { - ok: "نعم", - cancel: "حذف", - loading: "Loading", - back: "خلف", - logOut: "تسجيل خروج", - save: "حفظ", - edit: "Edit", - confirm: "Confirm", - discard: "Discard", + ok: 'نعم', + cancel: 'حذف', + loading: 'Loading', + back: 'خلف', + logOut: 'تسجيل خروج', + save: 'حفظ', + edit: 'Edit', + confirm: 'Confirm', + discard: 'Discard' // @demo remove-current-line }, welcomeScreen: { postscript: - "ربما لا يكون هذا هو الشكل الذي يبدو عليه تطبيقك مالم يمنحك المصمم هذه الشاشات وشحنها في هذه الحالة", - readyForLaunch: "تطبيقك تقريبا جاهز للتشغيل", - exciting: "اوه هذا مثير", - letsGo: "لنذهب", // @demo remove-current-line + 'ربما لا يكون هذا هو الشكل الذي يبدو عليه تطبيقك مالم يمنحك المصمم هذه الشاشات وشحنها في هذه الحالة', + readyForLaunch: 'تطبيقك تقريبا جاهز للتشغيل', + exciting: 'اوه هذا مثير', + letsGo: 'لنذهب' // @demo remove-current-line }, errorScreen: { - title: "هناك خطأ ما", + title: 'هناك خطأ ما', friendlySubtitle: "هذه هي الشاشة التي سيشاهدها المستخدمون في عملية الانتاج عند حدوث خطأ. سترغب في تخصيص هذه الرسالة ( الموجودة في 'ts.en/i18n/app') وربما التخطيط ايضاً ('app/screens/ErrorScreen'). إذا كنت تريد إزالة هذا بالكامل، تحقق من 'app/app.tsp' من اجل عنصر .", - reset: "اعادة تعيين التطبيق", - traceTitle: "خطأ من مجموعة %{name}", // @demo remove-current-line + reset: 'اعادة تعيين التطبيق', + traceTitle: 'خطأ من مجموعة %{name}' // @demo remove-current-line }, emptyStateComponent: { generic: { - heading: "فارغة جداً....حزين", - content: "لا توجد بيانات حتى الآن. حاول النقر فوق الزر لتحديث التطبيق او اعادة تحميله.", - button: "لنحاول هذا مرّة أخرى", - }, + heading: 'فارغة جداً....حزين', + content: 'لا توجد بيانات حتى الآن. حاول النقر فوق الزر لتحديث التطبيق او اعادة تحميله.', + button: 'لنحاول هذا مرّة أخرى' + } }, // @demo remove-block-start errors: { - invalidEmail: "عنوان البريد الالكتروني غير صالح", + invalidEmail: 'عنوان البريد الالكتروني غير صالح' }, loginScreen: { - name: "تسجيل الدخول", - enterDetails: "إنشاء فريق جديد", - enterDetails2: "انضم إلى الفريق الحالي", - hintDetails: "الرجاء إدخال تفاصيل فريقك لإنشاء فريق جديد.", - enterDetails3: "مساحة العمل", - hintDetails2: "الرجاء إدخال البريد الإلكتروني ورمز الدعوة للانضمام إلى الفريق الحالي.", - hintDetails3: "البريد الإلكتروني المرتبط بمساحات العمل التالية", - joinTeam: "انضم إلى الفريق", - joinExistTeam: "الانضمام إلى الفريق الحالي؟", - joinTeamHint: "أدخل رمز الدعوة الذي أرسلناه إلى بريدك الإلكتروني", - step1Title: "حدد اسم الفريق", - step2Title: "قدم المزيد من التفاصيل", - step3Title: "شفرة الدعوة", - confirmDetails: "يرجى التحقق من بريدك الإلكتروني للحصول على رمز التأكيد", - confirmDetails2: "الرجاء إدخال رمز الدعوة الذي أرسلناه إلى بريدك الإلكتروني", - sendCode: "أرسل كود", - codeNotReceived: "ألم تستلم الرمز؟ يكرر", - inviteStepLabel: "أدخل بريدك الإلكتروني", - emailFieldLabel: "بريدك الالكتروني", - teamNameFieldLabel: "اسم الفريق", - inviteCodeFieldLabel: "أدخل رمز الدعوة", - selectWorkspaceFieldLabel: "حدد مساحة العمل", - emailFieldPlaceholder: "أدخل عنوان بريدك الالكتروني", - teamNameFieldPlaceholder: "الرجاء إدخال اسم فريقك", - userNameFieldPlaceholder: "أدخل أسمك", - tapContinue: "يكمل", - tapJoin: "ينضم", - createTeam: "إنشاء فريق", + name: 'تسجيل الدخول', + enterDetails: 'إنشاء فريق جديد', + enterDetails2: 'انضم إلى الفريق الحالي', + hintDetails: 'الرجاء إدخال تفاصيل فريقك لإنشاء فريق جديد.', + enterDetails3: 'مساحة العمل', + hintDetails2: 'الرجاء إدخال البريد الإلكتروني ورمز الدعوة للانضمام إلى الفريق الحالي.', + hintDetails3: 'البريد الإلكتروني المرتبط بمساحات العمل التالية', + joinTeam: 'انضم إلى الفريق', + joinExistTeam: 'الانضمام إلى الفريق الحالي؟', + joinTeamHint: 'أدخل رمز الدعوة الذي أرسلناه إلى بريدك الإلكتروني', + step1Title: 'حدد اسم الفريق', + step2Title: 'قدم المزيد من التفاصيل', + step3Title: 'شفرة الدعوة', + confirmDetails: 'يرجى التحقق من بريدك الإلكتروني للحصول على رمز التأكيد', + confirmDetails2: 'الرجاء إدخال رمز الدعوة الذي أرسلناه إلى بريدك الإلكتروني', + sendCode: 'أرسل كود', + codeNotReceived: 'ألم تستلم الرمز؟ يكرر', + inviteStepLabel: 'أدخل بريدك الإلكتروني', + emailFieldLabel: 'بريدك الالكتروني', + teamNameFieldLabel: 'اسم الفريق', + inviteCodeFieldLabel: 'أدخل رمز الدعوة', + selectWorkspaceFieldLabel: 'حدد مساحة العمل', + emailFieldPlaceholder: 'أدخل عنوان بريدك الالكتروني', + teamNameFieldPlaceholder: 'الرجاء إدخال اسم فريقك', + userNameFieldPlaceholder: 'أدخل أسمك', + tapContinue: 'يكمل', + tapJoin: 'ينضم', + createTeam: 'إنشاء فريق' }, myWorkScreen: { - name: "عملى", - estimateLabel: "تقدير", - statusText: "حالة", - taskFieldPlaceholder: "ما الذي تعمل عليه", - sizeText: "الأحجام", - prioritiesText: "الأولويات", - tabCreateTask: "قم بإنشاء مهمة جديدة", - labelText: "مُلصَق", + name: 'عمل', + estimateLabel: 'تقدير', + statusText: 'حالة', + taskFieldPlaceholder: 'ما الذي تعمل عليه', + sizeText: 'الأحجام', + prioritiesText: 'الأولويات', + tabCreateTask: 'قم بإنشاء مهمة جديدة', + labelText: 'مُلصَق' }, teamScreen: { - name: "فرق", - cardTotalTimeLabel: "الوقت الكلي", - cardTodayWorkLabel: "العمل اليوم", - cardTotalWorkLabel: "إجمالي العمل", - inviteButton: "يدعو", - inviteModalTitle: "ادعُ عضوًا إلى فريقك", - inviteModalHint: "أرسل دعوة إلى أحد أعضاء الفريق عبر البريد الإلكتروني", - inviteEmailFieldPlaceholder: "أدخل عنوان البريد الإلكتروني", - inviteNameFieldPlaceholder: "أدخل اسم عضو الفريق", - sendButton: "إرسال", - createNewTeamButton: "أنشئ فريقًا جديدًا", + name: 'فرق', + cardTotalTimeLabel: 'الوقت الكلي', + cardTodayWorkLabel: 'العمل اليوم', + cardTotalWorkLabel: 'إجمالي العمل', + inviteButton: 'يدعو', + inviteModalTitle: 'ادعُ عضوًا إلى فريقك', + inviteModalHint: 'أرسل دعوة إلى أحد أعضاء الفريق عبر البريد الإلكتروني', + inviteEmailFieldPlaceholder: 'أدخل عنوان البريد الإلكتروني', + inviteNameFieldPlaceholder: 'أدخل اسم عضو الفريق', + sendButton: 'إرسال', + createNewTeamButton: 'أنشئ فريقًا جديدًا' }, taskDetailsScreen: { - characterLimitErrorTitle: "لم نتمكن من تحديث عنوان المهمة.", - characterLimitErrorDescription: "لا يمكن أن يتجاوز عنوان المهمة 255 حرفًا.", - copyTitle: "تم نسخ العنوان.", - changeParent: "تغيير الوالدين", - addParent: "أضف أحد الوالدين", - taskScreen: "شاشة المهام", - details: "تفاصيل", - taskPublic: "هذه المهمة عامة", - makePrivate: "جعل خاص", - taskPrivate: "هذه المهمة خاصة", - makePublic: "جعل العامة", - typeIssue: "نوع المشكلة", - creator: "المُنشئ", - assignees: "المُنفذون", - startDate: "تاريخ البدء", - dueDate: "تاريخ الاستحقاق", - daysRemaining: "الأيام المتبقية", - version: "الإصدار", - epic: "ملحمة", - status: "الحالة", - labels: "التسميات", - size: "الحجم", - priority: "الأولوية", - manageAssignees: "إدارة المكلفين", - setDueDate: "تحديد تاريخ الاستحقاق", - setStartDate: "تحديد تاريخ البدء", - items: "أغراض", - estimate: "تقدير", - estimations: "التقديرات", - time: "الوقت", - progress: "التقدم", - timeToday: "الوقت اليوم", - totalGroupTime: "إجمالي وقت المجموعة", - timeRemaining: "الوقت المتبقي", - blocks: "كتل", - clones: "استنساخ", - duplicates: "تكرار", - isBlockedBy: "محظور بواسطة", - isClonedBy: "مستنسخ بواسطة", - isDuplicatedBy: "مكرر بواسطة", - relatesTo: "يتصل بـ", - linkedIssues: "المسائل المرتبطة", - description: "الوصف", - descriptionBlockPlaceholder: "اكتب وصفاً كاملاً لمشروعك...", - copyDescription: "تم نسخ الوصف.", - showMore: "أظهر المزيد", + characterLimitErrorTitle: 'لم نتمكن من تحديث عنوان المهمة.', + characterLimitErrorDescription: 'لا يمكن أن يتجاوز عنوان المهمة 255 حرفًا.', + copyTitle: 'تم نسخ العنوان.', + changeParent: 'تغيير الوالدين', + addParent: 'أضف أحد الوالدين', + taskScreen: 'شاشة المهام', + details: 'تفاصيل', + taskPublic: 'هذه المهمة عامة', + makePrivate: 'جعل خاص', + taskPrivate: 'هذه المهمة خاصة', + makePublic: 'جعل العامة', + typeIssue: 'نوع المشكلة', + creator: 'المُنشئ', + assignees: 'المُنفذون', + startDate: 'تاريخ البدء', + dueDate: 'تاريخ الاستحقاق', + daysRemaining: 'الأيام المتبقية', + version: 'الإصدار', + epic: 'ملحمة', + status: 'الحالة', + labels: 'التسميات', + size: 'الحجم', + priority: 'الأولوية', + manageAssignees: 'إدارة المكلفين', + setDueDate: 'تحديد تاريخ الاستحقاق', + setStartDate: 'تحديد تاريخ البدء', + items: 'أغراض', + estimate: 'تقدير', + estimations: 'التقديرات', + time: 'الوقت', + progress: 'التقدم', + timeToday: 'الوقت اليوم', + totalGroupTime: 'إجمالي وقت المجموعة', + timeRemaining: 'الوقت المتبقي', + blocks: 'كتل', + clones: 'استنساخ', + duplicates: 'تكرار', + isBlockedBy: 'محظور بواسطة', + isClonedBy: 'مستنسخ بواسطة', + isDuplicatedBy: 'مكرر بواسطة', + relatesTo: 'يتصل بـ', + linkedIssues: 'المسائل المرتبطة', + description: 'الوصف', + descriptionBlockPlaceholder: 'اكتب وصفاً كاملاً لمشروعك...', + copyDescription: 'تم نسخ الوصف.', + showMore: 'أظهر المزيد' }, tasksScreen: { - name: "مهام", - now: "الآن", - last24hours: "أخر 24 ساعه", - totalTimeLabel: "الوقت الكلي", - workedTab: "عمل", - assignedTab: "تعيين", - unassignedTab: "غير معين", - createTaskButton: "إنشاء مهمة", - assignTaskButton: "تعيين مهمة", - createButton: "خلق", - assignButton: "تعيين", - resendInvitation: "اعادة ارسال الدعوة", - editTaskLabel: "تحرير المهمة", - unassignTaskLabel: "إلغاء تعيين المهمة", - unMakeManager: "إلغاء إنشاء مدير", - makeManager: "جعل مديرا", - remove: "يزيل", - filter: "منقي", - apply: "يتقدم", - reset: "إعادة ضبط", + name: 'مهام', + now: 'الآن', + last24hours: 'أخر 24 ساعه', + totalTimeLabel: 'الوقت الكلي', + workedTab: 'عمل', + assignedTab: 'تعيين', + unassignedTab: 'غير معين', + createTaskButton: 'إنشاء مهمة', + assignTaskButton: 'تعيين مهمة', + createButton: 'خلق', + assignButton: 'تعيين', + resendInvitation: 'اعادة ارسال الدعوة', + editTaskLabel: 'تحرير المهمة', + unassignTaskLabel: 'إلغاء تعيين المهمة', + unMakeManager: 'إلغاء إنشاء مدير', + makeManager: 'جعل مديرا', + remove: 'يزيل', + filter: 'منقي', + apply: 'يتقدم', + reset: 'إعادة ضبط' }, noTeamScreen: { - createYourTeam: "Create your own team or join existed", - hintMessage: "Lorem ipsum dolor sit amet consectetur. Blandit lobortis dui risus neque.", + createYourTeam: 'Create your own team or join existed', + hintMessage: 'Lorem ipsum dolor sit amet consectetur. Blandit lobortis dui risus neque.' }, settingScreen: { - name: "Settings", + name: 'Settings', personalSection: { - name: "Personal", - fullName: "Full Name", - yourContact: "Your Contact", - yourContactHint: "Your contact information", - themes: "Themes", - darkModeToLight: "Dark Mode to Light Mode", - lightModeToDark: "Light Mode to Dark Mode", - language: "Language", - changeAvatar: "Change Avatar", - timeZone: "Time Zone", - workSchedule: "Work Schedule", - workScheduleHint: "Set your work schedule now", - removeAccount: "Remove Account", - removeAccountHint: - "Account will be removed from all teams, except where you are the only manager", - deleteAccount: "Delete Account", - deleteAccountHint: - "Your account will be deleted permanently with remolving from all teams", - detect: "Detect", + name: 'Personal', + fullName: 'Full Name', + yourContact: 'Your Contact', + yourContactHint: 'Your contact information', + themes: 'Themes', + darkModeToLight: 'Dark Mode to Light Mode', + lightModeToDark: 'Light Mode to Dark Mode', + language: 'Language', + changeAvatar: 'Change Avatar', + timeZone: 'Time Zone', + workSchedule: 'Work Schedule', + workScheduleHint: 'Set your work schedule now', + removeAccount: 'Remove Account', + removeAccountHint: 'Account will be removed from all teams, except where you are the only manager', + deleteAccount: 'Delete Account', + deleteAccountHint: 'Your account will be deleted permanently with remolving from all teams', + detect: 'Detect' }, teamSection: { - name: "Team", - teamName: "Team Name", - timeTracking: "Time Tracking", - timeTrackingHint: "Enable time tracking", - taskStatuses: "Task Statuses", - taskPriorities: "Task Priorities", - taskSizes: "Task Sizes", - taskLabel: "Task Label", - changeLogo: "Change Logo", - teamRole: "Manager Member & Role", - workSchedule: "Work Schedule", - workScheduleHint: "Set your work schedule now", - transferOwnership: "Transfer Ownership", - transferOwnershipHint: "Transfer full ownership of team to another user", - removeTeam: "Remove Team", - removeTeamHint: - "Team will be completely removed for the system and team members lost access", - quitTeam: "Quit the team", - quitTeamHint: "You are about to quit the team", - areYouSure: "Are you sure ?", + name: 'Team', + teamName: 'Team Name', + timeTracking: 'Time Tracking', + timeTrackingHint: 'Enable time tracking', + taskStatuses: 'Task Statuses', + taskPriorities: 'Task Priorities', + taskSizes: 'Task Sizes', + taskLabel: 'Task Label', + changeLogo: 'Change Logo', + teamRole: 'Manager Member & Role', + workSchedule: 'Work Schedule', + workScheduleHint: 'Set your work schedule now', + transferOwnership: 'Transfer Ownership', + transferOwnershipHint: 'Transfer full ownership of team to another user', + removeTeam: 'Remove Team', + removeTeamHint: 'Team will be completely removed for the system and team members lost access', + quitTeam: 'Quit the team', + quitTeamHint: 'You are about to quit the team', + areYouSure: 'Are you sure ?', changeTeamName: { - mainTitle: "Change Team Name", - inputPlaceholder: "Team Name", - }, + mainTitle: 'Change Team Name', + inputPlaceholder: 'Team Name' + } }, - dangerZone: "Danger Zone", - modalChangeLanguageTitle: "Change Language", + dangerZone: 'Danger Zone', + modalChangeLanguageTitle: 'Change Language', languages: { - english: "English ( United States )", - french: "French ( France )", - arabic: "Arabic", - russian: "Russian", - bulgarian: "Bulgarian", - spanish: "Spanish", - korean: "Korean", - hebrew: "Hebrew", + english: 'English ( United States )', + french: 'French ( France )', + arabic: 'Arabic', + russian: 'Russian', + bulgarian: 'Bulgarian', + spanish: 'Spanish', + korean: 'Korean', + hebrew: 'Hebrew' }, versionScreen: { - mainTitle: "نسخ المهمة", - listOfVersions: "قائمة النسخ", - noActiveVersions: "لا توجد نسخ نشطة", - createNewVersionButton: "إنشاء نسخة جديدة", - createNewVersionText: "إنشاء نسخة جديدة", - versionNamePlaceholder: "اسم النسخة", - cancelButtonText: "إلغاء", - createButtonText: "إنشاء", - updateButtonText: "تحديث", + mainTitle: 'نسخ المهمة', + listOfVersions: 'قائمة النسخ', + noActiveVersions: 'لا توجد نسخ نشطة', + createNewVersionButton: 'إنشاء نسخة جديدة', + createNewVersionText: 'إنشاء نسخة جديدة', + versionNamePlaceholder: 'اسم النسخة', + cancelButtonText: 'إلغاء', + createButtonText: 'إنشاء', + updateButtonText: 'تحديث' }, statusScreen: { - mainTitle: "Task Statuses", - statuses: "Statuses", - listStatuses: "List of Statuses", - noActiveStatuses: "There are no active statuses", - createStatusButton: "Create new status", - createNewStatusText: "Create New Status", - statusNamePlaceholder: "Status Name", - statusIconPlaceholder: "Choose Icon", - statusColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Statuses', + statuses: 'Statuses', + listStatuses: 'List of Statuses', + noActiveStatuses: 'There are no active statuses', + createStatusButton: 'Create new status', + createNewStatusText: 'Create New Status', + statusNamePlaceholder: 'Status Name', + statusIconPlaceholder: 'Choose Icon', + statusColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, priorityScreen: { - mainTitle: "Task Priorities", - priorities: "Priorities", - listPriorities: "List of Priorities", - noActivePriorities: "There are no active priorities", - createPriorityButton: "Create new priority", - createNewPriorityText: "Create New Priority", - priorityNamePlaceholder: "Priority Name", - priorityIconPlaceholder: "Search Icon", - priorityColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Priorities', + priorities: 'Priorities', + listPriorities: 'List of Priorities', + noActivePriorities: 'There are no active priorities', + createPriorityButton: 'Create new priority', + createNewPriorityText: 'Create New Priority', + priorityNamePlaceholder: 'Priority Name', + priorityIconPlaceholder: 'Search Icon', + priorityColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, labelScreen: { - mainTitle: "Task Labels", - listLabels: "List of Labels", - labels: "Labels", - noActiveLabels: "There are no active labels", - createLabelButton: "Create new label", - createNewLabelText: "Create New Labels", - labelNamePlaceholder: "Labels Name", - labelIconPlaceholder: "Choose Icon", - labelColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Labels', + listLabels: 'List of Labels', + labels: 'Labels', + noActiveLabels: 'There are no active labels', + createLabelButton: 'Create new label', + createNewLabelText: 'Create New Labels', + labelNamePlaceholder: 'Labels Name', + labelIconPlaceholder: 'Choose Icon', + labelColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, sizeScreen: { - mainTitle: "Task Sizes", - sizes: "Sizes", - listSizes: "List of Sizes", - noActiveSizes: "There are no active sizes", - createSizeButton: "Create new size", - createNewSizeText: "Create New Sizes", - sizeNamePlaceholder: "Size Name", - sizeIconPlaceholder: "Choose Icon", - sizeColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Sizes', + sizes: 'Sizes', + listSizes: 'List of Sizes', + noActiveSizes: 'There are no active sizes', + createSizeButton: 'Create new size', + createNewSizeText: 'Create New Sizes', + sizeNamePlaceholder: 'Size Name', + sizeIconPlaceholder: 'Choose Icon', + sizeColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, membersSettingsScreen: { - mainTitle: "الأعضاء والأدوار", - deleteUserConfirmation: "هل أنت متأكد من رغبتك في إزالة المستخدم المحدد؟", - changeRole: "تغيير الدور", - delete: "حذف", + mainTitle: 'الأعضاء والأدوار', + deleteUserConfirmation: 'هل أنت متأكد من رغبتك في إزالة المستخدم المحدد؟', + changeRole: 'تغيير الدور', + delete: 'حذف' }, changeFullName: { - firstNamePlaceholder: "First Name", - lastNamePlaholder: "Last Name", - mainTitle: "Change Full Name", + firstNamePlaceholder: 'First Name', + lastNamePlaholder: 'Last Name', + mainTitle: 'Change Full Name' }, changeAvatar: { - recentPictures: "Recent Pictures", - recentFiles: "Recent files", - selectFromGalery: "Select from galery", - selectFromFiles: "Select from Files", - continueButton: "Continue", - logoDeleteConfirmation: "Are you sure you want to delete the logo?", - avatarDeleteConfirmation: "Are you sure you want to delete the avatar?", + recentPictures: 'Recent Pictures', + recentFiles: 'Recent files', + selectFromGalery: 'Select from galery', + selectFromFiles: 'Select from Files', + continueButton: 'Continue', + logoDeleteConfirmation: 'Are you sure you want to delete the logo?', + avatarDeleteConfirmation: 'Are you sure you want to delete the avatar?' }, contact: { - mainTitle: "Change Your Contact", - emailPlaceholder: "Email Address", - phonePlaceholder: "Phone Number", - emailNotValid: "Please provide a valid Email", - phoneNotValid: "Please provide a valid Phone Number", + mainTitle: 'Change Your Contact', + emailPlaceholder: 'Email Address', + phonePlaceholder: 'Phone Number', + emailNotValid: 'Please provide a valid Email', + phoneNotValid: 'Please provide a valid Phone Number' }, changeTimezone: { - mainTitle: "Change Time Zone", - selectTimezoneTitle: "Select Time Zone", + mainTitle: 'Change Time Zone', + selectTimezoneTitle: 'Select Time Zone' }, changeLanguage: { - mainTitle: "Change Language", - selectLanguageTitle: "Select Languanges", - }, + mainTitle: 'Change Language', + selectLanguageTitle: 'Select Languanges' + } }, hamburgerMenu: { - darkMode: "الوضع الداكن", + darkMode: 'الوضع الداكن' }, inviteModal: { - accept: "يقبل", - reject: "يرفض", - inviteHint: "لقد تمت دعوتك للانضمام", + accept: 'يقبل', + reject: 'يرفض', + inviteHint: 'لقد تمت دعوتك للانضمام' }, accountVerificationModal: { - verify: "يؤكد", + verify: 'يؤكد' }, demoNavigator: { - componentsTab: "عناصر", - debugTab: "تصحيح", - communityTab: "واصل اجتماعي", - podcastListTab: "البودكاست", + componentsTab: 'عناصر', + debugTab: 'تصحيح', + communityTab: 'واصل اجتماعي', + podcastListTab: 'البودكاست' }, demoCommunityScreen: { - title: "تواصل مع المجتمع", - tagLine: - "قم بالتوصيل لمنتدى Infinite Red الذي يضم تفاعل المهندسين المحلّيين ورفع مستوى تطوير تطبيقك معنا", - joinUsOnSlackTitle: "انضم الينا على Slack", + title: 'تواصل مع المجتمع', + tagLine: 'قم بالتوصيل لمنتدى Infinite Red الذي يضم تفاعل المهندسين المحلّيين ورفع مستوى تطوير تطبيقك معنا', + joinUsOnSlackTitle: 'انضم الينا على Slack', joinUsOnSlack: - "هل ترغب في وجود مكان للتواصل مع مهندسي React Native حول العالم؟ الانضمام الى المحادثة في سلاك المجتمع الاحمر اللانهائي! مجتمعناالمتنامي هو مساحةآمنة لطرح الاسئلة والتعلم من الآخرين وتنمية شبكتك.", - joinSlackLink: "انضم الي مجتمع Slack", - makeIgniteEvenBetterTitle: "اجعل Ignite افضل", + 'هل ترغب في وجود مكان للتواصل مع مهندسي React Native حول العالم؟ الانضمام الى المحادثة في سلاك المجتمع الاحمر اللانهائي! مجتمعناالمتنامي هو مساحةآمنة لطرح الاسئلة والتعلم من الآخرين وتنمية شبكتك.', + joinSlackLink: 'انضم الي مجتمع Slack', + makeIgniteEvenBetterTitle: 'اجعل Ignite افضل', makeIgniteEvenBetter: - "هل لديك فكرة لجعل Ignite افضل؟ نحن سعداء لسماع ذلك! نحن نبحث دائماً عن الآخرين الذين يرغبون في مساعدتنا في بناء افضل الادوات المحلية التفاعلية المتوفرة هناك. انضم الينا عبر GitHub للانضمام الينا في بناء مستقبل Ignite", - contributeToIgniteLink: "ساهم في Ignite", - theLatestInReactNativeTitle: "الاحدث في React Native", - theLatestInReactNative: "نخن هنا لنبقيك محدثاً على جميع React Native التي تعرضها", - reactNativeRadioLink: "راديو React Native", - reactNativeNewsletterLink: "نشرة اخبار React Native", - reactNativeLiveLink: "مباشر React Native", - chainReactConferenceLink: "مؤتمر Chain React", - hireUsTitle: "قم بتوظيف Infinite Red لمشروعك القادم", - hireUs: "سواء كان الامر يتعلّق بتشغيل مشروع كامل او اعداد الفرق بسرعة من خلال التدريب العلمي لدينا، يمكن ان يساعد Infinite Red اللامتناهي في اي مشروع محلي يتفاعل معه.", - hireUsLink: "ارسل لنا رسالة", + 'هل لديك فكرة لجعل Ignite افضل؟ نحن سعداء لسماع ذلك! نحن نبحث دائماً عن الآخرين الذين يرغبون في مساعدتنا في بناء افضل الادوات المحلية التفاعلية المتوفرة هناك. انضم الينا عبر GitHub للانضمام الينا في بناء مستقبل Ignite', + contributeToIgniteLink: 'ساهم في Ignite', + theLatestInReactNativeTitle: 'الاحدث في React Native', + theLatestInReactNative: 'نخن هنا لنبقيك محدثاً على جميع React Native التي تعرضها', + reactNativeRadioLink: 'راديو React Native', + reactNativeNewsletterLink: 'نشرة اخبار React Native', + reactNativeLiveLink: 'مباشر React Native', + chainReactConferenceLink: 'مؤتمر Chain React', + hireUsTitle: 'قم بتوظيف Infinite Red لمشروعك القادم', + hireUs: 'سواء كان الامر يتعلّق بتشغيل مشروع كامل او اعداد الفرق بسرعة من خلال التدريب العلمي لدينا، يمكن ان يساعد Infinite Red اللامتناهي في اي مشروع محلي يتفاعل معه.', + hireUsLink: 'ارسل لنا رسالة' }, demoShowroomScreen: { - jumpStart: "مكونات او عناصر لبدء مشروعك", + jumpStart: 'مكونات او عناصر لبدء مشروعك', lorem2Sentences: - "عامل الناس بأخلاقك لا بأخلاقهم. عامل الناس بأخلاقك لا بأخلاقهم. عامل الناس بأخلاقك لا بأخلاقهم", - demoHeaderTxExample: "ياي", - demoViaTxProp: "عبر `tx` Prop", - demoViaSpecifiedTxProp: "Prop `{{prop}}Tx` عبر", + 'عامل الناس بأخلاقك لا بأخلاقهم. عامل الناس بأخلاقك لا بأخلاقهم. عامل الناس بأخلاقك لا بأخلاقهم', + demoHeaderTxExample: 'ياي', + demoViaTxProp: 'عبر `tx` Prop', + demoViaSpecifiedTxProp: 'Prop `{{prop}}Tx` عبر' }, demoDebugScreen: { - howTo: "كيف", - title: "التصحيح", - tagLine: "مبروك، لديك نموذج اصلي متقدم للغاية للتفاعل هنا. الاستفادة من هذه النمذجة", - reactotron: "Reactotron ارسل إلى", - reportBugs: "الابلاغ عن اخطاء", - demoList: "قائمة تجريبية", - demoPodcastList: "قائمة البودكاست التجريبي", + howTo: 'كيف', + title: 'التصحيح', + tagLine: 'مبروك، لديك نموذج اصلي متقدم للغاية للتفاعل هنا. الاستفادة من هذه النمذجة', + reactotron: 'Reactotron ارسل إلى', + reportBugs: 'الابلاغ عن اخطاء', + demoList: 'قائمة تجريبية', + demoPodcastList: 'قائمة البودكاست التجريبي', androidReactotronHint: - "اذا لم ينجح ذللك، فتأكد من تشغيل تطبيق الحاسوب الخاص Reactotron، وقم بتشغيل عكس adb tcp:9090 \ntcp:9090 من جهازك الطرفي ، واعد تحميل التطبيق", - iosReactotronHint: - "اذا لم ينجح ذلك، فتأكد من تشغيل تطبيق الحاسوب الخاص ب Reactotron وأعد تحميل التطبيق", - macosReactotronHint: - "اذا لم ينجح ذلك، فتأكد من تشغيل الحاسوب ب Reactotron وأعد تحميل التطبيق", - webReactotronHint: - "اذا لم ينجح ذلك، فتأكد من تشغيل الحاسوب ب Reactotron وأعد تحميل التطبيق", - windowsReactotronHint: - "اذا لم ينجح ذلك، فتأكد من تشغيل الحاسوب ب Reactotron وأعد تحميل التطبيق", + 'اذا لم ينجح ذللك، فتأكد من تشغيل تطبيق الحاسوب الخاص Reactotron، وقم بتشغيل عكس adb tcp:9090 \ntcp:9090 من جهازك الطرفي ، واعد تحميل التطبيق', + iosReactotronHint: 'اذا لم ينجح ذلك، فتأكد من تشغيل تطبيق الحاسوب الخاص ب Reactotron وأعد تحميل التطبيق', + macosReactotronHint: 'اذا لم ينجح ذلك، فتأكد من تشغيل الحاسوب ب Reactotron وأعد تحميل التطبيق', + webReactotronHint: 'اذا لم ينجح ذلك، فتأكد من تشغيل الحاسوب ب Reactotron وأعد تحميل التطبيق', + windowsReactotronHint: 'اذا لم ينجح ذلك، فتأكد من تشغيل الحاسوب ب Reactotron وأعد تحميل التطبيق' }, demoPodcastListScreen: { - title: "حلقات إذاعية React Native", - onlyFavorites: "المفضلة فقط", - favoriteButton: "المفضل", - unfavoriteButton: "غير مفضل", + title: 'حلقات إذاعية React Native', + onlyFavorites: 'المفضلة فقط', + favoriteButton: 'المفضل', + unfavoriteButton: 'غير مفضل', accessibility: { - cardHint: - "انقر مرّتين للاستماع على الحلقة. انقر مرّتين وانتظر لتفعيل {{action}} هذه الحلقة.", - switch: "قم بالتبديل لاظهار المفضّلة فقط.", - favoriteAction: "تبديل المفضلة", - favoriteIcon: "الحلقة الغير مفضّلة", - unfavoriteIcon: "الحلقة المفضّلة", - publishLabel: "نشرت {{date}}", - durationLabel: "المدّة: {{hours}} ساعات {{minutes}} دقائق {{seconds}} ثواني", + cardHint: 'انقر مرّتين للاستماع على الحلقة. انقر مرّتين وانتظر لتفعيل {{action}} هذه الحلقة.', + switch: 'قم بالتبديل لاظهار المفضّلة فقط.', + favoriteAction: 'تبديل المفضلة', + favoriteIcon: 'الحلقة الغير مفضّلة', + unfavoriteIcon: 'الحلقة المفضّلة', + publishLabel: 'نشرت {{date}}', + durationLabel: 'المدّة: {{hours}} ساعات {{minutes}} دقائق {{seconds}} ثواني' }, noFavoritesEmptyState: { - heading: "هذا يبدو فارغاً بعض الشيء.", - content: - "لم تتم اضافة اي مفضلات حتى الان. اضغط على القلب في إحدى الحلقات لإضافته الى المفضلة.", - }, - }, + heading: 'هذا يبدو فارغاً بعض الشيء.', + content: 'لم تتم اضافة اي مفضلات حتى الان. اضغط على القلب في إحدى الحلقات لإضافته الى المفضلة.' + } + } // @demo remove-block-end -} +}; -export default ar +export default ar; diff --git a/apps/mobile/app/i18n/bg.ts b/apps/mobile/app/i18n/bg.ts index 0be9773c9..5b4684d67 100644 --- a/apps/mobile/app/i18n/bg.ts +++ b/apps/mobile/app/i18n/bg.ts @@ -1,406 +1,397 @@ const bg = { common: { - ok: "OK!", - cancel: "Cancel", - back: "Back", - loading: "Loading", - save: "Save", - edit: "Edit", - confirm: "Confirm", - discard: "Discard", - logOut: "Log Out", // @demo remove-current-line + ok: 'OK!', + cancel: 'Cancel', + back: 'Back', + loading: 'Loading', + save: 'Save', + edit: 'Edit', + confirm: 'Confirm', + discard: 'Discard', + logOut: 'Log Out' // @demo remove-current-line }, welcomeScreen: { postscript: "psst — This probably isn't what your app looks like. (Unless your designer handed you these screens, and in that case, ship it!)", - readyForLaunch: "Your app, almost ready for launch!", - exciting: "(ohh, this is exciting!)", - letsGo: "Let's go!", // @demo remove-current-line + readyForLaunch: 'Your app, almost ready for launch!', + exciting: '(ohh, this is exciting!)', + letsGo: "Let's go!" // @demo remove-current-line }, errorScreen: { - title: "Something went wrong!", + title: 'Something went wrong!', friendlySubtitle: "This is the screen that your users will see in production when an error is thrown. You'll want to customize this message (located in `app/i18n/en.ts`) and probably the layout as well (`app/screens/ErrorScreen`). If you want to remove this entirely, check `app/app.tsx` for the component.", - reset: "RESET APP", - traceTitle: "Error from %{name} stack", // @demo remove-current-line + reset: 'RESET APP', + traceTitle: 'Error from %{name} stack' // @demo remove-current-line }, emptyStateComponent: { generic: { - heading: "So empty... so sad", - content: "No data found yet. Try clicking the button to refresh or reload the app.", - button: "Let's try this again", - }, + heading: 'So empty... so sad', + content: 'No data found yet. Try clicking the button to refresh or reload the app.', + button: "Let's try this again" + } }, // @demo remove-block-start errors: { - invalidEmail: "Invalid email address.", + invalidEmail: 'Invalid email address.' }, loginScreen: { - name: "Login", - enterDetails: "Create New Team", - enterDetails2: "Join Existed Team", - enterDetails3: "Workspace", - hintDetails: "Please enter your team details to create a new team.", - hintDetails2: "Please enter email and invitation code to join existing team.", - hintDetails3: "The email associated with the next workspaces", - joinTeam: "Join Team", - joinExistTeam: "Joining existing team?", - joinTeamHint: "Enter the invitation code we sent to your email", - step1Title: "Select Team Name", - step2Title: "Provide More Details", - step3Title: "Invitation code", - confirmDetails: "Please check your email for confirm code", - confirmDetails2: "Please enter the invitation code we sent to your Email", - sendCode: "send Code", - codeNotReceived: "Didn’t recieve code ?Re", - inviteStepLabel: "Provide your Email", - emailFieldLabel: "Your Email", - teamNameFieldLabel: "Team Name", - inviteCodeFieldLabel: "Input invitation code", - selectWorkspaceFieldLabel: "Select Workspace", - emailFieldPlaceholder: "Enter your email address", - teamNameFieldPlaceholder: "Please Enter your team name", - userNameFieldPlaceholder: "Enter your name", - tapContinue: "Continue", - tapJoin: "Join", - createTeam: "Create Team", + name: 'Login', + enterDetails: 'Create New Team', + enterDetails2: 'Join Existed Team', + enterDetails3: 'Workspace', + hintDetails: 'Please enter your team details to create a new team.', + hintDetails2: 'Please enter email and invitation code to join existing team.', + hintDetails3: 'The email associated with the next workspaces', + joinTeam: 'Join Team', + joinExistTeam: 'Joining existing team?', + joinTeamHint: 'Enter the invitation code we sent to your email', + step1Title: 'Select Team Name', + step2Title: 'Provide More Details', + step3Title: 'Invitation code', + confirmDetails: 'Please check your email for confirm code', + confirmDetails2: 'Please enter the invitation code we sent to your Email', + sendCode: 'send Code', + codeNotReceived: 'Didn’t recieve code ?Re', + inviteStepLabel: 'Provide your Email', + emailFieldLabel: 'Your Email', + teamNameFieldLabel: 'Team Name', + inviteCodeFieldLabel: 'Input invitation code', + selectWorkspaceFieldLabel: 'Select Workspace', + emailFieldPlaceholder: 'Enter your email address', + teamNameFieldPlaceholder: 'Please Enter your team name', + userNameFieldPlaceholder: 'Enter your name', + tapContinue: 'Continue', + tapJoin: 'Join', + createTeam: 'Create Team' }, myWorkScreen: { - name: "My Work", - estimateLabel: "Estimate", - statusText: "Status", - taskFieldPlaceholder: "What you working on", - sizeText: "Sizes", - prioritiesText: "Priorities", - tabCreateTask: "Create New Task", - labelText: "Label", + name: 'Work', + estimateLabel: 'Estimate', + statusText: 'Status', + taskFieldPlaceholder: 'What you working on', + sizeText: 'Sizes', + prioritiesText: 'Priorities', + tabCreateTask: 'Create New Task', + labelText: 'Label' }, teamScreen: { - name: "Teams", - cardTotalTimeLabel: "Total time", - cardTodayWorkLabel: "Today work", - cardTotalWorkLabel: "Total work", - inviteButton: "Invite", - inviteModalTitle: "Invite member to your team", - inviteModalHint: "Send a invitation to a team member by email", - inviteEmailFieldPlaceholder: "Input email address", - inviteNameFieldPlaceholder: "Input team member name", - sendButton: "Create", + name: 'Teams', + cardTotalTimeLabel: 'Total time', + cardTodayWorkLabel: 'Today work', + cardTotalWorkLabel: 'Total work', + inviteButton: 'Invite', + inviteModalTitle: 'Invite member to your team', + inviteModalHint: 'Send a invitation to a team member by email', + inviteEmailFieldPlaceholder: 'Input email address', + inviteNameFieldPlaceholder: 'Input team member name', + sendButton: 'Create' }, taskDetailsScreen: { characterLimitErrorTitle: "We couldn't update Task Title.", characterLimitErrorDescription: "Task title can't exceed 255 characters.", - copyTitle: "Title Copied.", - changeParent: "Change Parent", - addParent: "Add Parent", - taskScreen: "Task Screen", - details: "Details", - taskPublic: "This task is Public", - makePrivate: "Make a Private", - taskPrivate: "This task is Private", - makePublic: "Make a Public", - typeIssue: "Type of Issue", - creator: "Creator", - assignees: "Assignees", - startDate: "Start Date", - dueDate: "Due Date", - daysRemaining: "Days Remaining", - version: "Version", - epic: "Epic", - status: "Status", - labels: "Labels", - size: "Size", - priority: "Priority", - manageAssignees: "Manage Assignees", - setDueDate: "Set Due Date", - setStartDate: "Set Start Date", - items: "Items", - estimate: "Estimate", - estimations: "Estimations", - time: "Time", - progress: "Progress", - timeToday: "Time Today", - totalGroupTime: "Total Group Time", - timeRemaining: "Time Remaining", - blocks: "Blocks", - clones: "Clones", - duplicates: "Duplicates", - isBlockedBy: "Is Blocked By", - isClonedBy: "Is Cloned By", - isDuplicatedBy: "Is Duplicated By", - relatesTo: "Relates To", - linkedIssues: "Linked Issues", - description: "Description", - descriptionBlockPlaceholder: "Write a complete description of your project...", - copyDescription: "Description Copied.", - showMore: "Show More", + copyTitle: 'Title Copied.', + changeParent: 'Change Parent', + addParent: 'Add Parent', + taskScreen: 'Task Screen', + details: 'Details', + taskPublic: 'This task is Public', + makePrivate: 'Make a Private', + taskPrivate: 'This task is Private', + makePublic: 'Make a Public', + typeIssue: 'Type of Issue', + creator: 'Creator', + assignees: 'Assignees', + startDate: 'Start Date', + dueDate: 'Due Date', + daysRemaining: 'Days Remaining', + version: 'Version', + epic: 'Epic', + status: 'Status', + labels: 'Labels', + size: 'Size', + priority: 'Priority', + manageAssignees: 'Manage Assignees', + setDueDate: 'Set Due Date', + setStartDate: 'Set Start Date', + items: 'Items', + estimate: 'Estimate', + estimations: 'Estimations', + time: 'Time', + progress: 'Progress', + timeToday: 'Time Today', + totalGroupTime: 'Total Group Time', + timeRemaining: 'Time Remaining', + blocks: 'Blocks', + clones: 'Clones', + duplicates: 'Duplicates', + isBlockedBy: 'Is Blocked By', + isClonedBy: 'Is Cloned By', + isDuplicatedBy: 'Is Duplicated By', + relatesTo: 'Relates To', + linkedIssues: 'Linked Issues', + description: 'Description', + descriptionBlockPlaceholder: 'Write a complete description of your project...', + copyDescription: 'Description Copied.', + showMore: 'Show More' }, tasksScreen: { - name: "Tasks", - now: "Now", - last24hours: "Last 24 hours", - totalTimeLabel: "Total Time", - workedTab: "Worked", - assignedTab: "Assigned", - unassignedTab: "Unassigned", - createTaskButton: "Create Task", - assignTaskButton: "Assign Task", - createButton: "Create", - assignButton: "Assign", - resendInvitation: "Resend Invitation", - editTaskLabel: "Edit Task", - unassignTaskLabel: "Unassign Task", - unMakeManager: "Unmake a Manager", - makeManager: "Make a Manager", - remove: "Remove", - filter: "Filter", - apply: "Apply", - reset: "Reset", + name: 'Tasks', + now: 'Now', + last24hours: 'Last 24 hours', + totalTimeLabel: 'Total Time', + workedTab: 'Worked', + assignedTab: 'Assigned', + unassignedTab: 'Unassigned', + createTaskButton: 'Create Task', + assignTaskButton: 'Assign Task', + createButton: 'Create', + assignButton: 'Assign', + resendInvitation: 'Resend Invitation', + editTaskLabel: 'Edit Task', + unassignTaskLabel: 'Unassign Task', + unMakeManager: 'Unmake a Manager', + makeManager: 'Make a Manager', + remove: 'Remove', + filter: 'Filter', + apply: 'Apply', + reset: 'Reset' }, noTeamScreen: { - createYourTeam: "Create your own team or join existed", - hintMessage: "Lorem ipsum dolor sit amet consectetur. Blandit lobortis dui risus neque.", + createYourTeam: 'Create your own team or join existed', + hintMessage: 'Lorem ipsum dolor sit amet consectetur. Blandit lobortis dui risus neque.' }, settingScreen: { - name: "Settings", + name: 'Settings', personalSection: { - name: "Personal", - fullName: "Full Name", - yourContact: "Your Contact", - yourContactHint: "Your contact information", - themes: "Themes", - darkModeToLight: "Dark Mode to Light Mode", - lightModeToDark: "Light Mode to Dark Mode", - language: "Language", - changeAvatar: "Change Avatar", - timeZone: "Time Zone", - workSchedule: "Work Schedule", - workScheduleHint: "Set your work schedule now", - removeAccount: "Remove Account", - removeAccountHint: - "Account will be removed from all teams, except where you are the only manager", - deleteAccount: "Delete Account", - deleteAccountHint: - "Your account will be deleted permanently with remolving from all teams", - detect: "Detect", + name: 'Personal', + fullName: 'Full Name', + yourContact: 'Your Contact', + yourContactHint: 'Your contact information', + themes: 'Themes', + darkModeToLight: 'Dark Mode to Light Mode', + lightModeToDark: 'Light Mode to Dark Mode', + language: 'Language', + changeAvatar: 'Change Avatar', + timeZone: 'Time Zone', + workSchedule: 'Work Schedule', + workScheduleHint: 'Set your work schedule now', + removeAccount: 'Remove Account', + removeAccountHint: 'Account will be removed from all teams, except where you are the only manager', + deleteAccount: 'Delete Account', + deleteAccountHint: 'Your account will be deleted permanently with remolving from all teams', + detect: 'Detect' }, teamSection: { - name: "Team", - teamName: "Team Name", - timeTracking: "Time Tracking", - timeTrackingHint: "Enable time tracking", - taskStatuses: "Task Statuses", - taskPriorities: "Task Priorities", - taskSizes: "Task Sizes", - taskLabel: "Task Label", - changeLogo: "Change Logo", - teamRole: "Manager Member & Role", - workSchedule: "Work Schedule", - workScheduleHint: "Set your work schedule now", - transferOwnership: "Transfer Ownership", - transferOwnershipHint: "Transfer full ownership of team to another user", - removeTeam: "Remove Team", - removeTeamHint: - "Team will be completely removed for the system and team members lost access", - quitTeam: "Quit the team", - quitTeamHint: "You are about to quit the team", - areYouSure: "Are you sure ?", + name: 'Team', + teamName: 'Team Name', + timeTracking: 'Time Tracking', + timeTrackingHint: 'Enable time tracking', + taskStatuses: 'Task Statuses', + taskPriorities: 'Task Priorities', + taskSizes: 'Task Sizes', + taskLabel: 'Task Label', + changeLogo: 'Change Logo', + teamRole: 'Manager Member & Role', + workSchedule: 'Work Schedule', + workScheduleHint: 'Set your work schedule now', + transferOwnership: 'Transfer Ownership', + transferOwnershipHint: 'Transfer full ownership of team to another user', + removeTeam: 'Remove Team', + removeTeamHint: 'Team will be completely removed for the system and team members lost access', + quitTeam: 'Quit the team', + quitTeamHint: 'You are about to quit the team', + areYouSure: 'Are you sure ?', changeTeamName: { - mainTitle: "Change Team Name", - inputPlaceholder: "Team Name", - }, + mainTitle: 'Change Team Name', + inputPlaceholder: 'Team Name' + } }, - dangerZone: "Danger Zone", - modalChangeLanguageTitle: "Change Language", + dangerZone: 'Danger Zone', + modalChangeLanguageTitle: 'Change Language', languages: { - english: "English ( United States )", - french: "French ( France )", - arabic: "Arabic", - russian: "Russian", - bulgarian: "Bulgarian", - spanish: "Spanish", - korean: "Korean", - hebrew: "Hebrew", + english: 'English ( United States )', + french: 'French ( France )', + arabic: 'Arabic', + russian: 'Russian', + bulgarian: 'Bulgarian', + spanish: 'Spanish', + korean: 'Korean', + hebrew: 'Hebrew' }, versionScreen: { - mainTitle: "Task Versions", - listOfVersions: "List of Versions", - noActiveVersions: "There are no active versions", - createNewVersionButton: "Create new version", - createNewVersionText: "Create New Version", - versionNamePlaceholder: "Version Name", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Versions', + listOfVersions: 'List of Versions', + noActiveVersions: 'There are no active versions', + createNewVersionButton: 'Create new version', + createNewVersionText: 'Create New Version', + versionNamePlaceholder: 'Version Name', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, statusScreen: { - mainTitle: "Task Statuses", - listStatuses: "List of Statuses", - noActiveStatuses: "There are no active statuses", - createStatusButton: "Create new status", - createNewStatusText: "Create New Status", - statusNamePlaceholder: "Status Name", - statusIconPlaceholder: "Choose Icon", - statusColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Statuses', + listStatuses: 'List of Statuses', + noActiveStatuses: 'There are no active statuses', + createStatusButton: 'Create new status', + createNewStatusText: 'Create New Status', + statusNamePlaceholder: 'Status Name', + statusIconPlaceholder: 'Choose Icon', + statusColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, priorityScreen: { - mainTitle: "Task Priorities", - priorities: "Priorities", - listPriorities: "List of Priorities", - noActivePriorities: "There are no active priorities", - createPriorityButton: "Create new priority", - createNewPriorityText: "Create New Priority", - priorityNamePlaceholder: "Priority Name", - priorityIconPlaceholder: "Search Icon", - priorityColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Priorities', + priorities: 'Priorities', + listPriorities: 'List of Priorities', + noActivePriorities: 'There are no active priorities', + createPriorityButton: 'Create new priority', + createNewPriorityText: 'Create New Priority', + priorityNamePlaceholder: 'Priority Name', + priorityIconPlaceholder: 'Search Icon', + priorityColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, labelScreen: { - mainTitle: "Task Labels", - listLabels: "List of Labels", - noActiveLabels: "There are no active labels", - createLabelButton: "Create new label", - createNewLabelText: "Create New Labels", - labelNamePlaceholder: "Labels Name", - labelIconPlaceholder: "Choose Icon", - labelColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Labels', + listLabels: 'List of Labels', + noActiveLabels: 'There are no active labels', + createLabelButton: 'Create new label', + createNewLabelText: 'Create New Labels', + labelNamePlaceholder: 'Labels Name', + labelIconPlaceholder: 'Choose Icon', + labelColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, sizeScreen: { - mainTitle: "Task Sizes", - listSizes: "List of Sizes", - noActiveSizes: "There are no active sizes", - createSizeButton: "Create new size", - createNewSizeText: "Create New Sizes", - sizeNamePlaceholder: "Size Name", - sizeIconPlaceholder: "Choose Icon", - sizeColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Sizes', + listSizes: 'List of Sizes', + noActiveSizes: 'There are no active sizes', + createSizeButton: 'Create new size', + createNewSizeText: 'Create New Sizes', + sizeNamePlaceholder: 'Size Name', + sizeIconPlaceholder: 'Choose Icon', + sizeColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, membersSettingsScreen: { - mainTitle: "Members & Roles", - deleteUserConfirmation: "Are you sure you want to remove selected user?", - changeRole: "Change Role", - delete: "Delete", + mainTitle: 'Members & Roles', + deleteUserConfirmation: 'Are you sure you want to remove selected user?', + changeRole: 'Change Role', + delete: 'Delete' }, changeFullName: { - firstNamePlaceholder: "First Name", - lastNamePlaholder: "Last Name", - mainTitle: "Change Full Name", + firstNamePlaceholder: 'First Name', + lastNamePlaholder: 'Last Name', + mainTitle: 'Change Full Name' }, changeAvatar: { - recentPictures: "Recent Pictures", - recentFiles: "Recent files", - selectFromGalery: "Select from galery", - selectFromFiles: "Select from Files", - continueButton: "Continue", - logoDeleteConfirmation: "Are you sure you want to delete the logo?", - avatarDeleteConfirmation: "Are you sure you want to delete the avatar?", + recentPictures: 'Recent Pictures', + recentFiles: 'Recent files', + selectFromGalery: 'Select from galery', + selectFromFiles: 'Select from Files', + continueButton: 'Continue', + logoDeleteConfirmation: 'Are you sure you want to delete the logo?', + avatarDeleteConfirmation: 'Are you sure you want to delete the avatar?' }, contact: { - mainTitle: "Change Your Contact", - emailPlaceholder: "Email Address", - phonePlaceholder: "Phone Number", - emailNotValid: "Please provide a valid Email", - phoneNotValid: "Please provide a valid Phone Number", - }, + mainTitle: 'Change Your Contact', + emailPlaceholder: 'Email Address', + phonePlaceholder: 'Phone Number', + emailNotValid: 'Please provide a valid Email', + phoneNotValid: 'Please provide a valid Phone Number' + } }, inviteModal: { - accept: "Accept", - reject: "Reject", - inviteHint: "You have been invited to join", + accept: 'Accept', + reject: 'Reject', + inviteHint: 'You have been invited to join' }, accountVerificationModal: { - verify: "Verify", + verify: 'Verify' }, demoNavigator: { - componentsTab: "Components", - debugTab: "Debug", - communityTab: "Community", - podcastListTab: "Podcast", + componentsTab: 'Components', + debugTab: 'Debug', + communityTab: 'Community', + podcastListTab: 'Podcast' }, demoCommunityScreen: { - title: "Connect with the community", + title: 'Connect with the community', tagLine: "Plug in to Infinite Red's community of React Native engineers and level up your app development with us!", - joinUsOnSlackTitle: "Join us on Slack", + joinUsOnSlackTitle: 'Join us on Slack', joinUsOnSlack: - "Wish there was a place to connect with React Native engineers around the world? Join the conversation in the Infinite Red Community Slack! Our growing community is a safe space to ask questions, learn from others, and grow your network.", - joinSlackLink: "Join the Slack Community", - makeIgniteEvenBetterTitle: "Make Ignite even better", + 'Wish there was a place to connect with React Native engineers around the world? Join the conversation in the Infinite Red Community Slack! Our growing community is a safe space to ask questions, learn from others, and grow your network.', + joinSlackLink: 'Join the Slack Community', + makeIgniteEvenBetterTitle: 'Make Ignite even better', makeIgniteEvenBetter: "Have an idea to make Ignite even better? We're happy to hear that! We're always looking for others who want to help us build the best React Native tooling out there. Join us over on GitHub to join us in building the future of Ignite.", - contributeToIgniteLink: "Contribute to Ignite", - theLatestInReactNativeTitle: "The latest in React Native", + contributeToIgniteLink: 'Contribute to Ignite', + theLatestInReactNativeTitle: 'The latest in React Native', theLatestInReactNative: "We're here to keep you current on all React Native has to offer.", - reactNativeRadioLink: "React Native Radio", - reactNativeNewsletterLink: "React Native Newsletter", - reactNativeLiveLink: "React Native Live", - chainReactConferenceLink: "Chain React Conference", - hireUsTitle: "Hire Infinite Red for your next project", + reactNativeRadioLink: 'React Native Radio', + reactNativeNewsletterLink: 'React Native Newsletter', + reactNativeLiveLink: 'React Native Live', + chainReactConferenceLink: 'Chain React Conference', + hireUsTitle: 'Hire Infinite Red for your next project', hireUs: "Whether it's running a full project or getting teams up to speed with our hands-on training, Infinite Red can help with just about any React Native project.", - hireUsLink: "Send us a message", + hireUsLink: 'Send us a message' }, demoShowroomScreen: { - jumpStart: "Components to jump start your project!", + jumpStart: 'Components to jump start your project!', lorem2Sentences: - "Nulla cupidatat deserunt amet quis aliquip nostrud do adipisicing. Adipisicing excepteur elit laborum Lorem adipisicing do duis.", - demoHeaderTxExample: "Yay", - demoViaTxProp: "Via `tx` Prop", - demoViaSpecifiedTxProp: "Via `{{prop}}Tx` Prop", + 'Nulla cupidatat deserunt amet quis aliquip nostrud do adipisicing. Adipisicing excepteur elit laborum Lorem adipisicing do duis.', + demoHeaderTxExample: 'Yay', + demoViaTxProp: 'Via `tx` Prop', + demoViaSpecifiedTxProp: 'Via `{{prop}}Tx` Prop' }, demoDebugScreen: { - howTo: "HOW TO", - title: "Debug", + howTo: 'HOW TO', + title: 'Debug', tagLine: "Congratulations, you've got a very advanced React Native app template here. Take advantage of this boilerplate!", - reactotron: "Send to Reactotron", - reportBugs: "Report Bugs", - demoList: "Demo List", - demoPodcastList: "Demo Podcast List", + reactotron: 'Send to Reactotron', + reportBugs: 'Report Bugs', + demoList: 'Demo List', + demoPodcastList: 'Demo Podcast List', androidReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running, run adb reverse tcp:9090 tcp:9090 from your terminal, and reload the app.", - iosReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", - macosReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", - webReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", - windowsReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + iosReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + macosReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + webReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + windowsReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app." }, demoPodcastListScreen: { - title: "React Native Radio episodes", - onlyFavorites: "Only Show Favorites", - favoriteButton: "Favorite", - unfavoriteButton: "Unfavorite", + title: 'React Native Radio episodes', + onlyFavorites: 'Only Show Favorites', + favoriteButton: 'Favorite', + unfavoriteButton: 'Unfavorite', accessibility: { - cardHint: - "Double tap to listen to the episode. Double tap and hold to {{action}} this episode.", - switch: "Switch on to only show favorites", - favoriteAction: "Toggle Favorite", - favoriteIcon: "Episode not favorited", - unfavoriteIcon: "Episode favorited", - publishLabel: "Published {{date}}", - durationLabel: "Duration: {{hours}} hours {{minutes}} minutes {{seconds}} seconds", + cardHint: 'Double tap to listen to the episode. Double tap and hold to {{action}} this episode.', + switch: 'Switch on to only show favorites', + favoriteAction: 'Toggle Favorite', + favoriteIcon: 'Episode not favorited', + unfavoriteIcon: 'Episode favorited', + publishLabel: 'Published {{date}}', + durationLabel: 'Duration: {{hours}} hours {{minutes}} minutes {{seconds}} seconds' }, noFavoritesEmptyState: { - heading: "This looks a bit empty", - content: - "No favorites have been added yet. Tap the heart on an episode to add it to your favorites!", - }, - }, + heading: 'This looks a bit empty', + content: 'No favorites have been added yet. Tap the heart on an episode to add it to your favorites!' + } + } // @demo remove-block-end -} +}; -export default bg -export type Translations = typeof bg +export default bg; +export type Translations = typeof bg; diff --git a/apps/mobile/app/i18n/en.ts b/apps/mobile/app/i18n/en.ts index c08fc8416..66621f679 100644 --- a/apps/mobile/app/i18n/en.ts +++ b/apps/mobile/app/i18n/en.ts @@ -1,421 +1,412 @@ const en = { common: { - ok: "OK!", - cancel: "Cancel", - loading: "Loading", - edit: "Edit", - confirm: "Confirm", - discard: "Discard", - back: "Back", - save: "Save", - logOut: "Log Out", // @demo remove-current-line + ok: 'OK!', + cancel: 'Cancel', + loading: 'Loading', + edit: 'Edit', + confirm: 'Confirm', + discard: 'Discard', + back: 'Back', + save: 'Save', + logOut: 'Log Out' // @demo remove-current-line }, welcomeScreen: { postscript: "psst — This probably isn't what your app looks like. (Unless your designer handed you these screens, and in that case, ship it!)", - readyForLaunch: "Your app, almost ready for launch!", - exciting: "(ohh, this is exciting!)", - letsGo: "Let's go!", // @demo remove-current-line + readyForLaunch: 'Your app, almost ready for launch!', + exciting: '(ohh, this is exciting!)', + letsGo: "Let's go!" // @demo remove-current-line }, errorScreen: { - title: "Something went wrong!", + title: 'Something went wrong!', friendlySubtitle: "This is the screen that your users will see in production when an error is thrown. You'll want to customize this message (located in `app/i18n/en.ts`) and probably the layout as well (`app/screens/ErrorScreen`). If you want to remove this entirely, check `app/app.tsx` for the component.", - reset: "RESET APP", - traceTitle: "Error from %{name} stack", // @demo remove-current-line + reset: 'RESET APP', + traceTitle: 'Error from %{name} stack' // @demo remove-current-line }, emptyStateComponent: { generic: { - heading: "So empty... so sad", - content: "No data found yet. Try clicking the button to refresh or reload the app.", - button: "Let's try this again", - }, + heading: 'So empty... so sad', + content: 'No data found yet. Try clicking the button to refresh or reload the app.', + button: "Let's try this again" + } }, // @demo remove-block-start errors: { - invalidEmail: "Invalid email address.", + invalidEmail: 'Invalid email address.' }, loginScreen: { - name: "Login", - enterDetails: "Create New Team", - enterDetails2: "Login", - enterDetails3: "Workspace", - hintDetails: "Please enter your team details to create a new team.", - hintDetails2: "Please enter email and invitation code to join existing team.", - hintDetails3: "The email associated with the next workspaces", - joinTeam: "Join Team", - joinExistTeam: "Login", - joinTeamHint: "Enter the invitation code we sent to your email", - step1Title: "Select Team Name", - step2Title: "Provide More Details", - step3Title: "Invitation code", - confirmDetails: "Please check your email for confirm code", - confirmDetails2: "Please enter the invitation code we sent to your Email", - sendCode: "Resend Code", - codeNotReceived: "Didn’t recieve code ?", - inviteStepLabel: "Enter Email", - emailFieldLabel: "Your Email", - teamNameFieldLabel: "Team Name", - inviteCodeFieldLabel: "Security Code", - selectWorkspaceFieldLabel: "Select Workspace", - emailFieldPlaceholder: "Enter your email address", - teamNameFieldPlaceholder: "Please Enter your team name", - userNameFieldPlaceholder: "Enter your name", - tapContinue: "Continue", - tapJoin: "Join", - createTeam: "Create Team", + name: 'Login', + enterDetails: 'Create New Team', + enterDetails2: 'Login', + enterDetails3: 'Workspace', + hintDetails: 'Please enter your team details to create a new team.', + hintDetails2: 'Please enter email and invitation code to join existing team.', + hintDetails3: 'The email associated with the next workspaces', + joinTeam: 'Join Team', + joinExistTeam: 'Login', + joinTeamHint: 'Enter the invitation code we sent to your email', + step1Title: 'Select Team Name', + step2Title: 'Provide More Details', + step3Title: 'Invitation code', + confirmDetails: 'Please check your email for confirm code', + confirmDetails2: 'Please enter the invitation code we sent to your Email', + sendCode: 'Resend Code', + codeNotReceived: 'Didn’t recieve code ?', + inviteStepLabel: 'Enter Email', + emailFieldLabel: 'Your Email', + teamNameFieldLabel: 'Team Name', + inviteCodeFieldLabel: 'Security Code', + selectWorkspaceFieldLabel: 'Select Workspace', + emailFieldPlaceholder: 'Enter your email address', + teamNameFieldPlaceholder: 'Please Enter your team name', + userNameFieldPlaceholder: 'Enter your name', + tapContinue: 'Continue', + tapJoin: 'Join', + createTeam: 'Create Team' }, myWorkScreen: { - name: "My Work", - estimateLabel: "Estimate", - statusText: "Status", - taskFieldPlaceholder: "What you working on", - sizeText: "Sizes", - prioritiesText: "Priorities", - tabCreateTask: "Create New Task", - labelText: "Label", + name: 'Work', + estimateLabel: 'Estimate', + statusText: 'Status', + taskFieldPlaceholder: 'What you working on', + sizeText: 'Sizes', + prioritiesText: 'Priorities', + tabCreateTask: 'Create New Task', + labelText: 'Label' }, teamScreen: { - name: "Teams", - cardTotalTimeLabel: "Total time", - cardTodayWorkLabel: "Today work", - cardTotalWorkLabel: "Total work", - inviteButton: "Invite", - inviteModalTitle: "Invite member to your team", - inviteModalHint: "Send a invitation to a team member by email", - inviteEmailFieldPlaceholder: "Input email address", - inviteNameFieldPlaceholder: "Input team member name", - sendButton: "Create", - createNewTeamButton: "Create new team", + name: 'Teams', + cardTotalTimeLabel: 'Total time', + cardTodayWorkLabel: 'Today work', + cardTotalWorkLabel: 'Total work', + inviteButton: 'Invite', + inviteModalTitle: 'Invite member to your team', + inviteModalHint: 'Send a invitation to a team member by email', + inviteEmailFieldPlaceholder: 'Input email address', + inviteNameFieldPlaceholder: 'Input team member name', + sendButton: 'Create', + createNewTeamButton: 'Create new team' }, taskDetailsScreen: { characterLimitErrorTitle: "We couldn't update Task Title.", characterLimitErrorDescription: "Task title can't exceed 255 characters.", - copyTitle: "Title Copied.", - changeParent: "Change Parent", - addParent: "Add Parent", - taskScreen: "Task Screen", - details: "Details", - taskPublic: "This task is Public", - makePrivate: "Make a Private", - taskPrivate: "This task is Private", - makePublic: "Make a Public", - typeIssue: "Type of Issue", - creator: "Creator", - assignees: "Assignees", - startDate: "Start Date", - dueDate: "Due Date", - daysRemaining: "Days Remaining", - version: "Version", - epic: "Epic", - status: "Status", - labels: "Labels", - size: "Size", - priority: "Priority", - manageAssignees: "Manage Assignees", - setDueDate: "Set Due Date", - setStartDate: "Set Start Date", - items: "Items", - estimate: "Estimate", - estimations: "Estimations", - time: "Time", - progress: "Progress", - timeToday: "Time Today", - totalGroupTime: "Total Group Time", - timeRemaining: "Time Remaining", - blocks: "Blocks", - clones: "Clones", - duplicates: "Duplicates", - isBlockedBy: "Is Blocked By", - isClonedBy: "Is Cloned By", - isDuplicatedBy: "Is Duplicated By", - relatesTo: "Relates To", - linkedIssues: "Linked Issues", - description: "Description", - descriptionBlockPlaceholder: "Write a complete description of your project...", - copyDescription: "Description Copied.", - showMore: "Show More", + copyTitle: 'Title Copied.', + changeParent: 'Change Parent', + addParent: 'Add Parent', + taskScreen: 'Task Screen', + details: 'Details', + taskPublic: 'This task is Public', + makePrivate: 'Make a Private', + taskPrivate: 'This task is Private', + makePublic: 'Make a Public', + typeIssue: 'Type of Issue', + creator: 'Creator', + assignees: 'Assignees', + startDate: 'Start Date', + dueDate: 'Due Date', + daysRemaining: 'Days Remaining', + version: 'Version', + epic: 'Epic', + status: 'Status', + labels: 'Labels', + size: 'Size', + priority: 'Priority', + manageAssignees: 'Manage Assignees', + setDueDate: 'Set Due Date', + setStartDate: 'Set Start Date', + items: 'Items', + estimate: 'Estimate', + estimations: 'Estimations', + time: 'Time', + progress: 'Progress', + timeToday: 'Time Today', + totalGroupTime: 'Total Group Time', + timeRemaining: 'Time Remaining', + blocks: 'Blocks', + clones: 'Clones', + duplicates: 'Duplicates', + isBlockedBy: 'Is Blocked By', + isClonedBy: 'Is Cloned By', + isDuplicatedBy: 'Is Duplicated By', + relatesTo: 'Relates To', + linkedIssues: 'Linked Issues', + description: 'Description', + descriptionBlockPlaceholder: 'Write a complete description of your project...', + copyDescription: 'Description Copied.', + showMore: 'Show More' }, tasksScreen: { - name: "Tasks", - now: "Now", - last24hours: "Last 24 hours", - totalTimeLabel: "Total Time", - workedTab: "Worked", - assignedTab: "Assigned", - unassignedTab: "Unassigned", - createTaskButton: "Create Task", - assignTaskButton: "Assign Task", - createButton: "Create", - assignButton: "Assign", - resendInvitation: "Resend Invitation", - editTaskLabel: "Edit Task", - unassignTaskLabel: "Unassign Task", - unMakeManager: "Unmake a Manager", - makeManager: "Make a Manager", - remove: "Remove", - filter: "Filter", - apply: "Apply", - reset: "Reset", + name: 'Tasks', + now: 'Now', + last24hours: 'Last 24 hours', + totalTimeLabel: 'Total Time', + workedTab: 'Worked', + assignedTab: 'Assigned', + unassignedTab: 'Unassigned', + createTaskButton: 'Create Task', + assignTaskButton: 'Assign Task', + createButton: 'Create', + assignButton: 'Assign', + resendInvitation: 'Resend Invitation', + editTaskLabel: 'Edit Task', + unassignTaskLabel: 'Unassign Task', + unMakeManager: 'Unmake a Manager', + makeManager: 'Make a Manager', + remove: 'Remove', + filter: 'Filter', + apply: 'Apply', + reset: 'Reset' }, noTeamScreen: { - createYourTeam: "Create your own team or join existed", - hintMessage: "Lorem ipsum dolor sit amet consectetur. Blandit lobortis dui risus neque.", + createYourTeam: 'Create your own team or join existed', + hintMessage: 'Lorem ipsum dolor sit amet consectetur. Blandit lobortis dui risus neque.' }, settingScreen: { - name: "Settings", + name: 'Settings', personalSection: { - name: "Personal", - fullName: "Full Name", - yourContact: "Your Contact", - yourContactHint: "Your contact information", - themes: "Themes", - darkModeToLight: "Dark Mode to Light Mode", - lightModeToDark: "Light Mode to Dark Mode", - language: "Language", - changeAvatar: "Change Avatar", - timeZone: "Time Zone", - workSchedule: "Work Schedule", - workScheduleHint: "Set your work schedule now", - removeAccount: "Remove Account", - removeAccountHint: - "Account will be removed from all teams, except where you are the only manager", - deleteAccount: "Delete Account", - deleteAccountHint: - "Your account will be deleted permanently with remolving from all teams", - detect: "Detect", + name: 'Personal', + fullName: 'Full Name', + yourContact: 'Your Contact', + yourContactHint: 'Your contact information', + themes: 'Themes', + darkModeToLight: 'Dark Mode to Light Mode', + lightModeToDark: 'Light Mode to Dark Mode', + language: 'Language', + changeAvatar: 'Change Avatar', + timeZone: 'Time Zone', + workSchedule: 'Work Schedule', + workScheduleHint: 'Set your work schedule now', + removeAccount: 'Remove Account', + removeAccountHint: 'Account will be removed from all teams, except where you are the only manager', + deleteAccount: 'Delete Account', + deleteAccountHint: 'Your account will be deleted permanently with remolving from all teams', + detect: 'Detect' }, teamSection: { - name: "Team", - teamName: "Team Name", - timeTracking: "Time Tracking", - timeTrackingHint: "Enable time tracking", - taskStatuses: "Task Statuses", - taskPriorities: "Task Priorities", - taskSizes: "Task Sizes", - taskLabel: "Task Label", - changeLogo: "Change Logo", - teamRole: "Manager Member & Role", - workSchedule: "Work Schedule", - workScheduleHint: "Set your work schedule now", - transferOwnership: "Transfer Ownership", - transferOwnershipHint: "Transfer full ownership of team to another user", - removeTeam: "Remove Team", - removeTeamHint: - "Team will be completely removed for the system and team members lost access", - quitTeam: "Quit the team", - quitTeamHint: "You are about to quit the team", - areYouSure: "Are you sure ?", + name: 'Team', + teamName: 'Team Name', + timeTracking: 'Time Tracking', + timeTrackingHint: 'Enable time tracking', + taskStatuses: 'Task Statuses', + taskPriorities: 'Task Priorities', + taskSizes: 'Task Sizes', + taskLabel: 'Task Label', + changeLogo: 'Change Logo', + teamRole: 'Manager Member & Role', + workSchedule: 'Work Schedule', + workScheduleHint: 'Set your work schedule now', + transferOwnership: 'Transfer Ownership', + transferOwnershipHint: 'Transfer full ownership of team to another user', + removeTeam: 'Remove Team', + removeTeamHint: 'Team will be completely removed for the system and team members lost access', + quitTeam: 'Quit the team', + quitTeamHint: 'You are about to quit the team', + areYouSure: 'Are you sure ?', changeTeamName: { - mainTitle: "Change Team Name", - inputPlaceholder: "Team Name", - }, + mainTitle: 'Change Team Name', + inputPlaceholder: 'Team Name' + } }, - dangerZone: "Danger Zone", - modalChangeLanguageTitle: "Change Language", + dangerZone: 'Danger Zone', + modalChangeLanguageTitle: 'Change Language', languages: { - english: "English ( United States )", - french: "French ( France )", - arabic: "Arabic", - russian: "Russian", - bulgarian: "Bulgarian", - spanish: "Spanish", - korean: "Korean", - hebrew: "Hebrew", + english: 'English ( United States )', + french: 'French ( France )', + arabic: 'Arabic', + russian: 'Russian', + bulgarian: 'Bulgarian', + spanish: 'Spanish', + korean: 'Korean', + hebrew: 'Hebrew' }, versionScreen: { - mainTitle: "Task Versions", - listOfVersions: "List of Versions", - noActiveVersions: "There are no active versions", - createNewVersionButton: "Create new version", - createNewVersionText: "Create New Version", - versionNamePlaceholder: "Version Name", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Versions', + listOfVersions: 'List of Versions', + noActiveVersions: 'There are no active versions', + createNewVersionButton: 'Create new version', + createNewVersionText: 'Create New Version', + versionNamePlaceholder: 'Version Name', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, statusScreen: { - mainTitle: "Task Statuses", - statuses: "Statuses", - listStatuses: "List of Statuses", - noActiveStatuses: "There are no active statuses", - createStatusButton: "Create new status", - createNewStatusText: "Create New Status", - statusNamePlaceholder: "Status Name", - statusIconPlaceholder: "Choose Icon", - statusColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Statuses', + statuses: 'Statuses', + listStatuses: 'List of Statuses', + noActiveStatuses: 'There are no active statuses', + createStatusButton: 'Create new status', + createNewStatusText: 'Create New Status', + statusNamePlaceholder: 'Status Name', + statusIconPlaceholder: 'Choose Icon', + statusColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, priorityScreen: { - mainTitle: "Task Priorities", - priorities: "Priorities", - listPriorities: "List of Priorities", - noActivePriorities: "There are no active priorities", - createPriorityButton: "Create new priority", - createNewPriorityText: "Create New Priority", - priorityNamePlaceholder: "Priority Name", - priorityIconPlaceholder: "Search Icon", - priorityColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Priorities', + priorities: 'Priorities', + listPriorities: 'List of Priorities', + noActivePriorities: 'There are no active priorities', + createPriorityButton: 'Create new priority', + createNewPriorityText: 'Create New Priority', + priorityNamePlaceholder: 'Priority Name', + priorityIconPlaceholder: 'Search Icon', + priorityColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, labelScreen: { - mainTitle: "Task Labels", - listLabels: "List of Labels", - labels: "Labels", - noActiveLabels: "There are no active labels", - createLabelButton: "Create new label", - createNewLabelText: "Create New Labels", - labelNamePlaceholder: "Labels Name", - labelIconPlaceholder: "Choose Icon", - labelColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Labels', + listLabels: 'List of Labels', + labels: 'Labels', + noActiveLabels: 'There are no active labels', + createLabelButton: 'Create new label', + createNewLabelText: 'Create New Labels', + labelNamePlaceholder: 'Labels Name', + labelIconPlaceholder: 'Choose Icon', + labelColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, sizeScreen: { - mainTitle: "Task Sizes", - sizes: "Sizes", - listSizes: "List of Sizes", - noActiveSizes: "There are no active sizes", - createSizeButton: "Create new size", - createNewSizeText: "Create New Sizes", - sizeNamePlaceholder: "Size Name", - sizeIconPlaceholder: "Choose Icon", - sizeColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Sizes', + sizes: 'Sizes', + listSizes: 'List of Sizes', + noActiveSizes: 'There are no active sizes', + createSizeButton: 'Create new size', + createNewSizeText: 'Create New Sizes', + sizeNamePlaceholder: 'Size Name', + sizeIconPlaceholder: 'Choose Icon', + sizeColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, membersSettingsScreen: { - mainTitle: "Members & Roles", - deleteUserConfirmation: "Are you sure you want to remove selected user?", - changeRole: "Change Role", - delete: "Delete", + mainTitle: 'Members & Roles', + deleteUserConfirmation: 'Are you sure you want to remove selected user?', + changeRole: 'Change Role', + delete: 'Delete' }, changeFullName: { - firstNamePlaceholder: "First Name", - lastNamePlaholder: "Last Name", - mainTitle: "Change Full Name", + firstNamePlaceholder: 'First Name', + lastNamePlaholder: 'Last Name', + mainTitle: 'Change Full Name' }, changeAvatar: { - recentPictures: "Recent Pictures", - recentFiles: "Recent files", - selectFromGalery: "Select from galery", - selectFromFiles: "Select from Files", - continueButton: "Continue", - logoDeleteConfirmation: "Are you sure you want to delete the logo?", - avatarDeleteConfirmation: "Are you sure you want to delete the avatar?", + recentPictures: 'Recent Pictures', + recentFiles: 'Recent files', + selectFromGalery: 'Select from galery', + selectFromFiles: 'Select from Files', + continueButton: 'Continue', + logoDeleteConfirmation: 'Are you sure you want to delete the logo?', + avatarDeleteConfirmation: 'Are you sure you want to delete the avatar?' }, contact: { - mainTitle: "Change Your Contact", - emailPlaceholder: "Email Address", - phonePlaceholder: "Phone Number", - emailNotValid: "Please provide a valid Email", - phoneNotValid: "Please provide a valid Phone Number", + mainTitle: 'Change Your Contact', + emailPlaceholder: 'Email Address', + phonePlaceholder: 'Phone Number', + emailNotValid: 'Please provide a valid Email', + phoneNotValid: 'Please provide a valid Phone Number' }, changeTimezone: { - mainTitle: "Change Time Zone", - selectTimezoneTitle: "Select Time Zone", + mainTitle: 'Change Time Zone', + selectTimezoneTitle: 'Select Time Zone' }, changeLanguage: { - mainTitle: "Change Language", - selectLanguageTitle: "Select Languanges", - }, + mainTitle: 'Change Language', + selectLanguageTitle: 'Select Languanges' + } }, hamburgerMenu: { - darkMode: "Dark Mode", + darkMode: 'Dark Mode' }, inviteModal: { - accept: "Accept", - reject: "Reject", - inviteHint: "You have been invited to join", + accept: 'Accept', + reject: 'Reject', + inviteHint: 'You have been invited to join' }, accountVerificationModal: { - verify: "Verify", + verify: 'Verify' }, demoNavigator: { - componentsTab: "Components", - debugTab: "Debug", - communityTab: "Community", - podcastListTab: "Podcast", + componentsTab: 'Components', + debugTab: 'Debug', + communityTab: 'Community', + podcastListTab: 'Podcast' }, demoCommunityScreen: { - title: "Connect with the community", + title: 'Connect with the community', tagLine: "Plug in to Infinite Red's community of React Native engineers and level up your app development with us!", - joinUsOnSlackTitle: "Join us on Slack", + joinUsOnSlackTitle: 'Join us on Slack', joinUsOnSlack: - "Wish there was a place to connect with React Native engineers around the world? Join the conversation in the Infinite Red Community Slack! Our growing community is a safe space to ask questions, learn from others, and grow your network.", - joinSlackLink: "Join the Slack Community", - makeIgniteEvenBetterTitle: "Make Ignite even better", + 'Wish there was a place to connect with React Native engineers around the world? Join the conversation in the Infinite Red Community Slack! Our growing community is a safe space to ask questions, learn from others, and grow your network.', + joinSlackLink: 'Join the Slack Community', + makeIgniteEvenBetterTitle: 'Make Ignite even better', makeIgniteEvenBetter: "Have an idea to make Ignite even better? We're happy to hear that! We're always looking for others who want to help us build the best React Native tooling out there. Join us over on GitHub to join us in building the future of Ignite.", - contributeToIgniteLink: "Contribute to Ignite", - theLatestInReactNativeTitle: "The latest in React Native", + contributeToIgniteLink: 'Contribute to Ignite', + theLatestInReactNativeTitle: 'The latest in React Native', theLatestInReactNative: "We're here to keep you current on all React Native has to offer.", - reactNativeRadioLink: "React Native Radio", - reactNativeNewsletterLink: "React Native Newsletter", - reactNativeLiveLink: "React Native Live", - chainReactConferenceLink: "Chain React Conference", - hireUsTitle: "Hire Infinite Red for your next project", + reactNativeRadioLink: 'React Native Radio', + reactNativeNewsletterLink: 'React Native Newsletter', + reactNativeLiveLink: 'React Native Live', + chainReactConferenceLink: 'Chain React Conference', + hireUsTitle: 'Hire Infinite Red for your next project', hireUs: "Whether it's running a full project or getting teams up to speed with our hands-on training, Infinite Red can help with just about any React Native project.", - hireUsLink: "Send us a message", + hireUsLink: 'Send us a message' }, demoShowroomScreen: { - jumpStart: "Components to jump start your project!", + jumpStart: 'Components to jump start your project!', lorem2Sentences: - "Nulla cupidatat deserunt amet quis aliquip nostrud do adipisicing. Adipisicing excepteur elit laborum Lorem adipisicing do duis.", - demoHeaderTxExample: "Yay", - demoViaTxProp: "Via `tx` Prop", - demoViaSpecifiedTxProp: "Via `{{prop}}Tx` Prop", + 'Nulla cupidatat deserunt amet quis aliquip nostrud do adipisicing. Adipisicing excepteur elit laborum Lorem adipisicing do duis.', + demoHeaderTxExample: 'Yay', + demoViaTxProp: 'Via `tx` Prop', + demoViaSpecifiedTxProp: 'Via `{{prop}}Tx` Prop' }, demoDebugScreen: { - howTo: "HOW TO", - title: "Debug", + howTo: 'HOW TO', + title: 'Debug', tagLine: "Congratulations, you've got a very advanced React Native app template here. Take advantage of this boilerplate!", - reactotron: "Send to Reactotron", - reportBugs: "Report Bugs", - demoList: "Demo List", - demoPodcastList: "Demo Podcast List", + reactotron: 'Send to Reactotron', + reportBugs: 'Report Bugs', + demoList: 'Demo List', + demoPodcastList: 'Demo Podcast List', androidReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running, run adb reverse tcp:9090 tcp:9090 from your terminal, and reload the app.", - iosReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", - macosReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", - webReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", - windowsReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + iosReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + macosReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + webReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + windowsReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app." }, demoPodcastListScreen: { - title: "React Native Radio episodes", - onlyFavorites: "Only Show Favorites", - favoriteButton: "Favorite", - unfavoriteButton: "Unfavorite", + title: 'React Native Radio episodes', + onlyFavorites: 'Only Show Favorites', + favoriteButton: 'Favorite', + unfavoriteButton: 'Unfavorite', accessibility: { - cardHint: - "Double tap to listen to the episode. Double tap and hold to {{action}} this episode.", - switch: "Switch on to only show favorites", - favoriteAction: "Toggle Favorite", - favoriteIcon: "Episode not favorited", - unfavoriteIcon: "Episode favorited", - publishLabel: "Published {{date}}", - durationLabel: "Duration: {{hours}} hours {{minutes}} minutes {{seconds}} seconds", + cardHint: 'Double tap to listen to the episode. Double tap and hold to {{action}} this episode.', + switch: 'Switch on to only show favorites', + favoriteAction: 'Toggle Favorite', + favoriteIcon: 'Episode not favorited', + unfavoriteIcon: 'Episode favorited', + publishLabel: 'Published {{date}}', + durationLabel: 'Duration: {{hours}} hours {{minutes}} minutes {{seconds}} seconds' }, noFavoritesEmptyState: { - heading: "This looks a bit empty", - content: - "No favorites have been added yet. Tap the heart on an episode to add it to your favorites!", - }, - }, + heading: 'This looks a bit empty', + content: 'No favorites have been added yet. Tap the heart on an episode to add it to your favorites!' + } + } // @demo remove-block-end -} +}; -export default en -export type Translations = typeof en +export default en; +export type Translations = typeof en; diff --git a/apps/mobile/app/i18n/es.ts b/apps/mobile/app/i18n/es.ts index 5536beee2..151c8d5eb 100644 --- a/apps/mobile/app/i18n/es.ts +++ b/apps/mobile/app/i18n/es.ts @@ -1,406 +1,397 @@ const es = { common: { - ok: "OK!", - cancel: "Cancel", - loading: "Loading", - back: "Back", - save: "Save", - edit: "Edit", - confirm: "Confirm", - discard: "Discard", - logOut: "Log Out", // @demo remove-current-line + ok: 'OK!', + cancel: 'Cancel', + loading: 'Loading', + back: 'Back', + save: 'Save', + edit: 'Edit', + confirm: 'Confirm', + discard: 'Discard', + logOut: 'Log Out' // @demo remove-current-line }, welcomeScreen: { postscript: "psst — This probably isn't what your app looks like. (Unless your designer handed you these screens, and in that case, ship it!)", - readyForLaunch: "Your app, almost ready for launch!", - exciting: "(ohh, this is exciting!)", - letsGo: "Let's go!", // @demo remove-current-line + readyForLaunch: 'Your app, almost ready for launch!', + exciting: '(ohh, this is exciting!)', + letsGo: "Let's go!" // @demo remove-current-line }, errorScreen: { - title: "Something went wrong!", + title: 'Something went wrong!', friendlySubtitle: "This is the screen that your users will see in production when an error is thrown. You'll want to customize this message (located in `app/i18n/en.ts`) and probably the layout as well (`app/screens/ErrorScreen`). If you want to remove this entirely, check `app/app.tsx` for the component.", - reset: "RESET APP", - traceTitle: "Error from %{name} stack", // @demo remove-current-line + reset: 'RESET APP', + traceTitle: 'Error from %{name} stack' // @demo remove-current-line }, emptyStateComponent: { generic: { - heading: "So empty... so sad", - content: "No data found yet. Try clicking the button to refresh or reload the app.", - button: "Let's try this again", - }, + heading: 'So empty... so sad', + content: 'No data found yet. Try clicking the button to refresh or reload the app.', + button: "Let's try this again" + } }, // @demo remove-block-start errors: { - invalidEmail: "Invalid email address.", + invalidEmail: 'Invalid email address.' }, loginScreen: { - name: "Login", - enterDetails: "Create New Team", - enterDetails2: "Join Existed Team", - enterDetails3: "Workspace", - hintDetails: "Please enter your team details to create a new team.", - hintDetails2: "Please enter email and invitation code to join existing team.", - hintDetails3: "The email associated with the next workspaces", - joinTeam: "Join Team", - joinExistTeam: "Joining existing team?", - joinTeamHint: "Enter the invitation code we sent to your email", - step1Title: "Select Team Name", - step2Title: "Provide More Details", - step3Title: "Invitation code", - confirmDetails: "Please check your email for confirm code", - confirmDetails2: "Please enter the invitation code we sent to your Email", - sendCode: "send Code", - codeNotReceived: "Didn’t recieve code ?Re", - inviteStepLabel: "Provide your Email", - emailFieldLabel: "Your Email", - teamNameFieldLabel: "Team Name", - inviteCodeFieldLabel: "Input invitation code", - selectWorkspaceFieldLabel: "Select Workspace", - emailFieldPlaceholder: "Enter your email address", - teamNameFieldPlaceholder: "Please Enter your team name", - userNameFieldPlaceholder: "Enter your name", - tapContinue: "Continue", - tapJoin: "Join", - createTeam: "Create Team", + name: 'Login', + enterDetails: 'Create New Team', + enterDetails2: 'Join Existed Team', + enterDetails3: 'Workspace', + hintDetails: 'Please enter your team details to create a new team.', + hintDetails2: 'Please enter email and invitation code to join existing team.', + hintDetails3: 'The email associated with the next workspaces', + joinTeam: 'Join Team', + joinExistTeam: 'Joining existing team?', + joinTeamHint: 'Enter the invitation code we sent to your email', + step1Title: 'Select Team Name', + step2Title: 'Provide More Details', + step3Title: 'Invitation code', + confirmDetails: 'Please check your email for confirm code', + confirmDetails2: 'Please enter the invitation code we sent to your Email', + sendCode: 'send Code', + codeNotReceived: 'Didn’t recieve code ?Re', + inviteStepLabel: 'Provide your Email', + emailFieldLabel: 'Your Email', + teamNameFieldLabel: 'Team Name', + inviteCodeFieldLabel: 'Input invitation code', + selectWorkspaceFieldLabel: 'Select Workspace', + emailFieldPlaceholder: 'Enter your email address', + teamNameFieldPlaceholder: 'Please Enter your team name', + userNameFieldPlaceholder: 'Enter your name', + tapContinue: 'Continue', + tapJoin: 'Join', + createTeam: 'Create Team' }, myWorkScreen: { - name: "My Work", - estimateLabel: "Estimate", - statusText: "Status", - taskFieldPlaceholder: "What you working on", - sizeText: "Sizes", - prioritiesText: "Priorities", - tabCreateTask: "Create New Task", - labelText: "Label", + name: 'Work', + estimateLabel: 'Estimate', + statusText: 'Status', + taskFieldPlaceholder: 'What you working on', + sizeText: 'Sizes', + prioritiesText: 'Priorities', + tabCreateTask: 'Create New Task', + labelText: 'Label' }, teamScreen: { - name: "Teams", - cardTotalTimeLabel: "Total time", - cardTodayWorkLabel: "Today work", - cardTotalWorkLabel: "Total work", - inviteButton: "Invite", - inviteModalTitle: "Invite member to your team", - inviteModalHint: "Send a invitation to a team member by email", - inviteEmailFieldPlaceholder: "Input email address", - inviteNameFieldPlaceholder: "Input team member name", - sendButton: "Create", + name: 'Teams', + cardTotalTimeLabel: 'Total time', + cardTodayWorkLabel: 'Today work', + cardTotalWorkLabel: 'Total work', + inviteButton: 'Invite', + inviteModalTitle: 'Invite member to your team', + inviteModalHint: 'Send a invitation to a team member by email', + inviteEmailFieldPlaceholder: 'Input email address', + inviteNameFieldPlaceholder: 'Input team member name', + sendButton: 'Create' }, taskDetailsScreen: { characterLimitErrorTitle: "We couldn't update Task Title.", characterLimitErrorDescription: "Task title can't exceed 255 characters.", - copyTitle: "Title Copied.", - changeParent: "Change Parent", - addParent: "Add Parent", - taskScreen: "Task Screen", - details: "Details", - taskPublic: "This task is Public", - makePrivate: "Make a Private", - taskPrivate: "This task is Private", - makePublic: "Make a Public", - typeIssue: "Type of Issue", - creator: "Creator", - assignees: "Assignees", - startDate: "Start Date", - dueDate: "Due Date", - daysRemaining: "Days Remaining", - version: "Version", - epic: "Epic", - status: "Status", - labels: "Labels", - size: "Size", - priority: "Priority", - manageAssignees: "Manage Assignees", - setDueDate: "Set Due Date", - setStartDate: "Set Start Date", - items: "Items", - estimate: "Estimate", - estimations: "Estimations", - time: "Time", - progress: "Progress", - timeToday: "Time Today", - totalGroupTime: "Total Group Time", - timeRemaining: "Time Remaining", - blocks: "Blocks", - clones: "Clones", - duplicates: "Duplicates", - isBlockedBy: "Is Blocked By", - isClonedBy: "Is Cloned By", - isDuplicatedBy: "Is Duplicated By", - relatesTo: "Relates To", - linkedIssues: "Linked Issues", - description: "Description", - descriptionBlockPlaceholder: "Write a complete description of your project...", - copyDescription: "Description Copied.", - showMore: "Show More", + copyTitle: 'Title Copied.', + changeParent: 'Change Parent', + addParent: 'Add Parent', + taskScreen: 'Task Screen', + details: 'Details', + taskPublic: 'This task is Public', + makePrivate: 'Make a Private', + taskPrivate: 'This task is Private', + makePublic: 'Make a Public', + typeIssue: 'Type of Issue', + creator: 'Creator', + assignees: 'Assignees', + startDate: 'Start Date', + dueDate: 'Due Date', + daysRemaining: 'Days Remaining', + version: 'Version', + epic: 'Epic', + status: 'Status', + labels: 'Labels', + size: 'Size', + priority: 'Priority', + manageAssignees: 'Manage Assignees', + setDueDate: 'Set Due Date', + setStartDate: 'Set Start Date', + items: 'Items', + estimate: 'Estimate', + estimations: 'Estimations', + time: 'Time', + progress: 'Progress', + timeToday: 'Time Today', + totalGroupTime: 'Total Group Time', + timeRemaining: 'Time Remaining', + blocks: 'Blocks', + clones: 'Clones', + duplicates: 'Duplicates', + isBlockedBy: 'Is Blocked By', + isClonedBy: 'Is Cloned By', + isDuplicatedBy: 'Is Duplicated By', + relatesTo: 'Relates To', + linkedIssues: 'Linked Issues', + description: 'Description', + descriptionBlockPlaceholder: 'Write a complete description of your project...', + copyDescription: 'Description Copied.', + showMore: 'Show More' }, tasksScreen: { - name: "Tasks", - now: "Now", - last24hours: "Last 24 hours", - totalTimeLabel: "Total Time", - workedTab: "Worked", - assignedTab: "Assigned", - unassignedTab: "Unassigned", - createTaskButton: "Create Task", - assignTaskButton: "Assign Task", - createButton: "Create", - assignButton: "Assign", - resendInvitation: "Resend Invitation", - editTaskLabel: "Edit Task", - unassignTaskLabel: "Unassign Task", - unMakeManager: "Unmake a Manager", - makeManager: "Make a Manager", - remove: "Remove", - filter: "Filter", - apply: "Apply", - reset: "Reset", + name: 'Tasks', + now: 'Now', + last24hours: 'Last 24 hours', + totalTimeLabel: 'Total Time', + workedTab: 'Worked', + assignedTab: 'Assigned', + unassignedTab: 'Unassigned', + createTaskButton: 'Create Task', + assignTaskButton: 'Assign Task', + createButton: 'Create', + assignButton: 'Assign', + resendInvitation: 'Resend Invitation', + editTaskLabel: 'Edit Task', + unassignTaskLabel: 'Unassign Task', + unMakeManager: 'Unmake a Manager', + makeManager: 'Make a Manager', + remove: 'Remove', + filter: 'Filter', + apply: 'Apply', + reset: 'Reset' }, noTeamScreen: { - createYourTeam: "Create your own team or join existed", - hintMessage: "Lorem ipsum dolor sit amet consectetur. Blandit lobortis dui risus neque.", + createYourTeam: 'Create your own team or join existed', + hintMessage: 'Lorem ipsum dolor sit amet consectetur. Blandit lobortis dui risus neque.' }, settingScreen: { - name: "Settings", + name: 'Settings', personalSection: { - name: "Personal", - fullName: "Full Name", - yourContact: "Your Contact", - yourContactHint: "Your contact information", - themes: "Themes", - darkModeToLight: "Dark Mode to Light Mode", - lightModeToDark: "Light Mode to Dark Mode", - language: "Language", - changeAvatar: "Change Avatar", - timeZone: "Time Zone", - workSchedule: "Work Schedule", - workScheduleHint: "Set your work schedule now", - removeAccount: "Remove Account", - removeAccountHint: - "Account will be removed from all teams, except where you are the only manager", - deleteAccount: "Delete Account", - deleteAccountHint: - "Your account will be deleted permanently with remolving from all teams", - detect: "Detect", + name: 'Personal', + fullName: 'Full Name', + yourContact: 'Your Contact', + yourContactHint: 'Your contact information', + themes: 'Themes', + darkModeToLight: 'Dark Mode to Light Mode', + lightModeToDark: 'Light Mode to Dark Mode', + language: 'Language', + changeAvatar: 'Change Avatar', + timeZone: 'Time Zone', + workSchedule: 'Work Schedule', + workScheduleHint: 'Set your work schedule now', + removeAccount: 'Remove Account', + removeAccountHint: 'Account will be removed from all teams, except where you are the only manager', + deleteAccount: 'Delete Account', + deleteAccountHint: 'Your account will be deleted permanently with remolving from all teams', + detect: 'Detect' }, teamSection: { - name: "Team", - teamName: "Team Name", - timeTracking: "Time Tracking", - timeTrackingHint: "Enable time tracking", - taskStatuses: "Task Statuses", - taskPriorities: "Task Priorities", - taskSizes: "Task Sizes", - taskLabel: "Task Label", - changeLogo: "Change Logo", - teamRole: "Manager Member & Role", - workSchedule: "Work Schedule", - workScheduleHint: "Set your work schedule now", - transferOwnership: "Transfer Ownership", - transferOwnershipHint: "Transfer full ownership of team to another user", - removeTeam: "Remove Team", - removeTeamHint: - "Team will be completely removed for the system and team members lost access", - quitTeam: "Quit the team", - quitTeamHint: "You are about to quit the team", - areYouSure: "Are you sure ?", + name: 'Team', + teamName: 'Team Name', + timeTracking: 'Time Tracking', + timeTrackingHint: 'Enable time tracking', + taskStatuses: 'Task Statuses', + taskPriorities: 'Task Priorities', + taskSizes: 'Task Sizes', + taskLabel: 'Task Label', + changeLogo: 'Change Logo', + teamRole: 'Manager Member & Role', + workSchedule: 'Work Schedule', + workScheduleHint: 'Set your work schedule now', + transferOwnership: 'Transfer Ownership', + transferOwnershipHint: 'Transfer full ownership of team to another user', + removeTeam: 'Remove Team', + removeTeamHint: 'Team will be completely removed for the system and team members lost access', + quitTeam: 'Quit the team', + quitTeamHint: 'You are about to quit the team', + areYouSure: 'Are you sure ?', changeTeamName: { - mainTitle: "Change Team Name", - inputPlaceholder: "Team Name", - }, + mainTitle: 'Change Team Name', + inputPlaceholder: 'Team Name' + } }, - dangerZone: "Danger Zone", - modalChangeLanguageTitle: "Change Language", + dangerZone: 'Danger Zone', + modalChangeLanguageTitle: 'Change Language', languages: { - english: "English ( United States )", - french: "French ( France )", - arabic: "Arabic", - russian: "Russian", - bulgarian: "Bulgarian", - spanish: "Spanish", - korean: "Korean", - hebrew: "Hebrew", + english: 'English ( United States )', + french: 'French ( France )', + arabic: 'Arabic', + russian: 'Russian', + bulgarian: 'Bulgarian', + spanish: 'Spanish', + korean: 'Korean', + hebrew: 'Hebrew' }, versionScreen: { - mainTitle: "Task Versions", - listOfVersions: "List of Versions", - noActiveVersions: "There are no active versions", - createNewVersionButton: "Create new version", - createNewVersionText: "Create New Version", - versionNamePlaceholder: "Version Name", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Versions', + listOfVersions: 'List of Versions', + noActiveVersions: 'There are no active versions', + createNewVersionButton: 'Create new version', + createNewVersionText: 'Create New Version', + versionNamePlaceholder: 'Version Name', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, statusScreen: { - mainTitle: "Task Statuses", - listStatuses: "List of Statuses", - noActiveStatuses: "There are no active statuses", - createStatusButton: "Create new status", - createNewStatusText: "Create New Status", - statusNamePlaceholder: "Status Name", - statusIconPlaceholder: "Choose Icon", - statusColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Statuses', + listStatuses: 'List of Statuses', + noActiveStatuses: 'There are no active statuses', + createStatusButton: 'Create new status', + createNewStatusText: 'Create New Status', + statusNamePlaceholder: 'Status Name', + statusIconPlaceholder: 'Choose Icon', + statusColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, priorityScreen: { - mainTitle: "Task Priorities", - priorities: "Priorities", - listPriorities: "List of Priorities", - noActivePriorities: "There are no active priorities", - createPriorityButton: "Create new priority", - createNewPriorityText: "Create New Priority", - priorityNamePlaceholder: "Priority Name", - priorityIconPlaceholder: "Search Icon", - priorityColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Priorities', + priorities: 'Priorities', + listPriorities: 'List of Priorities', + noActivePriorities: 'There are no active priorities', + createPriorityButton: 'Create new priority', + createNewPriorityText: 'Create New Priority', + priorityNamePlaceholder: 'Priority Name', + priorityIconPlaceholder: 'Search Icon', + priorityColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, labelScreen: { - mainTitle: "Task Labels", - listLabels: "List of Labels", - noActiveLabels: "There are no active labels", - createLabelButton: "Create new label", - createNewLabelText: "Create New Labels", - labelNamePlaceholder: "Labels Name", - labelIconPlaceholder: "Choose Icon", - labelColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Labels', + listLabels: 'List of Labels', + noActiveLabels: 'There are no active labels', + createLabelButton: 'Create new label', + createNewLabelText: 'Create New Labels', + labelNamePlaceholder: 'Labels Name', + labelIconPlaceholder: 'Choose Icon', + labelColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, sizeScreen: { - mainTitle: "Task Sizes", - listSizes: "List of Sizes", - noActiveSizes: "There are no active sizes", - createSizeButton: "Create new size", - createNewSizeText: "Create New Sizes", - sizeNamePlaceholder: "Size Name", - sizeIconPlaceholder: "Choose Icon", - sizeColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Sizes', + listSizes: 'List of Sizes', + noActiveSizes: 'There are no active sizes', + createSizeButton: 'Create new size', + createNewSizeText: 'Create New Sizes', + sizeNamePlaceholder: 'Size Name', + sizeIconPlaceholder: 'Choose Icon', + sizeColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, membersSettingsScreen: { - mainTitle: "Members & Roles", - deleteUserConfirmation: "Are you sure you want to remove selected user?", - changeRole: "Change Role", - delete: "Delete", + mainTitle: 'Members & Roles', + deleteUserConfirmation: 'Are you sure you want to remove selected user?', + changeRole: 'Change Role', + delete: 'Delete' }, changeFullName: { - firstNamePlaceholder: "First Name", - lastNamePlaholder: "Last Name", - mainTitle: "Change Full Name", + firstNamePlaceholder: 'First Name', + lastNamePlaholder: 'Last Name', + mainTitle: 'Change Full Name' }, changeAvatar: { - recentPictures: "Recent Pictures", - recentFiles: "Recent files", - selectFromGalery: "Select from galery", - selectFromFiles: "Select from Files", - continueButton: "Continue", - logoDeleteConfirmation: "Are you sure you want to delete the logo?", - avatarDeleteConfirmation: "Are you sure you want to delete the avatar?", + recentPictures: 'Recent Pictures', + recentFiles: 'Recent files', + selectFromGalery: 'Select from galery', + selectFromFiles: 'Select from Files', + continueButton: 'Continue', + logoDeleteConfirmation: 'Are you sure you want to delete the logo?', + avatarDeleteConfirmation: 'Are you sure you want to delete the avatar?' }, contact: { - mainTitle: "Change Your Contact", - emailPlaceholder: "Email Address", - phonePlaceholder: "Phone Number", - emailNotValid: "Please provide a valid Email", - phoneNotValid: "Please provide a valid Phone Number", - }, + mainTitle: 'Change Your Contact', + emailPlaceholder: 'Email Address', + phonePlaceholder: 'Phone Number', + emailNotValid: 'Please provide a valid Email', + phoneNotValid: 'Please provide a valid Phone Number' + } }, inviteModal: { - accept: "Accept", - reject: "Reject", - inviteHint: "You have been invited to join", + accept: 'Accept', + reject: 'Reject', + inviteHint: 'You have been invited to join' }, accountVerificationModal: { - verify: "Verify", + verify: 'Verify' }, demoNavigator: { - componentsTab: "Components", - debugTab: "Debug", - communityTab: "Community", - podcastListTab: "Podcast", + componentsTab: 'Components', + debugTab: 'Debug', + communityTab: 'Community', + podcastListTab: 'Podcast' }, demoCommunityScreen: { - title: "Connect with the community", + title: 'Connect with the community', tagLine: "Plug in to Infinite Red's community of React Native engineers and level up your app development with us!", - joinUsOnSlackTitle: "Join us on Slack", + joinUsOnSlackTitle: 'Join us on Slack', joinUsOnSlack: - "Wish there was a place to connect with React Native engineers around the world? Join the conversation in the Infinite Red Community Slack! Our growing community is a safe space to ask questions, learn from others, and grow your network.", - joinSlackLink: "Join the Slack Community", - makeIgniteEvenBetterTitle: "Make Ignite even better", + 'Wish there was a place to connect with React Native engineers around the world? Join the conversation in the Infinite Red Community Slack! Our growing community is a safe space to ask questions, learn from others, and grow your network.', + joinSlackLink: 'Join the Slack Community', + makeIgniteEvenBetterTitle: 'Make Ignite even better', makeIgniteEvenBetter: "Have an idea to make Ignite even better? We're happy to hear that! We're always looking for others who want to help us build the best React Native tooling out there. Join us over on GitHub to join us in building the future of Ignite.", - contributeToIgniteLink: "Contribute to Ignite", - theLatestInReactNativeTitle: "The latest in React Native", + contributeToIgniteLink: 'Contribute to Ignite', + theLatestInReactNativeTitle: 'The latest in React Native', theLatestInReactNative: "We're here to keep you current on all React Native has to offer.", - reactNativeRadioLink: "React Native Radio", - reactNativeNewsletterLink: "React Native Newsletter", - reactNativeLiveLink: "React Native Live", - chainReactConferenceLink: "Chain React Conference", - hireUsTitle: "Hire Infinite Red for your next project", + reactNativeRadioLink: 'React Native Radio', + reactNativeNewsletterLink: 'React Native Newsletter', + reactNativeLiveLink: 'React Native Live', + chainReactConferenceLink: 'Chain React Conference', + hireUsTitle: 'Hire Infinite Red for your next project', hireUs: "Whether it's running a full project or getting teams up to speed with our hands-on training, Infinite Red can help with just about any React Native project.", - hireUsLink: "Send us a message", + hireUsLink: 'Send us a message' }, demoShowroomScreen: { - jumpStart: "Components to jump start your project!", + jumpStart: 'Components to jump start your project!', lorem2Sentences: - "Nulla cupidatat deserunt amet quis aliquip nostrud do adipisicing. Adipisicing excepteur elit laborum Lorem adipisicing do duis.", - demoHeaderTxExample: "Yay", - demoViaTxProp: "Via `tx` Prop", - demoViaSpecifiedTxProp: "Via `{{prop}}Tx` Prop", + 'Nulla cupidatat deserunt amet quis aliquip nostrud do adipisicing. Adipisicing excepteur elit laborum Lorem adipisicing do duis.', + demoHeaderTxExample: 'Yay', + demoViaTxProp: 'Via `tx` Prop', + demoViaSpecifiedTxProp: 'Via `{{prop}}Tx` Prop' }, demoDebugScreen: { - howTo: "HOW TO", - title: "Debug", + howTo: 'HOW TO', + title: 'Debug', tagLine: "Congratulations, you've got a very advanced React Native app template here. Take advantage of this boilerplate!", - reactotron: "Send to Reactotron", - reportBugs: "Report Bugs", - demoList: "Demo List", - demoPodcastList: "Demo Podcast List", + reactotron: 'Send to Reactotron', + reportBugs: 'Report Bugs', + demoList: 'Demo List', + demoPodcastList: 'Demo Podcast List', androidReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running, run adb reverse tcp:9090 tcp:9090 from your terminal, and reload the app.", - iosReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", - macosReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", - webReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", - windowsReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + iosReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + macosReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + webReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + windowsReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app." }, demoPodcastListScreen: { - title: "React Native Radio episodes", - onlyFavorites: "Only Show Favorites", - favoriteButton: "Favorite", - unfavoriteButton: "Unfavorite", + title: 'React Native Radio episodes', + onlyFavorites: 'Only Show Favorites', + favoriteButton: 'Favorite', + unfavoriteButton: 'Unfavorite', accessibility: { - cardHint: - "Double tap to listen to the episode. Double tap and hold to {{action}} this episode.", - switch: "Switch on to only show favorites", - favoriteAction: "Toggle Favorite", - favoriteIcon: "Episode not favorited", - unfavoriteIcon: "Episode favorited", - publishLabel: "Published {{date}}", - durationLabel: "Duration: {{hours}} hours {{minutes}} minutes {{seconds}} seconds", + cardHint: 'Double tap to listen to the episode. Double tap and hold to {{action}} this episode.', + switch: 'Switch on to only show favorites', + favoriteAction: 'Toggle Favorite', + favoriteIcon: 'Episode not favorited', + unfavoriteIcon: 'Episode favorited', + publishLabel: 'Published {{date}}', + durationLabel: 'Duration: {{hours}} hours {{minutes}} minutes {{seconds}} seconds' }, noFavoritesEmptyState: { - heading: "This looks a bit empty", - content: - "No favorites have been added yet. Tap the heart on an episode to add it to your favorites!", - }, - }, + heading: 'This looks a bit empty', + content: 'No favorites have been added yet. Tap the heart on an episode to add it to your favorites!' + } + } // @demo remove-block-end -} +}; -export default es -export type Translations = typeof es +export default es; +export type Translations = typeof es; diff --git a/apps/mobile/app/i18n/fr.ts b/apps/mobile/app/i18n/fr.ts index 383870aba..a5391bf8a 100644 --- a/apps/mobile/app/i18n/fr.ts +++ b/apps/mobile/app/i18n/fr.ts @@ -1,422 +1,410 @@ const fr = { common: { - ok: "OK!", - cancel: "Annuler", - loading: "Patientez", - back: "Retour", - save: "Sauvegarder", - logOut: "Se déconnecter", // @demo remove-current-line - edit: "Edit", - confirm: "Confirm", - discard: "Discard", + ok: 'OK!', + cancel: 'Annuler', + loading: 'Patientez', + back: 'Retour', + save: 'Sauvegarder', + logOut: 'Se déconnecter', // @demo remove-current-line + edit: 'Edit', + confirm: 'Confirm', + discard: 'Discard' }, welcomeScreen: { postscript: "psst — This probably isn't what your app looks like. (Unless your designer handed you these screens, and in that case, ship it!)", - readyForLaunch: "Your app, almost ready for launch!", - exciting: "(ohh, this is exciting!)", - letsGo: "Let's go!", // @demo remove-current-line + readyForLaunch: 'Your app, almost ready for launch!', + exciting: '(ohh, this is exciting!)', + letsGo: "Let's go!" // @demo remove-current-line }, errorScreen: { - title: "Something went wrong!", + title: 'Something went wrong!', friendlySubtitle: "This is the screen that your users will see in production when an error is thrown. You'll want to customize this message (located in `app/i18n/en.ts`) and probably the layout as well (`app/screens/ErrorScreen`). If you want to remove this entirely, check `app/app.tsx` for the component.", - reset: "RESET APP", - traceTitle: "Error from %{name} stack", // @demo remove-current-line + reset: 'RESET APP', + traceTitle: 'Error from %{name} stack' // @demo remove-current-line }, emptyStateComponent: { generic: { - heading: "So empty... so sad", - content: "No data found yet. Try clicking the button to refresh or reload the app.", - button: "Let's try this again", - }, + heading: 'So empty... so sad', + content: 'No data found yet. Try clicking the button to refresh or reload the app.', + button: "Let's try this again" + } }, // @demo remove-block-start errors: { - invalidEmail: "Invalid email address.", + invalidEmail: 'Invalid email address.' }, loginScreen: { - name: "Connexion", - enterDetails: "Créer une nouvelle équipe", + name: 'Connexion', + enterDetails: 'Créer une nouvelle équipe', enterDetails2: "Rejoignez l'équipe existante", - enterDetails3: "Espace de travail", - hintDetails: "Veuillez entrer les détails pour créer une nouvelle équipe.", - hintDetails2: - "Veuillez entrer l'e-mail et le code d'invitation pour rejoindre l'équipe existante.", + enterDetails3: 'Espace de travail', + hintDetails: 'Veuillez entrer les détails pour créer une nouvelle équipe.', + hintDetails2: "Veuillez entrer l'e-mail et le code d'invitation pour rejoindre l'équipe existante.", hintDetails3: "L'email associé aux prochains espaces de travail", - joinTeam: "Rejoindre une équipe", - joinExistTeam: "Rejoindre une équipe existante ?", + joinTeam: 'Rejoindre une équipe', + joinExistTeam: 'Rejoindre une équipe existante ?', joinTeamHint: "Entrez le code d'invitation que nous vous avons envoyé par e-mail", step1Title: "Sélectionnez le nom de l'équipe", - step2Title: "Fournir plus de détails", + step2Title: 'Fournir plus de détails', step3Title: "Code d'invitation", - confirmDetails: "Veuillez vérifier votre e-mail pour confirmer le code", - confirmDetails2: - "Veuillez saisir le code d'invitation que nous vous avons envoyé par e-mail", - sendCode: "Renvoyer le code", + confirmDetails: 'Veuillez vérifier votre e-mail pour confirmer le code', + confirmDetails2: "Veuillez saisir le code d'invitation que nous vous avons envoyé par e-mail", + sendCode: 'Renvoyer le code', codeNotReceived: "Vous n'avez pas reçu le code ?", - inviteStepLabel: "Indiquez votre e-mail", - emailFieldLabel: "Votre e-mail", + inviteStepLabel: 'Indiquez votre e-mail', + emailFieldLabel: 'Votre e-mail', teamNameFieldLabel: "Nom de l'équipe", inviteCodeFieldLabel: "Saisir le code d'invitation", - selectWorkspaceFieldLabel: "Sélectionnez un espace de travail", - emailFieldPlaceholder: "Entrez votre adresse email", - teamNameFieldPlaceholder: "Veuillez saisir le nom de votre équipe", - userNameFieldPlaceholder: "Entrez votre nom", - tapContinue: "Continuer", - tapJoin: "Rejoindre", - createTeam: "Créer l'équipe", + selectWorkspaceFieldLabel: 'Sélectionnez un espace de travail', + emailFieldPlaceholder: 'Entrez votre adresse email', + teamNameFieldPlaceholder: 'Veuillez saisir le nom de votre équipe', + userNameFieldPlaceholder: 'Entrez votre nom', + tapContinue: 'Continuer', + tapJoin: 'Rejoindre', + createTeam: "Créer l'équipe" }, myWorkScreen: { - name: "Mon travail", - estimateLabel: "Estimation", - statusText: "Statut", - taskFieldPlaceholder: "Sur quoi tu travailles", - sizeText: "Tailles", - prioritiesText: "Priorités", - tabCreateTask: "Créer une Nouvelle Tâche", - labelText: "Étiquette", + name: 'Travail', + estimateLabel: 'Estimation', + statusText: 'Statut', + taskFieldPlaceholder: 'Sur quoi tu travailles', + sizeText: 'Tailles', + prioritiesText: 'Priorités', + tabCreateTask: 'Créer une Nouvelle Tâche', + labelText: 'Étiquette' }, teamScreen: { - name: "Équipes", - cardTotalTimeLabel: "Temps total", + name: 'Équipes', + cardTotalTimeLabel: 'Temps total', cardTodayWorkLabel: "Travail d'aujourd'hui", - cardTotalWorkLabel: "Travail total", - inviteButton: "Inviter", - inviteModalTitle: "Inviter un membre dans votre équipe", + cardTotalWorkLabel: 'Travail total', + inviteButton: 'Inviter', + inviteModalTitle: 'Inviter un membre dans votre équipe', inviteModalHint: "Envoyer une invitation à un membre de l'équipe par e-mail", inviteEmailFieldPlaceholder: "Saisir l'adresse e-mail", inviteNameFieldPlaceholder: "Saisir le nom du membre de l'équipe", - sendButton: "Créer", - createNewTeamButton: "Créer une nouvelle équipe", + sendButton: 'Créer', + createNewTeamButton: 'Créer une nouvelle équipe' }, taskDetailsScreen: { characterLimitErrorTitle: "Nous n'avons pas pu mettre à jour le titre de la tâche.", - characterLimitErrorDescription: "Le titre de la tâche ne peut pas dépasser 255 caractères.", - copyTitle: "Titre copié.", - changeParent: "Changer de parent", - addParent: "Ajouter un parent", - taskScreen: "Écran des tâches", - details: "Détails", - taskPublic: "Cette tâche est publique", - makePrivate: "Créer un privé", - taskPrivate: "Cette tâche est privée", - makePublic: "Faire un public", + characterLimitErrorDescription: 'Le titre de la tâche ne peut pas dépasser 255 caractères.', + copyTitle: 'Titre copié.', + changeParent: 'Changer de parent', + addParent: 'Ajouter un parent', + taskScreen: 'Écran des tâches', + details: 'Détails', + taskPublic: 'Cette tâche est publique', + makePrivate: 'Créer un privé', + taskPrivate: 'Cette tâche est privée', + makePublic: 'Faire un public', typeIssue: "Type d'Issue", - creator: "Créateur", - assignees: "Bénéficiaires", - startDate: "Date de début", + creator: 'Créateur', + assignees: 'Bénéficiaires', + startDate: 'Date de début', dueDate: "Date d'échéance", - daysRemaining: "Jours restants", - version: "Version", - epic: "Épique", - status: "Statut", - labels: "Étiquettes", - size: "Taille", - priority: "Priorité", - manageAssignees: "Gérer les destinataires", + daysRemaining: 'Jours restants', + version: 'Version', + epic: 'Épique', + status: 'Statut', + labels: 'Étiquettes', + size: 'Taille', + priority: 'Priorité', + manageAssignees: 'Gérer les destinataires', setDueDate: "Définir la date d'échéance", - setStartDate: "Définir la date de début", - items: "Articles", - estimate: "Estimation", - estimations: "Estimations", - time: "Temps", - progress: "Progrès", + setStartDate: 'Définir la date de début', + items: 'Articles', + estimate: 'Estimation', + estimations: 'Estimations', + time: 'Temps', + progress: 'Progrès', timeToday: "Temps Aujourd'hui", - totalGroupTime: "Temps Total du Groupe", - timeRemaining: "Temps Restant", - blocks: "Blocs", - clones: "Clones", - duplicates: "Doublons", - isBlockedBy: "Est bloqué par", - isClonedBy: "Est cloné par", - isDuplicatedBy: "Est dupliqué par", - relatesTo: "Se rapporte à", - linkedIssues: "Problèmes liés", - description: "Description", - descriptionBlockPlaceholder: "Écrivez une description complète de votre projet...", - copyDescription: "Description copiée.", - showMore: "Afficher plus", + totalGroupTime: 'Temps Total du Groupe', + timeRemaining: 'Temps Restant', + blocks: 'Blocs', + clones: 'Clones', + duplicates: 'Doublons', + isBlockedBy: 'Est bloqué par', + isClonedBy: 'Est cloné par', + isDuplicatedBy: 'Est dupliqué par', + relatesTo: 'Se rapporte à', + linkedIssues: 'Problèmes liés', + description: 'Description', + descriptionBlockPlaceholder: 'Écrivez une description complète de votre projet...', + copyDescription: 'Description copiée.', + showMore: 'Afficher plus' }, tasksScreen: { - name: "Tâches", - now: "Maintenant", - last24hours: "Dernières 24 heures", - totalTimeLabel: "Temps total", - workedTab: "Travaillée", - assignedTab: "Attribué", - unassignedTab: "Non attribué", - createTaskButton: "Créer une tâche", - assignTaskButton: "Attribuer une tâche", - createButton: "Créer", - assignButton: "Attribuer", + name: 'Tâches', + now: 'Maintenant', + last24hours: 'Dernières 24 heures', + totalTimeLabel: 'Temps total', + workedTab: 'Travaillée', + assignedTab: 'Attribué', + unassignedTab: 'Non attribué', + createTaskButton: 'Créer une tâche', + assignTaskButton: 'Attribuer une tâche', + createButton: 'Créer', + assignButton: 'Attribuer', resendInvitation: "Renvoyer l'invitation", - editTaskLabel: "Modifier la tâche", + editTaskLabel: 'Modifier la tâche', unassignTaskLabel: "Annuler l'attribution d'une tâche", - unMakeManager: "Défaire un manager", - makeManager: "Créer un gestionnaire", - remove: "Supprimer", - filter: "Filtre", - apply: "Appliquer", - reset: "Réinitialiser", + unMakeManager: 'Défaire un manager', + makeManager: 'Créer un gestionnaire', + remove: 'Supprimer', + filter: 'Filtre', + apply: 'Appliquer', + reset: 'Réinitialiser' }, settingScreen: { - name: "Réglages", + name: 'Réglages', personalSection: { - name: "Personnel", - fullName: "Nom Complet", - yourContact: "Votre contact", - yourContactHint: "Vos coordonnées", - themes: "Thèmes", - darkModeToLight: "Mode sombre en mode clair", - lightModeToDark: "Mode clair au mode sombre", - language: "Langue", + name: 'Personnel', + fullName: 'Nom Complet', + yourContact: 'Votre contact', + yourContactHint: 'Vos coordonnées', + themes: 'Thèmes', + darkModeToLight: 'Mode sombre en mode clair', + lightModeToDark: 'Mode clair au mode sombre', + language: 'Langue', changeAvatar: "Changer d'avatar", - timeZone: "Fuseau horaire", - workSchedule: "Horaire de travail", - workScheduleHint: "Définissez votre horaire de travail maintenant", - removeAccount: "Supprimer le compte", - removeAccountHint: - "Le compte sera supprimé de toutes les équipes, sauf si vous êtes le seul responsable", - deleteAccount: "Supprimer le compte", - deleteAccountHint: - "Votre compte sera définitivement supprimé avec la suppression de toutes les équipes", - detect: "Détecter", + timeZone: 'Fuseau horaire', + workSchedule: 'Horaire de travail', + workScheduleHint: 'Définissez votre horaire de travail maintenant', + removeAccount: 'Supprimer le compte', + removeAccountHint: 'Le compte sera supprimé de toutes les équipes, sauf si vous êtes le seul responsable', + deleteAccount: 'Supprimer le compte', + deleteAccountHint: 'Votre compte sera définitivement supprimé avec la suppression de toutes les équipes', + detect: 'Détecter' }, teamSection: { - name: "Équipe", + name: 'Équipe', teamName: "Nom de l'équipe", - timeTracking: "Suivi du temps", - timeTrackingHint: "Activer le suivi du temps", - taskStatuses: "Statuts des tâches", - taskPriorities: "Priorités des tâches", - taskSizes: "Tailles des tâches", - taskLabel: "Libellé de la tâche", - changeLogo: "Changer de logo", - teamRole: "Membre gestionnaire et rôle", - workSchedule: "Horaire de travail", - workScheduleHint: "Définissez votre horaire de travail maintenant", - transferOwnership: "Transfert de propriété", - transferOwnershipHint: - "Transférer la pleine propriété de l'équipe à un autre utilisateur", + timeTracking: 'Suivi du temps', + timeTrackingHint: 'Activer le suivi du temps', + taskStatuses: 'Statuts des tâches', + taskPriorities: 'Priorités des tâches', + taskSizes: 'Tailles des tâches', + taskLabel: 'Libellé de la tâche', + changeLogo: 'Changer de logo', + teamRole: 'Membre gestionnaire et rôle', + workSchedule: 'Horaire de travail', + workScheduleHint: 'Définissez votre horaire de travail maintenant', + transferOwnership: 'Transfert de propriété', + transferOwnershipHint: "Transférer la pleine propriété de l'équipe à un autre utilisateur", removeTeam: "Supprimer l'équipe", removeTeamHint: "L'équipe sera complètement supprimée du système et les membres de l'équipe perdront l'accès", quitTeam: "Quitter l'équipe", quitTeamHint: "Vous êtes sur le point de quitter l'équipe", - areYouSure: "Etes-vous sûr ?", + areYouSure: 'Etes-vous sûr ?', changeTeamName: { - mainTitle: "Change Team Name", - inputPlaceholder: "Team Name", - }, + mainTitle: 'Change Team Name', + inputPlaceholder: 'Team Name' + } }, - dangerZone: "Zone dangereuse", - modalChangeLanguageTitle: "Changer de langue", + dangerZone: 'Zone dangereuse', + modalChangeLanguageTitle: 'Changer de langue', languages: { - english: "Anglais ( États-Unis )", - french: "Français (France)", - arabic: "Arabe", - russian: "Russe", - bulgarian: "bulgare", - spanish: "Espagnol", - korean: "Coréen", - hebrew: "Hébreu", + english: 'Anglais ( États-Unis )', + french: 'Français (France)', + arabic: 'Arabe', + russian: 'Russe', + bulgarian: 'bulgare', + spanish: 'Espagnol', + korean: 'Coréen', + hebrew: 'Hébreu' }, versionScreen: { - mainTitle: "Versions de la tâche", - listOfVersions: "Liste des versions", - noActiveVersions: "Aucune version active", - createNewVersionButton: "Créer une nouvelle version", - createNewVersionText: "Créer une nouvelle version", - versionNamePlaceholder: "Nom de la version", - cancelButtonText: "Annuler", - createButtonText: "Créer", - updateButtonText: "Mettre à jour", + mainTitle: 'Versions de la tâche', + listOfVersions: 'Liste des versions', + noActiveVersions: 'Aucune version active', + createNewVersionButton: 'Créer une nouvelle version', + createNewVersionText: 'Créer une nouvelle version', + versionNamePlaceholder: 'Nom de la version', + cancelButtonText: 'Annuler', + createButtonText: 'Créer', + updateButtonText: 'Mettre à jour' }, statusScreen: { - mainTitle: "Task Statuses", - listStatuses: "List of Statuses", - noActiveStatuses: "There are no active statuses", - createStatusButton: "Create new status", - createNewStatusText: "Create New Status", - statusNamePlaceholder: "Status Name", - statusIconPlaceholder: "Choose Icon", - statusColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Statuses', + listStatuses: 'List of Statuses', + noActiveStatuses: 'There are no active statuses', + createStatusButton: 'Create new status', + createNewStatusText: 'Create New Status', + statusNamePlaceholder: 'Status Name', + statusIconPlaceholder: 'Choose Icon', + statusColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, noTeamScreen: { - createYourTeam: "Create your own team or join existed", - hintMessage: - "Lorem ipsum dolor sit amet consectetur. Blandit lobortis dui risus neque.", + createYourTeam: 'Create your own team or join existed', + hintMessage: 'Lorem ipsum dolor sit amet consectetur. Blandit lobortis dui risus neque.' }, priorityScreen: { - mainTitle: "Task Priorities", - listPriorities: "List of Priorities", - noActivePriorities: "There are no active priorities", - createPriorityButton: "Create new priority", - createNewPriorityText: "Create New Priority", - priorityNamePlaceholder: "Priority Name", - priorityIconPlaceholder: "Search Icon", - priorityColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Priorities', + listPriorities: 'List of Priorities', + noActivePriorities: 'There are no active priorities', + createPriorityButton: 'Create new priority', + createNewPriorityText: 'Create New Priority', + priorityNamePlaceholder: 'Priority Name', + priorityIconPlaceholder: 'Search Icon', + priorityColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, labelScreen: { - mainTitle: "Task Labels", - listLabels: "List of Labels", - noActiveLabels: "There are no active labels", - createLabelButton: "Create new label", - createNewLabelText: "Create New Labels", - labelNamePlaceholder: "Labels Name", - labelIconPlaceholder: "Choose Icon", - labelColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Labels', + listLabels: 'List of Labels', + noActiveLabels: 'There are no active labels', + createLabelButton: 'Create new label', + createNewLabelText: 'Create New Labels', + labelNamePlaceholder: 'Labels Name', + labelIconPlaceholder: 'Choose Icon', + labelColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, sizeScreen: { - mainTitle: "Task Sizes", - listSizes: "List of Sizes", - noActiveSizes: "There are no active sizes", - createSizeButton: "Create new size", - createNewSizeText: "Create New Sizes", - sizeNamePlaceholder: "Size Name", - sizeIconPlaceholder: "Choose Icon", - sizeColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Sizes', + listSizes: 'List of Sizes', + noActiveSizes: 'There are no active sizes', + createSizeButton: 'Create new size', + createNewSizeText: 'Create New Sizes', + sizeNamePlaceholder: 'Size Name', + sizeIconPlaceholder: 'Choose Icon', + sizeColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, membersSettingsScreen: { - mainTitle: "Membres et rôles", + mainTitle: 'Membres et rôles', deleteUserConfirmation: "Êtes-vous sûr de vouloir supprimer l'utilisateur sélectionné?", - changeRole: "Changer le rôle", - delete: "Supprimer", + changeRole: 'Changer le rôle', + delete: 'Supprimer' }, changeAvatar: { - recentPictures: "Photos récentes", - recentFiles: "Fichiers récents", - selectFromGalery: "Sélectionner depuis la galerie", - selectFromFiles: "Sélectionner depuis les fichiers", - continueButton: "Continuer", - logoDeleteConfirmation: "Êtes-vous sûr de vouloir supprimer le logo?", - avatarDeleteConfirmation: "Are you sure you want to delete the avatar?", + recentPictures: 'Photos récentes', + recentFiles: 'Fichiers récents', + selectFromGalery: 'Sélectionner depuis la galerie', + selectFromFiles: 'Sélectionner depuis les fichiers', + continueButton: 'Continuer', + logoDeleteConfirmation: 'Êtes-vous sûr de vouloir supprimer le logo?', + avatarDeleteConfirmation: 'Are you sure you want to delete the avatar?' }, changeFullName: { - firstNamePlaceholder: "First Name", - lastNamePlaholder: "Last Name", - mainTitle: "Change Full Name", + firstNamePlaceholder: 'First Name', + lastNamePlaholder: 'Last Name', + mainTitle: 'Change Full Name' }, contact: { - mainTitle: "Change Your Contact", - emailPlaceholder: "Email Address", - phonePlaceholder: "Phone Number", - emailNotValid: "Please provide a valid Email", - phoneNotValid: "Please provide a valid Phone Number", + mainTitle: 'Change Your Contact', + emailPlaceholder: 'Email Address', + phonePlaceholder: 'Phone Number', + emailNotValid: 'Please provide a valid Email', + phoneNotValid: 'Please provide a valid Phone Number' }, changeTimezone: { - mainTitle: "Changer le fuseau horaire", - selectTimezoneTitle: "Choisir le fuseau horaire", + mainTitle: 'Changer le fuseau horaire', + selectTimezoneTitle: 'Choisir le fuseau horaire' }, changeLanguage: { - mainTitle: "Changer la langue", - selectLanguageTitle: "Choisir la langue", - }, + mainTitle: 'Changer la langue', + selectLanguageTitle: 'Choisir la langue' + } }, hamburgerMenu: { - darkMode: "Mode sombre", + darkMode: 'Mode sombre' }, inviteModal: { - accept: "Accepter", - reject: "Rejeter", - inviteHint: "Vous avez été invité à rejoindre", + accept: 'Accepter', + reject: 'Rejeter', + inviteHint: 'Vous avez été invité à rejoindre' }, accountVerificationModal: { - verify: "Vérifier", + verify: 'Vérifier' }, demoNavigator: { - componentsTab: "Components", - debugTab: "Debug", - communityTab: "Community", - podcastListTab: "Podcast", + componentsTab: 'Components', + debugTab: 'Debug', + communityTab: 'Community', + podcastListTab: 'Podcast' }, demoCommunityScreen: { - title: "Connect with the community", + title: 'Connect with the community', tagLine: "Plug in to Infinite Red's community of React Native engineers and level up your app development with us!", - joinUsOnSlackTitle: "Join us on Slack", + joinUsOnSlackTitle: 'Join us on Slack', joinUsOnSlack: - "Wish there was a place to connect with React Native engineers around the world? Join the conversation in the Infinite Red Community Slack! Our growing community is a safe space to ask questions, learn from others, and grow your network.", - joinSlackLink: "Join the Slack Community", - makeIgniteEvenBetterTitle: "Make Ignite even better", + 'Wish there was a place to connect with React Native engineers around the world? Join the conversation in the Infinite Red Community Slack! Our growing community is a safe space to ask questions, learn from others, and grow your network.', + joinSlackLink: 'Join the Slack Community', + makeIgniteEvenBetterTitle: 'Make Ignite even better', makeIgniteEvenBetter: "Have an idea to make Ignite even better? We're happy to hear that! We're always looking for others who want to help us build the best React Native tooling out there. Join us over on GitHub to join us in building the future of Ignite.", - contributeToIgniteLink: "Contribute to Ignite", - theLatestInReactNativeTitle: "The latest in React Native", + contributeToIgniteLink: 'Contribute to Ignite', + theLatestInReactNativeTitle: 'The latest in React Native', theLatestInReactNative: "We're here to keep you current on all React Native has to offer.", - reactNativeRadioLink: "React Native Radio", - reactNativeNewsletterLink: "React Native Newsletter", - reactNativeLiveLink: "React Native Live", - chainReactConferenceLink: "Chain React Conference", - hireUsTitle: "Hire Infinite Red for your next project", + reactNativeRadioLink: 'React Native Radio', + reactNativeNewsletterLink: 'React Native Newsletter', + reactNativeLiveLink: 'React Native Live', + chainReactConferenceLink: 'Chain React Conference', + hireUsTitle: 'Hire Infinite Red for your next project', hireUs: "Whether it's running a full project or getting teams up to speed with our hands-on training, Infinite Red can help with just about any React Native project.", - hireUsLink: "Send us a message", + hireUsLink: 'Send us a message' }, demoShowroomScreen: { - jumpStart: "Components to jump start your project!", + jumpStart: 'Components to jump start your project!', lorem2Sentences: - "Nulla cupidatat deserunt amet quis aliquip nostrud do adipisicing. Adipisicing excepteur elit laborum Lorem adipisicing do duis.", - demoHeaderTxExample: "Yay", - demoViaTxProp: "Via `tx` Prop", - demoViaSpecifiedTxProp: "Via `{{prop}}Tx` Prop", + 'Nulla cupidatat deserunt amet quis aliquip nostrud do adipisicing. Adipisicing excepteur elit laborum Lorem adipisicing do duis.', + demoHeaderTxExample: 'Yay', + demoViaTxProp: 'Via `tx` Prop', + demoViaSpecifiedTxProp: 'Via `{{prop}}Tx` Prop' }, demoDebugScreen: { - howTo: "HOW TO", - title: "Debug", + howTo: 'HOW TO', + title: 'Debug', tagLine: "Congratulations, you've got a very advanced React Native app template here. Take advantage of this boilerplate!", - reactotron: "Send to Reactotron", - reportBugs: "Report Bugs", - demoList: "Demo List", - demoPodcastList: "Demo Podcast List", + reactotron: 'Send to Reactotron', + reportBugs: 'Report Bugs', + demoList: 'Demo List', + demoPodcastList: 'Demo Podcast List', androidReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running, run adb reverse tcp:9090 tcp:9090 from your terminal, and reload the app.", - iosReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", - macosReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", - webReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", - windowsReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + iosReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + macosReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + webReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + windowsReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app." }, demoPodcastListScreen: { - title: "React Native Radio episodes", - onlyFavorites: "Only Show Favorites", - favoriteButton: "Favorite", - unfavoriteButton: "Unfavorite", + title: 'React Native Radio episodes', + onlyFavorites: 'Only Show Favorites', + favoriteButton: 'Favorite', + unfavoriteButton: 'Unfavorite', accessibility: { - cardHint: - "Double tap to listen to the episode. Double tap and hold to {{action}} this episode.", - switch: "Switch on to only show favorites", - favoriteAction: "Toggle Favorite", - favoriteIcon: "Episode not favorited", - unfavoriteIcon: "Episode favorited", - publishLabel: "Published {{date}}", - durationLabel: "Duration: {{hours}} hours {{minutes}} minutes {{seconds}} seconds", + cardHint: 'Double tap to listen to the episode. Double tap and hold to {{action}} this episode.', + switch: 'Switch on to only show favorites', + favoriteAction: 'Toggle Favorite', + favoriteIcon: 'Episode not favorited', + unfavoriteIcon: 'Episode favorited', + publishLabel: 'Published {{date}}', + durationLabel: 'Duration: {{hours}} hours {{minutes}} minutes {{seconds}} seconds' }, noFavoritesEmptyState: { - heading: "This looks a bit empty", - content: - "No favorites have been added yet. Tap the heart on an episode to add it to your favorites!", - }, - }, + heading: 'This looks a bit empty', + content: 'No favorites have been added yet. Tap the heart on an episode to add it to your favorites!' + } + } // @demo remove-block-end -} +}; -export default fr -export type Translations = typeof fr +export default fr; +export type Translations = typeof fr; diff --git a/apps/mobile/app/i18n/he.ts b/apps/mobile/app/i18n/he.ts index 295aa4cd4..b45fe04a3 100644 --- a/apps/mobile/app/i18n/he.ts +++ b/apps/mobile/app/i18n/he.ts @@ -1,406 +1,397 @@ const he = { common: { - ok: "OK!", - cancel: "Cancel", - back: "Back", - loading: "Loading", - save: "Save", - edit: "Edit", - confirm: "Confirm", - discard: "Discard", - logOut: "Log Out", // @demo remove-current-line + ok: 'OK!', + cancel: 'Cancel', + back: 'Back', + loading: 'Loading', + save: 'Save', + edit: 'Edit', + confirm: 'Confirm', + discard: 'Discard', + logOut: 'Log Out' // @demo remove-current-line }, welcomeScreen: { postscript: "psst — This probably isn't what your app looks like. (Unless your designer handed you these screens, and in that case, ship it!)", - readyForLaunch: "Your app, almost ready for launch!", - exciting: "(ohh, this is exciting!)", - letsGo: "Let's go!", // @demo remove-current-line + readyForLaunch: 'Your app, almost ready for launch!', + exciting: '(ohh, this is exciting!)', + letsGo: "Let's go!" // @demo remove-current-line }, errorScreen: { - title: "Something went wrong!", + title: 'Something went wrong!', friendlySubtitle: "This is the screen that your users will see in production when an error is thrown. You'll want to customize this message (located in `app/i18n/en.ts`) and probably the layout as well (`app/screens/ErrorScreen`). If you want to remove this entirely, check `app/app.tsx` for the component.", - reset: "RESET APP", - traceTitle: "Error from %{name} stack", // @demo remove-current-line + reset: 'RESET APP', + traceTitle: 'Error from %{name} stack' // @demo remove-current-line }, emptyStateComponent: { generic: { - heading: "So empty... so sad", - content: "No data found yet. Try clicking the button to refresh or reload the app.", - button: "Let's try this again", - }, + heading: 'So empty... so sad', + content: 'No data found yet. Try clicking the button to refresh or reload the app.', + button: "Let's try this again" + } }, // @demo remove-block-start errors: { - invalidEmail: "Invalid email address.", + invalidEmail: 'Invalid email address.' }, loginScreen: { - name: "Login", - enterDetails: "Create New Team", - enterDetails2: "Join Existed Team", - enterDetails3: "Workspace", - hintDetails: "Please enter your team details to create a new team.", - hintDetails2: "Please enter email and invitation code to join existing team.", - hintDetails3: "The email associated with the next workspaces", - joinTeam: "Join Team", - joinExistTeam: "Joining existing team?", - joinTeamHint: "Enter the invitation code we sent to your email", - step1Title: "Select Team Name", - step2Title: "Provide More Details", - step3Title: "Invitation code", - confirmDetails: "Please check your email for confirm code", - confirmDetails2: "Please enter the invitation code we sent to your Email", - sendCode: "send Code", - codeNotReceived: "Didn’t recieve code ?Re", - inviteStepLabel: "Provide your Email", - emailFieldLabel: "Your Email", - teamNameFieldLabel: "Team Name", - inviteCodeFieldLabel: "Input invitation code", - selectWorkspaceFieldLabel: "Select Workspace", - emailFieldPlaceholder: "Enter your email address", - teamNameFieldPlaceholder: "Please Enter your team name", - userNameFieldPlaceholder: "Enter your name", - tapContinue: "Continue", - tapJoin: "Join", - createTeam: "Create Team", + name: 'Login', + enterDetails: 'Create New Team', + enterDetails2: 'Join Existed Team', + enterDetails3: 'Workspace', + hintDetails: 'Please enter your team details to create a new team.', + hintDetails2: 'Please enter email and invitation code to join existing team.', + hintDetails3: 'The email associated with the next workspaces', + joinTeam: 'Join Team', + joinExistTeam: 'Joining existing team?', + joinTeamHint: 'Enter the invitation code we sent to your email', + step1Title: 'Select Team Name', + step2Title: 'Provide More Details', + step3Title: 'Invitation code', + confirmDetails: 'Please check your email for confirm code', + confirmDetails2: 'Please enter the invitation code we sent to your Email', + sendCode: 'send Code', + codeNotReceived: 'Didn’t recieve code ?Re', + inviteStepLabel: 'Provide your Email', + emailFieldLabel: 'Your Email', + teamNameFieldLabel: 'Team Name', + inviteCodeFieldLabel: 'Input invitation code', + selectWorkspaceFieldLabel: 'Select Workspace', + emailFieldPlaceholder: 'Enter your email address', + teamNameFieldPlaceholder: 'Please Enter your team name', + userNameFieldPlaceholder: 'Enter your name', + tapContinue: 'Continue', + tapJoin: 'Join', + createTeam: 'Create Team' }, myWorkScreen: { - name: "My Work", - estimateLabel: "Estimate", - statusText: "Status", - taskFieldPlaceholder: "What you working on", - sizeText: "Sizes", - prioritiesText: "Priorities", - tabCreateTask: "Create New Task", - labelText: "Label", + name: 'Work', + estimateLabel: 'Estimate', + statusText: 'Status', + taskFieldPlaceholder: 'What you working on', + sizeText: 'Sizes', + prioritiesText: 'Priorities', + tabCreateTask: 'Create New Task', + labelText: 'Label' }, teamScreen: { - name: "Teams", - cardTotalTimeLabel: "Total time", - cardTodayWorkLabel: "Today work", - cardTotalWorkLabel: "Total work", - inviteButton: "Invite", - inviteModalTitle: "Invite member to your team", - inviteModalHint: "Send a invitation to a team member by email", - inviteEmailFieldPlaceholder: "Input email address", - inviteNameFieldPlaceholder: "Input team member name", - sendButton: "Create", + name: 'Teams', + cardTotalTimeLabel: 'Total time', + cardTodayWorkLabel: 'Today work', + cardTotalWorkLabel: 'Total work', + inviteButton: 'Invite', + inviteModalTitle: 'Invite member to your team', + inviteModalHint: 'Send a invitation to a team member by email', + inviteEmailFieldPlaceholder: 'Input email address', + inviteNameFieldPlaceholder: 'Input team member name', + sendButton: 'Create' }, taskDetailsScreen: { characterLimitErrorTitle: "We couldn't update Task Title.", characterLimitErrorDescription: "Task title can't exceed 255 characters.", - copyTitle: "Title Copied.", - changeParent: "Change Parent", - addParent: "Add Parent", - taskScreen: "Task Screen", - details: "Details", - taskPublic: "This task is Public", - makePrivate: "Make a Private", - taskPrivate: "This task is Private", - makePublic: "Make a Public", - typeIssue: "Type of Issue", - creator: "Creator", - assignees: "Assignees", - startDate: "Start Date", - dueDate: "Due Date", - daysRemaining: "Days Remaining", - version: "Version", - epic: "Epic", - status: "Status", - labels: "Labels", - size: "Size", - priority: "Priority", - manageAssignees: "Manage Assignees", - setDueDate: "Set Due Date", - setStartDate: "Set Start Date", - items: "Items", - estimate: "Estimate", - estimations: "Estimations", - time: "Time", - progress: "Progress", - timeToday: "Time Today", - totalGroupTime: "Total Group Time", - timeRemaining: "Time Remaining", - blocks: "Blocks", - clones: "Clones", - duplicates: "Duplicates", - isBlockedBy: "Is Blocked By", - isClonedBy: "Is Cloned By", - isDuplicatedBy: "Is Duplicated By", - relatesTo: "Relates To", - linkedIssues: "Linked Issues", - description: "Description", - descriptionBlockPlaceholder: "Write a complete description of your project...", - copyDescription: "Description Copied.", - showMore: "Show More", + copyTitle: 'Title Copied.', + changeParent: 'Change Parent', + addParent: 'Add Parent', + taskScreen: 'Task Screen', + details: 'Details', + taskPublic: 'This task is Public', + makePrivate: 'Make a Private', + taskPrivate: 'This task is Private', + makePublic: 'Make a Public', + typeIssue: 'Type of Issue', + creator: 'Creator', + assignees: 'Assignees', + startDate: 'Start Date', + dueDate: 'Due Date', + daysRemaining: 'Days Remaining', + version: 'Version', + epic: 'Epic', + status: 'Status', + labels: 'Labels', + size: 'Size', + priority: 'Priority', + manageAssignees: 'Manage Assignees', + setDueDate: 'Set Due Date', + setStartDate: 'Set Start Date', + items: 'Items', + estimate: 'Estimate', + estimations: 'Estimations', + time: 'Time', + progress: 'Progress', + timeToday: 'Time Today', + totalGroupTime: 'Total Group Time', + timeRemaining: 'Time Remaining', + blocks: 'Blocks', + clones: 'Clones', + duplicates: 'Duplicates', + isBlockedBy: 'Is Blocked By', + isClonedBy: 'Is Cloned By', + isDuplicatedBy: 'Is Duplicated By', + relatesTo: 'Relates To', + linkedIssues: 'Linked Issues', + description: 'Description', + descriptionBlockPlaceholder: 'Write a complete description of your project...', + copyDescription: 'Description Copied.', + showMore: 'Show More' }, tasksScreen: { - name: "Tasks", - now: "Now", - last24hours: "Last 24 hours", - totalTimeLabel: "Total Time", - workedTab: "Worked", - assignedTab: "Assigned", - unassignedTab: "Unassigned", - createTaskButton: "Create Task", - assignTaskButton: "Assign Task", - createButton: "Create", - assignButton: "Assign", - resendInvitation: "Resend Invitation", - editTaskLabel: "Edit Task", - unassignTaskLabel: "Unassign Task", - unMakeManager: "Unmake a Manager", - makeManager: "Make a Manager", - remove: "Remove", - filter: "Filter", - apply: "Apply", - reset: "Reset", + name: 'Tasks', + now: 'Now', + last24hours: 'Last 24 hours', + totalTimeLabel: 'Total Time', + workedTab: 'Worked', + assignedTab: 'Assigned', + unassignedTab: 'Unassigned', + createTaskButton: 'Create Task', + assignTaskButton: 'Assign Task', + createButton: 'Create', + assignButton: 'Assign', + resendInvitation: 'Resend Invitation', + editTaskLabel: 'Edit Task', + unassignTaskLabel: 'Unassign Task', + unMakeManager: 'Unmake a Manager', + makeManager: 'Make a Manager', + remove: 'Remove', + filter: 'Filter', + apply: 'Apply', + reset: 'Reset' }, noTeamScreen: { - createYourTeam: "Create your own team or join existed", - hintMessage: "Lorem ipsum dolor sit amet consectetur. Blandit lobortis dui risus neque.", + createYourTeam: 'Create your own team or join existed', + hintMessage: 'Lorem ipsum dolor sit amet consectetur. Blandit lobortis dui risus neque.' }, settingScreen: { - name: "Settings", + name: 'Settings', personalSection: { - name: "Personal", - fullName: "Full Name", - yourContact: "Your Contact", - yourContactHint: "Your contact information", - themes: "Themes", - darkModeToLight: "Dark Mode to Light Mode", - lightModeToDark: "Light Mode to Dark Mode", - language: "Language", - changeAvatar: "Change Avatar", - timeZone: "Time Zone", - workSchedule: "Work Schedule", - workScheduleHint: "Set your work schedule now", - removeAccount: "Remove Account", - removeAccountHint: - "Account will be removed from all teams, except where you are the only manager", - deleteAccount: "Delete Account", - deleteAccountHint: - "Your account will be deleted permanently with remolving from all teams", - detect: "Detect", + name: 'Personal', + fullName: 'Full Name', + yourContact: 'Your Contact', + yourContactHint: 'Your contact information', + themes: 'Themes', + darkModeToLight: 'Dark Mode to Light Mode', + lightModeToDark: 'Light Mode to Dark Mode', + language: 'Language', + changeAvatar: 'Change Avatar', + timeZone: 'Time Zone', + workSchedule: 'Work Schedule', + workScheduleHint: 'Set your work schedule now', + removeAccount: 'Remove Account', + removeAccountHint: 'Account will be removed from all teams, except where you are the only manager', + deleteAccount: 'Delete Account', + deleteAccountHint: 'Your account will be deleted permanently with remolving from all teams', + detect: 'Detect' }, teamSection: { - name: "Team", - teamName: "Team Name", - timeTracking: "Time Tracking", - timeTrackingHint: "Enable time tracking", - taskStatuses: "Task Statuses", - taskPriorities: "Task Priorities", - taskSizes: "Task Sizes", - taskLabel: "Task Label", - changeLogo: "Change Logo", - teamRole: "Manager Member & Role", - workSchedule: "Work Schedule", - workScheduleHint: "Set your work schedule now", - transferOwnership: "Transfer Ownership", - transferOwnershipHint: "Transfer full ownership of team to another user", - removeTeam: "Remove Team", - removeTeamHint: - "Team will be completely removed for the system and team members lost access", - quitTeam: "Quit the team", - quitTeamHint: "You are about to quit the team", - areYouSure: "Are you sure ?", + name: 'Team', + teamName: 'Team Name', + timeTracking: 'Time Tracking', + timeTrackingHint: 'Enable time tracking', + taskStatuses: 'Task Statuses', + taskPriorities: 'Task Priorities', + taskSizes: 'Task Sizes', + taskLabel: 'Task Label', + changeLogo: 'Change Logo', + teamRole: 'Manager Member & Role', + workSchedule: 'Work Schedule', + workScheduleHint: 'Set your work schedule now', + transferOwnership: 'Transfer Ownership', + transferOwnershipHint: 'Transfer full ownership of team to another user', + removeTeam: 'Remove Team', + removeTeamHint: 'Team will be completely removed for the system and team members lost access', + quitTeam: 'Quit the team', + quitTeamHint: 'You are about to quit the team', + areYouSure: 'Are you sure ?', changeTeamName: { - mainTitle: "Change Team Name", - inputPlaceholder: "Team Name", - }, + mainTitle: 'Change Team Name', + inputPlaceholder: 'Team Name' + } }, - dangerZone: "Danger Zone", - modalChangeLanguageTitle: "Change Language", + dangerZone: 'Danger Zone', + modalChangeLanguageTitle: 'Change Language', languages: { - english: "English ( United States )", - french: "French ( France )", - arabic: "Arabic", - russian: "Russian", - bulgarian: "Bulgarian", - spanish: "Spanish", - korean: "Korean", - hebrew: "Hebrew", + english: 'English ( United States )', + french: 'French ( France )', + arabic: 'Arabic', + russian: 'Russian', + bulgarian: 'Bulgarian', + spanish: 'Spanish', + korean: 'Korean', + hebrew: 'Hebrew' }, versionScreen: { - mainTitle: "Task Versions", - listOfVersions: "List of Versions", - noActiveVersions: "There are no active versions", - createNewVersionButton: "Create new version", - createNewVersionText: "Create New Version", - versionNamePlaceholder: "Version Name", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Versions', + listOfVersions: 'List of Versions', + noActiveVersions: 'There are no active versions', + createNewVersionButton: 'Create new version', + createNewVersionText: 'Create New Version', + versionNamePlaceholder: 'Version Name', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, statusScreen: { - mainTitle: "Task Statuses", - listStatuses: "List of Statuses", - noActiveStatuses: "There are no active statuses", - createStatusButton: "Create new status", - createNewStatusText: "Create New Status", - statusNamePlaceholder: "Status Name", - statusIconPlaceholder: "Choose Icon", - statusColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Statuses', + listStatuses: 'List of Statuses', + noActiveStatuses: 'There are no active statuses', + createStatusButton: 'Create new status', + createNewStatusText: 'Create New Status', + statusNamePlaceholder: 'Status Name', + statusIconPlaceholder: 'Choose Icon', + statusColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, priorityScreen: { - mainTitle: "Task Priorities", - priorities: "Priorities", - listPriorities: "List of Priorities", - noActivePriorities: "There are no active priorities", - createPriorityButton: "Create new priority", - createNewPriorityText: "Create New Priority", - priorityNamePlaceholder: "Priority Name", - priorityIconPlaceholder: "Search Icon", - priorityColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Priorities', + priorities: 'Priorities', + listPriorities: 'List of Priorities', + noActivePriorities: 'There are no active priorities', + createPriorityButton: 'Create new priority', + createNewPriorityText: 'Create New Priority', + priorityNamePlaceholder: 'Priority Name', + priorityIconPlaceholder: 'Search Icon', + priorityColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, labelScreen: { - mainTitle: "Task Labels", - listLabels: "List of Labels", - noActiveLabels: "There are no active labels", - createLabelButton: "Create new label", - createNewLabelText: "Create New Labels", - labelNamePlaceholder: "Labels Name", - labelIconPlaceholder: "Choose Icon", - labelColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Labels', + listLabels: 'List of Labels', + noActiveLabels: 'There are no active labels', + createLabelButton: 'Create new label', + createNewLabelText: 'Create New Labels', + labelNamePlaceholder: 'Labels Name', + labelIconPlaceholder: 'Choose Icon', + labelColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, sizeScreen: { - mainTitle: "Task Sizes", - listSizes: "List of Sizes", - noActiveSizes: "There are no active sizes", - createSizeButton: "Create new size", - createNewSizeText: "Create New Sizes", - sizeNamePlaceholder: "Size Name", - sizeIconPlaceholder: "Choose Icon", - sizeColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Sizes', + listSizes: 'List of Sizes', + noActiveSizes: 'There are no active sizes', + createSizeButton: 'Create new size', + createNewSizeText: 'Create New Sizes', + sizeNamePlaceholder: 'Size Name', + sizeIconPlaceholder: 'Choose Icon', + sizeColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, membersSettingsScreen: { - mainTitle: "Members & Roles", - deleteUserConfirmation: "Are you sure you want to remove selected user?", - changeRole: "Change Role", - delete: "Delete", + mainTitle: 'Members & Roles', + deleteUserConfirmation: 'Are you sure you want to remove selected user?', + changeRole: 'Change Role', + delete: 'Delete' }, changeFullName: { - firstNamePlaceholder: "First Name", - lastNamePlaholder: "Last Name", - mainTitle: "Change Full Name", + firstNamePlaceholder: 'First Name', + lastNamePlaholder: 'Last Name', + mainTitle: 'Change Full Name' }, changeAvatar: { - recentPictures: "Recent Pictures", - recentFiles: "Recent files", - selectFromGalery: "Select from galery", - selectFromFiles: "Select from Files", - continueButton: "Continue", - logoDeleteConfirmation: "Are you sure you want to delete the logo?", - avatarDeleteConfirmation: "Are you sure you want to delete the avatar?", + recentPictures: 'Recent Pictures', + recentFiles: 'Recent files', + selectFromGalery: 'Select from galery', + selectFromFiles: 'Select from Files', + continueButton: 'Continue', + logoDeleteConfirmation: 'Are you sure you want to delete the logo?', + avatarDeleteConfirmation: 'Are you sure you want to delete the avatar?' }, contact: { - mainTitle: "Change Your Contact", - emailPlaceholder: "Email Address", - phonePlaceholder: "Phone Number", - emailNotValid: "Please provide a valid Email", - phoneNotValid: "Please provide a valid Phone Number", - }, + mainTitle: 'Change Your Contact', + emailPlaceholder: 'Email Address', + phonePlaceholder: 'Phone Number', + emailNotValid: 'Please provide a valid Email', + phoneNotValid: 'Please provide a valid Phone Number' + } }, demoNavigator: { - componentsTab: "Components", - debugTab: "Debug", - communityTab: "Community", - podcastListTab: "Podcast", + componentsTab: 'Components', + debugTab: 'Debug', + communityTab: 'Community', + podcastListTab: 'Podcast' }, demoCommunityScreen: { - title: "Connect with the community", + title: 'Connect with the community', tagLine: "Plug in to Infinite Red's community of React Native engineers and level up your app development with us!", - joinUsOnSlackTitle: "Join us on Slack", + joinUsOnSlackTitle: 'Join us on Slack', joinUsOnSlack: - "Wish there was a place to connect with React Native engineers around the world? Join the conversation in the Infinite Red Community Slack! Our growing community is a safe space to ask questions, learn from others, and grow your network.", - joinSlackLink: "Join the Slack Community", - makeIgniteEvenBetterTitle: "Make Ignite even better", + 'Wish there was a place to connect with React Native engineers around the world? Join the conversation in the Infinite Red Community Slack! Our growing community is a safe space to ask questions, learn from others, and grow your network.', + joinSlackLink: 'Join the Slack Community', + makeIgniteEvenBetterTitle: 'Make Ignite even better', makeIgniteEvenBetter: "Have an idea to make Ignite even better? We're happy to hear that! We're always looking for others who want to help us build the best React Native tooling out there. Join us over on GitHub to join us in building the future of Ignite.", - contributeToIgniteLink: "Contribute to Ignite", - theLatestInReactNativeTitle: "The latest in React Native", + contributeToIgniteLink: 'Contribute to Ignite', + theLatestInReactNativeTitle: 'The latest in React Native', theLatestInReactNative: "We're here to keep you current on all React Native has to offer.", - reactNativeRadioLink: "React Native Radio", - reactNativeNewsletterLink: "React Native Newsletter", - reactNativeLiveLink: "React Native Live", - chainReactConferenceLink: "Chain React Conference", - hireUsTitle: "Hire Infinite Red for your next project", + reactNativeRadioLink: 'React Native Radio', + reactNativeNewsletterLink: 'React Native Newsletter', + reactNativeLiveLink: 'React Native Live', + chainReactConferenceLink: 'Chain React Conference', + hireUsTitle: 'Hire Infinite Red for your next project', hireUs: "Whether it's running a full project or getting teams up to speed with our hands-on training, Infinite Red can help with just about any React Native project.", - hireUsLink: "Send us a message", + hireUsLink: 'Send us a message' }, inviteModal: { - accept: "Accept", - reject: "Reject", - inviteHint: "You have been invited to join", + accept: 'Accept', + reject: 'Reject', + inviteHint: 'You have been invited to join' }, accountVerificationModal: { - verify: "Verify", + verify: 'Verify' }, demoShowroomScreen: { - jumpStart: "Components to jump start your project!", + jumpStart: 'Components to jump start your project!', lorem2Sentences: - "Nulla cupidatat deserunt amet quis aliquip nostrud do adipisicing. Adipisicing excepteur elit laborum Lorem adipisicing do duis.", - demoHeaderTxExample: "Yay", - demoViaTxProp: "Via `tx` Prop", - demoViaSpecifiedTxProp: "Via `{{prop}}Tx` Prop", + 'Nulla cupidatat deserunt amet quis aliquip nostrud do adipisicing. Adipisicing excepteur elit laborum Lorem adipisicing do duis.', + demoHeaderTxExample: 'Yay', + demoViaTxProp: 'Via `tx` Prop', + demoViaSpecifiedTxProp: 'Via `{{prop}}Tx` Prop' }, demoDebugScreen: { - howTo: "HOW TO", - title: "Debug", + howTo: 'HOW TO', + title: 'Debug', tagLine: "Congratulations, you've got a very advanced React Native app template here. Take advantage of this boilerplate!", - reactotron: "Send to Reactotron", - reportBugs: "Report Bugs", - demoList: "Demo List", - demoPodcastList: "Demo Podcast List", + reactotron: 'Send to Reactotron', + reportBugs: 'Report Bugs', + demoList: 'Demo List', + demoPodcastList: 'Demo Podcast List', androidReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running, run adb reverse tcp:9090 tcp:9090 from your terminal, and reload the app.", - iosReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", - macosReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", - webReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", - windowsReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + iosReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + macosReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + webReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + windowsReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app." }, demoPodcastListScreen: { - title: "React Native Radio episodes", - onlyFavorites: "Only Show Favorites", - favoriteButton: "Favorite", - unfavoriteButton: "Unfavorite", + title: 'React Native Radio episodes', + onlyFavorites: 'Only Show Favorites', + favoriteButton: 'Favorite', + unfavoriteButton: 'Unfavorite', accessibility: { - cardHint: - "Double tap to listen to the episode. Double tap and hold to {{action}} this episode.", - switch: "Switch on to only show favorites", - favoriteAction: "Toggle Favorite", - favoriteIcon: "Episode not favorited", - unfavoriteIcon: "Episode favorited", - publishLabel: "Published {{date}}", - durationLabel: "Duration: {{hours}} hours {{minutes}} minutes {{seconds}} seconds", + cardHint: 'Double tap to listen to the episode. Double tap and hold to {{action}} this episode.', + switch: 'Switch on to only show favorites', + favoriteAction: 'Toggle Favorite', + favoriteIcon: 'Episode not favorited', + unfavoriteIcon: 'Episode favorited', + publishLabel: 'Published {{date}}', + durationLabel: 'Duration: {{hours}} hours {{minutes}} minutes {{seconds}} seconds' }, noFavoritesEmptyState: { - heading: "This looks a bit empty", - content: - "No favorites have been added yet. Tap the heart on an episode to add it to your favorites!", - }, - }, + heading: 'This looks a bit empty', + content: 'No favorites have been added yet. Tap the heart on an episode to add it to your favorites!' + } + } // @demo remove-block-end -} +}; -export default he -export type Translations = typeof he +export default he; +export type Translations = typeof he; diff --git a/apps/mobile/app/i18n/ko.ts b/apps/mobile/app/i18n/ko.ts index 6270bc276..de9091918 100644 --- a/apps/mobile/app/i18n/ko.ts +++ b/apps/mobile/app/i18n/ko.ts @@ -1,421 +1,418 @@ -import { Translations } from "./en" +import { Translations } from './en'; const ko: Translations = { common: { - ok: "확인!", - cancel: "취소", - loading: "Loading", - back: "뒤로", - save: "", - logOut: "로그아웃", - edit: "Edit", - confirm: "Confirm", - discard: "Discard", + ok: '확인!', + cancel: '취소', + loading: 'Loading', + back: '뒤로', + save: '', + logOut: '로그아웃', + edit: 'Edit', + confirm: 'Confirm', + discard: 'Discard' }, welcomeScreen: { postscript: - "잠깐! — 지금 보시는 것은 아마도 당신의 앱의 모양새가 아닐겁니다. (디자이너분이 이렇게 건내주셨다면 모를까요. 만약에 그렇다면, 이대로 가져갑시다!) ", - readyForLaunch: "출시 준비가 거의 끝난 나만의 앱!", - exciting: "(오, 이거 신나는데요!)", - letsGo: "가보자구요!", // @demo remove-current-line + '잠깐! — 지금 보시는 것은 아마도 당신의 앱의 모양새가 아닐겁니다. (디자이너분이 이렇게 건내주셨다면 모를까요. 만약에 그렇다면, 이대로 가져갑시다!) ', + readyForLaunch: '출시 준비가 거의 끝난 나만의 앱!', + exciting: '(오, 이거 신나는데요!)', + letsGo: '가보자구요!' // @demo remove-current-line }, errorScreen: { - title: "뭔가 잘못되었습니다!", + title: '뭔가 잘못되었습니다!', friendlySubtitle: - "이 화면은 오류가 발생할 때 프로덕션에서 사용자에게 표시됩니다. 이 메시지를 커스터마이징 할 수 있고(해당 파일은 `app/i18n/ko.ts` 에 있습니다) 레이아웃도 마찬가지로 수정할 수 있습니다(`app/screens/error`). 만약 이 오류화면을 완전히 없에버리고 싶다면 `app/app.tsx` 파일에서 컴포넌트를 확인하기 바랍니다.", - reset: "초기화", - traceTitle: "%{name} 스택에서의 오류", // @demo remove-current-line + '이 화면은 오류가 발생할 때 프로덕션에서 사용자에게 표시됩니다. 이 메시지를 커스터마이징 할 수 있고(해당 파일은 `app/i18n/ko.ts` 에 있습니다) 레이아웃도 마찬가지로 수정할 수 있습니다(`app/screens/error`). 만약 이 오류화면을 완전히 없에버리고 싶다면 `app/app.tsx` 파일에서 컴포넌트를 확인하기 바랍니다.', + reset: '초기화', + traceTitle: '%{name} 스택에서의 오류' // @demo remove-current-line }, emptyStateComponent: { generic: { - heading: "너무 텅 비어서.. 너무 슬퍼요..", - content: "데이터가 없습니다. 버튼을 눌러서 리프레쉬 하시거나 앱을 리로드하세요.", - button: "다시 시도해봅시다", - }, + heading: '너무 텅 비어서.. 너무 슬퍼요..', + content: '데이터가 없습니다. 버튼을 눌러서 리프레쉬 하시거나 앱을 리로드하세요.', + button: '다시 시도해봅시다' + } }, // @demo remove-block-start errors: { - invalidEmail: "잘못된 이메일 주소 입니다.", + invalidEmail: '잘못된 이메일 주소 입니다.' }, loginScreen: { - name: "로그인", - enterDetails: "새 팀 만들기", - enterDetails2: "기존 팀에 합류", - enterDetails3: "작업공간", - hintDetails: "새 팀을 만들려면 팀 세부 정보를 입력하십시오.", - hintDetails2: "기존 팀에 가입하려면 이메일과 초대 코드를 입력하세요.", - hintDetails3: "다음 작업공간과 연결된 이메일", - joinTeam: "팀에 합류", - joinExistTeam: "기존 팀에 합류하시겠습니까?", - joinTeamHint: "이메일로 보내드린 초대 코드를 입력하세요.", - step1Title: "팀 이름 선택", - step2Title: "자세한 내용 제공", - step3Title: "초대 코드", - confirmDetails: "확인 코드는 이메일을 확인하세요.", - confirmDetails2: "귀하의 이메일로 전송된 초대 코드를 입력하십시오", - sendCode: "코드 보내기", - codeNotReceived: "코드를 받지 못하셨나요?", - inviteStepLabel: "이메일 제공", - emailFieldLabel: "귀하의 이메일", - teamNameFieldLabel: "팀 이름", - inviteCodeFieldLabel: "초대 코드 입력", - selectWorkspaceFieldLabel: "작업공간 선택", - emailFieldPlaceholder: "이메일 주소를 입력하세요", - teamNameFieldPlaceholder: "팀 이름을 입력하세요", - userNameFieldPlaceholder: "당신의 이름을 입력", - tapContinue: "계속하다", - tapJoin: "가입하다", - createTeam: "Create Team", + name: '로그인', + enterDetails: '새 팀 만들기', + enterDetails2: '기존 팀에 합류', + enterDetails3: '작업공간', + hintDetails: '새 팀을 만들려면 팀 세부 정보를 입력하십시오.', + hintDetails2: '기존 팀에 가입하려면 이메일과 초대 코드를 입력하세요.', + hintDetails3: '다음 작업공간과 연결된 이메일', + joinTeam: '팀에 합류', + joinExistTeam: '기존 팀에 합류하시겠습니까?', + joinTeamHint: '이메일로 보내드린 초대 코드를 입력하세요.', + step1Title: '팀 이름 선택', + step2Title: '자세한 내용 제공', + step3Title: '초대 코드', + confirmDetails: '확인 코드는 이메일을 확인하세요.', + confirmDetails2: '귀하의 이메일로 전송된 초대 코드를 입력하십시오', + sendCode: '코드 보내기', + codeNotReceived: '코드를 받지 못하셨나요?', + inviteStepLabel: '이메일 제공', + emailFieldLabel: '귀하의 이메일', + teamNameFieldLabel: '팀 이름', + inviteCodeFieldLabel: '초대 코드 입력', + selectWorkspaceFieldLabel: '작업공간 선택', + emailFieldPlaceholder: '이메일 주소를 입력하세요', + teamNameFieldPlaceholder: '팀 이름을 입력하세요', + userNameFieldPlaceholder: '당신의 이름을 입력', + tapContinue: '계속하다', + tapJoin: '가입하다', + createTeam: 'Create Team' }, myWorkScreen: { - name: "내 작품", - estimateLabel: "추정", - statusText: "상태", - taskFieldPlaceholder: "작업 중인 작업", - sizeText: "크기", - prioritiesText: "우선순위", - tabCreateTask: "새 작업 만들기", - labelText: "상표", + name: '일하다', + estimateLabel: '추정', + statusText: '상태', + taskFieldPlaceholder: '작업 중인 작업', + sizeText: '크기', + prioritiesText: '우선순위', + tabCreateTask: '새 작업 만들기', + labelText: '상표' }, teamScreen: { - name: "팀", - cardTotalTimeLabel: "총 시간", - cardTodayWorkLabel: "오늘 일", - cardTotalWorkLabel: "총 작업", - inviteButton: "초대", - inviteModalTitle: "팀원을 팀에 초대", - inviteModalHint: "이메일로 팀원에게 초대장 보내기", - inviteEmailFieldPlaceholder: "이메일 주소 입력", - inviteNameFieldPlaceholder: "팀원 이름 입력", - sendButton: "보내다", - createNewTeamButton: "새 팀 만들기", + name: '팀', + cardTotalTimeLabel: '총 시간', + cardTodayWorkLabel: '오늘 일', + cardTotalWorkLabel: '총 작업', + inviteButton: '초대', + inviteModalTitle: '팀원을 팀에 초대', + inviteModalHint: '이메일로 팀원에게 초대장 보내기', + inviteEmailFieldPlaceholder: '이메일 주소 입력', + inviteNameFieldPlaceholder: '팀원 이름 입력', + sendButton: '보내다', + createNewTeamButton: '새 팀 만들기' }, taskDetailsScreen: { - characterLimitErrorTitle: "작업 제목을 업데이트할 수 없습니다.", - characterLimitErrorDescription: "작업 제목은 255자를 초과할 수 없습니다.", - copyTitle: "제목이 복사되었습니다.", - changeParent: "상위 변경", - addParent: "상위 추가", - taskScreen: "작업 화면", - details: "세부", - taskPublic: "이 작업은 공개입니다.", - makePrivate: "비공개로 설정", - taskPrivate: "이 작업은 비공개입니다.", - makePublic: "공개로 설정", - typeIssue: "이슈 유형", - creator: "생성자", - assignees: "담당자", - startDate: "시작일", - dueDate: "마감일", - daysRemaining: "남은 일수", - version: "버전", - epic: "에픽", - status: "상태", - labels: "라벨", - size: "크기", - priority: "우선 순위", - manageAssignees: "담당자 관리", - setDueDate: "마감일 설정", - setStartDate: "시작일 설정", - items: "품목", - estimate: "견적", - estimations: "견적들", - time: "시간", - progress: "진행", - timeToday: "오늘의 시간", - totalGroupTime: "총 그룹 시간", - timeRemaining: "남은 시간", - blocks: "블록", - clones: "복제", - duplicates: "중복", - isBlockedBy: "차단됨", - isClonedBy: "복제됨", - isDuplicatedBy: "복제됨", - relatesTo: "관련이 있다", - linkedIssues: "연결된 이슈", - description: "설명", - descriptionBlockPlaceholder: "프로젝트에 대한 완전한 설명을 작성하세요...", - copyDescription: "설명이 복사되었습니다.", - showMore: "더 보기", + characterLimitErrorTitle: '작업 제목을 업데이트할 수 없습니다.', + characterLimitErrorDescription: '작업 제목은 255자를 초과할 수 없습니다.', + copyTitle: '제목이 복사되었습니다.', + changeParent: '상위 변경', + addParent: '상위 추가', + taskScreen: '작업 화면', + details: '세부', + taskPublic: '이 작업은 공개입니다.', + makePrivate: '비공개로 설정', + taskPrivate: '이 작업은 비공개입니다.', + makePublic: '공개로 설정', + typeIssue: '이슈 유형', + creator: '생성자', + assignees: '담당자', + startDate: '시작일', + dueDate: '마감일', + daysRemaining: '남은 일수', + version: '버전', + epic: '에픽', + status: '상태', + labels: '라벨', + size: '크기', + priority: '우선 순위', + manageAssignees: '담당자 관리', + setDueDate: '마감일 설정', + setStartDate: '시작일 설정', + items: '품목', + estimate: '견적', + estimations: '견적들', + time: '시간', + progress: '진행', + timeToday: '오늘의 시간', + totalGroupTime: '총 그룹 시간', + timeRemaining: '남은 시간', + blocks: '블록', + clones: '복제', + duplicates: '중복', + isBlockedBy: '차단됨', + isClonedBy: '복제됨', + isDuplicatedBy: '복제됨', + relatesTo: '관련이 있다', + linkedIssues: '연결된 이슈', + description: '설명', + descriptionBlockPlaceholder: '프로젝트에 대한 완전한 설명을 작성하세요...', + copyDescription: '설명이 복사되었습니다.', + showMore: '더 보기' }, tasksScreen: { - name: "작업", - now: "지금", - last24hours: "지난 24시간", - totalTimeLabel: "총 시간", - workedTab: "일했다", - assignedTab: "할당된", - unassignedTab: "할당되지 않음", - createTaskButton: "작업 만들기", - assignTaskButton: "작업 할당", - createButton: "창조하다", - assignButton: "양수인", - resendInvitation: "초대장 다시 보내기", - editTaskLabel: "작업 편집", - unassignTaskLabel: "작업 할당 해제", - unMakeManager: "관리자 만들기 취소", - makeManager: "관리자 만들기", - remove: "제거", - filter: "필터", - apply: "적용하다", - reset: "초기화", + name: '작업', + now: '지금', + last24hours: '지난 24시간', + totalTimeLabel: '총 시간', + workedTab: '일했다', + assignedTab: '할당된', + unassignedTab: '할당되지 않음', + createTaskButton: '작업 만들기', + assignTaskButton: '작업 할당', + createButton: '창조하다', + assignButton: '양수인', + resendInvitation: '초대장 다시 보내기', + editTaskLabel: '작업 편집', + unassignTaskLabel: '작업 할당 해제', + unMakeManager: '관리자 만들기 취소', + makeManager: '관리자 만들기', + remove: '제거', + filter: '필터', + apply: '적용하다', + reset: '초기화' }, noTeamScreen: { - createYourTeam: "Create your own team or join existed", - hintMessage: "Lorem ipsum dolor sit amet consectetur. Blandit lobortis dui risus neque.", + createYourTeam: 'Create your own team or join existed', + hintMessage: 'Lorem ipsum dolor sit amet consectetur. Blandit lobortis dui risus neque.' }, settingScreen: { - name: "Settings", + name: 'Settings', personalSection: { - name: "Personal", - fullName: "Full Name", - yourContact: "Your Contact", - yourContactHint: "Your contact information", - themes: "Themes", - darkModeToLight: "Dark Mode to Light Mode", - lightModeToDark: "Light Mode to Dark Mode", - language: "Language", - changeAvatar: "Change Avatar", - timeZone: "Time Zone", - workSchedule: "Work Schedule", - workScheduleHint: "Set your work schedule now", - removeAccount: "Remove Account", - removeAccountHint: - "Account will be removed from all teams, except where you are the only manager", - deleteAccount: "Delete Account", - deleteAccountHint: - "Your account will be deleted permanently with remolving from all teams", - detect: "Detect", + name: 'Personal', + fullName: 'Full Name', + yourContact: 'Your Contact', + yourContactHint: 'Your contact information', + themes: 'Themes', + darkModeToLight: 'Dark Mode to Light Mode', + lightModeToDark: 'Light Mode to Dark Mode', + language: 'Language', + changeAvatar: 'Change Avatar', + timeZone: 'Time Zone', + workSchedule: 'Work Schedule', + workScheduleHint: 'Set your work schedule now', + removeAccount: 'Remove Account', + removeAccountHint: 'Account will be removed from all teams, except where you are the only manager', + deleteAccount: 'Delete Account', + deleteAccountHint: 'Your account will be deleted permanently with remolving from all teams', + detect: 'Detect' }, teamSection: { - name: "Team", - teamName: "Team Name", - timeTracking: "Time Tracking", - timeTrackingHint: "Enable time tracking", - taskStatuses: "Task Statuses", - taskPriorities: "Task Priorities", - taskSizes: "Task Sizes", - taskLabel: "Task Label", - changeLogo: "Change Logo", - teamRole: "Manager Member & Role", - workSchedule: "Work Schedule", - workScheduleHint: "Set your work schedule now", - transferOwnership: "Transfer Ownership", - transferOwnershipHint: "Transfer full ownership of team to another user", - removeTeam: "Remove Team", - removeTeamHint: - "Team will be completely removed for the system and team members lost access", - quitTeam: "Quit the team", - quitTeamHint: "You are about to quit the team", - areYouSure: "Are you sure ?", + name: 'Team', + teamName: 'Team Name', + timeTracking: 'Time Tracking', + timeTrackingHint: 'Enable time tracking', + taskStatuses: 'Task Statuses', + taskPriorities: 'Task Priorities', + taskSizes: 'Task Sizes', + taskLabel: 'Task Label', + changeLogo: 'Change Logo', + teamRole: 'Manager Member & Role', + workSchedule: 'Work Schedule', + workScheduleHint: 'Set your work schedule now', + transferOwnership: 'Transfer Ownership', + transferOwnershipHint: 'Transfer full ownership of team to another user', + removeTeam: 'Remove Team', + removeTeamHint: 'Team will be completely removed for the system and team members lost access', + quitTeam: 'Quit the team', + quitTeamHint: 'You are about to quit the team', + areYouSure: 'Are you sure ?', changeTeamName: { - mainTitle: "Change Team Name", - inputPlaceholder: "Team Name", - }, + mainTitle: 'Change Team Name', + inputPlaceholder: 'Team Name' + } }, - dangerZone: "Danger Zone", - modalChangeLanguageTitle: "Change Language", + dangerZone: 'Danger Zone', + modalChangeLanguageTitle: 'Change Language', languages: { - english: "English ( United States )", - french: "French ( France )", - arabic: "Arabic", - russian: "Russian", - bulgarian: "Bulgarian", - spanish: "Spanish", - korean: "Korean", - hebrew: "Hebrew", + english: 'English ( United States )', + french: 'French ( France )', + arabic: 'Arabic', + russian: 'Russian', + bulgarian: 'Bulgarian', + spanish: 'Spanish', + korean: 'Korean', + hebrew: 'Hebrew' }, versionScreen: { - mainTitle: "작업 버전", - listOfVersions: "버전 목록", - noActiveVersions: "활성 버전이 없습니다", - createNewVersionButton: "새 버전 생성", - createNewVersionText: "새 버전 생성", - versionNamePlaceholder: "버전 이름", - cancelButtonText: "취소", - createButtonText: "생성", - updateButtonText: "업데이트", + mainTitle: '작업 버전', + listOfVersions: '버전 목록', + noActiveVersions: '활성 버전이 없습니다', + createNewVersionButton: '새 버전 생성', + createNewVersionText: '새 버전 생성', + versionNamePlaceholder: '버전 이름', + cancelButtonText: '취소', + createButtonText: '생성', + updateButtonText: '업데이트' }, statusScreen: { - mainTitle: "Task Statuses", - statuses: "Statuses", - listStatuses: "List of Statuses", - noActiveStatuses: "There are no active statuses", - createStatusButton: "Create new status", - createNewStatusText: "Create New Status", - statusNamePlaceholder: "Status Name", - statusIconPlaceholder: "Choose Icon", - statusColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Statuses', + statuses: 'Statuses', + listStatuses: 'List of Statuses', + noActiveStatuses: 'There are no active statuses', + createStatusButton: 'Create new status', + createNewStatusText: 'Create New Status', + statusNamePlaceholder: 'Status Name', + statusIconPlaceholder: 'Choose Icon', + statusColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, priorityScreen: { - mainTitle: "Task Priorities", - priorities: "Priorities", - listPriorities: "List of Priorities", - noActivePriorities: "There are no active priorities", - createPriorityButton: "Create new priority", - createNewPriorityText: "Create New Priority", - priorityNamePlaceholder: "Priority Name", - priorityIconPlaceholder: "Search Icon", - priorityColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Priorities', + priorities: 'Priorities', + listPriorities: 'List of Priorities', + noActivePriorities: 'There are no active priorities', + createPriorityButton: 'Create new priority', + createNewPriorityText: 'Create New Priority', + priorityNamePlaceholder: 'Priority Name', + priorityIconPlaceholder: 'Search Icon', + priorityColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, labelScreen: { - mainTitle: "Task Labels", - listLabels: "List of Labels", - labels: "Labels", - noActiveLabels: "There are no active labels", - createLabelButton: "Create new label", - createNewLabelText: "Create New Labels", - labelNamePlaceholder: "Labels Name", - labelIconPlaceholder: "Choose Icon", - labelColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Labels', + listLabels: 'List of Labels', + labels: 'Labels', + noActiveLabels: 'There are no active labels', + createLabelButton: 'Create new label', + createNewLabelText: 'Create New Labels', + labelNamePlaceholder: 'Labels Name', + labelIconPlaceholder: 'Choose Icon', + labelColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, sizeScreen: { - mainTitle: "Task Sizes", - sizes: "Sizes", - listSizes: "List of Sizes", - noActiveSizes: "There are no active sizes", - createSizeButton: "Create new size", - createNewSizeText: "Create New Sizes", - sizeNamePlaceholder: "Size Name", - sizeIconPlaceholder: "Choose Icon", - sizeColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Sizes', + sizes: 'Sizes', + listSizes: 'List of Sizes', + noActiveSizes: 'There are no active sizes', + createSizeButton: 'Create new size', + createNewSizeText: 'Create New Sizes', + sizeNamePlaceholder: 'Size Name', + sizeIconPlaceholder: 'Choose Icon', + sizeColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, membersSettingsScreen: { - mainTitle: "Members & Roles", - deleteUserConfirmation: "선택한 사용자를 삭제하시겠습니까?", - changeRole: "역할 변경", - delete: "삭제", + mainTitle: 'Members & Roles', + deleteUserConfirmation: '선택한 사용자를 삭제하시겠습니까?', + changeRole: '역할 변경', + delete: '삭제' }, changeFullName: { - firstNamePlaceholder: "First Name", - lastNamePlaholder: "Last Name", - mainTitle: "Change Full Name", + firstNamePlaceholder: 'First Name', + lastNamePlaholder: 'Last Name', + mainTitle: 'Change Full Name' }, changeAvatar: { - recentPictures: "Recent Pictures", - recentFiles: "Recent files", - selectFromGalery: "Select from galery", - selectFromFiles: "Select from Files", - continueButton: "Continue", - logoDeleteConfirmation: "Are you sure you want to delete the logo?", - avatarDeleteConfirmation: "Are you sure you want to delete the avatar?", + recentPictures: 'Recent Pictures', + recentFiles: 'Recent files', + selectFromGalery: 'Select from galery', + selectFromFiles: 'Select from Files', + continueButton: 'Continue', + logoDeleteConfirmation: 'Are you sure you want to delete the logo?', + avatarDeleteConfirmation: 'Are you sure you want to delete the avatar?' }, contact: { - mainTitle: "Change Your Contact", - emailPlaceholder: "Email Address", - phonePlaceholder: "Phone Number", - emailNotValid: "Please provide a valid Email", - phoneNotValid: "Please provide a valid Phone Number", + mainTitle: 'Change Your Contact', + emailPlaceholder: 'Email Address', + phonePlaceholder: 'Phone Number', + emailNotValid: 'Please provide a valid Email', + phoneNotValid: 'Please provide a valid Phone Number' }, changeTimezone: { - mainTitle: "Change Time Zone", - selectTimezoneTitle: "Select Time Zone", + mainTitle: 'Change Time Zone', + selectTimezoneTitle: 'Select Time Zone' }, changeLanguage: { - mainTitle: "Change Language", - selectLanguageTitle: "Select Languanges", - }, + mainTitle: 'Change Language', + selectLanguageTitle: 'Select Languanges' + } }, hamburgerMenu: { - darkMode: "다크 모드", + darkMode: '다크 모드' }, inviteModal: { - accept: "수용하다", - reject: "거부하다", - inviteHint: "귀하는 가입 초대를 받았습니다.", + accept: '수용하다', + reject: '거부하다', + inviteHint: '귀하는 가입 초대를 받았습니다.' }, accountVerificationModal: { - verify: "확인하다", + verify: '확인하다' }, demoNavigator: { - componentsTab: "컴포넌트", - debugTab: "디버그", - communityTab: "커뮤니티", - podcastListTab: "팟캐스트", + componentsTab: '컴포넌트', + debugTab: '디버그', + communityTab: '커뮤니티', + podcastListTab: '팟캐스트' }, demoCommunityScreen: { - title: "커뮤니티와 함께해요", + title: '커뮤니티와 함께해요', tagLine: - "전문적인 React Native 엔지니어들로 구성된 Infinite Red 커뮤니티에 접속해서 함께 개발 실력을 향상시켜 보세요!", - joinUsOnSlackTitle: "Slack 에 참여하세요", + '전문적인 React Native 엔지니어들로 구성된 Infinite Red 커뮤니티에 접속해서 함께 개발 실력을 향상시켜 보세요!', + joinUsOnSlackTitle: 'Slack 에 참여하세요', joinUsOnSlack: - "전 세계 React Native 엔지니어들과 함께할 수 있는 곳이 있었으면 좋겠죠? Infinite Red Community Slack 에서 대화에 참여하세요! 우리의 성장하는 커뮤니티는 질문을 던지고, 다른 사람들로부터 배우고, 네트워크를 확장할 수 있는 안전한 공간입니다. ", - joinSlackLink: "Slack 에 참여하기", - makeIgniteEvenBetterTitle: "Ignite 을 향상시켜요", + '전 세계 React Native 엔지니어들과 함께할 수 있는 곳이 있었으면 좋겠죠? Infinite Red Community Slack 에서 대화에 참여하세요! 우리의 성장하는 커뮤니티는 질문을 던지고, 다른 사람들로부터 배우고, 네트워크를 확장할 수 있는 안전한 공간입니다. ', + joinSlackLink: 'Slack 에 참여하기', + makeIgniteEvenBetterTitle: 'Ignite 을 향상시켜요', makeIgniteEvenBetter: - "Ignite 을 더 좋게 만들 아이디어가 있나요? 기쁜 소식이네요. 우리는 항상 최고의 React Native 도구를 구축하는데 도움을 줄 수 있는 분들을 찾고 있습니다. GitHub 에서 Ignite 의 미래를 만들어 가는것에 함께해 주세요.", - contributeToIgniteLink: "Ignite 에 기여하기", - theLatestInReactNativeTitle: "React Native 의 최신정보", - theLatestInReactNative: "React Native 가 제공하는 모든 최신 정보를 알려드립니다.", - reactNativeRadioLink: "React Native 라디오", - reactNativeNewsletterLink: "React Native 뉴스레터", - reactNativeLiveLink: "React Native 라이브 스트리밍", - chainReactConferenceLink: "Chain React 컨퍼런스", - hireUsTitle: "다음 프로젝트에 Infinite Red 를 고용하세요", - hireUs: "프로젝트 전체를 수행하든, 실무 교육을 통해 팀의 개발 속도에 박차를 가하든 상관없이, Infinite Red 는 React Native 프로젝트의 모든 분야의 에서 도움을 드릴 수 있습니다.", - hireUsLink: "메세지 보내기", + 'Ignite 을 더 좋게 만들 아이디어가 있나요? 기쁜 소식이네요. 우리는 항상 최고의 React Native 도구를 구축하는데 도움을 줄 수 있는 분들을 찾고 있습니다. GitHub 에서 Ignite 의 미래를 만들어 가는것에 함께해 주세요.', + contributeToIgniteLink: 'Ignite 에 기여하기', + theLatestInReactNativeTitle: 'React Native 의 최신정보', + theLatestInReactNative: 'React Native 가 제공하는 모든 최신 정보를 알려드립니다.', + reactNativeRadioLink: 'React Native 라디오', + reactNativeNewsletterLink: 'React Native 뉴스레터', + reactNativeLiveLink: 'React Native 라이브 스트리밍', + chainReactConferenceLink: 'Chain React 컨퍼런스', + hireUsTitle: '다음 프로젝트에 Infinite Red 를 고용하세요', + hireUs: '프로젝트 전체를 수행하든, 실무 교육을 통해 팀의 개발 속도에 박차를 가하든 상관없이, Infinite Red 는 React Native 프로젝트의 모든 분야의 에서 도움을 드릴 수 있습니다.', + hireUsLink: '메세지 보내기' }, demoShowroomScreen: { - jumpStart: "프로젝트를 바로 시작할 수 있는 컴포넌트들!", + jumpStart: '프로젝트를 바로 시작할 수 있는 컴포넌트들!', lorem2Sentences: - "별 하나에 추억과, 별 하나에 사랑과, 별 하나에 쓸쓸함과, 별 하나에 동경(憧憬)과, 별 하나에 시와, 별 하나에 어머니, 어머니", - demoHeaderTxExample: "야호", - demoViaTxProp: "`tx` Prop 을 통해", - demoViaSpecifiedTxProp: "`{{prop}}Tx` Prop 을 통해", + '별 하나에 추억과, 별 하나에 사랑과, 별 하나에 쓸쓸함과, 별 하나에 동경(憧憬)과, 별 하나에 시와, 별 하나에 어머니, 어머니', + demoHeaderTxExample: '야호', + demoViaTxProp: '`tx` Prop 을 통해', + demoViaSpecifiedTxProp: '`{{prop}}Tx` Prop 을 통해' }, demoDebugScreen: { - howTo: "사용방법", - title: "디버그", + howTo: '사용방법', + title: '디버그', tagLine: - "축하합니다. 여기 아주 고급스러운 React Native 앱 템플릿이 있습니다. 이 보일러 플레이트를 사용해보세요!", - reactotron: "Reactotron 으로 보내기", - reportBugs: "버그 보고하기", - demoList: "데모 목록", - demoPodcastList: "데모 팟캐스트 목록", + '축하합니다. 여기 아주 고급스러운 React Native 앱 템플릿이 있습니다. 이 보일러 플레이트를 사용해보세요!', + reactotron: 'Reactotron 으로 보내기', + reportBugs: '버그 보고하기', + demoList: '데모 목록', + demoPodcastList: '데모 팟캐스트 목록', androidReactotronHint: - "만약에 동작하지 않는 경우, Reactotron 데스크탑 앱이 실행중인지 확인 후, 터미널에서 adb reverse tcp:9090 tcp:9090 을 실행한 다음 앱을 다시 실행해보세요.", + '만약에 동작하지 않는 경우, Reactotron 데스크탑 앱이 실행중인지 확인 후, 터미널에서 adb reverse tcp:9090 tcp:9090 을 실행한 다음 앱을 다시 실행해보세요.', iosReactotronHint: - "만약에 동작하지 않는 경우, Reactotron 데스크탑 앱이 실행중인지 확인 후 앱을 다시 실행해보세요.", + '만약에 동작하지 않는 경우, Reactotron 데스크탑 앱이 실행중인지 확인 후 앱을 다시 실행해보세요.', macosReactotronHint: - "만약에 동작하지 않는 경우, Reactotron 데스크탑 앱이 실행중인지 확인 후 앱을 다시 실행해보세요.", + '만약에 동작하지 않는 경우, Reactotron 데스크탑 앱이 실행중인지 확인 후 앱을 다시 실행해보세요.', webReactotronHint: - "만약에 동작하지 않는 경우, Reactotron 데스크탑 앱이 실행중인지 확인 후 앱을 다시 실행해보세요.", + '만약에 동작하지 않는 경우, Reactotron 데스크탑 앱이 실행중인지 확인 후 앱을 다시 실행해보세요.', windowsReactotronHint: - "만약에 동작하지 않는 경우, Reactotron 데스크탑 앱이 실행중인지 확인 후 앱을 다시 실행해보세요.", + '만약에 동작하지 않는 경우, Reactotron 데스크탑 앱이 실행중인지 확인 후 앱을 다시 실행해보세요.' }, demoPodcastListScreen: { - title: "React Native 라디오 에피소드", - onlyFavorites: "즐겨찾기만 보기", - favoriteButton: "즐겨찾기", - unfavoriteButton: "즐겨찾기 해제", + title: 'React Native 라디오 에피소드', + onlyFavorites: '즐겨찾기만 보기', + favoriteButton: '즐겨찾기', + unfavoriteButton: '즐겨찾기 해제', accessibility: { cardHint: - "에피소드를 들으려면 두 번 탭하세요. 이 에피소드를 좋아하거나 싫어하려면 두 번 탭하고 길게 누르세요.", - switch: "즐겨찾기를 사용하려면 스위치를 사용하세요.", - favoriteAction: "즐겨찾기 토글", - favoriteIcon: "좋아하는 에피소드", - unfavoriteIcon: "즐겨찾기하지 않은 에피소드", - publishLabel: "{{date}} 에 발행됨", - durationLabel: "소요시간: {{hours}}시간 {{minutes}}분 {{seconds}}초", + '에피소드를 들으려면 두 번 탭하세요. 이 에피소드를 좋아하거나 싫어하려면 두 번 탭하고 길게 누르세요.', + switch: '즐겨찾기를 사용하려면 스위치를 사용하세요.', + favoriteAction: '즐겨찾기 토글', + favoriteIcon: '좋아하는 에피소드', + unfavoriteIcon: '즐겨찾기하지 않은 에피소드', + publishLabel: '{{date}} 에 발행됨', + durationLabel: '소요시간: {{hours}}시간 {{minutes}}분 {{seconds}}초' }, noFavoritesEmptyState: { - heading: "조금 텅 비어 있네요.", - content: "즐겨찾기가 없습니다. 에피소드에 있는 하트를 눌러서 즐겨찾기에 추가하세요.", - }, - }, + heading: '조금 텅 비어 있네요.', + content: '즐겨찾기가 없습니다. 에피소드에 있는 하트를 눌러서 즐겨찾기에 추가하세요.' + } + } // @demo remove-block-end -} +}; -export default ko +export default ko; diff --git a/apps/mobile/app/i18n/ru.ts b/apps/mobile/app/i18n/ru.ts index 985a4cc0b..af878ccd2 100644 --- a/apps/mobile/app/i18n/ru.ts +++ b/apps/mobile/app/i18n/ru.ts @@ -1,406 +1,397 @@ const ru = { common: { - ok: "OK!", - cancel: "Cancel", - loading: "Loading", - back: "Back", - save: "Save", - edit: "Edit", - confirm: "Confirm", - discard: "Discard", - logOut: "Log Out", // @demo remove-current-line + ok: 'OK!', + cancel: 'Cancel', + loading: 'Loading', + back: 'Back', + save: 'Save', + edit: 'Edit', + confirm: 'Confirm', + discard: 'Discard', + logOut: 'Log Out' // @demo remove-current-line }, welcomeScreen: { postscript: "psst — This probably isn't what your app looks like. (Unless your designer handed you these screens, and in that case, ship it!)", - readyForLaunch: "Your app, almost ready for launch!", - exciting: "(ohh, this is exciting!)", - letsGo: "Let's go!", // @demo remove-current-line + readyForLaunch: 'Your app, almost ready for launch!', + exciting: '(ohh, this is exciting!)', + letsGo: "Let's go!" // @demo remove-current-line }, errorScreen: { - title: "Something went wrong!", + title: 'Something went wrong!', friendlySubtitle: "This is the screen that your users will see in production when an error is thrown. You'll want to customize this message (located in `app/i18n/en.ts`) and probably the layout as well (`app/screens/ErrorScreen`). If you want to remove this entirely, check `app/app.tsx` for the component.", - reset: "RESET APP", - traceTitle: "Error from %{name} stack", // @demo remove-current-line + reset: 'RESET APP', + traceTitle: 'Error from %{name} stack' // @demo remove-current-line }, emptyStateComponent: { generic: { - heading: "So empty... so sad", - content: "No data found yet. Try clicking the button to refresh or reload the app.", - button: "Let's try this again", - }, + heading: 'So empty... so sad', + content: 'No data found yet. Try clicking the button to refresh or reload the app.', + button: "Let's try this again" + } }, // @demo remove-block-start errors: { - invalidEmail: "Invalid email address.", + invalidEmail: 'Invalid email address.' }, loginScreen: { - name: "Login", - enterDetails: "Create New Team", - enterDetails2: "Join Existed Team", - enterDetails3: "Workspace", - hintDetails: "Please enter your team details to create a new team.", - hintDetails2: "Please enter email and invitation code to join existing team.", - hintDetails3: "The email associated with the next workspaces", - joinTeam: "Join Team", - joinExistTeam: "Joining existing team?", - joinTeamHint: "Enter the invitation code we sent to your email", - step1Title: "Select Team Name", - step2Title: "Provide More Details", - step3Title: "Invitation code", - confirmDetails: "Please check your email for confirm code", - confirmDetails2: "Please enter the invitation code we sent to your Email", - sendCode: "send Code", - codeNotReceived: "Didn’t recieve code ?Re", - inviteStepLabel: "Provide your Email", - emailFieldLabel: "Your Email", - teamNameFieldLabel: "Team Name", - inviteCodeFieldLabel: "Input invitation code", - selectWorkspaceFieldLabel: "Select Workspace", - emailFieldPlaceholder: "Enter your email address", - teamNameFieldPlaceholder: "Please Enter your team name", - userNameFieldPlaceholder: "Enter your name", - tapContinue: "Continue", - tapJoin: "Join", - createTeam: "Create Team", + name: 'Login', + enterDetails: 'Create New Team', + enterDetails2: 'Join Existed Team', + enterDetails3: 'Workspace', + hintDetails: 'Please enter your team details to create a new team.', + hintDetails2: 'Please enter email and invitation code to join existing team.', + hintDetails3: 'The email associated with the next workspaces', + joinTeam: 'Join Team', + joinExistTeam: 'Joining existing team?', + joinTeamHint: 'Enter the invitation code we sent to your email', + step1Title: 'Select Team Name', + step2Title: 'Provide More Details', + step3Title: 'Invitation code', + confirmDetails: 'Please check your email for confirm code', + confirmDetails2: 'Please enter the invitation code we sent to your Email', + sendCode: 'send Code', + codeNotReceived: 'Didn’t recieve code ?Re', + inviteStepLabel: 'Provide your Email', + emailFieldLabel: 'Your Email', + teamNameFieldLabel: 'Team Name', + inviteCodeFieldLabel: 'Input invitation code', + selectWorkspaceFieldLabel: 'Select Workspace', + emailFieldPlaceholder: 'Enter your email address', + teamNameFieldPlaceholder: 'Please Enter your team name', + userNameFieldPlaceholder: 'Enter your name', + tapContinue: 'Continue', + tapJoin: 'Join', + createTeam: 'Create Team' }, myWorkScreen: { - name: "My Work", - estimateLabel: "Estimate", - statusText: "Status", - taskFieldPlaceholder: "What you working on", - sizeText: "Sizes", - prioritiesText: "Priorities", - tabCreateTask: "Create New Task", - labelText: "Label", + name: 'Work', + estimateLabel: 'Estimate', + statusText: 'Status', + taskFieldPlaceholder: 'What you working on', + sizeText: 'Sizes', + prioritiesText: 'Priorities', + tabCreateTask: 'Create New Task', + labelText: 'Label' }, teamScreen: { - name: "Teams", - cardTotalTimeLabel: "Total time", - cardTodayWorkLabel: "Today work", - cardTotalWorkLabel: "Total work", - inviteButton: "Invite", - inviteModalTitle: "Invite member to your team", - inviteModalHint: "Send a invitation to a team member by email", - inviteEmailFieldPlaceholder: "Input email address", - inviteNameFieldPlaceholder: "Input team member name", - sendButton: "Create", + name: 'Teams', + cardTotalTimeLabel: 'Total time', + cardTodayWorkLabel: 'Today work', + cardTotalWorkLabel: 'Total work', + inviteButton: 'Invite', + inviteModalTitle: 'Invite member to your team', + inviteModalHint: 'Send a invitation to a team member by email', + inviteEmailFieldPlaceholder: 'Input email address', + inviteNameFieldPlaceholder: 'Input team member name', + sendButton: 'Create' }, taskDetailsScreen: { characterLimitErrorTitle: "We couldn't update Task Title.", characterLimitErrorDescription: "Task title can't exceed 255 characters.", - copyTitle: "Title Copied.", - changeParent: "Change Parent", - addParent: "Add Parent", - taskScreen: "Task Screen", - details: "Details", - taskPublic: "This task is Public", - makePrivate: "Make a Private", - taskPrivate: "This task is Private", - makePublic: "Make a Public", - typeIssue: "Type of Issue", - creator: "Creator", - assignees: "Assignees", - startDate: "Start Date", - dueDate: "Due Date", - daysRemaining: "Days Remaining", - version: "Version", - epic: "Epic", - status: "Status", - labels: "Labels", - size: "Size", - priority: "Priority", - manageAssignees: "Manage Assignees", - setDueDate: "Set Due Date", - setStartDate: "Set Start Date", - items: "Items", - estimate: "Estimate", - estimations: "Estimations", - time: "Time", - progress: "Progress", - timeToday: "Time Today", - totalGroupTime: "Total Group Time", - timeRemaining: "Time Remaining", - blocks: "Blocks", - clones: "Clones", - duplicates: "Duplicates", - isBlockedBy: "Is Blocked By", - isClonedBy: "Is Cloned By", - isDuplicatedBy: "Is Duplicated By", - relatesTo: "Relates To", - linkedIssues: "Linked Issues", - description: "Description", - descriptionBlockPlaceholder: "Write a complete description of your project...", - copyDescription: "Description Copied.", - showMore: "Show More", + copyTitle: 'Title Copied.', + changeParent: 'Change Parent', + addParent: 'Add Parent', + taskScreen: 'Task Screen', + details: 'Details', + taskPublic: 'This task is Public', + makePrivate: 'Make a Private', + taskPrivate: 'This task is Private', + makePublic: 'Make a Public', + typeIssue: 'Type of Issue', + creator: 'Creator', + assignees: 'Assignees', + startDate: 'Start Date', + dueDate: 'Due Date', + daysRemaining: 'Days Remaining', + version: 'Version', + epic: 'Epic', + status: 'Status', + labels: 'Labels', + size: 'Size', + priority: 'Priority', + manageAssignees: 'Manage Assignees', + setDueDate: 'Set Due Date', + setStartDate: 'Set Start Date', + items: 'Items', + estimate: 'Estimate', + estimations: 'Estimations', + time: 'Time', + progress: 'Progress', + timeToday: 'Time Today', + totalGroupTime: 'Total Group Time', + timeRemaining: 'Time Remaining', + blocks: 'Blocks', + clones: 'Clones', + duplicates: 'Duplicates', + isBlockedBy: 'Is Blocked By', + isClonedBy: 'Is Cloned By', + isDuplicatedBy: 'Is Duplicated By', + relatesTo: 'Relates To', + linkedIssues: 'Linked Issues', + description: 'Description', + descriptionBlockPlaceholder: 'Write a complete description of your project...', + copyDescription: 'Description Copied.', + showMore: 'Show More' }, tasksScreen: { - name: "Tasks", - now: "Now", - last24hours: "Last 24 hours", - totalTimeLabel: "Total Time", - workedTab: "Worked", - assignedTab: "Assigned", - unassignedTab: "Unassigned", - createTaskButton: "Create Task", - assignTaskButton: "Assign Task", - createButton: "Create", - assignButton: "Assign", - resendInvitation: "Resend Invitation", - editTaskLabel: "Edit Task", - unassignTaskLabel: "Unassign Task", - unMakeManager: "Unmake a Manager", - makeManager: "Make a Manager", - remove: "Remove", - filter: "Filter", - apply: "Apply", - reset: "Reset", + name: 'Tasks', + now: 'Now', + last24hours: 'Last 24 hours', + totalTimeLabel: 'Total Time', + workedTab: 'Worked', + assignedTab: 'Assigned', + unassignedTab: 'Unassigned', + createTaskButton: 'Create Task', + assignTaskButton: 'Assign Task', + createButton: 'Create', + assignButton: 'Assign', + resendInvitation: 'Resend Invitation', + editTaskLabel: 'Edit Task', + unassignTaskLabel: 'Unassign Task', + unMakeManager: 'Unmake a Manager', + makeManager: 'Make a Manager', + remove: 'Remove', + filter: 'Filter', + apply: 'Apply', + reset: 'Reset' }, noTeamScreen: { - createYourTeam: "Create your own team or join existed", - hintMessage: "Lorem ipsum dolor sit amet consectetur. Blandit lobortis dui risus neque.", + createYourTeam: 'Create your own team or join existed', + hintMessage: 'Lorem ipsum dolor sit amet consectetur. Blandit lobortis dui risus neque.' }, settingScreen: { - name: "Settings", + name: 'Settings', personalSection: { - name: "Personal", - fullName: "Full Name", - yourContact: "Your Contact", - yourContactHint: "Your contact information", - themes: "Themes", - darkModeToLight: "Dark Mode to Light Mode", - lightModeToDark: "Light Mode to Dark Mode", - language: "Language", - changeAvatar: "Change Avatar", - timeZone: "Time Zone", - workSchedule: "Work Schedule", - workScheduleHint: "Set your work schedule now", - removeAccount: "Remove Account", - removeAccountHint: - "Account will be removed from all teams, except where you are the only manager", - deleteAccount: "Delete Account", - deleteAccountHint: - "Your account will be deleted permanently with remolving from all teams", - detect: "Detect", + name: 'Personal', + fullName: 'Full Name', + yourContact: 'Your Contact', + yourContactHint: 'Your contact information', + themes: 'Themes', + darkModeToLight: 'Dark Mode to Light Mode', + lightModeToDark: 'Light Mode to Dark Mode', + language: 'Language', + changeAvatar: 'Change Avatar', + timeZone: 'Time Zone', + workSchedule: 'Work Schedule', + workScheduleHint: 'Set your work schedule now', + removeAccount: 'Remove Account', + removeAccountHint: 'Account will be removed from all teams, except where you are the only manager', + deleteAccount: 'Delete Account', + deleteAccountHint: 'Your account will be deleted permanently with remolving from all teams', + detect: 'Detect' }, teamSection: { - name: "Team", - teamName: "Team Name", - timeTracking: "Time Tracking", - timeTrackingHint: "Enable time tracking", - taskStatuses: "Task Statuses", - taskPriorities: "Task Priorities", - taskSizes: "Task Sizes", - taskLabel: "Task Label", - changeLogo: "Change Logo", - teamRole: "Manager Member & Role", - workSchedule: "Work Schedule", - workScheduleHint: "Set your work schedule now", - transferOwnership: "Transfer Ownership", - transferOwnershipHint: "Transfer full ownership of team to another user", - removeTeam: "Remove Team", - removeTeamHint: - "Team will be completely removed for the system and team members lost access", - quitTeam: "Quit the team", - quitTeamHint: "You are about to quit the team", - areYouSure: "Are you sure ?", + name: 'Team', + teamName: 'Team Name', + timeTracking: 'Time Tracking', + timeTrackingHint: 'Enable time tracking', + taskStatuses: 'Task Statuses', + taskPriorities: 'Task Priorities', + taskSizes: 'Task Sizes', + taskLabel: 'Task Label', + changeLogo: 'Change Logo', + teamRole: 'Manager Member & Role', + workSchedule: 'Work Schedule', + workScheduleHint: 'Set your work schedule now', + transferOwnership: 'Transfer Ownership', + transferOwnershipHint: 'Transfer full ownership of team to another user', + removeTeam: 'Remove Team', + removeTeamHint: 'Team will be completely removed for the system and team members lost access', + quitTeam: 'Quit the team', + quitTeamHint: 'You are about to quit the team', + areYouSure: 'Are you sure ?', changeTeamName: { - mainTitle: "Change Team Name", - inputPlaceholder: "Team Name", - }, + mainTitle: 'Change Team Name', + inputPlaceholder: 'Team Name' + } }, - dangerZone: "Danger Zone", - modalChangeLanguageTitle: "Change Language", + dangerZone: 'Danger Zone', + modalChangeLanguageTitle: 'Change Language', languages: { - english: "English ( United States )", - french: "French ( France )", - arabic: "Arabic", - russian: "Russian", - bulgarian: "Bulgarian", - spanish: "Spanish", - korean: "Korean", - hebrew: "Hebrew", + english: 'English ( United States )', + french: 'French ( France )', + arabic: 'Arabic', + russian: 'Russian', + bulgarian: 'Bulgarian', + spanish: 'Spanish', + korean: 'Korean', + hebrew: 'Hebrew' }, versionScreen: { - mainTitle: "Task Versions", - listOfVersions: "List of Versions", - noActiveVersions: "There are no active versions", - createNewVersionButton: "Create new version", - createNewVersionText: "Create New Version", - versionNamePlaceholder: "Version Name", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Versions', + listOfVersions: 'List of Versions', + noActiveVersions: 'There are no active versions', + createNewVersionButton: 'Create new version', + createNewVersionText: 'Create New Version', + versionNamePlaceholder: 'Version Name', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, statusScreen: { - mainTitle: "Task Statuses", - listStatuses: "List of Statuses", - noActiveStatuses: "There are no active statuses", - createStatusButton: "Create new status", - createNewStatusText: "Create New Status", - statusNamePlaceholder: "Status Name", - statusIconPlaceholder: "Choose Icon", - statusColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Statuses', + listStatuses: 'List of Statuses', + noActiveStatuses: 'There are no active statuses', + createStatusButton: 'Create new status', + createNewStatusText: 'Create New Status', + statusNamePlaceholder: 'Status Name', + statusIconPlaceholder: 'Choose Icon', + statusColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, priorityScreen: { - mainTitle: "Task Priorities", - priorities: "Priorities", - listPriorities: "List of Priorities", - noActivePriorities: "There are no active priorities", - createPriorityButton: "Create new priority", - createNewPriorityText: "Create New Priority", - priorityNamePlaceholder: "Priority Name", - priorityIconPlaceholder: "Search Icon", - priorityColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Priorities', + priorities: 'Priorities', + listPriorities: 'List of Priorities', + noActivePriorities: 'There are no active priorities', + createPriorityButton: 'Create new priority', + createNewPriorityText: 'Create New Priority', + priorityNamePlaceholder: 'Priority Name', + priorityIconPlaceholder: 'Search Icon', + priorityColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, labelScreen: { - mainTitle: "Task Labels", - listLabels: "List of Labels", - noActiveLabels: "There are no active labels", - createLabelButton: "Create new label", - createNewLabelText: "Create New Labels", - labelNamePlaceholder: "Labels Name", - labelIconPlaceholder: "Choose Icon", - labelColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Labels', + listLabels: 'List of Labels', + noActiveLabels: 'There are no active labels', + createLabelButton: 'Create new label', + createNewLabelText: 'Create New Labels', + labelNamePlaceholder: 'Labels Name', + labelIconPlaceholder: 'Choose Icon', + labelColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, sizeScreen: { - mainTitle: "Task Sizes", - listSizes: "List of Sizes", - noActiveSizes: "There are no active sizes", - createSizeButton: "Create new size", - createNewSizeText: "Create New Sizes", - sizeNamePlaceholder: "Size Name", - sizeIconPlaceholder: "Choose Icon", - sizeColorPlaceholder: "Colors", - cancelButtonText: "Cancel", - createButtonText: "Create", - updateButtonText: "Update", + mainTitle: 'Task Sizes', + listSizes: 'List of Sizes', + noActiveSizes: 'There are no active sizes', + createSizeButton: 'Create new size', + createNewSizeText: 'Create New Sizes', + sizeNamePlaceholder: 'Size Name', + sizeIconPlaceholder: 'Choose Icon', + sizeColorPlaceholder: 'Colors', + cancelButtonText: 'Cancel', + createButtonText: 'Create', + updateButtonText: 'Update' }, membersSettingsScreen: { - mainTitle: "Members & Roles", - deleteUserConfirmation: "Are you sure you want to remove selected user?", - changeRole: "Change Role", - delete: "Delete", + mainTitle: 'Members & Roles', + deleteUserConfirmation: 'Are you sure you want to remove selected user?', + changeRole: 'Change Role', + delete: 'Delete' }, changeFullName: { - firstNamePlaceholder: "First Name", - lastNamePlaholder: "Last Name", - mainTitle: "Change Full Name", + firstNamePlaceholder: 'First Name', + lastNamePlaholder: 'Last Name', + mainTitle: 'Change Full Name' }, changeAvatar: { - recentPictures: "Recent Pictures", - recentFiles: "Recent files", - selectFromGalery: "Select from galery", - selectFromFiles: "Select from Files", - continueButton: "Continue", - logoDeleteConfirmation: "Are you sure you want to delete the logo?", - avatarDeleteConfirmation: "Are you sure you want to delete the avatar?", + recentPictures: 'Recent Pictures', + recentFiles: 'Recent files', + selectFromGalery: 'Select from galery', + selectFromFiles: 'Select from Files', + continueButton: 'Continue', + logoDeleteConfirmation: 'Are you sure you want to delete the logo?', + avatarDeleteConfirmation: 'Are you sure you want to delete the avatar?' }, contact: { - mainTitle: "Change Your Contact", - emailPlaceholder: "Email Address", - phonePlaceholder: "Phone Number", - emailNotValid: "Please provide a valid Email", - phoneNotValid: "Please provide a valid Phone Number", - }, + mainTitle: 'Change Your Contact', + emailPlaceholder: 'Email Address', + phonePlaceholder: 'Phone Number', + emailNotValid: 'Please provide a valid Email', + phoneNotValid: 'Please provide a valid Phone Number' + } }, inviteModal: { - accept: "Accept", - reject: "Reject", - inviteHint: "You have been invited to join", + accept: 'Accept', + reject: 'Reject', + inviteHint: 'You have been invited to join' }, accountVerificationModal: { - verify: "Verify", + verify: 'Verify' }, demoNavigator: { - componentsTab: "Components", - debugTab: "Debug", - communityTab: "Community", - podcastListTab: "Podcast", + componentsTab: 'Components', + debugTab: 'Debug', + communityTab: 'Community', + podcastListTab: 'Podcast' }, demoCommunityScreen: { - title: "Connect with the community", + title: 'Connect with the community', tagLine: "Plug in to Infinite Red's community of React Native engineers and level up your app development with us!", - joinUsOnSlackTitle: "Join us on Slack", + joinUsOnSlackTitle: 'Join us on Slack', joinUsOnSlack: - "Wish there was a place to connect with React Native engineers around the world? Join the conversation in the Infinite Red Community Slack! Our growing community is a safe space to ask questions, learn from others, and grow your network.", - joinSlackLink: "Join the Slack Community", - makeIgniteEvenBetterTitle: "Make Ignite even better", + 'Wish there was a place to connect with React Native engineers around the world? Join the conversation in the Infinite Red Community Slack! Our growing community is a safe space to ask questions, learn from others, and grow your network.', + joinSlackLink: 'Join the Slack Community', + makeIgniteEvenBetterTitle: 'Make Ignite even better', makeIgniteEvenBetter: "Have an idea to make Ignite even better? We're happy to hear that! We're always looking for others who want to help us build the best React Native tooling out there. Join us over on GitHub to join us in building the future of Ignite.", - contributeToIgniteLink: "Contribute to Ignite", - theLatestInReactNativeTitle: "The latest in React Native", + contributeToIgniteLink: 'Contribute to Ignite', + theLatestInReactNativeTitle: 'The latest in React Native', theLatestInReactNative: "We're here to keep you current on all React Native has to offer.", - reactNativeRadioLink: "React Native Radio", - reactNativeNewsletterLink: "React Native Newsletter", - reactNativeLiveLink: "React Native Live", - chainReactConferenceLink: "Chain React Conference", - hireUsTitle: "Hire Infinite Red for your next project", + reactNativeRadioLink: 'React Native Radio', + reactNativeNewsletterLink: 'React Native Newsletter', + reactNativeLiveLink: 'React Native Live', + chainReactConferenceLink: 'Chain React Conference', + hireUsTitle: 'Hire Infinite Red for your next project', hireUs: "Whether it's running a full project or getting teams up to speed with our hands-on training, Infinite Red can help with just about any React Native project.", - hireUsLink: "Send us a message", + hireUsLink: 'Send us a message' }, demoShowroomScreen: { - jumpStart: "Components to jump start your project!", + jumpStart: 'Components to jump start your project!', lorem2Sentences: - "Nulla cupidatat deserunt amet quis aliquip nostrud do adipisicing. Adipisicing excepteur elit laborum Lorem adipisicing do duis.", - demoHeaderTxExample: "Yay", - demoViaTxProp: "Via `tx` Prop", - demoViaSpecifiedTxProp: "Via `{{prop}}Tx` Prop", + 'Nulla cupidatat deserunt amet quis aliquip nostrud do adipisicing. Adipisicing excepteur elit laborum Lorem adipisicing do duis.', + demoHeaderTxExample: 'Yay', + demoViaTxProp: 'Via `tx` Prop', + demoViaSpecifiedTxProp: 'Via `{{prop}}Tx` Prop' }, demoDebugScreen: { - howTo: "HOW TO", - title: "Debug", + howTo: 'HOW TO', + title: 'Debug', tagLine: "Congratulations, you've got a very advanced React Native app template here. Take advantage of this boilerplate!", - reactotron: "Send to Reactotron", - reportBugs: "Report Bugs", - demoList: "Demo List", - demoPodcastList: "Demo Podcast List", + reactotron: 'Send to Reactotron', + reportBugs: 'Report Bugs', + demoList: 'Demo List', + demoPodcastList: 'Demo Podcast List', androidReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running, run adb reverse tcp:9090 tcp:9090 from your terminal, and reload the app.", - iosReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", - macosReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", - webReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", - windowsReactotronHint: - "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + iosReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + macosReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + webReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app.", + windowsReactotronHint: "If this doesn't work, ensure the Reactotron desktop app is running and reload app." }, demoPodcastListScreen: { - title: "React Native Radio episodes", - onlyFavorites: "Only Show Favorites", - favoriteButton: "Favorite", - unfavoriteButton: "Unfavorite", + title: 'React Native Radio episodes', + onlyFavorites: 'Only Show Favorites', + favoriteButton: 'Favorite', + unfavoriteButton: 'Unfavorite', accessibility: { - cardHint: - "Double tap to listen to the episode. Double tap and hold to {{action}} this episode.", - switch: "Switch on to only show favorites", - favoriteAction: "Toggle Favorite", - favoriteIcon: "Episode not favorited", - unfavoriteIcon: "Episode favorited", - publishLabel: "Published {{date}}", - durationLabel: "Duration: {{hours}} hours {{minutes}} minutes {{seconds}} seconds", + cardHint: 'Double tap to listen to the episode. Double tap and hold to {{action}} this episode.', + switch: 'Switch on to only show favorites', + favoriteAction: 'Toggle Favorite', + favoriteIcon: 'Episode not favorited', + unfavoriteIcon: 'Episode favorited', + publishLabel: 'Published {{date}}', + durationLabel: 'Duration: {{hours}} hours {{minutes}} minutes {{seconds}} seconds' }, noFavoritesEmptyState: { - heading: "This looks a bit empty", - content: - "No favorites have been added yet. Tap the heart on an episode to add it to your favorites!", - }, - }, + heading: 'This looks a bit empty', + content: 'No favorites have been added yet. Tap the heart on an episode to add it to your favorites!' + } + } // @demo remove-block-end -} +}; -export default ru -export type Translations = typeof ru +export default ru; +export type Translations = typeof ru; diff --git a/apps/mobile/app/navigators/AuthenticatedNavigator.tsx b/apps/mobile/app/navigators/AuthenticatedNavigator.tsx index 2bdbe0d6a..3a1b35014 100644 --- a/apps/mobile/app/navigators/AuthenticatedNavigator.tsx +++ b/apps/mobile/app/navigators/AuthenticatedNavigator.tsx @@ -4,7 +4,7 @@ import { Platform, TextStyle, View, ViewStyle } from 'react-native'; import { BottomTabScreenProps, createBottomTabNavigator, BottomTabNavigationProp } from '@react-navigation/bottom-tabs'; import { createDrawerNavigator, DrawerScreenProps } from '@react-navigation/drawer'; import type { StackNavigationProp } from '@react-navigation/stack'; -import { CompositeScreenProps, CompositeNavigationProp, RouteProp } from '@react-navigation/native'; +import { CompositeScreenProps, CompositeNavigationProp, RouteProp, useNavigation } from '@react-navigation/native'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; // COMPONENTS @@ -45,6 +45,7 @@ import { userNotFocusedDark, userNotFocusedLight } from '../components/svgs/icons'; +import { useOrganizationTeam } from '../services/hooks/useOrganization'; export type AuthenticatedTabParamList = { Timer: undefined; @@ -101,6 +102,9 @@ const TabNavigator = observer(function TabNavigator() { teamStore: { isTrackingEnabled } } = useStores(); const [isLoading, setIsLoading] = useState(true); + const { currentUser } = useOrganizationTeam(); + + const navigation = useNavigation>(); useEffect(() => { setTimeout(() => setIsLoading(false), 3000); @@ -163,35 +167,6 @@ const TabNavigator = observer(function TabNavigator() { }} initialRouteName="Team" > - - focused ? ( - - ) : ( - - ), - tabBarActiveTintColor: dark ? '#8C7AE4' : '#3826A6' - }} - /> - - - !focused ? ( - - ) : ( - - ), - tabBarActiveTintColor: dark ? '#8C7AE4' : '#3826A6' - }} - /> {isTrackingEnabled ? ( ) : null} + + + !focused ? ( + + ) : ( + + ), + tabBarActiveTintColor: dark ? '#8C7AE4' : '#3826A6' + }} + /> + + + focused ? ( + + ) : ( + + ), + tabBarActiveTintColor: dark ? '#8C7AE4' : '#3826A6' + }} + listeners={{ + tabPress: (e) => { + e.preventDefault(); + + navigation.navigate('Profile', { + userId: currentUser?.id, + activeTab: 'worked' + }); + } + }} + /> ); }); From 92a2f25233ba14dd7a3642467fb94259fbfb7a05 Mon Sep 17 00:00:00 2001 From: desperado1802 Date: Tue, 28 Nov 2023 16:25:59 +0200 Subject: [PATCH 2/7] re-arranged in correct oder the bottom navigation icons --- .../app/navigators/AuthenticatedNavigator.tsx | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/apps/mobile/app/navigators/AuthenticatedNavigator.tsx b/apps/mobile/app/navigators/AuthenticatedNavigator.tsx index 3a1b35014..54e61803d 100644 --- a/apps/mobile/app/navigators/AuthenticatedNavigator.tsx +++ b/apps/mobile/app/navigators/AuthenticatedNavigator.tsx @@ -185,21 +185,6 @@ const TabNavigator = observer(function TabNavigator() { /> ) : null} - - !focused ? ( - - ) : ( - - ), - tabBarActiveTintColor: dark ? '#8C7AE4' : '#3826A6' - }} - /> - + + + !focused ? ( + + ) : ( + + ), + tabBarActiveTintColor: dark ? '#8C7AE4' : '#3826A6' + }} + /> ); }); From 975f86982f1cad073e0e726b7e4fdefa44751e0d Mon Sep 17 00:00:00 2001 From: desperado1802 Date: Wed, 29 Nov 2023 09:53:43 +0200 Subject: [PATCH 3/7] fixed the profile/team avatar blocks to be responsive in smaller screens too --- .../Authenticated/SettingScreen/Personal/UserAvatar.tsx | 2 +- .../screens/Authenticated/SettingScreen/Team/TeamLogo.tsx | 2 +- .../app/screens/Authenticated/SettingScreen/index.tsx | 8 +++----- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/apps/mobile/app/screens/Authenticated/SettingScreen/Personal/UserAvatar.tsx b/apps/mobile/app/screens/Authenticated/SettingScreen/Personal/UserAvatar.tsx index c8587280c..e9a9c22db 100644 --- a/apps/mobile/app/screens/Authenticated/SettingScreen/Personal/UserAvatar.tsx +++ b/apps/mobile/app/screens/Authenticated/SettingScreen/Personal/UserAvatar.tsx @@ -97,7 +97,7 @@ const styles = StyleSheet.create({ backgroundColor: '#fff', flexDirection: 'row', justifyContent: 'space-between', - paddingVertical: 20, + paddingTop: 10, width: '100%' }, deleteContainer: { diff --git a/apps/mobile/app/screens/Authenticated/SettingScreen/Team/TeamLogo.tsx b/apps/mobile/app/screens/Authenticated/SettingScreen/Team/TeamLogo.tsx index 9cf14652c..de839afe4 100644 --- a/apps/mobile/app/screens/Authenticated/SettingScreen/Team/TeamLogo.tsx +++ b/apps/mobile/app/screens/Authenticated/SettingScreen/Team/TeamLogo.tsx @@ -107,7 +107,7 @@ const styles = StyleSheet.create({ backgroundColor: '#fff', flexDirection: 'row', justifyContent: 'space-between', - paddingVertical: 20, + paddingTop: 10, width: '100%' }, deleteContainer: { diff --git a/apps/mobile/app/screens/Authenticated/SettingScreen/index.tsx b/apps/mobile/app/screens/Authenticated/SettingScreen/index.tsx index c24e67503..dbb928be3 100644 --- a/apps/mobile/app/screens/Authenticated/SettingScreen/index.tsx +++ b/apps/mobile/app/screens/Authenticated/SettingScreen/index.tsx @@ -76,11 +76,9 @@ export const AuthenticatedSettingScreen: FC )} - - - - - + + + {isLoading ? ( From ef4b2c8b3b2d8fb42da58ab8aa689cacdfa28e86 Mon Sep 17 00:00:00 2001 From: desperado1802 Date: Wed, 29 Nov 2023 12:09:51 +0200 Subject: [PATCH 4/7] fixed "and operator", also elevation of filter modals --- .../EstimateBlock/components/ProfileInfoWithTime.tsx | 2 +- .../ProfileScreen/components/TaskLabelFilter.tsx | 2 +- .../ProfileScreen/components/TaskPriorityFilter.tsx | 2 +- .../ProfileScreen/components/TaskSizeFilter.tsx | 2 +- .../ProfileScreen/components/TaskStatusFilter.tsx | 2 +- .../LoginScreen/Components/EmailVerificationForm.tsx | 10 +++++----- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/apps/mobile/app/components/Task/EstimateBlock/components/ProfileInfoWithTime.tsx b/apps/mobile/app/components/Task/EstimateBlock/components/ProfileInfoWithTime.tsx index 45beebde7..ef941dec8 100644 --- a/apps/mobile/app/components/Task/EstimateBlock/components/ProfileInfoWithTime.tsx +++ b/apps/mobile/app/components/Task/EstimateBlock/components/ProfileInfoWithTime.tsx @@ -35,7 +35,7 @@ const ProfileInfoWithTime: React.FC = ({ profilePicSrc, names, use style={{ flexDirection: 'row', justifyContent: 'space-between', - paddingRight: !time && 12 + paddingRight: !time ? 12 : undefined }} > diff --git a/apps/mobile/app/screens/Authenticated/ProfileScreen/components/TaskLabelFilter.tsx b/apps/mobile/app/screens/Authenticated/ProfileScreen/components/TaskLabelFilter.tsx index 21120cda0..6d710950b 100644 --- a/apps/mobile/app/screens/Authenticated/ProfileScreen/components/TaskLabelFilter.tsx +++ b/apps/mobile/app/screens/Authenticated/ProfileScreen/components/TaskLabelFilter.tsx @@ -253,9 +253,9 @@ const styles = StyleSheet.create({ dropdownItem: { alignItems: 'center', borderRadius: 10, - elevation: 10, flexDirection: 'row', height: 44, + overflow: 'hidden', paddingHorizontal: 16, width: '60%' }, diff --git a/apps/mobile/app/screens/Authenticated/ProfileScreen/components/TaskPriorityFilter.tsx b/apps/mobile/app/screens/Authenticated/ProfileScreen/components/TaskPriorityFilter.tsx index 8ab1733c5..3fb4dbc3d 100644 --- a/apps/mobile/app/screens/Authenticated/ProfileScreen/components/TaskPriorityFilter.tsx +++ b/apps/mobile/app/screens/Authenticated/ProfileScreen/components/TaskPriorityFilter.tsx @@ -256,9 +256,9 @@ const styles = StyleSheet.create({ dropdownItem: { alignItems: 'center', borderRadius: 10, - elevation: 10, flexDirection: 'row', height: 44, + overflow: 'hidden', paddingHorizontal: 16, width: '60%' }, diff --git a/apps/mobile/app/screens/Authenticated/ProfileScreen/components/TaskSizeFilter.tsx b/apps/mobile/app/screens/Authenticated/ProfileScreen/components/TaskSizeFilter.tsx index f5c26e246..a929c705d 100644 --- a/apps/mobile/app/screens/Authenticated/ProfileScreen/components/TaskSizeFilter.tsx +++ b/apps/mobile/app/screens/Authenticated/ProfileScreen/components/TaskSizeFilter.tsx @@ -253,9 +253,9 @@ const styles = StyleSheet.create({ dropdownItem: { alignItems: 'center', borderRadius: 10, - elevation: 10, flexDirection: 'row', height: 44, + overflow: 'hidden', paddingHorizontal: 16, width: '60%' }, diff --git a/apps/mobile/app/screens/Authenticated/ProfileScreen/components/TaskStatusFilter.tsx b/apps/mobile/app/screens/Authenticated/ProfileScreen/components/TaskStatusFilter.tsx index 5978358ae..d91f899d3 100644 --- a/apps/mobile/app/screens/Authenticated/ProfileScreen/components/TaskStatusFilter.tsx +++ b/apps/mobile/app/screens/Authenticated/ProfileScreen/components/TaskStatusFilter.tsx @@ -249,9 +249,9 @@ const styles = StyleSheet.create({ dropdownItem: { alignItems: 'center', borderRadius: 10, - elevation: 10, flexDirection: 'row', height: 44, + overflow: 'hidden', paddingHorizontal: 16, width: '60%' }, diff --git a/apps/mobile/app/screens/LoginScreen/Components/EmailVerificationForm.tsx b/apps/mobile/app/screens/LoginScreen/Components/EmailVerificationForm.tsx index 4f616c74c..fca468acd 100644 --- a/apps/mobile/app/screens/LoginScreen/Components/EmailVerificationForm.tsx +++ b/apps/mobile/app/screens/LoginScreen/Components/EmailVerificationForm.tsx @@ -37,11 +37,11 @@ const EmailVerificationForm: FC = observer( style={{ ...styles.form, backgroundColor: colors.background, - elevation: !dark && 10, - shadowColor: !dark && 'rgba(0,0,0,0.1)', - shadowOffset: !dark && { width: 10, height: 10 }, - shadowOpacity: !dark && 5, - shadowRadius: !dark && 9 + elevation: !dark ? 10 : undefined, + shadowColor: !dark ? 'rgba(0,0,0,0.1)' : undefined, + shadowOffset: !dark ? { width: 10, height: 10 } : undefined, + shadowOpacity: !dark ? 0.5 : undefined, + shadowRadius: !dark ? 9 : undefined }} > {translate('loginScreen.step3Title')} From 0e0738033c3c7167aa4bbb78d201e4cfc5ebb731 Mon Sep 17 00:00:00 2001 From: desperado1802 Date: Wed, 29 Nov 2023 12:24:51 +0200 Subject: [PATCH 5/7] added translations for confirm email popup --- apps/mobile/app/i18n/ar.ts | 4 +++- apps/mobile/app/i18n/bg.ts | 4 +++- apps/mobile/app/i18n/en.ts | 4 +++- apps/mobile/app/i18n/es.ts | 4 +++- apps/mobile/app/i18n/fr.ts | 4 +++- apps/mobile/app/i18n/he.ts | 4 +++- apps/mobile/app/i18n/ko.ts | 4 +++- apps/mobile/app/i18n/ru.ts | 4 +++- .../SettingScreen/components/ConfirmEmailPopup.tsx | 8 +++++--- 9 files changed, 29 insertions(+), 11 deletions(-) diff --git a/apps/mobile/app/i18n/ar.ts b/apps/mobile/app/i18n/ar.ts index 62e53242e..83400b048 100644 --- a/apps/mobile/app/i18n/ar.ts +++ b/apps/mobile/app/i18n/ar.ts @@ -66,7 +66,9 @@ const ar: Translations = { userNameFieldPlaceholder: 'أدخل أسمك', tapContinue: 'يكمل', tapJoin: 'ينضم', - createTeam: 'إنشاء فريق' + createTeam: 'إنشاء فريق', + invalidConfirmCode: 'رمز التأكيد غير صالح', + securityCodeSent: 'تم إرسال رمز الأمان على البريد الإلكتروني الجديد' }, myWorkScreen: { name: 'عمل', diff --git a/apps/mobile/app/i18n/bg.ts b/apps/mobile/app/i18n/bg.ts index 5b4684d67..3048fca63 100644 --- a/apps/mobile/app/i18n/bg.ts +++ b/apps/mobile/app/i18n/bg.ts @@ -63,7 +63,9 @@ const bg = { userNameFieldPlaceholder: 'Enter your name', tapContinue: 'Continue', tapJoin: 'Join', - createTeam: 'Create Team' + createTeam: 'Create Team', + invalidConfirmCode: 'Invalid confirm code', + securityCodeSent: 'Security code was sent on new email' }, myWorkScreen: { name: 'Work', diff --git a/apps/mobile/app/i18n/en.ts b/apps/mobile/app/i18n/en.ts index 66621f679..e1323eab9 100644 --- a/apps/mobile/app/i18n/en.ts +++ b/apps/mobile/app/i18n/en.ts @@ -63,7 +63,9 @@ const en = { userNameFieldPlaceholder: 'Enter your name', tapContinue: 'Continue', tapJoin: 'Join', - createTeam: 'Create Team' + createTeam: 'Create Team', + invalidConfirmCode: 'Invalid confirm code', + securityCodeSent: 'Security code was sent on new email' }, myWorkScreen: { name: 'Work', diff --git a/apps/mobile/app/i18n/es.ts b/apps/mobile/app/i18n/es.ts index 151c8d5eb..f6df6379e 100644 --- a/apps/mobile/app/i18n/es.ts +++ b/apps/mobile/app/i18n/es.ts @@ -63,7 +63,9 @@ const es = { userNameFieldPlaceholder: 'Enter your name', tapContinue: 'Continue', tapJoin: 'Join', - createTeam: 'Create Team' + createTeam: 'Create Team', + invalidConfirmCode: 'Invalid confirm code', + securityCodeSent: 'Security code was sent on new email' }, myWorkScreen: { name: 'Work', diff --git a/apps/mobile/app/i18n/fr.ts b/apps/mobile/app/i18n/fr.ts index a5391bf8a..23efd248c 100644 --- a/apps/mobile/app/i18n/fr.ts +++ b/apps/mobile/app/i18n/fr.ts @@ -63,7 +63,9 @@ const fr = { userNameFieldPlaceholder: 'Entrez votre nom', tapContinue: 'Continuer', tapJoin: 'Rejoindre', - createTeam: "Créer l'équipe" + createTeam: "Créer l'équipe", + invalidConfirmCode: 'Code de confirmation invalide', + securityCodeSent: 'Le code de sécurité a été envoyé sur le nouvel e-mail' }, myWorkScreen: { name: 'Travail', diff --git a/apps/mobile/app/i18n/he.ts b/apps/mobile/app/i18n/he.ts index b45fe04a3..4d5c173bd 100644 --- a/apps/mobile/app/i18n/he.ts +++ b/apps/mobile/app/i18n/he.ts @@ -63,7 +63,9 @@ const he = { userNameFieldPlaceholder: 'Enter your name', tapContinue: 'Continue', tapJoin: 'Join', - createTeam: 'Create Team' + createTeam: 'Create Team', + invalidConfirmCode: 'Invalid confirm code', + securityCodeSent: 'Security code was sent on new email' }, myWorkScreen: { name: 'Work', diff --git a/apps/mobile/app/i18n/ko.ts b/apps/mobile/app/i18n/ko.ts index de9091918..22e08e7ee 100644 --- a/apps/mobile/app/i18n/ko.ts +++ b/apps/mobile/app/i18n/ko.ts @@ -65,7 +65,9 @@ const ko: Translations = { userNameFieldPlaceholder: '당신의 이름을 입력', tapContinue: '계속하다', tapJoin: '가입하다', - createTeam: 'Create Team' + createTeam: 'Create Team', + invalidConfirmCode: '잘못된 확인 코드', + securityCodeSent: '보안 코드가 새 이메일로 전송되었습니다' }, myWorkScreen: { name: '일하다', diff --git a/apps/mobile/app/i18n/ru.ts b/apps/mobile/app/i18n/ru.ts index af878ccd2..e0d7a783b 100644 --- a/apps/mobile/app/i18n/ru.ts +++ b/apps/mobile/app/i18n/ru.ts @@ -63,7 +63,9 @@ const ru = { userNameFieldPlaceholder: 'Enter your name', tapContinue: 'Continue', tapJoin: 'Join', - createTeam: 'Create Team' + createTeam: 'Create Team', + invalidConfirmCode: 'Invalid confirm code', + securityCodeSent: 'Security code was sent on new email' }, myWorkScreen: { name: 'Work', diff --git a/apps/mobile/app/screens/Authenticated/SettingScreen/components/ConfirmEmailPopup.tsx b/apps/mobile/app/screens/Authenticated/SettingScreen/components/ConfirmEmailPopup.tsx index 0f4f9a3e8..5045b8daf 100644 --- a/apps/mobile/app/screens/Authenticated/SettingScreen/components/ConfirmEmailPopup.tsx +++ b/apps/mobile/app/screens/Authenticated/SettingScreen/components/ConfirmEmailPopup.tsx @@ -86,10 +86,12 @@ const ConfirmEmailPopup: FC = function ConfirmEmailPopup({ visible, onDis return ( - Security Code + + {translate('loginScreen.inviteCodeFieldLabel')} + - {error && Invalid confirm code} - Security code was sent on new email + {error && {translate('loginScreen.invalidConfirmCode')}} + {translate('loginScreen.securityCodeSent')} {translate('loginScreen.codeNotReceived') + ' '} From 1f74505ba0b8e4e5a23d3529a73fc99368e34cd8 Mon Sep 17 00:00:00 2001 From: Badal Khatri Date: Wed, 29 Nov 2023 16:41:35 +0530 Subject: [PATCH 6/7] Updated API calling --- .../hooks/features/useOrganizationTeams.ts | 18 +++++++--- .../services/client/api/organization-team.ts | 35 +++++++++++++++++-- apps/web/app/services/server/requests/auth.ts | 2 +- .../lib/features/team/create-team-modal.tsx | 4 ++- 4 files changed, 50 insertions(+), 9 deletions(-) diff --git a/apps/web/app/hooks/features/useOrganizationTeams.ts b/apps/web/app/hooks/features/useOrganizationTeams.ts index db57f7567..faacc8968 100644 --- a/apps/web/app/hooks/features/useOrganizationTeams.ts +++ b/apps/web/app/hooks/features/useOrganizationTeams.ts @@ -263,7 +263,9 @@ export function useOrganizationTeams() { } teamId && - queryCallTeam(teamId).then((res) => { + user?.employee.organizationId && + user?.employee.tenantId && + queryCallTeam(teamId, user?.employee.organizationId, user?.employee.tenantId).then((res) => { const newTeam = res.data; /** @@ -291,12 +293,20 @@ export function useOrganizationTeams() { * Get active team profile from api */ useEffect(() => { - if (activeTeamId && firstLoad) { - getOrganizationTeamAPI(activeTeamId).then((res) => { + if (activeTeamId && firstLoad && user?.employee.organizationId && user?.employee.tenantId) { + getOrganizationTeamAPI(activeTeamId, user?.employee.organizationId, user?.employee.tenantId).then((res) => { !loadingTeamsRef.current && setTeamsUpdate(res.data); }); } - }, [activeTeamId, firstLoad, loadingTeamsRef, setTeams, setTeamsUpdate]); + }, [ + activeTeamId, + firstLoad, + loadingTeamsRef, + setTeams, + setTeamsUpdate, + user?.employee.organizationId, + user?.employee.tenantId + ]); const editOrganizationTeam = useCallback( (data: IOrganizationTeamUpdate) => { diff --git a/apps/web/app/services/client/api/organization-team.ts b/apps/web/app/services/client/api/organization-team.ts index c50bf9ce5..18e493052 100644 --- a/apps/web/app/services/client/api/organization-team.ts +++ b/apps/web/app/services/client/api/organization-team.ts @@ -6,7 +6,8 @@ import { IOrganizationTeamUpdate, IOrganizationTeam } from '@app/interfaces'; -import api from '../axios'; +import moment from 'moment'; +import api, { get } from '../axios'; export function getOrganizationTeamsAPI() { return api.get>('/organization-team'); @@ -16,8 +17,36 @@ export function createOrganizationTeamAPI(name: string) { return api.post>('/organization-team', { name }); } -export function getOrganizationTeamAPI(teamId: string) { - return api.get(`/organization-team/${teamId}`); +export function getOrganizationTeamAPI(teamId: string, organizationId: string, tenantId: string) { + const params = { + organizationId: organizationId, + tenantId: tenantId, + // source: TimerSource.TEAMS, + withLaskWorkedTask: 'true', + startDate: moment().startOf('day').toISOString(), + endDate: moment().endOf('day').toISOString(), + includeOrganizationTeamId: 'false' + } as { [x: string]: string }; + + const relations = [ + 'members', + 'members.role', + 'members.employee', + 'members.employee.user', + 'createdBy', + 'createdBy.employee', + 'projects', + 'projects.repository' + ]; + + relations.forEach((rl, i) => { + params[`relations[${i}]`] = rl; + }); + + const queries = new URLSearchParams(params || {}); + + const endpoint = `/organization-team/${teamId}?${queries.toString()}`; + return get(endpoint, true); } export function editOrganizationTeamAPI(data: IOrganizationTeamUpdate) { diff --git a/apps/web/app/services/server/requests/auth.ts b/apps/web/app/services/server/requests/auth.ts index 32a1699a7..82bed4974 100644 --- a/apps/web/app/services/server/requests/auth.ts +++ b/apps/web/app/services/server/requests/auth.ts @@ -36,7 +36,7 @@ export function signInEmailRequest(email: string, callbackUrl: string) { return serverFetch<{ status: number; message: string | 'ok' }>({ path: '/auth/signin.email', method: 'POST', - body: { email, callbackUrl } + body: { email, appMagicSignUrl: callbackUrl, appName: APP_NAME } }); } export const signInEmailConfirmRequest = (data: { code: string; email: string }) => { diff --git a/apps/web/lib/features/team/create-team-modal.tsx b/apps/web/lib/features/team/create-team-modal.tsx index 0f225fa5a..f2cb782f8 100644 --- a/apps/web/lib/features/team/create-team-modal.tsx +++ b/apps/web/lib/features/team/create-team-modal.tsx @@ -36,7 +36,9 @@ export function CreateTeamModal({ }; const disabled = useMemo(() => { - return createOTeamLoading || teams.some((t) => t.name.trim().toLowerCase().includes(name.toLowerCase().trim())); + return ( + createOTeamLoading || teams.some((t) => t.name?.trim().toLowerCase().includes(name.toLowerCase().trim())) + ); }, [createOTeamLoading, name, teams]); return ( From 965fe18179dc9aa1cb32c9f73cc8763ebd355740 Mon Sep 17 00:00:00 2001 From: Paradoxe Ngwasi Date: Wed, 29 Nov 2023 11:14:26 +0000 Subject: [PATCH 7/7] feat: create Layerfile --- Layerfile | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Layerfile diff --git a/Layerfile b/Layerfile new file mode 100644 index 000000000..26850d39b --- /dev/null +++ b/Layerfile @@ -0,0 +1,20 @@ +FROM vm/ubuntu:18.04 + +# install the latest version of Docker, as in the official Docker installation tutorial. +RUN apt-get update && \ + apt-get install ca-certificates curl gnupg lsb-release && \ + sudo mkdir -p /etc/apt/keyrings && \ + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg && \ + echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" |\ + sudo tee /etc/apt/sources.list.d/docker.list > /dev/null && \ + apt-get update && \ + apt-get install docker-ce docker-ce-cli containerd.io + +COPY . . + +RUN REPEATABLE docker build -t ever-teams . + +RUN REPEATABLE docker run -d -p 3000:3000 ever-teams && sleep 5 + +EXPOSE WEBSITE localhost:3000