Skip to content

Commit

Permalink
feat: add Russian language support
Browse files Browse the repository at this point in the history
  • Loading branch information
RMCampos committed Nov 30, 2024
1 parent 0af1360 commit f403905
Show file tree
Hide file tree
Showing 10 changed files with 492 additions and 117 deletions.
5 changes: 3 additions & 2 deletions client/src/constants/english.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ const enTranslations = {
landing_btn_login: 'Login',
landing_btn_register: 'Register',
landing_btn_english: 'English',
landing_btn_portuguese: 'Portuguese',
landing_btn_spanish: 'Spanish',
landing_btn_portuguese: 'Português do Brasil',
landing_btn_spanish: 'Español',
landing_btn_russian: 'Русский',

login_title: 'Login',
login_email_label: 'Email',
Expand Down
3 changes: 2 additions & 1 deletion client/src/constants/languages_available.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@ export interface LangAvailable {
export const languages: LangAvailable[] = [
{ lang: USER_LANG.ENGLISH, key: 'landing_btn_english' },
{ lang: USER_LANG.PORTUGUESE, key: 'landing_btn_portuguese' },
{ lang: USER_LANG.SPANISH, key: 'landing_btn_spanish' }
{ lang: USER_LANG.SPANISH, key: 'landing_btn_spanish' },
{ lang: USER_LANG.RUSSIAN, key: 'landing_btn_russian' }
];
7 changes: 4 additions & 3 deletions client/src/constants/portuguese.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@ const ptBrTranslations = {
landing_subtitle: 'Seu melhor aliado para organizar tarefas e notas!',
landing_btn_login: 'Entrar',
landing_btn_register: 'Criar conta',
landing_btn_english: 'Inglês',
landing_btn_portuguese: 'Português',
landing_btn_spanish: 'Espahol',
landing_btn_english: 'English',
landing_btn_portuguese: 'Português do Brasil',
landing_btn_spanish: 'Español',
landing_btn_russian: 'Русский',

login_title: 'Entrar',
login_email_label: 'E-mail',
Expand Down
133 changes: 133 additions & 0 deletions client/src/constants/russian.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
const ruTranslations = {
landing_title: 'Добро пожаловать в TaskNote',
landing_subtitle: 'Ваш лучший помощник для заметок и задач!',
landing_btn_login: 'Войти',
landing_btn_register: 'Зарегистрироваться',
landing_btn_english: 'English',
landing_btn_portuguese: 'Português do Brasil',
landing_btn_spanish: 'Español',
landing_btn_russian: 'Русский',

login_title: 'Войти',
login_email_label: 'Электронная почта',
login_email_placeholder: 'Введите вашу электронную почту',
login_password_label: 'Пароль',
login_password_placeholder: 'Введите ваш пароль',
login_btn_submit: 'Войти',
login_account: 'Ещё нет аккаунта?',
login_go_other: 'Создать аккаунт',
login_back_home: 'Вернуться на главную',

register_title: 'Создать аккаунт',
register_email_label: 'Электронная почта',
register_email_placeholder: 'Введите вашу электронную почту',
register_password_label: 'Пароль',
register_password_placeholder: 'Введите ваш пароль',
register_btn_submit: 'Создать аккаунт',
register_account: 'Уже есть аккаунт?',
register_go_other: 'Войти',
register_back_home: 'Вернуться на главную',

home_nav_home: 'Главная',
home_nav_tasks: 'Задачи',
home_nav_notes: 'Заметки',
home_nav_about: 'О приложении',
home_welcome_title: 'Добро пожаловать в вашу панель управления',
home_card_task_title: 'Обзор задач',
home_card_task_pending: 'Незавершённые задачи',
home_card_task_empty: 'Нет незавершённых задач',
home_card_task_done: 'выполненные задачи!',
home_card_task_done_empty: 'Нет выполненных задач!',
home_card_task_btn: 'Перейти к задачам',
home_card_note_title: 'Обзор заметок',
home_card_note_count: 'Примечания',
home_card_note_btn: 'Перейти к заметкам',
home_card_search_label: 'Искать задачи и заметки',
home_card_search_placeholder: 'Введите запрос',
home_card_search_btn: 'Искать',
home_card_search_result_label: 'Результаты поиска',
home_card_search_empty_result: 'Нет результатов',

task_form_title: 'Добавить задачу',
task_form_desc_label: 'Описание',
task_form_desc_placeholder: 'Введите описание задачи',
task_form_url_label: 'URL',
task_form_url_placeholder: 'URL-адрес (необязательно)',
task_form_duedate_label: 'Срок оплаты',
task_form_duedate_placeholder: 'Срок выполнения (необязательно)',
task_form_submit: 'Сохранить задачу',
task_table_description: 'Описание',
task_table_done: 'Сделанный',
task_table_actions: 'Действия',
task_table_action_done: 'Сделанный',
task_table_action_undone: 'Отменено',
task_table_action_done_yes: 'Да',
task_table_action_done_no: 'Нет',
task_table_action_edit: 'Редактировать',
task_table_action_delete: 'Удалить',

note_form_title: 'Добавить примечание',
note_form_title_label: 'Заголовок',
note_form_title_placeholder: 'Введите название заметки',
note_form_content_label: 'Примечание к содержанию',
note_form_content_placeholder: 'Введите содержание заметки',
note_form_submit: 'Сохранить заметку',
note_table_btn_edit: 'Редактировать',
note_table_btn_delete: 'Удалить',

about_app_title: 'О TaskNote',
about_app_description: `TaskNote — это ваше приложение для управления
задачами и заметками в одном удобном месте. Независимо от того, отслеживаете ли вы
ежедневные задачи или организуете заметки с важных встреч, TaskNote помогает
вам оставаться организованными и продуктивными.`,
about_app_features: 'Функции',
about_app_features_one: 'Быстро добавляйте и управляйте задачами и заметками',
about_app_features_two: 'Поиск и фильтрация заметок для легкого доступа',
about_app_features_three: 'Интуитивно понятный и понятный пользовательский интерфейс',
about_app_help_title: 'Помощь и как использовать',
about_app_help_description: `Чтобы начать, просто зарегистрируйтесь или войдите в систему, и
вы получите доступ к своей персонализированной панели. Оттуда вы можете
создавать, редактировать и удалять задачи и заметки, а также организовывать их так, как вам
нравится. Нужна помощь? Посетите нашу страницу «Справка» (в будущем) для получения руководств
и часто задаваемых вопросов.`,

about_tech_title: 'Технологии',
about_tech_description: `TaskNote был создан с использованием современных веб-технологий,
которые обеспечивают скорость, надежность и безопасность.`,
about_tech_list_one: 'React с TypeScript для фронтенда',
about_tech_list_two: 'Bootstrap 5 для компонентов и адаптивного дизайна',
about_tech_list_three: 'Java и Spring Boot плюс GraalVM для бэкэнда и Cloud Native',
about_tech_list_four: 'PostgreSQL для управления базами данных',
about_tech_list_five: 'Docker для контейнеризации и развертывания',
about_tech_list_six: 'Действия GitHub для CI/CD, тестирования и принудительного линтинга',
about_tech_list_seven: 'SonarCloud и GitHub QL для проверок безопасности и улучшений',

about_dev_title: 'О разработчике',
about_dev_description: `Привет! Я Рикардо, разработчик TaskNote. Я увлечен созданием приложений,
которые делают жизнь проще и более
организованной. Вы можете связаться со мной по адресу `,
about_dev_description_two: ' для любых вопросов или отзывов.',

account_my_account_tittle: 'Мой счет',
account_my_account_hello: 'Привет! Здесь вы можете управлять своими предпочтениями.',
account_my_account_logged: 'Вы вошли как:',
account_app_lang_tittle: 'Язык приложения',
account_app_lang_description: 'Вы можете выбрать один из этих языков:',
account_privacy_little: 'Ваша конфиденциальность имеет значение',
account_privacy_text: `Мы стремимся защищать вашу конфиденциальность и
предоставлять вам полный контроль над вашими данными. Вы можете запросить полное удаление
аккаунта в любое время. После обработки вся ваша личная информация будет
навсегда удалена с наших серверов.`,
account_privacy_delete_btn: 'Удалить все мои данные',
account_delete_tittle: 'Вы собираетесь удалить свою учетную запись!',
account_delete_description: `Это действие нельзя отменить. Если вы действительно хотите
удалить все свои данные, нажмите кнопку ниже. Если нет, закройте это сообщение, и ваши
данные будут в безопасности.`,
account_delete_btn: 'Да, удалить все',

footer_my_account: 'Мой счет ',

logout: 'Выйти'
};

export default ruTranslations;
5 changes: 3 additions & 2 deletions client/src/constants/spanish.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@ const esTranslations = {
landing_subtitle: '¡Tu mejor aliado para organizar tareas y notas!',
landing_btn_login: 'Iniciar sesión',
landing_btn_register: 'Crear cuenta',
landing_btn_english: 'Inglés',
landing_btn_portuguese: 'Portugués',
landing_btn_english: 'English',
landing_btn_portuguese: 'Português do Brasil',
landing_btn_spanish: 'Español',
landing_btn_russian: 'Русский',

login_title: 'Acceso',
login_email_label: 'Correo electrónico',
Expand Down
4 changes: 4 additions & 0 deletions client/src/i18n.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { initReactI18next } from 'react-i18next';
import enTranslations from './constants/english';
import esTranslations from './constants/spanish';
import ptBrTranslations from './constants/portuguese';
import ruTranslations from './constants/russian';

i18n
.use(initReactI18next)
Expand All @@ -21,6 +22,9 @@ i18n
},
pt_br: {
translation: ptBrTranslations
},
ru: {
translation: ruTranslations
}
}
});
Expand Down
3 changes: 2 additions & 1 deletion client/src/types/UserLangs.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
const USER_LANG = {
ENGLISH: 'en',
SPANISH: 'es',
PORTUGUESE: 'pt_br'
PORTUGUESE: 'pt_br',
RUSSIAN: 'ru'
};

export default USER_LANG;
Loading

0 comments on commit f403905

Please sign in to comment.