diff --git a/README.md b/README.md index d5db51a..59013da 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ [
🌐 Русский README

](./README_RU.md) [
🌐 English README

](./README.md) +[
🌐 Português README

](./README_BR.md)
@@ -16,11 +17,11 @@

- 🌍 Flute DEMO • - 📖 Docs • + 🌍 Flute DEMO • + 📖 Docs💬 Discord

- + Latest release   @@ -69,6 +70,7 @@ To successfully install and run Flute, ensure your system meets the following re # 🚀 Installation of Flute ### On a VDS (Virtual Dedicated Server): + 1. Download Flute from [releases](https://github.com/Flute-CMS/cms/releases). 2. Upload the files to your server. 3. Use the command: @@ -77,15 +79,18 @@ To successfully install and run Flute, ensure your system meets the following re ``` to install dependencies. 4. Configure your web server (Apache/Nginx) and the database. - +  ### On Shared Hosting: + +> [!TIP] +> Watch the video tutorial for installation [here](https://www.youtube.com/watch?v=PCSjl2w7A9k) + 1. Download Flute and the `vendor` folder from [releases](https://github.com/Flute-CMS/cms/releases). 2. Upload them to your hosting via FTP or the hosting provider's file manager. 3. Configure the web server on your hosting to point to the Flute folder. ![gif_install](https://github.com/Flute-CMS/cms/assets/62756604/62b8a0cb-c7ed-431b-981c-470304c1fbd8) - Both installations require setting up the database and configuring Flute.   @@ -93,6 +98,7 @@ Both installations require setting up the database and configuring Flute. 📚 Visit our [documentation](https://docs.flute-cms.com/docs/what_it) for detailed instructions on installation, customization, and module & template development.   + # 👨‍💻 Looking for Opportunities If you need a skilled developer for your projects, reach out to me on (My stack is React / TS / Node / PHP / JS): @@ -104,7 +110,6 @@ If you need a skilled developer for your projects, reach out to me on (My stack # 📦 Free Modules List Discover our range of free modules available for Flute: - - [News module](https://github.com/Flute-CMS/news): Allows you to create news in the Flute - [Monitoring](https://github.com/Flute-CMS/monitoring): Gets information about servers and displays it in a widget - [Bans And Comms](https://github.com/Flute-CMS/BansComms): Displays the list of bans and mutes on a separate page @@ -114,8 +119,8 @@ Discover our range of free modules available for Flute: These modules are designed to enhance your Flute experience and are available at no cost. -   + # 🆘 Getting help Need help with installation, customization, or development? Join our [Discord](https://discord.gg/BcBMeVJJsd) for assistance! Report bugs or issues on: @@ -125,5 +130,5 @@ Need help with installation, customization, or development? Join our [Discord](h   # ⭐ Like what you see? Give us a star! -![flute-gif](https://github.com/Flute-CMS/cms/assets/62756604/87d18227-41ac-4a7d-9210-d46b9fd56049) +![flute-gif](https://github.com/Flute-CMS/cms/assets/62756604/87d18227-41ac-4a7d-9210-d46b9fd56049) diff --git a/README_BR.md b/README_BR.md new file mode 100644 index 0000000..7d73c1b --- /dev/null +++ b/README_BR.md @@ -0,0 +1,134 @@ +

+ +[
🌐 Русский README

](./README_RU.md) +[
🌐 English README

](./README.md) +[
🌐 Português README

](./README_BR.md) +
+ +
+  +

+ + Flute + +

+  + +
+
+

+ 🌍 Flute Website • + 📖 Docs • + 💬 Discord +

+ + Latest release + +   + Discord +   +

+  + +
+ + + Flute Painel Admin + +

+ 👀 Exemplo do Painel Admin +

+ +
+Flute é uma solução abrangente para CS2, CS:S, Minecraft e outros servidores de jogos. Distribuído como código aberto, o Flute permite que você instale e use em seu host gratuitamente! 🎉 + +
+ +

🚀 Vantagens sobre as soluções existentes:

+ + +  + +# 💼 Requisitos + +Para instalar e executar o Flute com êxito, certifique-se de que seu sistema atenda aos seguintes requisitos: +- PHP 7.4 ou posterior. +- MySQL 5.7.29 ou superior / MariaDB 10.2.7 ou superior. +- Servidor web Apache ou Nginx. +- (Opcionalmente) Composer para gerenciamento de dependências. + +  + +# 🚀 Instalação do Flute + +### Em um VDS (Servidor Virtual Dedicado): + +1. Baixe o Flute em [releases](https://github.com/Flute-CMS/cms/releases). +2. Faça upload dos arquivos para o seu servidor. +3. Use o comando: + ``` + composer install + ``` + para instalar dependências. +4. Configure seu servidor web (Apache/Nginx) e o banco de dados. + +### Na Hospedagem Compartilhada: + +> [!TIP] +> Assista ao tutorial em vídeo para instalação [aqui](https://www.youtube.com/watch?v=PCSjl2w7A9k) + +1. Baixe o Flute e a pasta `vendor` em [releases](https://github.com/Flute-CMS/cms/releases). +2. Carregue-os em sua hospedagem via FTP ou no gerenciador de arquivos do provedor de hospedagem. +3. Configure o servidor web em sua hospedagem para apontar para a pasta Flute. + +![gif_install](https://github.com/Flute-CMS/cms/assets/62756604/62b8a0cb-c7ed-431b-981c-470304c1fbd8) + +Ambas as instalações requerem a configuração do banco de dados e a configuração do Flute. + +  + +📚 Visite nossa [documentação](https://docs.flute-cms.com/docs/what_it) para obter instruções detalhadas sobre instalação, personalização e desenvolvimento de módulos e modelos. + +  + +# 👨‍💻 Procurando oportunidades + +Se você precisar de um desenvolvedor qualificado para seus projetos, entre em contato comigo (Meu Stack é React/TS/Node/PHP/JS): +- Discord - flamesina +- [Telegram](https://t.me/flamesina) + +  + +# 📦 Lista de Módulos Gratuitos + +Descubra a nossa gama de módulos gratuitos disponíveis para o Flute: +- [Notícias](https://github.com/Flute-CMS/news): Permite criar notícias no Flute +- [Monitoramento](https://github.com/Flute-CMS/monitoring): Obtém informações sobre servidores e as exibe em um widget +- [Bans & Comms](https://github.com/Flute-CMS/BansComms): Exibe a lista de banimentos e silenciamentos em uma página separada +- [Carrossel](https://github.com/Flute-CMS/carousel): Adiciona um widget de carrossel +- [Estatísticas](https://github.com/Flute-CMS/stats): Cria uma página separada de estatísticas +- ...e muito mais em nossa [página de repositórios](https://github.com/orgs/Flute-CMS/repositories). + +Esses módulos foram projetados para aprimorar sua experiência com o Flute e estão disponíveis gratuitamente. + +  + +# 🆘 Conseguindo ajuda + +Precisa de ajuda com instalação, personalização ou desenvolvimento? Junte-se ao nosso [Discord](https://discord.gg/BcBMeVJJsd) para obter assistência! Relate bugs ou problemas em: +- [GitHub Issues](https://github.com/Flute-CMS/cms/issues) +- [Discord](https://discord.gg/BcBMeVJJsd) + +  + +# ⭐ Gostou do que está vendo? Dê-nos uma star! + +![flute-gif](https://github.com/Flute-CMS/cms/assets/62756604/87d18227-41ac-4a7d-9210-d46b9fd56049) diff --git a/README_RU.md b/README_RU.md index d2df24b..5bd96b0 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,6 +2,7 @@ [
🌐 Русский README

](./README_RU.md) [
🌐 English README

](./README.md) +[
🌐 Português README

](./README_BR.md)
@@ -16,11 +17,11 @@

- 🌍 Демо Flute • - 📖 Документация • + 🌍 Демо Flute • + 📖 Документация💬 Discord

- + Последний релиз   @@ -32,7 +33,7 @@


- Flute dashboard + Flute админ-панели

👀 Пример админ-панели @@ -59,7 +60,6 @@ # 💼 Требования Для успешной установки и работы Flute убедитесь, что ваша система соответствует следующим требованиям: - - PHP версии 7.4 или выше. - MySQL версии 5.7.29 или выше / MariaDB версии 10.2.7 или выше. - Веб-сервер Apache или Nginx. @@ -80,7 +80,10 @@ для установки зависимостей. 4. Настройте ваш веб-сервер (Apache/Nginx) и базу данных. +  ### На Шаред-Хостинге: +> [!TIP] +> Вы можете посмотреть видео-установку [тут](https://www.youtube.com/watch?v=PCSjl2w7A9k) 1. Скачайте Flute и папку `vendor` из [releases](https://github.com/Flute-CMS/cms/releases). 2. Загрузите их на хостинг через FTP или файловый менеджер. @@ -99,7 +102,6 @@ # 👨‍💻 Могу реализовать проект Если вам нужен опытный разработчик для ваших проектов (мой стек - React / TS / Node / PHP / JS), свяжитесь со мной: - - Discord - flamesina - [Telegram](https://t.me/flamesina) @@ -108,7 +110,6 @@ # 📦 Список Бесплатных Модулей Для Flute существуют бесплатные модули. Список основных представлен ниже: - - [Новости](https://github.com/Flute-CMS/news): Позволяет создавать новости в Flute - [Мониторинг](https://github.com/Flute-CMS/monitoring): Получает информацию о серверах и отображает ее в виджете - [Баны и муты](https://github.com/Flute-CMS/BansComms): Отображает список банов и мутов на отдельной странице @@ -123,7 +124,6 @@ # 🆘 Нужна помощь? Нужна помощь с установкой, настройкой или разработкой? Присоединяйтесь к нашему [Discord](https://discord.gg/BcBMeVJJsd) для получения помощи! Если у вас возникли проблемы или ошибки, сообщите о них: - - [GitHub Issues](https://github.com/Flute-CMS/cms/issues) - [Discord](https://discord.gg/BcBMeVJJsd) diff --git a/app/Themes/standard/i18n/en/t_standard.php b/app/Themes/standard/i18n/en/t_standard.php new file mode 100644 index 0000000..5b6535b --- /dev/null +++ b/app/Themes/standard/i18n/en/t_standard.php @@ -0,0 +1,4 @@ + 'Type Navigation', + 'nav_type_desc' => 'What type of navigation should I use? default or navbar?' +]; \ No newline at end of file diff --git a/config/lang.php b/config/lang.php index b4b9296..e84936b 100644 --- a/config/lang.php +++ b/config/lang.php @@ -14,6 +14,7 @@ 6 => 'fr', 7 => 'es', 8 => 'uz', + 9 => 'br', ), 'all' => array ( @@ -26,5 +27,6 @@ 6 => 'fr', 7 => 'es', 8 => 'uz', + 9 => 'br', ), ); \ No newline at end of file diff --git a/i18n/br/admin.php b/i18n/br/admin.php new file mode 100644 index 0000000..8d446af --- /dev/null +++ b/i18n/br/admin.php @@ -0,0 +1,620 @@ + [ + 'header' => 'Dashboard', + 'description' => 'On this page, you can see various graphs and statistics.', + "payments_week" => "Payments for this week", + "payments_month" => "Payments for the month", + 'payments_by_gateways' => 'Payments by gateways', + 'registrations' => 'Registrations', + 'registrations_desc' => 'Registrations for this week' + ], + 'will_be_in_beta' => 'Will be in beta release', + "menu" => [ + "main-menu" => "Main Menu", + "additional-menu" => "Additional Menu" + ], + 'support' => 'Support', + 'documentation' => 'Documentation', + 'confirm_delete' => 'Are you sure you want to delete this?', + "in_dev" => "The engine is in development. Stability is not guaranteed", + "installed_version" => "Installed version", + "recent" => "Recently visited", + "title" => "name :: Admin Panel", + "main" => "Main", + "dashboard" => "Dashboard", + "settings" => "Settings", + 'create_log' => 'Create report', + "modules" => [ + "title" => "Modules", + "list" => "Module list", + "install" => "Install module", + "catalog" => "Module catalog" + ], + "themes" => [ + "title" => "Themes", + "list" => "Theme list", + "install" => "Install theme", + "catalog" => "Theme catalog" + ], + 'engine_version' => "Engine version", + "check_updates" => "Check for updates", + 'payments.title' => 'Payment Gateways', + 'payments.list' => 'Gateway List', + 'payments.add' => 'Add Gateway', + 'socials.title' => 'Authentication Drivers', + 'socials.list' => 'Driver List', + 'socials.add' => 'Add Driver', + 'servers.title' => 'Servers', + 'servers.list' => 'Server List', + 'users_roles.title' => 'Users and Roles', + 'users.list' => 'User List', + 'roles.list' => 'Role List', + 'footer.title' => 'Footer', + 'footer.customize' => 'Customize Footer', + 'navbar.title' => 'Navigation', + 'navbar.customize' => 'Customize Navigation', + 'db_error' => 'Database connection error', + 'db_not_found' => 'Database not found', + 'db_already_exists' => 'Database already exists', + 'connection_not_found' => "Connection ':connectionName' not found", + 'connection_already_exists' => "Connection ':connectionName' already exists", + 'unknown_error' => 'Unknown error', + 'success' => 'Operation completed successfully', + 'cannot_delete_last_db' => 'You cannot delete the only DB!', + 'cannot_delete_default_db' => 'You cannot delete the system DB!', + 'cannot_delete_last_connection' => 'You cannot delete the only connection!', + 'cannot_delete_default_connection' => 'You cannot delete the system-involved connection!', + 'confirm_delete_db' => 'Are you sure you want to delete the database name?', + 'confirm_delete_connection' => 'Are you sure you want to delete the connection name?', + 'add_db_title' => 'Add DB', + 'edit_db_title' => 'Edit DB for name', + 'add_connection_title' => 'Add Connection', + 'edit_connection_title' => 'Edit name Parameters', + 'default_db' => 'Default database', + 'default_db_help' => 'Select the database for connection.', + 'table_prefix' => 'Table Prefix', + 'table_prefix_placeholder' => 'Prefix for tables', + 'table_prefix_help' => 'Optional prefix for table names.', + 'db_name' => 'Database Name', + 'db_name_placeholder' => 'Specify the name', + 'db_connection_name' => 'Connection Name', + 'db_connection_name_placeholder' => 'Write a name', + 'db_driver' => 'Driver Selection', + 'db_host' => 'Host', + 'db_host_placeholder' => 'Database host', + 'db_user' => 'User', + 'db_user_placeholder' => 'Username', + 'db_password' => 'Password', + 'db_password_placeholder' => 'Password', + 'db_port' => 'Port', + 'db_port_placeholder' => 'Port', + 'settings_bar' => [ + 'system' => 'System', + 'auth' => 'Authentication', + 'database' => 'Databases', + 'language' => 'Language', + 'smtp' => 'SMTP', + 'profile' => 'Profile', + 'lk' => 'Replenishment', + 'cache' => 'Cache' + ], + 'cache' => [ + 'clear_all' => 'Clear all cache', + 'clear_template' => 'Clear template cache', + 'clear_translate' => 'Clear translation cache', + 'clear_styles' => 'Clear styles cache', + 'all' => 'General cache', + 'all_desc' => 'Clears all system cache. From templates to styles', + 'translate' => 'Translations', + 'translate_desc' => 'Clears all translation cache. Relevant only when translation caching is enabled', + 'template' => 'Templates', + 'template_desc' => 'Clears all template cache. After clearing the cache, each template will be recompiled', + 'styles' => 'Styles', + 'styles_desc' => 'The template caches all module/engine styles inside the public/ folder. So it will clear the cache from there' + ], + 'main_settings' => [ + 'header' => 'Main Settings', + 'description' => 'System settings where you can change the main components of the system', + ], + 'app' => [ + 'name_label' => 'Name', + 'name_description' => 'This option allows you to change the site name.', + 'url_label' => 'URL', + 'url_description' => 'URL address of your site.', + 'debug_mode_label' => 'Debug Mode', + 'debug_mode_description' => 'Enable or disable debug mode.', + 'performance_mode_label' => 'Performance Mode', + 'performance_mode_description' => 'Activate mode to optimize performance.', + 'key_label' => 'Security Key', + 'key_description' => 'Security key for internal use. Application key is not a Steam key', + 'hints_label' => 'Hints', + 'hints_description' => 'Enable displaying hints on the site.', + 'error_sharing_label' => 'Error Sharing', + 'error_sharing_description' => 'Enable error reporting to the Flute server', + 'flute_copyright_label' => 'Flute Copyright', + 'flute_copyright_description' => 'Show Flute copyright in the footer', + 'timezone_label' => 'Timezone', + 'timezone_description' => 'Specify the timezone for the site.', + 'notifications_label' => 'Notifications', + 'notifications_description' => 'Configure notification settings.', + 'notifications_all' => 'All notifications', + 'notifications_unread' => 'Only unread', + 'save_button' => 'Save', + 'debug_ips_label' => 'Debug IP Addresses', + 'debug_ips_description' => 'Enter addresses where debug mode will be enabled (comma separated)', + 'get_ip' => 'Get my IP', + 'steam_label' => 'STEAM API Key', + 'steam_description' => 'Key required to get avatars from Steam servers', + 'logo' => 'Logo', + 'favicon_desc' => 'This is the icon displayed in your browser tab 👀' + ], + 'lk' => [ + 'currency_view_label' => 'Currency (view)', + 'currency_view_description' => 'Specify the currency displayed on the site.', + 'min_label' => 'Min. amount', + 'min_description' => 'Minimum replenishment amount', + 'oferta' => 'Offer', + 'oferta_description' => 'Should users be required to confirm the offer?' + ], + 'auth_form' => [ + 'remember_me_label' => 'Remember Me', + 'remember_me_description' => 'Automatically log in to the system on next visit.', + 'remember_me_duration_label' => 'Remember Me Duration', + 'remember_me_duration_description' => 'Time (in seconds) user remains logged in.', + 'csrf_protection_label' => 'CSRF Protection', + 'csrf_protection_description' => 'Enable protection against cross-site request forgery.', + 'reset_password_label' => 'Reset Password', + 'reset_password_description' => 'Allow users to reset forgotten passwords.', + 'security_token_label' => 'Security Token', + 'security_token_description' => 'Use security token for additional protection.', + 'confirm_email_label' => 'Email Confirmation', + 'confirm_email_description' => 'Require email confirmation on registration.', + 'social_support_label' => '(NOT WORKING) Register After Social Networks', + 'social_support_description' => 'Should registration with password setup after social network registration be done?', + 'login_min_length_label' => 'Minimum Login Length', + 'login_min_length_description' => 'Minimum allowed login length.', + 'login_max_length_label' => 'Maximum Login Length', + 'login_max_length_description' => 'Maximum allowed login length.', + 'password_min_length_label' => 'Minimum Password Length', + 'password_min_length_description' => 'Minimum allowed password length.', + 'password_max_length_label' => 'Maximum Password Length', + 'password_max_length_description' => 'Maximum allowed password length.', + 'name_min_length_label' => 'Minimum Name Length', + 'name_min_length_description' => 'Minimum allowed name length.', + 'name_max_length_label' => 'Maximum Name Length', + 'name_max_length_description' => 'Maximum allowed name length.', + 'login_validation_label' => 'Login Validation', + 'password_validation_label' => 'Password Validation', + 'name_validation_label' => 'Name Validation', + 'only_social' => 'Only social', + 'only_social_label' => 'Enable authorization and registration only via social networks' + ], + 'form_database' => [ + 'default_database_label' => 'Default Database', + 'default_database_description' => 'Select the default database.', + 'debug_mode_label' => 'Debug Mode', + 'debug_mode_description' => 'Enable or disable database debug mode.', + 'manage_connections_label' => 'Manage Connections', + 'manage_connections_description' => 'Add, remove, and modify database connections.', + 'manage_databases_label' => 'Manage Databases', + 'manage_databases_description' => 'Add, remove, and modify databases.', + 'add_new_connection_button' => 'Add New Connection', + 'add_new_database_button' => 'Add New Database', + ], + 'form_lang' => [ + 'language_label' => 'Language', + 'language_description' => 'Select the language for the site interface.', + 'caching_label' => 'Caching', + 'caching_description' => 'Enable or disable caching.', + 'langs_available' => 'Available languages', + 'langs_available_description' => 'Select the languages that will be available in Flute' + ], + 'form_mail' => [ + 'smtp_enabled_label' => 'SMTP Enabled', + 'smtp_enabled_description' => 'Enable SMTP client.', + 'smtp_host_label' => 'SMTP Host', + 'smtp_host_description' => 'SMTP server address.', + 'smtp_port_label' => 'SMTP Port', + 'smtp_port_description' => 'SMTP server port.', + 'smtp_from_label' => 'Sender Address', + 'smtp_from_description' => 'Sender email address.', + 'smtp_username_label' => 'SMTP Username', + 'smtp_username_description' => 'Username for SMTP.', + 'smtp_password_label' => 'SMTP Password', + 'smtp_password_description' => 'Password for SMTP.', + 'smtp_security_label' => 'SMTP Security', + 'smtp_security_description' => 'Connection security type (e.g., TLS).', + ], + 'form_profile' => [ + 'max_banner_size_label' => 'Max. Banner Size (MB)', + 'max_banner_size_description' => 'Maximum banner size in megabytes.', + 'max_avatar_size_label' => 'Max. Avatar Size (MB)', + 'max_avatar_size_description' => 'Maximum avatar size in megabytes.', + 'banner_file_types_label' => 'Banner File Types', + 'banner_file_types_description' => 'Allowed file types for banners.', + 'avatar_file_types_label' => 'Avatar File Types', + 'avatar_file_types_description' => 'Allowed file types for avatars.', + 'change_uri_label' => 'Change URI', + 'change_uri_description' => 'Enable or disable URI change capability.', + 'convert_to_webp_label' => 'Convert to WebP', + 'convert_to_webp_description' => 'Automatically convert images to WebP format.', + ], + 'modules_list' => [ + 'authors' => 'Authors', + 'header' => 'Module List', + 'description' => 'Page displaying all modules defined in the system.', + 'manage' => 'Module Settings - key', + 'sp_settings' => "ServiceProvider Settings", + 'sp_error' => 'Provider class not defined in the system', + 'drag' => "Drag ZIP archive with module here", + "module_install" => "Module Installation", + "version" => "Module Version - version", + 'confirm_delete' => 'Are you sure you want to delete this module?', + 'confirm_install' => 'Are you sure you want to install this module?', + "module_name" => "Module Installation - name", + 'enable_module' => "Enable Module", + 'disable_module' => 'Disable Module', + 'install_module' => 'Install Module', + 'delete_module' => 'Delete Module', + 'module_is_not_exists' => 'Module with key key does not exist.', + 'upload_zip_required' => 'ZIP file of the module is required to be uploaded.', + 'invalid_zip' => 'Invalid ZIP file format.', + 'max_zip_size' => 'Maximum ZIP file size is maxSize bytes.', + 'zip_open_failed' => 'Failed to open ZIP archive.', + 'single_folder_expected' => 'Expected a single root folder in ZIP archive.', + 'module_already_exists' => 'Module with such name already exists.', + 'zip_extraction_failed' => 'Failed to extract files from ZIP archive.', + 'module_json_not_found' => 'module.json file not found at the root of the archive.', + 'invalid_module_json' => 'Invalid module.json file format.', + ], + 'themes_list' => [ + 'header' => 'Theme List', + 'description' => 'Page displaying all themes available in the system.', + 'manage' => 'Theme Management - key', + 'drag' => 'Drag ZIP archive with theme here', + 'theme_install' => 'Theme Installation', + 'version' => 'Theme Version - version', + 'confirm_delete' => 'Are you sure you want to delete this theme?', + 'confirm_install' => 'Are you sure you want to install this theme?', + 'theme_name' => 'Theme Installation - name', + 'enable_theme' => 'Enable Theme', + 'disable_theme' => 'Disable Theme', + 'install_theme' => 'Install Theme', + 'delete_theme' => 'Delete Theme', + 'theme_settings' => 'Theme Settings', + 'unknown_theme' => 'Unknown Theme', + 'upload_zip_required' => 'ZIP file of the theme is required to be uploaded.', + 'invalid_zip' => 'Invalid ZIP file format.', + 'zip_open_failed' => 'Failed to open ZIP archive.', + 'single_folder_expected' => 'Expected a single root folder in ZIP archive.', + 'theme_already_exists' => 'Theme with such name already exists.', + 'zip_extraction_failed' => 'Failed to extract files from ZIP archive.', + 'loader_not_found' => 'ThemeLoader.php file not found at the root of the archive.', + ], + 'servers' => [ + 'mod' => 'Game', + 'header' => 'Server List', + 'description' => 'List of all servers added to the CMS', + 'add' => 'Add Server', + 'delete' => 'Delete Server', + 'confirm_delete' => 'Are you sure you want to delete this server?', + 'change' => 'Change Server', + 'game' => 'Game', + 'add_title' => 'Add Server', + 'add_description' => 'On this page, you can add a new server to the CMS', + 'name_label' => 'Server Name', + 'name_placeholder' => 'Enter server name', + 'ip_label' => 'Server IP', + 'ip_placeholder' => 'Enter server IP', + 'port_label' => 'Server Port', + 'port_placeholder' => 'Enter server port', + 'rcon_label' => 'RCON (optional)', + 'rcon_placeholder' => 'Enter RCON password', + 'game_label' => 'Game Selection', + 'edit' => 'Edit Server', + 'edit_title' => 'Edit Server - server', + 'edit_description' => 'On this page, you can modify a server already added to the CMS', + 'not_found' => 'The specified server was not found', + 'server_duplicate' => 'A server with these details already exists!', + ], + 'payments' => [ + 'header' => 'Payment Gateways', + 'description' => 'List of payment gateways required for user balance top-up.', + 'delete' => 'Delete Gateway', + 'change' => 'Change Gateway', + 'confirm_delete' => 'Are you sure you want to delete this gateway?', + 'enable_payment' => 'Activate Gateway', + 'disable_payment' => 'Disable Gateway', + 'gateway_label' => 'Payment System Name', + 'adapter' => 'Identifier', + 'adapter_description' => 'Enter the identifier by which the payment system will be determined. List of gateways here', + 'params' => 'Gateway Parameters', + 'enabled' => 'Enabled', + 'enabled_description' => 'Enable or disable the gateway by default', + 'add_title' => 'Add Payment Gateway', + 'add_description' => 'On this page, you can add a payment gateway to the system', + 'gateway_not_exists' => 'Payment driver "name" not found', + 'min_one_value' => "At least one parameter must be specified", + 'exists' => 'Payment gateway "name" already exists', + 'edit_title' => 'Edit Gateway - name', + 'edit_description' => 'On this page, you can modify the parameters of a specific gateway', + 'not_found' => 'Payment gateway not found', + 'currency_label' => 'Currency', + 'currency_description' => 'Specify the currency to be used for payment systems', + 'payments_header' => 'Payment List', + 'payments_descrition' => 'On this page, you can view all completed and incomplete payments', + 'promo' => [ + 'max_use' => 'Max. Uses', + 'used' => 'Used', + 'list' => 'Promo Codes List', + 'add' => 'Add Promo Code', + 'header' => 'Payment Promo Codes', + 'description' => 'List of available promo codes for bonuses to user balance top-ups', + 'delete' => 'Delete Promo Code', + 'change' => 'Change Promo Code', + 'confirm_delete' => 'Are you sure you want to delete this promo code?', + 'add_title' => 'Add Promo Code', + 'add_description' => 'On this page, you can add a promo code to the system', + 'not_found' => 'Promo code not found', + 'exists' => 'Promo code "name" already exists', + 'edit_title' => 'Edit Promo Code - name', + 'edit_description' => 'On this page, you can modify the parameters of a specific promo code', + 'promo_duplicate' => 'Promo code with this name already exists!', + 'name_label' => 'Promo Code Name', + 'max_usages_label' => 'Maximum Usages', + 'max_usages' => '500', + 'type_label' => 'Promo Code Type', + 'value_label' => 'Promo Code Value', + 'expires_at' => 'Expiration Date', + 'percentage' => 'Percentage', + 'subtract' => 'Subtract', + 'amount' => 'Add Amount', + ] + ], + 'socials' => [ + 'key' => 'Identifier', + 'add_title' => 'Add Driver', + 'add_description' => 'On this page, you can add a driver for custom user authentication.', + 'social_label' => 'Driver Key', + 'settings_label' => 'Driver Settings', + 'enabled' => 'Activity', + 'enabled_description' => 'Enable or disable the driver by default', + 'delete' => 'Delete Driver', + 'change' => 'Change Driver', + 'confirm_delete' => 'Are you sure you want to delete this driver?', + 'enable_social' => 'Activate Driver', + 'disable_social' => 'Disable Driver', + 'header' => 'Driver List', + 'description' => 'On this page, you can manage authentication drivers via social networks', + 'social_icon_label' => 'Social Network Icon', + 'social_not_exists' => 'Driver "name" not found!', + 'edit_title' => 'Edit Driver - name', + 'edit_description' => 'On this page, you can modify the data of an authentication driver', + 'not_found' => 'Driver not found' + ], + 'users' => [ + 'created' => 'Registration Date', + 'change' => 'Change', + 'delete' => 'Delete', + 'header' => 'User List', + 'description' => 'List of all registered users on the site', + 'edit' => 'Edit User', + 'edit_title' => 'Edit User name', + 'edit_description' => 'Modify user information', + 'name' => 'Name', + 'email' => 'Email', + 'balance' => 'Balance', + 'login' => 'Login', + 'uri' => 'URI', + 'roles' => 'Roles', + 'information' => 'User Information', + 'created_at' => 'Creation Date', + 'verified' => 'Verified', + 'hidden' => 'Hidden', + 'not_verf' => 'Not Verified', + 'verf' => 'Verified', + 'not_hid' => 'Not Hidden', + 'hid' => 'Hidden', + 'logs' => 'Logs', + 'social' => 'Social Networks', + 'devices' => 'Devices', + 'not_found' => 'User not found', + 'action' => 'Action', + 'action_details' => 'Details', + 'action_date' => 'Action Date', + 'device' => 'Device', + 'login_error' => 'Invalid login format', + 'role_priority_error' => 'Role "role" has a higher priority than yours', + 'cannot_remove_highest_role' => 'You cannot delete a role equal to your priority!', + 'delete_permission_error' => 'Grow up first, then we\'ll see', + 'cannot_delete_self' => 'You cannot delete yourself!', + 'invoices' => [ + 'title' => 'Refills', + 'gateway' => 'Payment Gateway', + 'amount' => 'Amount', + 'promo' => 'Promo Code', + 'paid_at' => 'Payment Date' + ] + ], + 'roles' => [ + 'priority' => 'Priority', + 'header' => 'Role List', + 'description' => 'On this page, all existing roles in Flute are presented', + 'empty' => 'Role list is empty', + 'add' => 'Create Role', + 'edit_title' => 'Edit Role - name', + 'edit_description' => 'Role modification page', + 'role_label' => 'Role Name', + 'role_color' => 'Role Highlight Color', + 'permissions' => 'Permissions', + 'perm_desc' => 'Select the necessary permissions for the role', + 'no_access' => 'You do not have access to this role!', + 'add_title' => 'Add Role', + 'add_description' => 'On this page, you can add a new role', + 'confirm_delete' => 'Are you sure you want to delete this role?' + ], + 'navigation' => [ + 'confirm_delete' => 'Are you sure you want to delete this item?', + 'header' => 'Navigation List', + 'description' => 'On this page, you can configure all navigation items', + 'add' => 'Add Item', + 'not_found' => 'Item not found', + 'add_title' => 'Add Item', + 'add_description' => 'On this page, you can add a new navigation item', + 'navigation_label' => 'Item Name', + 'icon_label' => 'Icon', + 'icon_desc' => 'Take icons from here.
(Example) Enter only what is highlighted in bold: <i class="ph ph-air-traffic-control"></i>', + 'url_label' => 'URL', + 'new_tab' => 'New Tab', + 'new_tab_description' => 'Should the link open in a new tab?', + 'visible_only_for_guests' => 'Visibility for Guests', + 'visible_only_for_guests_description' => 'Show this item only to unauthorized users?', + 'visible_only_for_logged_in' => 'Visibility for Logged In', + 'visible_only_for_logged_in_description' => 'Show this item only to logged-in users?', + 'roles' => 'Roles', + 'roles_desc' => 'Select the roles that will have access to view this item. You can leave it blank', + 'edit_title' => 'Edit name', + 'edit_description' => 'On this page, you can modify a navigation item', + 'edit' => 'Edit Item', + ], + 'footer' => [ + 'social' => 'Social Networks', + 'confirm_delete' => 'Are you sure you want to delete this link?', + 'social_confirm_delete' => 'Are you sure you want to delete this social network?', + 'header' => 'Footer Links List', + 'description' => 'On this page, you can configure all links in the footer of the site', + 'add' => 'Add Link', + 'not_found' => 'Link not found', + 'add_title' => 'Add Link', + 'add_description' => 'On this page, you can add a new link in the footer', + 'footer_label' => 'Link Name', + 'url_label' => 'URL', + 'new_tab' => 'New Tab', + 'new_tab_description' => 'Should the link open in a new tab?', + 'edit_title' => 'Edit name', + 'edit_description' => 'On this page, you can edit the link in the footer', + 'edit' => 'Edit Link', + 'social_delete' => 'Delete Social Network', + 'social_change' => 'Change Social Network', + 'social_header' => 'List of Social Networks in Navigation', + 'social_description' => 'On this page, all social networks displayed in the footer of the site are presented', + 'social_add' => 'Add Social Network', + 'social_add_title' => 'Adding Social Network', + 'social_add_description' => 'On this page, you can add a new social network in the footer of the site', + 'social_footer_label' => 'Link Name', + 'social_icon_label' => 'Icon Code', + 'social_url_label' => "URL", + 'social_edit_title' => 'Edit - name', + 'social_edit_description' => 'On this page, you can modify the parameters of the link' + ], + 'pages' => [ + 'title' => 'Custom Pages', + 'header' => 'Custom Pages', + 'add' => 'Add Page', + 'description' => 'On this page, you can create custom pages for different paths. No need to write modules for rules! :)', + 'edit_title' => 'Edit Page: :name', + 'edit_description' => 'Here you can change the parameters of the page', + 'add_title' => 'Adding Custom Page', + 'add_description' => 'On this page, you can add a custom page', + 'route_label' => 'Route', + 'route_desc' => 'The link through which the page will be accessed', + 'title_label' => 'Title', + 'description_label' => 'Description', + 'keywords_label' => 'Keywords', + 'keywords_desc' => 'Enter keywords for search engines to index this link. (e.g., "csgo, cs2, cs2 server)', + 'robots_label' => 'Robot Instructions', + 'robots_desc' => 'Which indexing parameter to use. All rules are listed here', + 'og_title_label' => 'OG: Title', + 'og_description_label' => 'OG: Description', + 'og_image_label' => 'OG: Image', + 'permission_label' => 'Permissions', + 'permission_description' => 'Access control to this page', + 'permissions' => 'Access Rights', + 'perm_desc' => 'Select the access rights that will have access to view this page', + 'validate_route_error' => 'Your link is not valid', + 'route_exists' => 'A page with this link already exists!', + 'not_found' => 'Such a page was not found!', + 'content' => 'Page Content', + ], + 'notifications' => [ + 'title' => 'Notifications', + 'header' => 'Custom Notifications', + 'description' => 'On this page, you can configure custom notifications for any event in the engine', + 'add' => 'Add Notification', + 'not_found' => 'Such an event was not found!', + 'event' => 'Event', + 'icon' => 'Icon', + 'icon_desc' => 'Take icons from here.
(Example) Enter as shown in the example:
<i class="ph ph-air-traffic-control"></i>', + 'url' => 'Link (optional)', + 'title_label' => 'Notification Title', + 'content' => 'Notification Content', + 'content_desc' => 'Available parameters: {name}, {login}, {email}, {balance}', + 'edit_title' => 'Edit Notification', + 'edit_description' => 'On this page, you can change the parameters of the listener for notifications.', + 'add_title' => 'Adding Listener', + 'add_description' => 'On this page, you can add a notification for any event in the Flute CMS' + ], + 'api' => [ + 'add_title' => 'Adding a New API Key', + 'add_description' => 'On this page, you can generate a new API key with specific permissions', + 'key' => 'Your Key', + 'permissions' => 'Key Permissions', + 'perm_desc' => 'The key must have execution permissions. Here they are selected.', + 'header' => 'List of Issued API Keys', + 'description' => 'This page displays a list of all keys in the engine', + 'add' => 'Add a New API Key', + 'regenerate' => 'Regenerate' + ], + 'databases' => [ + 'title' => 'Database Associations', + 'server_not_found' => 'Server Not Found', + 'params_empty' => 'Some parameters are empty', + 'setting_description' => 'Here you can configure the binding of a specific database driver to the server', + 'add' => 'Add Association', + 'dbname' => 'Database Name', + 'dbname_desc' => 'This database will be used by the driver', + 'server' => 'Associated Server', + 'add_description' => 'On this page, you can add a new association between the server and the database', + 'mod' => 'Driver Name', + 'mod_desc' => 'This is the driver that will be bound to the server', + 'server_label' => 'Server', + 'edit_title' => 'Edit Association', + 'edit_description' => 'On this page, you can edit the association for a specific server', + 'settings' => 'Additional settings' + ], + 'composer' => [ + 'title' => 'Composer', + 'setting_description' => 'On this page, you can add or remove a new Composer package', + 'name' => 'Package Name', + 'installed' => 'Installed Version', + 'add' => 'Add Package', + 'add_description' => 'This page displays a table of all Composer packages. You can install any', + 'packageName' => 'Package Name', + 'description' => 'Description', + 'downloads' => 'Downloads', + 'download' => '' + ], + 'translate' => [ + 'title' => 'Translations', + 'setting_description' => 'On this page, you can create your own phrases for Flute with the key custom.', + 'edit' => 'Edit translation phrases - :code', + 'edit_description' => 'On this page, you can create or modify new translations with the key custom.', + 'translations' => 'Phrases' + ], + 'currency' => [ + 'title' => 'Currencies', + 'setting_description' => 'List of custom currencies created in Flute', + 'currency' => 'Currency (code)', + 'add' => 'Add Currency', + 'add_description' => 'On this page, you can add a new currency', + 'min_value' => 'Minimum Value', + 'min_value_desc' => 'Specify the minimum top-up amount for this currency', + 'exchange_rate' => 'Exchange Rate', + 'exchange_rate_desc' => 'Specify the conversion percentage of the amount to this currency', + 'gateway' => 'Which payment gateways does it apply to', + 'edit' => 'Edit Currency', + 'edit_description' => 'On this page, you can edit currency parameters' + ], + 'confirm_install' => 'Are you sure you want to install this?', + 'may_have_errors' => 'This feature may work unstably!' +]; \ No newline at end of file diff --git a/i18n/br/alerts.php b/i18n/br/alerts.php new file mode 100644 index 0000000..325ca38 --- /dev/null +++ b/i18n/br/alerts.php @@ -0,0 +1,7 @@ + 'Selecionar Idioma', + 'lang_correct' => 'Tudo correto', + 'lang_message' => 'Idioma detectado corretamente?', + 'cookie_message' => 'Nós utilizamos Cookies', + 'cookie_text' => 'Nós utilizamos Cookies para garantir o funcionamento adequado do nosso site. Ao continuar a usar o site, você concorda com estes termos.', +]; \ No newline at end of file diff --git a/i18n/br/auth.php b/i18n/br/auth.php new file mode 100644 index 0000000..6317227 --- /dev/null +++ b/i18n/br/auth.php @@ -0,0 +1,65 @@ + 'Login realizado com sucesso', + 'incorrect_password_or_login' => 'Login ou senha incorretos', + 'too_many_requests' => 'Muitas solicitações', + 'register_email' => 'Por favor, confirme seu endereço de e-mail', + 'register_success' => 'Registro realizado com sucesso', + 'logout_success' => 'Logout realizado com sucesso', + 'remember_me' => 'Lembrar-me', + 'account_not_verified' => 'Conta não verificada.', + 'resend_verification' => 'Reenviar e-mail de verificação', + 'lost_password' => 'Esqueceu a senha?', + 'do_not_have_account' => 'Não tem uma conta?', + 'do_have_account' => 'Já tem uma conta?', + 'submit_reset_success' => 'O link de redefinição de senha foi enviado', + 'submit_reset_error' => 'Erro ao enviar o formulário', + 'errors' => [ + 'user_not_found' => 'Usuário não encontrado', + 'social_not_found' => 'Rede social não encontrada', + 'unknown' => 'Erro desconhecido', + ], + 'reset' => [ + 'title' => 'Redefinição de Senha', + 'subject' => 'Redefinição de Senha', + 'button' => 'Enviar link', + 'changed' => 'Senha alterada com sucesso', + 'token_not_found' => 'Token de redefinição de senha não encontrado', + 'token_expired' => 'Token de redefinição de senha expirado', + ], + 'auth' => [ + 'title' => 'Autorização', + 'login' => 'Login ou e-mail', + 'enter_login' => 'Digite o login ou e-mail', + 'password' => 'Senha', + 'enter_password' => 'Digite a senha', + 'button' => 'Login', + 'via_login' => 'Ou', + ], + 'confirmation' => [ + 'subject' => 'Confirmação de Conta', + 'success' => 'Confirmação bem-sucedida', + 'verify_old' => 'A confirmação já foi realizada ou expirou', + ], + 'registration' => [ + 'title' => 'Registro', + 'login' => 'Login', + 'enter_login' => 'Digite o login', + 'name' => 'Nome', + 'enter_name' => 'Digite o nome', + 'email' => 'E-mail', + 'enter_email' => 'Digite o e-mail', + 'password' => 'Senha', + 'enter_password' => 'Digite a senha', + 'password_confirmation' => 'Confirmação de Senha', + 'enter_password_confirmation' => 'Digite a confirmação da senha', + 'enter_password_confirmation_incorrect' => 'Confirmação de senha incorreta', + 'login_symbols' => 'Logins só podem conter letras e números em inglês', + 'button' => 'Registrar', + 'login_min_length' => 'Login deve ter pelo menos caractere(s)', + 'login_max_length' => 'Login não deve exceder caractere(s)', + 'name_min_length' => 'Nome deve ter pelo menos caractere(s)', + 'name_max_length' => 'Nome não deve exceder caractere(s)', + 'password_min_length' => 'Senha deve ter pelo menos caractere(s)', + 'password_max_length' => 'Senha não deve exceder caractere(s)', + ], +]; \ No newline at end of file diff --git a/i18n/br/custom.php b/i18n/br/custom.php new file mode 100644 index 0000000..afa3de5 --- /dev/null +++ b/i18n/br/custom.php @@ -0,0 +1,5 @@ + '212121', +); \ No newline at end of file diff --git a/i18n/br/def.php b/i18n/br/def.php new file mode 100644 index 0000000..1453c30 --- /dev/null +++ b/i18n/br/def.php @@ -0,0 +1,184 @@ + "Voltar", + "save" => "Salvar", + "delete" => "Excluir", + "cancel" => "Cancelar", + "edit" => "Editar", + "add" => "Adicionar", + "close" => "Fechar", + "clear" => "Limpar", + "yes" => "Sim", + "no" => "Não", + "ok" => "Ok", + "home" => "Início", + "logout" => "Sair", + "admin" => "Admin", + "balance" => "Saldo", + "my_balance" => "Meu Saldo", + "my_profile" => "Meu Perfil", + "admin_panel" => "Painel de Administração", + "profile" => "Perfil", + "page_editor" => "Editor de Página", + "main" => "Principal", + "profile_user" => "Perfil do usuário %user%", + "settings" => "Configurações", + "profile_settings" => "Configurações do Perfil", + "user_profile" => "Perfil do Usuário - %user%", + "back_home" => "Voltar para o Início", + "error_code" => "Erro: %error%", + "error" => "Erro", + "success" => "Sucesso", + "info" => "Informação", + "warning" => "Aviso", + "confirm" => "Confirmar Ação", + "delete_confirm" => "Tem certeza de que deseja excluir este registro?", + "delete_success" => "Exclusão bem-sucedida", + "delete_fail" => "Falha na exclusão", + "delete_error" => "Erro ao excluir registro", + "edit_success" => "Edição bem-sucedida", + "edit_fail" => "Falha na edição", + "edit_error" => "Erro ao editar registro", + "add_success" => "Adição bem-sucedida", + "add_fail" => "Falha na adição", + "add_error" => "Erro ao adicionar registro", + "search" => "Buscar", + "search_results_for" => "Resultados da busca por '%query%'", + "no_results_found" => "Nenhum resultado encontrado", + "username" => "Nome de usuário", + "password" => "Senha", + "login" => "Login", + "email" => "E-mail", + "update" => "Atualizar", + "load_more" => "Carregar Mais", + "loading" => "Carregando", + "submit" => "Enviar", + "read_more" => "Leia Mais", + "view" => "Visualizar", + "view_all" => "Ver Todos", + "create_new" => "Criar Novo", + "create" => "Criar", + "post" => "Postar", + "category" => "Categoria", + "tags" => "Tags", + "required" => "Campo Obrigatório", + "optional" => "Campo Opcional", + "auth" => "Autenticar", + "register" => "Registrar", + "exit_without_saving" => "Sair sem salvar?", + "not_authorized" => "Não Autorizado", + "restricted_area" => "Área Restrita", + "save_changes" => "Salvar Alterações", + "changes_saved" => "Alterações salvas", + "details" => "Detalhes", + "preview" => "Prévia", + "select_file" => "Selecionar Arquivo", + "choose" => "Escolher", + "upload_file" => "Enviar Arquivo", + "upload_image" => "Enviar Imagem", + "remove_image" => "Remover Imagem", + "file_not_supported" => "Arquivo não suportado", + "upload_success" => "Upload bem-sucedido", + "upload_fail" => "Falha no upload", + "server_error" => "Erro do Servidor", + "continue" => "Continuar", + "publish" => "Publicar", + "published" => "Publicado", + "unpublish" => "Despublicar", + "draft" => "Rascunho", + "title" => "Título", + "description" => "Descrição", + "date" => "Data", + "author" => "Autor", + "status" => "Status", + "actions" => "Ações", + "select_option" => "Selecionar Opção", + "filter" => "Filtrar", + "all" => "Todos", + "active" => "Ativo", + "inactive" => "Inativo", + "refresh" => "Atualizar", + "send" => "Enviar", + "previous" => "Anterior", + "next" => "Próximo", + "privacy_policy" => "Política de Privacidade", + "terms_conditions" => "Termos e Condições", + "sitemap" => "Mapa do Site", + "contact_us" => "Contate-nos", + "about_us" => "Sobre Nós", + "go_to_top" => "Ir para o Topo", + "language" => "Idioma", + "change_language" => "Mudar Idioma", + "welcome" => "Bem-vindo", + "see_details" => "Ver Detalhes", + "copy" => "Copiar", + "view_more" => "Ver Mais", + "complete" => "Completo", + "incomplete" => "Incompleto", + "welcome_back" => "Bem-vindo de volta", + "sign_in_to_continue" => "Faça login para continuar", + "good_morning" => "Bom dia", + "good_afternoon" => "Boa tarde", + "good_evening" => "Boa noite", + "good_night" => "Boa noite", + "logout_message" => "Você saiu com sucesso", + "login_message" => "Você entrou com sucesso", + "dashboard" => "Painel", + "contents" => "Conteúdo", + "preferences" => "Preferências", + "analytics" => "Análises", + "reports" => "Relatórios", + "system" => "Sistema", + "logs" => "Logs", + "help" => "Ajuda", + "documentation" => "Documentação", + "support" => "Suporte", + "version" => "Versão", + "socials" => "Nossas Redes Sociais", + "page_not_found" => "Página Não Encontrada", + "method_not_allowed" => "Método Não Permitido", + "goto" => "Ir para", + "back_to" => "Voltar para", + "notification" => "Notificação", + "notifications" => "Notificações", + "en" => "Inglês", + "ru" => "Russo", + "de" => "Alemão", + "fr" => "Francês", + "es" => "Espanhol", + "it" => "Italiano", + "uk" => "Ucraniano", + "uz" => "Uzbeque", + "br" => "Português Brasil", + "found" => "Resultados encontrados:", + "widget_has_errors" => "O widget - %name% possui erros. Por favor, remova-o da lista de widgets imediatamente!", + "choose_widget" => "Escolher Widget", + "new_notification_1" => "Você recebeu uma nova notificação!", + "new_notification_2" => "Você recebeu novas notificações!", + "new_notification_5" => "Você recebeu novas notificações!", + "attention_save" => "Atenção! Não se esqueça de salvar!", + "lets_search" => "Vamos buscar algo...", + "no_access" => "Você não tem acesso!", + "user_not_found" => "Usuário não encontrado", + "unknown_error" => "Erro desconhecido!", + "notinstalled" => "Não Instalado", + "disabled" => "Desabilitado", + "name" => "Nome", + "install" => "Instalar", + 'csrf_expired' => 'Seu token expirou. Por favor, atualize a página', + 'user_login' => 'Login do Usuário', + 'user_name' => 'Nome do Usuário', + 'roles' => 'Funções', + 'type' => 'Tipo', + 'value' => 'Valor', + 'id' => 'Identificador', + 'alert' => 'Alerta!', + 'site_not_support' => 'Este site não é suportado em dispositivos móveis. O conteúdo pode ser exibido incorretamente. Por favor, mude para PC.', + 'i_dcare' => 'Não me importo!', + 'hide' => 'Esconder', + 'open' => 'Abrir', + 'accept' => 'Aceitar', + 'not_paid' => 'Não Pago', + 'paid' => 'Pago', + 'start_tour' => 'Iniciar Tour!' +]; \ No newline at end of file diff --git a/i18n/br/install.php b/i18n/br/install.php new file mode 100644 index 0000000..909a608 --- /dev/null +++ b/i18n/br/install.php @@ -0,0 +1,91 @@ + "Voltar", + "next" => "Próximo", + "last_step_required" => "Para prosseguir, você precisa completar a última etapa!", + "finish" => "Finalizar Instalação!", + 1 => [ + 'card_head' => 'Seleção de Idioma', + "title" => "Flute :: Seleção de Idioma", + 'Несуществующий язык' => 'Parece que você selecionou algum idioma misterioso :0' + ], + 2 => [ + "title" => "Flute :: Verificação de Requisitos", + 'card_head' => "Compatibilidade", + 'card_head_desc' => "Nesta página, você precisa verificar a conformidade de todos os requisitos e, se estiver tudo certo, proceder com a instalação", + 'req_not_completed' => "Requisitos não atendidos", + 'need_to_install' => "Necessidade de instalar", + 'may_installed' => "Recomendado para instalar", + 'installed' => "Instalado", + 'all_good' => "Tudo certo!", + 'may_unstable' => "Pode funcionar instável", + 'min_php_7' => "A versão mínima do PHP é 7.4!", + 'php_exts' => "Extensões do PHP", + 'other' => 'Outro' + ], + 3 => [ + "title" => "Flute :: Entrada de Banco de Dados", + 'card_head' => "Conexão com Banco de Dados", + 'card_head_desc' => "Preencha todos os campos com dados do seu banco de dados. É preferível criar um novo banco de dados.", + "driver" => "Selecione o Driver do Banco de Dados", + "ip" => "Digite o Host do Banco de Dados", + "port" => "Digite a Porta do Banco de Dados", + "db" => "Digite o Nome do Banco de Dados", + "user" => "Digite o Usuário do Banco de Dados", + "pass" => "Digite a Senha do Banco de Dados", + 'db_error' => "Ocorreu um erro ao conectar:
%error%", + 'data_invalid' => "Os dados inseridos são inválidos!", + "check_data" => "Verificar Dados", + "data_correct" => 'Dados Corretos' + ], + 4 => [ + "title" => "Flute :: Migração de Dados", + 'card_head' => "Migração de Dados", + 'card_head_desc' => "Você precisa migrar dados de outros CMS. Selecione o CMS necessário (se necessário)", + 'migrate_from' => 'Migrar Dados De', + 'thanks_but_no' => 'Obrigado, mas não', + 'card_head_2' => 'Migração de Dados de %cms%', + 'card_desc_2' => 'Selecione os tipos de migração necessários e preencha os dados no formulário', + 'migrate' => [ + 'all' => 'Migrar Todos', + 'servers' => 'Migrar Servidores', + 'admins' => 'Migrar Administradores', + 'gateways' => 'Migrar Portais de Pagamento', + 'payments' => 'Migrar Histórico de Pagamentos', + ] + ], + 5 => [ + "title" => "Flute :: Registro de Proprietário", + 'card_head' => "Registro de Proprietário", + 'card_head_desc' => "Preencha todos os campos com dados para criar sua conta.", + 'login' => 'Login', + 'login_placeholder' => 'Digite o login', + 'name' => 'Apelido', + 'name_placeholder' => 'Digite o nome de exibição', + 'email' => 'E-mail', + 'email_placeholder' => 'Digite o E-mail', + 'password' => 'Senha', + 'password_placeholder' => 'Digite a senha', + 'repassword' => 'Digite a senha novamente', + 'repassword_placeholder' => 'Digite a senha novamente', + 'login_length' => 'O comprimento mínimo do login é de 2 letras!', + 'name_length' => 'O comprimento mínimo do apelido é de 2 letras!', + 'pass_length' => 'O comprimento mínimo da senha é de 4 caracteres!', + 'invalid_email' => 'Digite o e-mail corretamente!', + 'pass_diff' => 'As senhas digitadas não coincidem!', + 'error_create_user' => 'Erro ao criar usuário!', + ], + 6 => [ + "title" => "Flute :: Os Tooltips Estão Ativados?", + 'card_head' => "Ativando Tooltips", + 'card_head_desc' => "Você precisa de dicas no mecanismo para entender como usar determinadas funcionalidades?", + 'yes' => 'Sim, ativar, estou aqui pela primeira vez (recomendado) 🤯', + 'no' => 'Não, já estive rodando esta Flute em todos os lugares 😎' + ], + 7 => [ + "title" => "Flute :: Relatório de Erros", + 'card_head' => "Ativando Relatório de Erros", + 'card_head_desc' => "Em caso de mau funcionamento do mecanismo, os erros serão enviados para nosso servidor para processamento. Após algum tempo, uma atualização com correção pode ser lançada graças a você 🥰", + 'yes' => 'Sim, enviar erros para melhorar o desempenho do mecanismo 😇', + 'no' => 'Não, não enviar nada, não estou interessado 🤐' + ], +]; \ No newline at end of file diff --git a/i18n/br/lk.php b/i18n/br/lk.php new file mode 100644 index 0000000..bc2a4e4 --- /dev/null +++ b/i18n/br/lk.php @@ -0,0 +1,36 @@ + [ + 'title' => 'Recarga de Saldo', + 'choose_gateway' => 'Escolha a forma de pagamento', + 'put_amount_and_promo' => 'Informe o valor e o código promocional', + 'enter_amount' => 'Informe o valor', + 'placeholder_amount' => '100', + 'enter_promo' => 'Código promocional (se houver)', + 'placeholder_promo' => 'Código promocional (se houver)', + 'apply' => 'Aplicar', + 'agree_terms' => 'Eu concordo com os termos do', + 'user_agreement' => 'contrato do usuário', + 'recharge' => 'Recarregar', + 'you_receive' => 'Valor a ser creditado', + 'you_pay' => 'Valor a pagar' + ], + 'success' => [ + 'title' => 'Sucesso', + 'success_payment' => 'Pagamento realizado com sucesso!', + 'success_payment_desc' => 'Seu saldo foi recarregado com sucesso! Você pode voltar à página principal e usar os fundos.', + ], + 'error' => [ + 'title' => 'Falha', + 'fail_payment' => 'Pagamento não concluído!', + 'fail_payment_desc' => 'Por algum motivo, o pagamento não foi concluído. Por favor, tente novamente.', + ], + 'promo_not_found' => 'Código promocional não encontrado', + 'promo_limit' => 'Limite de uso do código promocional atingido', + 'promo_expired' => 'Código promocional expirado', + 'promo_used' => 'Você já usou este código promocional', + 'promo_is_empty' => 'O código promocional inserido está vazio', + 'promo_amount' => 'Bônus para recarga: :value :currency', + 'promo_percentage' => 'O código promocional dá um desconto de :percentage%', + 'promo_subtract' => 'O código promocional reduz o valor em :value :currency', + 'min_amount' => 'Valor mínimo de recarga: :sum' +]; \ No newline at end of file diff --git a/i18n/br/popover.php b/i18n/br/popover.php new file mode 100644 index 0000000..d33008c --- /dev/null +++ b/i18n/br/popover.php @@ -0,0 +1,103 @@ + [ + 'title' => [ + 'admin_header' => 'Configurações do Sistema', + 'system' => 'Sistema', + 'authorization' => 'Autorização', + 'databases' => 'Bancos de Dados', + 'what_is_this' => 'O que é isso?', + 'default_db' => 'Banco de Dados Padrão', + 'debug' => 'Depurar', + 'connections_dbs' => 'Conexões e Bancos de Dados', + 'connections' => 'Conexões', + 'in_short' => 'Em Resumo', + 'dbs' => 'Bancos de Dados', + 'language' => 'Idioma', + 'mail_server' => 'Servidor de Email', + 'profile' => 'Perfil', + 'replenishment' => 'Reabastecimento', + 'summing_up' => 'Resumindo', + ], + 'description' => [ + 'system_settings_intro' => 'Vamos considerar o que são as configurações do sistema e como lidar com elas.', + 'system_settings_details' => 'Nesta seção, você pode alterar as configurações básicas do sistema. Mudar pontos críticos tem um impacto significativo, então modifique apenas o que você tem certeza.', + 'authorization_settings' => 'Aqui você pode alterar configurações de autorização (tempo de sessão e mais). Acredito que seja claro o suficiente.', + 'databases_overview' => 'Agora vamos dar uma olhada mais de perto nos bancos de dados.', + 'database_principles' => 'O princípio dos bancos de dados no sistema é organizado de forma um pouco não padrão, vamos nos aprofundar mais.', + 'default_db_usage' => 'Esta seção é responsável pelo banco de dados que o Flute usará. É recomendável nunca tocar ou alterar esta seção de forma alguma.', + 'debug_mode_info' => 'Esta seção habilita o modo de depuração para o banco de dados. É recomendável ser usado apenas por desenvolvedores.', + 'multiple_connections_dbs' => 'O Flute usa um sistema de múltiplas conexões e múltiplos bancos de dados.', + 'connections_info' => 'As conexões são os dados para conectar ao banco de dados (login, senha, etc.), enquanto os bancos de dados em si são os dados usados para módulos e o sistema.', + 'connections_dbs_summary' => 'Pode haver uma conexão (se tudo estiver em um único banco de dados). E pode haver muitos bancos de dados. Em geral, você entenderá tudo mais tarde.', + 'managing_connections' => 'Esta seção permite manipular todas as conexões no Flute.', + 'setting_up_dbs' => 'Nesta seção, a configuração e instalação de bancos de dados que usam conexões acontecem. Ufa, respire fundo e vamos continuar...', + 'language_settings' => 'Nesta seção, você escolhe o idioma padrão do sistema e o cache das traduções.', + 'mail_server_settings' => 'Nesta seção, você configurará o servidor de email para enviar emails (para redefinição de senha, etc.).', + 'profile_settings' => 'Aqui você pode configurar vários parâmetros para os usuários no perfil. Apenas visite e você entenderá tudo sozinho.', + 'balance_replenishment_settings' => 'Esta seção contém configurações usadas para o reabastecimento do saldo. Seja a moeda exibida ou o valor mínimo de reabastecimento.', + 'tour_ending' => 'Incrível, mas terminamos nosso tour pelos principais pontos. Eu sei, você precisa digerir isso, mas acredito em você, você definitivamente conseguirá!', + ] + ], + 'admin_stats' => [ + 'title' => [ + 'sidebar' => 'Barra Lateral', + 'main_menu' => 'Menu Principal', + 'additional_menu' => 'Menu Adicional', + 'recent_menu' => 'Recentemente Visitado', + 'sidebar_complete' => 'Barra Lateral Completa', + 'navbar' => 'Barra de Navegação', + 'search' => 'Buscar', + 'version' => 'Versão', + 'report_generation' => 'Geração de Relatório', + 'final' => 'É Isso!', + ], + 'description' => [ + 'sidebar' => 'Vamos considerar o painel de navegação principal do painel de administração. Bem, vamos começar!', + 'main_menu' => 'Este menu contém itens relacionados às configurações críticas do sistema.', + 'additional_menu' => 'Este menu contém itens de módulos e vários componentes do sistema. Você entenderá qual item é responsável por quê conforme o utiliza.', + 'recent_menu' => 'Na parte inferior do painel de administração, as páginas que você visitou recentemente também são apresentadas. Isso pode ser útil se você visitar frequentemente uma página e não quiser procurá-la constantemente.', + 'sidebar_complete' => 'Terminamos com a barra lateral, agora vamos passar para os outros componentes.', + 'navbar' => 'Vamos dar uma olhada no painel superior, o que está apresentado lá e como.', + 'search' => 'Este campo de entrada permite encontrar itens ou páginas necessárias por palavras-chave. Basta começar a digitar, e a busca lhe dará o resultado desejado!', + 'version' => 'Aqui é apresentada a versão do sistema instalado. Além disso, no futuro, será possível atualizar o sistema diretamente do painel de administração.', + 'report_generation' => 'Este botão permite gerar um relatório detalhado sobre o sistema. Se você precisar enviar a alguém informações sobre um erro do sistema, este arquivo deve acompanhar a mensagem.', + 'final' => 'Eu lhe contei sobre os principais componentes dentro do painel de administração. Em diferentes páginas, você encontrará outras dicas. Boa sorte usando isso!', + ] + ], + 'home' => [ + 'title' => [ + 'editor_mode_title' => 'Modo Editor', + 'editor_title' => 'Título da Página Editável', + 'editor_area' => 'Área de Edição', + 'editor_toolbar' => 'Ferramentas do Editor', + 'save_button' => 'Salvar', + 'editor_course_completed' => 'Curso de Editor Concluído', + ], + 'description' => [ + 'editor_mode' => 'O CMS possui um modo de edição para cada página, permitindo-nos personalizá-la totalmente.', + 'editor_title' => 'Aqui está o título da página que será editada.', + 'editor_area' => 'Aqui você pode criar vários blocos, widgets e textos que serão exibidos no editor.', + 'editor_toolbar' => 'À esquerda, você pode adicionar ou modificar blocos existentes.', + 'save_button' => 'Após modificar os dados, certifique-se de salvar todo o conteúdo clicando neste botão.', + 'editor_course_completed' => 'Isso é tudo que você precisa saber para uma compreensão básica no editor. Para mais detalhes, consulte a documentação oficial.', + ], + ], + 'composer' => [ + 'title' => [ + 'composer' => 'Como o Composer funciona?', + 'what_is_this' => 'O que é isso?', + 'and_then' => 'E então?', + 'package_list' => 'Lista de Pacotes', + 'deletion' => 'Exclusão', + 'practice' => 'Vamos praticar', + ], + 'description' => [ + 'composer' => 'O gerenciador de pacotes Composer permite instalar bibliotecas da comunidade', + 'what_is_this' => 'O gerenciador de pacotes Composer permite instalar bibliotecas da comunidade', + 'and_then' => 'Esses pacotes serão muito úteis ao desenvolver módulos ou modelos. Basicamente, você pode anexar absolutamente qualquer coisa do painel de administração aqui!', + 'package_list' => 'Aqui estão todos os pacotes instalados no sistema. Se você não sabe qual pacote é responsável por quê, NÃO TOQUE EM NADA', + 'deletion' => 'Cada pacote pode ser removido do sistema. Isso é útil se você instalou algo, mas está conflitando com outro, ou você simplesmente não precisa mais usá-lo', + 'practice' => 'Vamos adicionar nosso primeiro pacote', + ], + ], +]; \ No newline at end of file diff --git a/i18n/br/profile.php b/i18n/br/profile.php new file mode 100644 index 0000000..726bfb6 --- /dev/null +++ b/i18n/br/profile.php @@ -0,0 +1,63 @@ + 'Este perfil está oculto, infelizmente :(', + 'edit_profile' => 'Editar perfil', + 'settings_profile' => 'Configurações do perfil', + 'name_error' => 'Formato de nome inválido', + 'uri_error' => 'Formato de link inválido', + 'change_banner' => 'Alterar banner', + 'change_avatar' => 'Alterar avatar', + 'settings' => [ + 'social' => 'Vínculos', + 'main' => 'Principal', + 'devices' => 'Dispositivos', + 'main_desc' => 'Configurações do perfil', + 'social_desc' => 'Configurações de rede social', + 'devices_desc' => 'Configurações de sessões ativas', + 'security' => 'Segurança', + 'invoices' => 'Faturas', + 'theme' => 'Tema' + ], + 's_main' => [ + 'info' => 'Informações básicas', + 'privacy' => 'Privacidade', + 'profile_show' => 'Meu perfil é visível para todos', + 'profile_hidden' => 'Meu perfil está oculto para todos', + 'avatar' => 'Avatar', + 'max_size' => 'Tamanho máximo: % MB.', + 'load_avatar' => 'Carregar avatar', + 'banner' => 'Banner', + 'load_banner' => 'Carregar banner', + 'nickname' => 'Apelido', + 'placeholder' => 'Inserir valor...', + 'nickname_uri' => 'Apelido no link', + ], + 's_social' => [ + 'info' => 'Conexões', + 'connected' => 'Redes sociais conectadas', + 'not_connected' => 'Redes sociais não conectadas', + 'disconnect' => 'Desconectar', + 'connect' => 'Conectar', + 'social_disconnected' => 'Rede social desvinculada com sucesso!', + ], + "errors" => [ + 'social_binded' => 'A rede social já está vinculada ao perfil', + 'social_not_connected' => 'Você não tem essa rede social conectada 🤔', + 'social_only_one' => 'Você não pode desvincular a única rede social!', + 'uri_taken' => 'Um link com este valor já está sendo usado!' + ], + 'invoices' => [ + 'info' => 'Faturas', + ], + 'security' => [ + 'info' => 'Informações pessoais', + 'main_settings' => 'Configurações principais' + ], + 'theme' => [ + 'info' => 'Configuração do tema' + ], + 'devices' => [ + 'info' => 'Dispositivos autorizados', + 'type' => 'Tipo de dispositivo', + 'end' => 'Fim' + ] +]; \ No newline at end of file diff --git a/i18n/br/schema.php b/i18n/br/schema.php new file mode 100644 index 0000000..6355e40 --- /dev/null +++ b/i18n/br/schema.php @@ -0,0 +1,10 @@ + 'Tipo incorreto: Era esperado o tipo esperado, mas foi recebido o valor.', + 'valueOutOfRange' => 'O valor está fora da faixa esperada.', + 'lengthOutOfRange' => 'O comprimento do valor deve estar na faixa esperada, dado um comprimento de bytes.', + 'patternMismatch' => 'Padrão não correspondente: O valor não corresponde ao padrão esperado.', + 'failedAssertion' => 'Asserção falhou: O valor não passou na asserção.', + 'missingItem' => 'Item ausente: Um item necessário está ausente.', + 'unexpectedItem' => 'Item inesperado: Um item inesperado está presente.', + 'deprecated' => 'Este método está obsoleto.', +]; \ No newline at end of file diff --git a/i18n/br/tutorial.php b/i18n/br/tutorial.php new file mode 100644 index 0000000..50d2c11 --- /dev/null +++ b/i18n/br/tutorial.php @@ -0,0 +1,3 @@ + 'Tem certeza de que deseja sair? Isso encerrará o tutorial!', +]; \ No newline at end of file diff --git a/i18n/br/validator.php b/i18n/br/validator.php new file mode 100644 index 0000000..6f6b816 --- /dev/null +++ b/i18n/br/validator.php @@ -0,0 +1,23 @@ + 'Sua sessão expirou. Por favor, retorne à página principal e tente novamente.', + 'equal' => 'Por favor, insira %s.', + 'not_equal' => 'O valor não deve ser igual a %s.', + 'filled' => 'Este campo é obrigatório.', + 'blank' => 'Este campo deve estar em branco.', + 'min_length' => 'Por favor, insira no mínimo %d caracteres.', + 'max_length' => 'Por favor, insira no máximo %d caracteres.', + 'length' => 'Por favor, insira um valor entre %d e %d caracteres de comprimento.', + 'email' => 'Por favor, insira um endereço de email válido.', + 'url' => 'Por favor, insira uma URL válida.', + 'integer' => 'Por favor, insira um número inteiro válido.', + 'float' => 'Por favor, insira um número válido.', + 'min' => 'Por favor, insira um valor maior ou igual a %d.', + 'max' => 'Por favor, insira um valor menor ou igual a %d.', + 'range' => 'Por favor, insira um valor entre %d e %d.', + 'max_file_size' => 'O tamanho do arquivo enviado não deve exceder %d bytes.', + 'max_post_size' => 'Os dados enviados excedem o limite de %d bytes.', + 'mime_type' => 'O arquivo enviado não corresponde ao formato esperado.', + 'image' => 'O arquivo enviado deve ser uma imagem nos formatos JPEG, GIF, PNG ou WebP.', + 'select_box_valid' => 'Por favor, selecione uma opção válida.', + 'upload_control_valid' => 'Ocorreu um erro durante o envio do arquivo.', +]; \ No newline at end of file diff --git a/i18n/de/def.php b/i18n/de/def.php index 9458941..6c89fac 100644 --- a/i18n/de/def.php +++ b/i18n/de/def.php @@ -147,6 +147,7 @@ "it" => "Italiano", "uk" => "Українська", "uz" => "Oʻzbekcha", + "br" => "Portuguese Brazil", "found" => "Gefunden", "widget_has_errors" => "Das Widget - %name% enthält Fehler. Bitte entfernen Sie es sofort aus der Widget-Liste!", "choose_widget" => "Widget auswählen", diff --git a/i18n/en/def.php b/i18n/en/def.php index 5fbb4c7..13ad505 100644 --- a/i18n/en/def.php +++ b/i18n/en/def.php @@ -149,8 +149,9 @@ "it" => "Italian", "uk" => "Ukrainian", "uz" => "Uzbek", - "found" => "Results found:", - "widget_has_errors" => "Widget - %name% contains errors. Please remove it from the widget list immediately!", + "br" => "Portuguese Brazil", + "found" => "Found results:", + "widget_has_errors" => "Widget - %name% has errors. Please remove it from the widgets list immediately!", "choose_widget" => "Choose Widget", "new_notification_1" => "You have num new notification!", "new_notification_2" => "You have num new notifications!", diff --git a/i18n/en/langs.php b/i18n/en/langs.php index 4de8409..67cbcb4 100644 --- a/i18n/en/langs.php +++ b/i18n/en/langs.php @@ -1,35 +1,36 @@ "English", - "ru" => "Русский", - "uk" => "Українська", - "de" => "Deutsch", - "es" => "Español", - "fr" => "Français", - "it" => "Italiano", - "pt" => "Português", - "zh" => "中文", - "ja" => "日本語", - "ko" => "한국어", - "ar" => "العربية", - "tr" => "Türkçe", - "nl" => "Nederlands", - "sv" => "Svenska", - "da" => "Dansk", - "fi" => "Suomi", - "no" => "Norsk", - "pl" => "Polski", - "hu" => "Magyar", - "cs" => "Čeština", - "ro" => "Română", - "el" => "Ελληνικά", - "he" => "עברית", - "th" => "ไทย", - "hi" => "हिन्दी", - "bn" => "বাংলা", - "ta" => "தமிழ்", - "vi" => "Tiếng Việt", - "id" => "Bahasa Indonesia", - "ms" => "Bahasa Melayu", - "uz" => "Oʻzbekcha" + 'en' => 'English', + 'ru' => 'Русский', + 'uk' => 'Українська', + 'de' => 'Deutsch', + 'es' => 'Español', + 'fr' => 'Français', + 'it' => 'Italiano', + 'pt' => 'Português', + 'br' => 'Português Brasil', + 'zh' => '中文', + 'ja' => '日本語', + 'ko' => '한국어', + 'ar' => 'العربية', + 'tr' => 'Türkçe', + 'nl' => 'Nederlands', + 'sv' => 'Svenska', + 'da' => 'Dansk', + 'fi' => 'Suomi', + 'no' => 'Norsk', + 'pl' => 'Polski', + 'hu' => 'Magyar', + 'cs' => 'Čeština', + 'ro' => 'Română', + 'el' => 'Ελληνικά', + 'he' => 'עברית', + 'th' => 'ไทย', + 'hi' => 'हिन्दी', + 'bn' => 'বাংলা', + 'ta' => 'தமிழ்', + 'vi' => 'Tiếng Việt', + 'id' => 'Bahasa Indonesia', + 'ms' => 'Bahasa Melayu', + 'uz' => 'Oʻzbekcha' ]; \ No newline at end of file diff --git a/i18n/es/def.php b/i18n/es/def.php index d23c41c..534d8a1 100644 --- a/i18n/es/def.php +++ b/i18n/es/def.php @@ -148,6 +148,7 @@ "it" => "Italiano", "uk" => "Ucraniano", "uz" => "Uzbeko", + "br" => "Portuguese Brazil", "found" => "Encontrado", "widget_has_errors" => "El widget - %name% contiene errores. ¡Retíralo inmediatamente de la lista de widgets!", "choose_widget" => "Elegir un widget", diff --git a/i18n/fr/def.php b/i18n/fr/def.php index c0abdcc..1b0474f 100644 --- a/i18n/fr/def.php +++ b/i18n/fr/def.php @@ -148,6 +148,7 @@ "it" => "Italien", "uk" => "Ukrainien", "uz" => "Ouzbek", + "br" => "Portuguese Brazil", "found" => "Trouvé", "widget_has_errors" => "Le widget - %name% contient des erreurs. Veuillez le retirer immédiatement de la liste des widgets!", "choose_widget" => "Choisir un widget", diff --git a/i18n/pl/def.php b/i18n/pl/def.php index 544501f..173a48d 100644 --- a/i18n/pl/def.php +++ b/i18n/pl/def.php @@ -148,6 +148,7 @@ "it" => "Italiano", "uk" => "Українська", "uz" => "Oʻzbekcha", + "br" => "Portuguese Brazil", "found" => "Znaleziono wyników:", "widget_has_errors" => "Widżet - %name% zawiera błędy. Proszę usunąć go z listy widżetów natychmiastowo!", "choose_widget" => "Wybierz widżet", diff --git a/i18n/ru/def.php b/i18n/ru/def.php index 89405a8..9a21a55 100644 --- a/i18n/ru/def.php +++ b/i18n/ru/def.php @@ -149,6 +149,7 @@ "it" => "Italiano", "uk" => "Українська", "uz" => "Oʻzbekcha", + "br" => "Portuguese Brazil", "found" => "Найдено результатов:", "widget_has_errors" => "Виджет - %name% содержит ошибки. Пожалуйста, уберите его из списка виджетов немедленно!", "choose_widget" => "Выберите виджет", diff --git a/i18n/uk/def.php b/i18n/uk/def.php index 8b8032e..734af80 100644 --- a/i18n/uk/def.php +++ b/i18n/uk/def.php @@ -148,6 +148,7 @@ "it" => "Italiano", "uk" => "Українська", "uz" => "Oʻzbekcha", + "br" => "Portuguese Brazil", "found" => "Знайдено результатів:", "widget_has_errors" => "Віджет - %name% містить помилки. Будь ласка, видаліть його зі списку віджетів негайно!", "choose_widget" => "Виберіть віджет", diff --git a/i18n/uz/def.php b/i18n/uz/def.php index 6425462..8d6461e 100644 --- a/i18n/uz/def.php +++ b/i18n/uz/def.php @@ -148,6 +148,35 @@ "it" => "Italiano", "uk" => "Українська", "uz" => "Oʻzbekcha", + "br" => "Portuguese Brazil", + 'found' => 'Natijalar topildi:', + 'widget_has_errors' => 'Vidjet - %name% da xatolar mavjud. Iltimos , uni darhol vidjetlar roʻyxatidan olib tashlang!', + 'choose_widget' => 'Vidjetni tanlang', + 'new_notification_1' => 'num bildirishnoma oldingiz!', + 'new_notification_2' => 'num bildirishnomalarni oldingiz!', + 'new_notification_5' => 'num bildirishnomalarni oldingiz!', + 'attention_save' => 'Ehtiyot boʻling! Saqlashni unutmang!', + 'lets_search' => 'Keling, nimadir topamiz ...', + 'no_access' => 'Sizda ruxsat yoʻq!', + 'user_not_found' => 'Foydalanuvchi topilmadi', + 'unknown_error' => 'Nomaʻlum xatolik!', + 'notinstalled' => 'Oʻrnatilmagan', + 'disabled' => 'Oʻchirilgan', + 'name' => 'Nom', + 'install' => 'Oʻrnatish', + 'csrf_expired' => 'Tokeningiz muddati tugagan. Sahifani yangilang', + 'user_login' => 'Foydalanuvchi logini', + 'user_name' => 'Foydalanuvchi ismi', + 'roles' => 'Rollar', + 'type' => 'Turi', + 'value' => 'Maʻnosi', + 'id' => 'Identifikator', + 'alert' => 'Ogohlantirish!', + 'site_not_support' => 'Ushbu sayt mobil qurilmalarni qoʻllab-quvvatlanmaydi. Kontent toʻgʻri koʻrsatilmasligi mumkin.', + 'i_dcare' => 'Menga baribir!', + 'hide' => 'Yashirish', + 'open' => 'Ochish', + 'accept' => 'Qoʻllash', "found" => "Natijalar topildi:", "widget_has_errors" => "Vidjet - %name% da xatolar mavjud. Iltimos , uni darhol vidjetlar roʻyxatidan olib tashlang!", "choose_widget" => "Vidjetni tanlang", diff --git a/i18n/zh/def.php b/i18n/zh/def.php index 6baa037..f73390a 100644 --- a/i18n/zh/def.php +++ b/i18n/zh/def.php @@ -148,6 +148,7 @@ "it" => "Italiano", "uk" => "Українська", "uz" => "Oʻzbekcha", + "br" => "Portuguese Brazil", "found" => "找到结果:", "widget_has_errors" => "小部件 - %name% 包含错误。请 立即 从小部件列表中 移除它!", "choose_widget" => "选择小部件",