From 159953050a9c4fb700bbde79042ead4843b0bea5 Mon Sep 17 00:00:00 2001 From: enahum Date: Thu, 2 Jun 2016 16:47:26 -0300 Subject: PLT-1800 Load server side locale from the config.json (#3202) * PLT-1800 Load server side locale from the config.json * Add support for locales with country specifics * Fix localization on served locale file as plain/text * Remove github.com/cloudfoundry/jibber_jabber as vendor dependency * Fix get locale on login_controller --- NOTICE.txt | 211 - api/api.go | 1 - api/apitestlib.go | 4 +- api/user.go | 1 + config/config.json | 7 +- glide.lock | 2 - glide.yaml | 1 - i18n/pt-BR.json | 4078 ++++++++++++++++++++ i18n/pt.json | 4078 -------------------- mattermost.go | 2 +- model/config.go | 48 +- model/user.go | 2 - store/sql_store_test.go | 2 +- utils/config.go | 3 +- utils/config_test.go | 2 +- utils/i18n.go | 31 +- .../cloudfoundry/jibber_jabber/.travis.yml | 11 - .../github.com/cloudfoundry/jibber_jabber/LICENSE | 201 - .../cloudfoundry/jibber_jabber/README.md | 44 - .../jibber_jabber/ci/scripts/windows-64-test.bat | 5 - .../cloudfoundry/jibber_jabber/jibber_jabber.go | 22 - .../jibber_jabber/jibber_jabber_suite_test.go | 13 - .../jibber_jabber/jibber_jabber_unix.go | 57 - .../jibber_jabber/jibber_jabber_unix_test.go | 104 - .../jibber_jabber/jibber_jabber_windows.go | 114 - .../jibber_jabber/jibber_jabber_windows_test.go | 51 - web/web_test.go | 2 +- webapp/actions/global_actions.jsx | 17 +- webapp/components/admin_console/admin_sidebar.jsx | 9 + .../admin_console/localization_settings.jsx | 145 + .../admin_console/multiselect_settings.jsx | 80 + webapp/components/login/login_controller.jsx | 2 +- webapp/components/root.jsx | 8 +- .../user_settings/user_settings_display.jsx | 11 +- webapp/i18n/i18n.jsx | 40 +- webapp/i18n/pt-BR.json | 1424 +++++++ webapp/i18n/pt.json | 1424 ------- webapp/package.json | 3 +- webapp/root.jsx | 7 +- webapp/sass/styles.scss | 1 + webapp/stores/user_store.jsx | 6 + 41 files changed, 5878 insertions(+), 6396 deletions(-) create mode 100644 i18n/pt-BR.json delete mode 100644 i18n/pt.json delete mode 100644 vendor/github.com/cloudfoundry/jibber_jabber/.travis.yml delete mode 100644 vendor/github.com/cloudfoundry/jibber_jabber/LICENSE delete mode 100644 vendor/github.com/cloudfoundry/jibber_jabber/README.md delete mode 100755 vendor/github.com/cloudfoundry/jibber_jabber/ci/scripts/windows-64-test.bat delete mode 100644 vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber.go delete mode 100644 vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_suite_test.go delete mode 100644 vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_unix.go delete mode 100644 vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_unix_test.go delete mode 100644 vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_windows.go delete mode 100644 vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_windows_test.go create mode 100644 webapp/components/admin_console/localization_settings.jsx create mode 100644 webapp/components/admin_console/multiselect_settings.jsx create mode 100644 webapp/i18n/pt-BR.json delete mode 100644 webapp/i18n/pt.json diff --git a/NOTICE.txt b/NOTICE.txt index 56a6567d4..1906ae6b2 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -1967,217 +1967,6 @@ THE SOFTWARE. --- -This product contains a modified portion of 'jibber_jabber', a GoLang Library that can be used to detect an operating system's current language. - -* HOMEPAGE: - * https://github.com/cloudfoundry-attic/jibber_jabber - -* LICENSE: - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright 2014 Pivotal - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - ---- - This product contains a modified portion of 'manners', a package imaging providing basic image manipulation functions (resize, rotate, flip, crop, etc.) by Grigory Dryapak. * HOMEPAGE: diff --git a/api/api.go b/api/api.go index e62d34dcc..63a460dc5 100644 --- a/api/api.go +++ b/api/api.go @@ -10,7 +10,6 @@ import ( "github.com/mattermost/platform/model" "github.com/mattermost/platform/utils" - _ "github.com/cloudfoundry/jibber_jabber" _ "github.com/nicksnyder/go-i18n/i18n" ) diff --git a/api/apitestlib.go b/api/apitestlib.go index ab342c6b7..a685528d1 100644 --- a/api/apitestlib.go +++ b/api/apitestlib.go @@ -30,7 +30,7 @@ type TestHelper struct { func SetupEnterprise() *TestHelper { if Srv == nil { utils.LoadConfig("config.json") - utils.InitTranslations() + utils.InitTranslations(utils.Cfg.LocalizationSettings) utils.Cfg.TeamSettings.MaxUsersPerTeam = 50 utils.DisableDebugLogForTest() utils.License.Features.SetDefaults() @@ -50,7 +50,7 @@ func SetupEnterprise() *TestHelper { func Setup() *TestHelper { if Srv == nil { utils.LoadConfig("config.json") - utils.InitTranslations() + utils.InitTranslations(utils.Cfg.LocalizationSettings) utils.Cfg.TeamSettings.MaxUsersPerTeam = 50 utils.DisableDebugLogForTest() NewServer() diff --git a/api/user.go b/api/user.go index caf573463..4d4518824 100644 --- a/api/user.go +++ b/api/user.go @@ -239,6 +239,7 @@ func CreateUser(user *model.User) (*model.User, *model.AppError) { } user.MakeNonNil() + user.Locale = *utils.Cfg.LocalizationSettings.DefaultClientLocale if result := <-Srv.Store.User().Save(user); result.Err != nil { l4g.Error(utils.T("api.user.create_user.save.error"), result.Err) diff --git a/config/config.json b/config/config.json index 0c2faa3c5..582a7244c 100644 --- a/config/config.json +++ b/config/config.json @@ -155,5 +155,10 @@ "Enable": false, "Directory": "./data/", "EnableDaily": false + }, + "LocalizationSettings": { + "DefaultServerLocale": "en", + "DefaultClientLocale": "en", + "AvailableLocales": "en,es,fr,ja,pt-BR" } -} +} \ No newline at end of file diff --git a/glide.lock b/glide.lock index e9450f1bb..b1bde2847 100644 --- a/glide.lock +++ b/glide.lock @@ -5,8 +5,6 @@ imports: version: e5dc62318d9bd58682f1dceb53a4b24e8253682f - name: github.com/braintree/manners version: 82a8879fc5fd0381fa8b2d8033b19bf255252088 -- name: github.com/cloudfoundry/jibber_jabber - version: bcc4c8345a21301bf47c032ff42dd1aae2fe3027 - name: github.com/dgryski/dgoogauth version: 67642ac6f9144f6610279e37e7be9af13f1cd668 - name: github.com/disintegration/imaging diff --git a/glide.yaml b/glide.yaml index 21ff7062d..81335ef38 100644 --- a/glide.yaml +++ b/glide.yaml @@ -3,7 +3,6 @@ import: - package: github.com/NYTimes/gziphandler - package: github.com/alecthomas/log4go - package: github.com/braintree/manners -- package: github.com/cloudfoundry/jibber_jabber - package: github.com/dgryski/dgoogauth - package: github.com/disintegration/imaging - package: github.com/go-gorp/gorp diff --git a/i18n/pt-BR.json b/i18n/pt-BR.json new file mode 100644 index 000000000..0f752b26c --- /dev/null +++ b/i18n/pt-BR.json @@ -0,0 +1,4078 @@ +[ + { + "id": "April", + "translation": "Abril" + }, + { + "id": "August", + "translation": "Agosto" + }, + { + "id": "December", + "translation": "Dezembro" + }, + { + "id": "February", + "translation": "Fevereiro" + }, + { + "id": "January", + "translation": "Janeiro" + }, + { + "id": "July", + "translation": "Julho" + }, + { + "id": "June", + "translation": "Junho" + }, + { + "id": "March", + "translation": "Março" + }, + { + "id": "May", + "translation": "Maio" + }, + { + "id": "November", + "translation": "Novembro" + }, + { + "id": "October", + "translation": "Outubro" + }, + { + "id": "September", + "translation": "Setembro" + }, + { + "id": "api.admin.file_read_error", + "translation": "Erro ao ler o arquivo de log" + }, + { + "id": "api.admin.get_brand_image.not_available.app_error", + "translation": "Marca personalizada não está configurado ou não é suportado pelo servidor" + }, + { + "id": "api.admin.get_brand_image.storage.app_error", + "translation": "O armazenamento de imagem não está configurado." + }, + { + "id": "api.admin.init.debug", + "translation": "Inicializando admin api routes" + }, + { + "id": "api.admin.recycle_db_end.warn", + "translation": "Terminada a reciclagem da conexão do banco de dados" + }, + { + "id": "api.admin.recycle_db_start.warn", + "translation": "Tentando reciclar a conexão com o banco de dados" + }, + { + "id": "api.admin.test_email.body", + "translation": "


Parece que o seu email do Mattermost está configurado corretamente!" + }, + { + "id": "api.admin.test_email.missing_server", + "translation": "Servidor SMTP é obrigatório" + }, + { + "id": "api.admin.test_email.subject", + "translation": "Mattermost - Teste de Configurações de Email" + }, + { + "id": "api.admin.upload_brand_image.array.app_error", + "translation": "Matriz vazia em 'image' na requisição" + }, + { + "id": "api.admin.upload_brand_image.no_file.app_error", + "translation": "Nenhum arquivo em 'image' no pedido" + }, + { + "id": "api.admin.upload_brand_image.not_available.app_error", + "translation": "Marca personalizada não está configurado ou não é suportado pelo servidor" + }, + { + "id": "api.admin.upload_brand_image.parse.app_error", + "translation": "Não foi possível processar o formulário multipart" + }, + { + "id": "api.admin.upload_brand_image.storage.app_error", + "translation": "Não é possível fazer upload da imagem. Armazenamento de imagem não está configurado." + }, + { + "id": "api.admin.upload_brand_image.too_large.app_error", + "translation": "Não foi possível enviar o arquivo. Arquivo é muito grande." + }, + { + "id": "api.api.init.parsing_templates.debug", + "translation": "Analisando modelos no servidor %v" + }, + { + "id": "api.api.init.parsing_templates.error", + "translation": "Falha ao processar os modelos do servidor %v" + }, + { + "id": "api.api.render.error", + "translation": "Erro ao renderizar o modelo de %v err=%v" + }, + { + "id": "api.channel.add_member.added", + "translation": "%v adicionado ao canal por %v" + }, + { + "id": "api.channel.add_member.find_channel.app_error", + "translation": "Não foi possível localizar o canal" + }, + { + "id": "api.channel.add_member.find_user.app_error", + "translation": "Não foi possível encontrar o usuário a ser adicionado" + }, + { + "id": "api.channel.add_member.user_adding.app_error", + "translation": "Não foi possível encontrar usuário fazendo a adição" + }, + { + "id": "api.channel.add_user.to.channel.failed.app_error", + "translation": "Não foi possível adicionar o usuário no canal" + }, + { + "id": "api.channel.add_user_to_channel.deleted.app_error", + "translation": "O canal foi deletado ou arquivado" + }, + { + "id": "api.channel.add_user_to_channel.type.app_error", + "translation": "Não foi possível adicionar usuário para este tipo de canal" + }, + { + "id": "api.channel.create_channel.direct_channel.app_error", + "translation": "Deve usar a api de serviço createDirectChannel para criação do canal de mensagens diretas" + }, + { + "id": "api.channel.create_channel.invalid_character.app_error", + "translation": "Caractere inválido '__' no nome do canal para um canal não-direto" + }, + { + "id": "api.channel.create_default_channels.off_topic", + "translation": "Off-Topic" + }, + { + "id": "api.channel.create_default_channels.town_square", + "translation": "Town Square" + }, + { + "id": "api.channel.create_direct_channel.invalid_user.app_error", + "translation": "Inválido outro id de usuário " + }, + { + "id": "api.channel.delete_channel.archived", + "translation": "%v arquivou o canal." + }, + { + "id": "api.channel.delete_channel.cannot.app_error", + "translation": "Não é possível excluir o canal padrão {{.Channel}}" + }, + { + "id": "api.channel.delete_channel.deleted.app_error", + "translation": "O canal foi arquivado ou excluído" + }, + { + "id": "api.channel.delete_channel.failed_post.error", + "translation": "Não foi possível postar arquivo de mensagem %v" + }, + { + "id": "api.channel.delete_channel.failed_send.app_error", + "translation": "Não foi possível enviar o arquivo de mensagem" + }, + { + "id": "api.channel.delete_channel.incoming_webhook.error", + "translation": "Encontrado um erro ao excluir o webhook de entrada, id=%v" + }, + { + "id": "api.channel.delete_channel.outgoing_webhook.error", + "translation": "Encontrado um erro ao excluir o webhook de saída, id=%v" + }, + { + "id": "api.channel.delete_channel.permissions.app_error", + "translation": "Você não tem a permissão apropriada" + }, + { + "id": "api.channel.get_channel_counts.app_error", + "translation": "Não é possível obter o número de canais do banco de dados" + }, + { + "id": "api.channel.get_channel_extra_info.deleted.app_error", + "translation": "O canal foi deletado ou arquivado" + }, + { + "id": "api.channel.get_channel_extra_info.member_limit.app_error", + "translation": "Não foi possível processar o limite de membros" + }, + { + "id": "api.channel.get_channels.error", + "translation": "Erro na obtenção do perfil dos usuários para id=%v forçando o logout" + }, + { + "id": "api.channel.init.debug", + "translation": "Inicializando channel api routes" + }, + { + "id": "api.channel.join_channel.permissions.app_error", + "translation": "Você não tem a permissão apropriada" + }, + { + "id": "api.channel.join_channel.post_and_forget", + "translation": "%v juntou-se ao canal." + }, + { + "id": "api.channel.leave.default.app_error", + "translation": "Não pode deixar o canal padrão {{.Channel}}" + }, + { + "id": "api.channel.leave.direct.app_error", + "translation": "Não é possível sair de um canal de mensagem direta" + }, + { + "id": "api.channel.leave.last_member.app_error", + "translation": "Você é o único membro que restou, tente remover o Grupo Privado ao invés de manter." + }, + { + "id": "api.channel.leave.left", + "translation": "%v deixou o canal." + }, + { + "id": "api.channel.post_update_channel_header_message_and_forget.join_leave.error", + "translation": "Não foi possível postar mensagem juntar/deixar %v" + }, + { + "id": "api.channel.post_update_channel_header_message_and_forget.removed", + "translation": "%s removido do cabeçalho do canal (foi: %s)" + }, + { + "id": "api.channel.post_update_channel_header_message_and_forget.retrieve_user.error", + "translation": "Não foi possível recuperar o usuário ao tentar salvar a atualização do cabeçalho do canal de mensagem %v" + }, + { + "id": "api.channel.post_update_channel_header_message_and_forget.updated_from", + "translation": "%s atualizou o cabeçalho do canal de: %s para: %s" + }, + { + "id": "api.channel.post_update_channel_header_message_and_forget.updated_to", + "translation": "%s atualizou o cabeçalho do canal para: %s" + }, + { + "id": "api.channel.post_user_add_remove_message_and_forget.error", + "translation": "Não foi possível postar mensagem de juntar/deixar %v" + }, + { + "id": "api.channel.remove_member.permissions.app_error", + "translation": "Você não tem a permissão apropriada " + }, + { + "id": "api.channel.remove_member.unable.app_error", + "translation": "Não foi possível remover o usuário." + }, + { + "id": "api.channel.remove_user_from_channel.deleted.app_error", + "translation": "O canal foi deletado ou arquivado" + }, + { + "id": "api.channel.update_channel.deleted.app_error", + "translation": "O canal foi deletado ou arquivado" + }, + { + "id": "api.channel.update_channel.permission.app_error", + "translation": "Você não tem a permissão apropriada" + }, + { + "id": "api.channel.update_channel.tried.app_error", + "translation": "Tentou executar uma atualização inválida para o canal padrão {{.Channel}}" + }, + { + "id": "api.command.admin_only.app_error", + "translation": "Integrações estão limitadas a administradores somente." + }, + { + "id": "api.command.delete.app_error", + "translation": "Permissões inadequadas para deletar o comando" + }, + { + "id": "api.command.disabled.app_error", + "translation": "Os comandos foram desabilitados para o administrador do sistema." + }, + { + "id": "api.command.duplicate_trigger.app_error", + "translation": "Esta palavra gatilho já está em uso. Por favor escolha outra palavra." + }, + { + "id": "api.command.execute_command.debug", + "translation": "Executando cmd=%v userId=%v" + }, + { + "id": "api.command.execute_command.failed.app_error", + "translation": "Comando com um gatilho de '{{.Trigger}}' falhou" + }, + { + "id": "api.command.execute_command.failed_empty.app_error", + "translation": "Comando com um gatilho de '{{.Trigger}}' retornou uma resposta vazia" + }, + { + "id": "api.command.execute_command.failed_resp.app_error", + "translation": "Comando com um gatilho de '{{.Trigger}}' retornou a resposta {{.Status}}" + }, + { + "id": "api.command.execute_command.not_found.app_error", + "translation": "Comando com um gatilho de '{{.Trigger}}' não encotrado" + }, + { + "id": "api.command.execute_command.save.app_error", + "translation": "Um erro enquando salvava a resposta do comando do canal" + }, + { + "id": "api.command.execute_command.start.app_error", + "translation": "Nenhum comando disparador encontrado" + }, + { + "id": "api.command.init.debug", + "translation": "Inicializando command api routes" + }, + { + "id": "api.command.regen.app_error", + "translation": "Permissões inadequadas para re-gerar o token de comando" + }, + { + "id": "api.command_echo.create.app_error", + "translation": "Não é possível criar o post /echo, err=%v" + }, + { + "id": "api.command_echo.delay.app_error", + "translation": "Os atrasos devem ser abaixo de 10000 segundos" + }, + { + "id": "api.command_echo.desc", + "translation": "Echo volta o texto para sua conta" + }, + { + "id": "api.command_echo.high_volume.app_error", + "translation": "Alto volume de solicitações de echo, não foi possível processar a requisição" + }, + { + "id": "api.command_echo.hint", + "translation": "'mensagem' [atraso em segundos]" + }, + { + "id": "api.command_echo.name", + "translation": "echo" + }, + { + "id": "api.command_join.desc", + "translation": "Junte-se ao canal aberto" + }, + { + "id": "api.command_join.fail.app_error", + "translation": "Ocorreu um erro enquanto juntava ao canal." + }, + { + "id": "api.command_join.hint", + "translation": "[nome-canal]" + }, + { + "id": "api.command_join.list.app_error", + "translation": "Ocorreu um erro durante a listagem de canais." + }, + { + "id": "api.command_join.missing.app_error", + "translation": "Não foi possível encontrar o canal" + }, + { + "id": "api.command_join.name", + "translation": "juntar" + }, + { + "id": "api.command_join.success", + "translation": "Juntou ao canal." + }, + { + "id": "api.command_logout.desc", + "translation": "Faça Logout do Mattermost" + }, + { + "id": "api.command_logout.fail_message", + "translation": "Falha ao fazer logout" + }, + { + "id": "api.command_logout.name", + "translation": "logout" + }, + { + "id": "api.command_logout.success_message", + "translation": "Saindo..." + }, + { + "id": "api.command_me.desc", + "translation": "Fazer uma ação" + }, + { + "id": "api.command_me.hint", + "translation": "[mensagem]" + }, + { + "id": "api.command_me.name", + "translation": "me" + }, + { + "id": "api.command_msg.desc", + "translation": "Enviar Mensagem Direta para um usuário" + }, + { + "id": "api.command_msg.dm_fail.app_error", + "translation": "Ocorreu um erro durante a criação da mensagem direta." + }, + { + "id": "api.command_msg.fail.app_error", + "translation": "Ocorreu um erro durante a mensagem do usuário." + }, + { + "id": "api.command_msg.hint", + "translation": "@[usuario] 'mensagem'" + }, + { + "id": "api.command_msg.list.app_error", + "translation": "Ocorreu um erro durante a listagem de usuários." + }, + { + "id": "api.command_msg.missing.app_error", + "translation": "Não foi possível encontrar o usuário" + }, + { + "id": "api.command_msg.name", + "translation": "mensagem" + }, + { + "id": "api.command_msg.success", + "translation": "Mensagem enviada." + }, + { + "id": "api.command_shortcuts.desc", + "translation": "Mostrar a lista de atalhos" + }, + { + "id": "api.command_shortcuts.list", + "translation": "### Keyboard Shortcuts\n\n#### Navigation\n\nALT+UP: Previous channel or direct message in LHS\nALT+DOWN: Next channel or direct message in LHS\nALT+SHIFT+UP: Previous channel or direct message in LHS with unread messages\nALT+SHIFT+DOWN: Next channel or direct message in LHS with unread messages\nCTRL/CMD+SHIFT+A: Open account settings\nCTRL/CMD+SHIFT+K: Open a quick channel switcher dialog\nCTRL/CMD+SHIFT+M: Open recent mentions\n\n#### Files\n\nCTRL/CMD+U: Upload file(s)\n\n#### Messages\n\nCTRL/CMD+UP: Reprint the last message you entered\nCTRL/CMD+DOWN: Reprint the next message you entered\nUP (in empty input field): Edit your last message in the current channel\n@[character]+TAB: Autocomplete @username beginning with [character]\n:[character]+TAB: Autocomplete emoji beginning with [character]\n\n#### Built-in Browser Commands\n\nALT+LEFT/CMD+[: Previous channel in your history\nALT+RIGHT/CMD+]: Next channel in your history\nCTRL/CMD+PLUS: Increase font size (zoom in)\nCTRL/CMD+MINUS: Decrease font size (zoom out)\nSHIFT+UP (in input field): Highlight text to the previous line\nSHIFT+DOWN (in input field): Highlight text to the next line\nSHIFT+ENTER (in input field): Create a new line\n" + }, + { + "id": "api.command_shortcuts.name", + "translation": "atalhos" + }, + { + "id": "api.command_shrug.desc", + "translation": "Adiciona ¯\\_(ツ)_/¯ na sua mensagem" + }, + { + "id": "api.command_shrug.hint", + "translation": "[mensagem]" + }, + { + "id": "api.command_shrug.name", + "translation": "shrug" + }, + { + "id": "api.context.404.app_error", + "translation": "Desculpe, não conseguimos encontrar a página." + }, + { + "id": "api.context.invalid_param.app_error", + "translation": "Parâmetro {{.Name}} inválido" + }, + { + "id": "api.context.invalid_team_url.debug", + "translation": "TeamURL acessado quando não é válido. Equipe de URL não devem ser usados em funções de api ou aqueles que são de equipes independentes" + }, + { + "id": "api.context.invalid_token.error", + "translation": "Sessão inválida token=%v, err=%v" + }, + { + "id": "api.context.last_activity_at.error", + "translation": "Não foi possível atualizar LastActivityAt para user_id=%v e session_id=%v, err=%v" + }, + { + "id": "api.context.log.error", + "translation": "%v:%v código=%v rid=%v uid=%v ip=%v %v [detalhes: %v]" + }, + { + "id": "api.context.permissions.app_error", + "translation": "Você não tem a permissão apropriada" + }, + { + "id": "api.context.session_expired.app_error", + "translation": "Inválido ou sessão expirada, por favor faça login novamente." + }, + { + "id": "api.context.system_permissions.app_error", + "translation": "Você não tem a permissão apropriada (sistema)" + }, + { + "id": "api.context.token_provided.app_error", + "translation": "Sessão não é OAuth mas o token foi fornecido na consulta" + }, + { + "id": "api.context.unknown.app_error", + "translation": "Ocorreu um erro desconhecido. Por favor contato com o suporte." + }, + { + "id": "api.export.json.app_error", + "translation": "Não é possível converter para json" + }, + { + "id": "api.export.open.app_error", + "translation": "Não é possível abrir o arquivo" + }, + { + "id": "api.export.open_dir.app_error", + "translation": "Incapaz de abrir o diretorio" + }, + { + "id": "api.export.open_file.app_error", + "translation": "Não é possível abrir o arquivo para exportação" + }, + { + "id": "api.export.options.create.app_error", + "translation": "Não é possível gravar arquivo de opções" + }, + { + "id": "api.export.options.write.app_error", + "translation": "Não é possível gravar arquivo de opções" + }, + { + "id": "api.export.read_dir.app_error", + "translation": "Não foi possível ler o diretório" + }, + { + "id": "api.export.s3.app_error", + "translation": "S3 não é suportado para o armazenamento local de exportação." + }, + { + "id": "api.file.file_upload.exceeds", + "translation": "Arquivo excede o máximo de tamanho de imagem." + }, + { + "id": "api.file.file_upload.exceeds", + "translation": "Arquivo excede o máximo de tamanho de imagem." + }, + { + "id": "api.file.get_export.retrieve.app_error", + "translation": "Não é possível recuperar o arquivo exportado. Por favor, re-exportar" + }, + { + "id": "api.file.get_export.team_admin.app_error", + "translation": "Somente um administrador pode obter dados exportados." + }, + { + "id": "api.file.get_file.not_found.app_error", + "translation": "Não foi possível encontrar o arquivo." + }, + { + "id": "api.file.get_file.public_disabled.app_error", + "translation": "Links públicos foram desabilitados pelo administrador do sistema" + }, + { + "id": "api.file.get_file.public_invalid.app_error", + "translation": "O link público não parece ser válido" + }, + { + "id": "api.file.get_public_link.disabled.app_error", + "translation": "Links públicos foram desabilitados" + }, + { + "id": "api.file.handle_images_forget.decode.error", + "translation": "Não é possível decodificar a imagem channelId=%v userId=%v filename=%v err=%v" + }, + { + "id": "api.file.handle_images_forget.encode_jpeg.error", + "translation": "Não é possível codificar a imagem como jpeg channelId=%v userId=%v filename=%v err=%v" + }, + { + "id": "api.file.handle_images_forget.encode_preview.error", + "translation": "Não é possível codificar a imagem como imagem de pré-visualização jpg channelId=%v userId=%v filename=%v err=%v" + }, + { + "id": "api.file.handle_images_forget.upload_preview.error", + "translation": "Não é possível fazer o upload da pré-visualização channelId=%v userId=%v filename=%v err=%v" + }, + { + "id": "api.file.handle_images_forget.upload_thumb.error", + "translation": "Não é possível carregar o thumbnail channelId=%v userId=%v filename=%v err=%v" + }, + { + "id": "api.file.init.debug", + "translation": "Inicializando file api routes" + }, + { + "id": "api.file.move_file.configured.app_error", + "translation": "O armazenamento de arquivos não está configurado corretamente. Por favor, configure o S3 ou o armazenamento de arquivos no servidor local." + }, + { + "id": "api.file.move_file.delete_from_s3.app_error", + "translation": "Não é possível deletar o arquivo a partir do S3." + }, + { + "id": "api.file.move_file.get_from_s3.app_error", + "translation": "Não é possível obter o arquivo a partir do S3." + }, + { + "id": "api.file.move_file.rename.app_error", + "translation": "Não foi possível mover o arquivo localmente." + }, + { + "id": "api.file.open_file_write_stream.configured.app_error", + "translation": "Armazenamento de arquivos não está configurado corretamente. Por favor configure S3 ou armazenamento de arquivos no servidor local." + }, + { + "id": "api.file.open_file_write_stream.creating_dir.app_error", + "translation": "Encontrado um erro ao criar o diretório para o novo arquivo" + }, + { + "id": "api.file.open_file_write_stream.local_server.app_error", + "translation": "Encontrado um erro ao gravar no servidor local de armazenamento" + }, + { + "id": "api.file.open_file_write_stream.s3.app_error", + "translation": "S3 não é suportado." + }, + { + "id": "api.file.read_file.configured.app_error", + "translation": "Armazenamento de arquivos não está configurado corretamente. Por favor configure S3 ou armazenamento de arquivos no servidor local." + }, + { + "id": "api.file.read_file.get.app_error", + "translation": "Não é possível obter o arquivo a partir do S3" + }, + { + "id": "api.file.read_file.reading_local.app_error", + "translation": "Encontrado um erro ao ler a partir do servidor de armazenamento local" + }, + { + "id": "api.file.upload_file.image.app_error", + "translation": "Não é possível enviar arquivo de imagem." + }, + { + "id": "api.file.upload_file.large_image.app_error", + "translation": "Não foi possível enviar o arquivo de imagem. Arquivo muito grande." + }, + { + "id": "api.file.upload_file.storage.app_error", + "translation": "Não é possível fazer upload do arquivo. Armazenamento de imagem não está configurado." + }, + { + "id": "api.file.upload_file.too_large.app_error", + "translation": "Não foi possível enviar a imagem do perfil. Arquivo muito grande." + }, + { + "id": "api.file.write_file.configured.app_error", + "translation": "Armazenamento de arquivos não está configurado corretamente. Por favor configure S3 ou armazenamento de arquivos no servidor local." + }, + { + "id": "api.file.write_file.s3.app_error", + "translation": "Encontrado um erro ao gravar no S3" + }, + { + "id": "api.file.write_file_locally.create_dir.app_error", + "translation": "Encontrado um erro ao criar o diretório para o novo arquivo" + }, + { + "id": "api.file.write_file_locally.writing.app_error", + "translation": "Encontrado um erro ao gravar no servidor local de armazenamento" + }, + { + "id": "api.general.init.debug", + "translation": "Inicializando as rotas gerais da api" + }, + { + "id": "api.import.import_post.saving.debug", + "translation": "Erro ao salvar o post. usuário=%v, mensagem=%v" + }, + { + "id": "api.import.import_user.join_team.error", + "translation": "Falha ao juntar a equipe na importação err=%v" + }, + { + "id": "api.import.import_user.joining_default.error", + "translation": "Encontrado um problema ao se juntar ao canal padrão user_id=%s, team_id=%s, err=%v" + }, + { + "id": "api.import.import_user.saving.error", + "translation": "Erro ao salvar o usuário. err=%v" + }, + { + "id": "api.import.import_user.set_email.error", + "translation": "Não foi possível definir email verificado err=%v" + }, + { + "id": "api.license.add_license.array.app_error", + "translation": "Matriz vazia sobre a 'licença' na requisição" + }, + { + "id": "api.license.add_license.expired.app_error", + "translation": "A licença está expirada ou não foi iniciada ainda." + }, + { + "id": "api.license.add_license.invalid.app_error", + "translation": "Arquivo de licença inválido." + }, + { + "id": "api.license.add_license.invalid_count.app_error", + "translation": "Não foi possível contar o total de usuários únicos." + }, + { + "id": "api.license.add_license.no_file.app_error", + "translation": "Nenhum arquivo sobre a 'licença' no pedido" + }, + { + "id": "api.license.add_license.open.app_error", + "translation": "Não foi possível abrir arquivo de licença" + }, + { + "id": "api.license.add_license.save.app_error", + "translation": "Licença não gravada corretamente." + }, + { + "id": "api.license.add_license.save_active.app_error", + "translation": "ID de licença ativo não salvo corretamente." + }, + { + "id": "api.license.add_license.unique_users.app_error", + "translation": "Está licença somente suporta usuários {{.Users}}, quando seu sistema tem {{.Count}} usuários únicos. Usuários únicos são contados por endereço de email distinto. Você pode ver o total de usuários em Relatórios Site -> Ver Estatísticas." + }, + { + "id": "api.license.init.debug", + "translation": "Inicializando license api routes" + }, + { + "id": "api.license.remove_license.remove.app_error", + "translation": "Licença não foi removida propriamente." + }, + { + "id": "api.oauth.allow_oauth.bad_client.app_error", + "translation": "invalid_request: Bad client_id" + }, + { + "id": "api.oauth.allow_oauth.bad_redirect.app_error", + "translation": "invalid_request: Faltando ou ruim redirect_uri" + }, + { + "id": "api.oauth.allow_oauth.bad_response.app_error", + "translation": "invalid_request: Bad response_type" + }, + { + "id": "api.oauth.allow_oauth.database.app_error", + "translation": "server_error: Erro ao acessar o banco de dados" + }, + { + "id": "api.oauth.allow_oauth.redirect_callback.app_error", + "translation": "invalid_request: Supplied redirect_uri did not match registered callback_url" + }, + { + "id": "api.oauth.allow_oauth.turn_off.app_error", + "translation": "O administrador do sistema desligou o provedor de serviço OAuth." + }, + { + "id": "api.oauth.get_auth_data.find.error", + "translation": "Não foi possível encontrar o código de autorização para code=%s" + }, + { + "id": "api.oauth.init.debug", + "translation": "Inicializando oauth api routes" + }, + { + "id": "api.oauth.register_oauth_app.turn_off.app_error", + "translation": "O administrador do sistema desligou o provedor de serviço OAuth." + }, + { + "id": "api.oauth.revoke_access_token.del_code.app_error", + "translation": "Erro ao deletar o código de autorização do BD" + }, + { + "id": "api.oauth.revoke_access_token.del_session.app_error", + "translation": "Erro ao deletar a sessão do BD" + }, + { + "id": "api.oauth.revoke_access_token.del_token.app_error", + "translation": "Erro ao deletar o token do BD" + }, + { + "id": "api.oauth.revoke_access_token.get.app_error", + "translation": "Erro ao obter o token de acesso do BD antes da exclusão" + }, + { + "id": "api.post.check_for_out_of_channel_mentions.message.multiple", + "translation": "{{.Usernames}} e {{.LastUsername}} foram mencionados, mas eles não receberam notificação porque eles não pertencem a este canal." + }, + { + "id": "api.post.check_for_out_of_channel_mentions.message.one", + "translation": "{{.Username}} foi mencionado, mas eles não receberam uma notificação porque eles não pertencem a este canal." + }, + { + "id": "api.post.create_post.bad_filename.error", + "translation": "Nome ruim do arquivo descartado, nome do arquivo=%v" + }, + { + "id": "api.post.create_post.channel_root_id.app_error", + "translation": "ChannelId inválido para o parâmetro RootId" + }, + { + "id": "api.post.create_post.last_viewed.error", + "translation": "Encontrado um erro ao atualizar a última visualização, channel_id=%s, user_id=%s, err=%v" + }, + { + "id": "api.post.create_post.parent_id.app_error", + "translation": "Parâmetro ParentId inválido" + }, + { + "id": "api.post.create_post.root_id.app_error", + "translation": "Parâmetro RootId inválido" + }, + { + "id": "api.post.create_webhook_post.creating.app_error", + "translation": "Erro ao criar o post" + }, + { + "id": "api.post.delete_post.permissions.app_error", + "translation": "Você não tem a permissão apropriada" + }, + { + "id": "api.post.get_out_of_channel_mentions.regex.error", + "translation": "Não foi possível compilar @mention regex user_id=%v, err=%v" + }, + { + "id": "api.post.get_post.permissions.app_error", + "translation": "Você não tem a permissão apropriada" + }, + { + "id": "api.post.handle_post_events_and_forget.channel.error", + "translation": "Encontrado um erro ao obter o canal, channel_id=%s, err=%v" + }, + { + "id": "api.post.handle_post_events_and_forget.members.error", + "translation": "Não foi possível obter os membros do channel_id=%v err=%v" + }, + { + "id": "api.post.handle_post_events_and_forget.profiles.error", + "translation": "Não foi possível obter perfis de usuário team_id=%v, err=%v" + }, + { + "id": "api.post.handle_post_events_and_forget.team.error", + "translation": "Encontrado um erro ao obter a equipe, equipe_id=%s, err=%v" + }, + { + "id": "api.post.handle_post_events_and_forget.user.error", + "translation": "Encontrado um erro ao obter o usuário, user_id=%s, err=%v" + }, + { + "id": "api.post.handle_webhook_events_and_forget.create_post.error", + "translation": "Não foi possível criar resposta do post, err=%v" + }, + { + "id": "api.post.handle_webhook_events_and_forget.event_post.error", + "translation": "Falha no Evento POST, err=%s" + }, + { + "id": "api.post.handle_webhook_events_and_forget.getting.error", + "translation": "Encontrado um erro ao obter webhooks pela equipe, err=%v" + }, + { + "id": "api.post.init.debug", + "translation": "Inicializando post api routes" + }, + { + "id": "api.post.make_direct_channel_visible.get_2_members.error", + "translation": "Falha ao obter 2 membros para o canal direto channel_id=%v" + }, + { + "id": "api.post.make_direct_channel_visible.get_members.error", + "translation": "Falha ao obter membros do canal channel_id=%v err=%v" + }, + { + "id": "api.post.make_direct_channel_visible.save_pref.error", + "translation": "Falha ao salvar as preferencias do canal direto user_id=%v other_user_id=%v err=%v" + }, + { + "id": "api.post.make_direct_channel_visible.update_pref.error", + "translation": "Falha ao atualizar as preferencias do canal direto user_id=%v other_user_id=%v err=%v" + }, + { + "id": "api.post.send_notifications_and_forget.mention_body", + "translation": "Você tem uma nova menção." + }, + { + "id": "api.post.send_notifications_and_forget.mention_subject", + "translation": "Nova Menção" + }, + { + "id": "api.post.send_notifications_and_forget.message_body", + "translation": "Você tem um nova mensagem." + }, + { + "id": "api.post.send_notifications_and_forget.message_subject", + "translation": "Nova Mensagem Direta" + }, + { + "id": "api.post.send_notifications_and_forget.push_in", + "translation": " em " + }, + { + "id": "api.post.send_notifications_and_forget.push_mention", + "translation": " você foi mencionado no " + }, + { + "id": "api.post.send_notifications_and_forget.push_message", + "translation": " enviado a você uma mensagem direta" + }, + { + "id": "api.post.send_notifications_and_forget.push_non_mention", + "translation": " postado em " + }, + { + "id": "api.post.send_notifications_and_forget.push_notification.debug", + "translation": "Enviar notificação push para %v com msg de '%v'" + }, + { + "id": "api.post.send_notifications_and_forget.push_notification.error", + "translation": "Falha ao enviar notificação push id=%v, err=%v" + }, + { + "id": "api.post.send_notifications_and_forget.send.error", + "translation": "Falha ao enviar uma menção por email email=%v err=%v" + }, + { + "id": "api.post.send_notifications_and_forget.sent", + "translation": "{{.Prefix}} {{.Filenames}} enviado" + }, + { + "id": "api.post.send_notifications_and_forget.sessions.error", + "translation": "Falha ao obter as notificações na sessão id=%v, err=%v" + }, + { + "id": "api.post.send_notifications_and_forget.user_id.error", + "translation": "Post user_id not returned by GetProfiles user_id=%v" + }, + { + "id": "api.post.update_mention_count_and_forget.update_error", + "translation": "Falha ao atualizar o número de menções para user_id=%v on channel_id=%v err=%v" + }, + { + "id": "api.post.update_post.find.app_error", + "translation": "Não foi possível encontrar o post ou comentário para atualizar." + }, + { + "id": "api.post.update_post.permissions.app_error", + "translation": "Você não tem a permissão apropriada" + }, + { + "id": "api.post.update_post.permissions_details.app_error", + "translation": "Já deletado id={{.PostId}}" + }, + { + "id": "api.post.update_post.system_message.app_error", + "translation": "Não foi possível atualizar a mensagem do sistema" + }, + { + "id": "api.post_get_post_by_id.get.app_error", + "translation": "Não foi possível obter o post" + }, + { + "id": "api.preference.init.debug", + "translation": "Inicializando preference api routes" + }, + { + "id": "api.preference.save_preferences.decode.app_error", + "translation": "Não foi possível decodificar as preferencias para a requisição" + }, + { + "id": "api.preference.save_preferences.set.app_error", + "translation": "Não foi possível ajustar as preferências para o outro usuário" + }, + { + "id": "api.preference.save_preferences.set_details.app_error", + "translation": "session.user_id={{.SessionUserId}}, preference.user_id={{.PreferenceUserId}}" + }, + { + "id": "api.server.new_server.init.info", + "translation": "O servidor está inicializando..." + }, + { + "id": "api.server.start_server.listening.info", + "translation": "O servidor está escutando na %v" + }, + { + "id": "api.server.start_server.rate.info", + "translation": "RateLimiter está ativo" + }, + { + "id": "api.server.start_server.rate.warn", + "translation": "RateLimitSettings não foi configurado corretamente usando VaryByHeader e desativando VaryByRemoteAddr" + }, + { + "id": "api.server.start_server.starting.critical", + "translation": "Erro ao iniciar o servidor, err:%v" + }, + { + "id": "api.server.start_server.starting.info", + "translation": "Iniciando o Servidor..." + }, + { + "id": "api.server.start_server.starting.panic", + "translation": "Erro ao iniciar o servidor " + }, + { + "id": "api.server.stop_server.stopped.info", + "translation": "Servidor parado" + }, + { + "id": "api.server.stop_server.stopping.info", + "translation": "Parando o Servidor..." + }, + { + "id": "api.slackimport.slack_add_channels.added", + "translation": "\r\n Canal Adicionado \r\n" + }, + { + "id": "api.slackimport.slack_add_channels.failed_to_add_user", + "translation": "Falha ao adicionar o usuário ao canal: {{.Username}}\r\n" + }, + { + "id": "api.slackimport.slack_add_channels.import_failed", + "translation": "Falha ao importar: {{.DisplayName}}\r\n" + }, + { + "id": "api.slackimport.slack_add_channels.import_failed.debug", + "translation": "Falha ao importar: %s" + }, + { + "id": "api.slackimport.slack_add_channels.merge", + "translation": "Mesclado com o canal existente: {{.DisplayName}}\r\n" + }, + { + "id": "api.slackimport.slack_add_posts.bot.warn", + "translation": "Slack bot posts não foram importados ainda" + }, + { + "id": "api.slackimport.slack_add_posts.msg_no_usr.debug", + "translation": "Mensagem sem usuário" + }, + { + "id": "api.slackimport.slack_add_posts.unsupported.warn", + "translation": "Tipo de post não suportado: %v, %v" + }, + { + "id": "api.slackimport.slack_add_posts.user_no_exists.debug", + "translation": "Usuário %v não existe!" + }, + { + "id": "api.slackimport.slack_add_posts.without_user.debug", + "translation": "Mensagem sem usuário" + }, + { + "id": "api.slackimport.slack_add_users.created", + "translation": "\r\n Usuários Criados\r\n" + }, + { + "id": "api.slackimport.slack_add_users.email_pwd", + "translation": "Email, Senha: {{.Email}}, {{.Password}}\r\n" + }, + { + "id": "api.slackimport.slack_add_users.unable_import", + "translation": "Não foi possível importar o usuário: {{.Username}}\r\n" + }, + { + "id": "api.slackimport.slack_convert_timestamp.bad.warn", + "translation": "Data e hora ruim detectada" + }, + { + "id": "api.slackimport.slack_import.log", + "translation": "Mattermost Log de Importação Slack\r\n" + }, + { + "id": "api.slackimport.slack_import.note1", + "translation": "- Alguns posts podem não ter sido importados devido a eles não serem suportados por este importador.\r\n" + }, + { + "id": "api.slackimport.slack_import.note2", + "translation": "- Slack bot posts não é suportado atualmente.\r\n" + }, + { + "id": "api.slackimport.slack_import.notes", + "translation": "\r\n Notas \r\n" + }, + { + "id": "api.slackimport.slack_import.open.app_error", + "translation": "Não foi possível abrir: {{.Filename}}" + }, + { + "id": "api.slackimport.slack_import.team_fail", + "translation": "Falha ao obter a equipe para importar.\r\n" + }, + { + "id": "api.slackimport.slack_import.zip.app_error", + "translation": "Não foi possível abrir o arquivo zip" + }, + { + "id": "api.team.create_team.email_disabled.app_error", + "translation": "Inscrição com e-mail na equipe está desativado." + }, + { + "id": "api.team.create_team_from_signup.email_disabled.app_error", + "translation": "Inscrição com e-mail na equipe está desativado." + }, + { + "id": "api.team.create_team_from_signup.expired_link.app_error", + "translation": "O link de inscrição expirou" + }, + { + "id": "api.team.create_team_from_signup.invalid_link.app_error", + "translation": "O link de inscrição não parece ser válido" + }, + { + "id": "api.team.create_team_from_signup.unavailable.app_error", + "translation": "Esta URL não está disponível. Por favor, tente outra." + }, + { + "id": "api.team.email_teams.sending.error", + "translation": "Um erro foi encontrado enquanto enviava um email no emailTeams err=%v" + }, + { + "id": "api.team.export_team.admin.app_error", + "translation": "Somente um administrador de equipe pode exportar os dados." + }, + { + "id": "api.team.get_invite_info.not_open_team", + "translation": "Convite é inválido devido a este não ser de uma equipe aberta." + }, + { + "id": "api.team.import_team.admin.app_error", + "translation": "Somente um administrador de equipe pode importar dados." + }, + { + "id": "api.team.import_team.array.app_error", + "translation": "Matriz vazia em 'file' na requisição" + }, + { + "id": "api.team.import_team.integer.app_error", + "translation": "Tamanho do arquivo não é um inteiro" + }, + { + "id": "api.team.import_team.no_file.app_error", + "translation": "Nenhum arquivo sobre a 'file' no pedido" + }, + { + "id": "api.team.import_team.open.app_error", + "translation": "Não foi possível abrir o arquivo" + }, + { + "id": "api.team.import_team.parse.app_error", + "translation": "Não foi possível processar o formulário multipart" + }, + { + "id": "api.team.import_team.unavailable.app_error", + "translation": "Tamanho do arquivo indisponível" + }, + { + "id": "api.team.init.debug", + "translation": "Inicializando team api routes" + }, + { + "id": "api.team.invite_members.admin", + "translation": "administrador" + }, + { + "id": "api.team.invite_members.already.app_error", + "translation": "Essa pessoa já está em sua equipe" + }, + { + "id": "api.team.invite_members.member", + "translation": "membro" + }, + { + "id": "api.team.invite_members.no_one.app_error", + "translation": "Ninguém para convidar." + }, + { + "id": "api.team.invite_members.send.error", + "translation": "Falha ao enviar com sucesso um convite por email err=%v" + }, + { + "id": "api.team.invite_members.sending.info", + "translation": "enviando convite para %v %v" + }, + { + "id": "api.team.is_team_creation_allowed.disabled.app_error", + "translation": "Criação de equipe foi desativada. Por favor, pergunte ao seu administrador de sistemas para obter detalhes." + }, + { + "id": "api.team.is_team_creation_allowed.domain.app_error", + "translation": "Email precisa ser de um domínio específico (ex. @example.com). Por favor pergunte ao seu administrador de sistema por detalhes." + }, + { + "id": "api.team.permanent_delete_team.attempting.warn", + "translation": "Tentando permanentemente deletar a equipe %v id=%v" + }, + { + "id": "api.team.permanent_delete_team.deleted.warn", + "translation": "Equipe permanentemente deletada %v id=%v" + }, + { + "id": "api.team.signup_team.email_disabled.app_error", + "translation": "Inscrição com e-mail na equipe está desativado." + }, + { + "id": "api.team.update_team.permissions.app_error", + "translation": "Você não tem a permissão apropriada" + }, + { + "id": "api.templates.email_change_body.info", + "translation": "Seu endereço de email para {{.TeamDisplayName}} foi alterado para {{.NewEmail}}.
Se você não fez está mudança, por favor contate o administrador do sistema." + }, + { + "id": "api.templates.email_change_body.title", + "translation": "Você atualizou seu e-mail" + }, + { + "id": "api.templates.email_change_subject", + "translation": "Seu endereço de email foi alterado para {{.TeamDisplayName}}" + }, + { + "id": "api.templates.email_change_verify_body.button", + "translation": "Verificar Email" + }, + { + "id": "api.templates.email_change_verify_body.info", + "translation": "Para terminar a atualização do seu endereço de email para {{.TeamDisplayName}}, por favor clique no link abaixo para confirmar este como endereço correto." + }, + { + "id": "api.templates.email_change_verify_body.title", + "translation": "Você atualizou seu e-mail" + }, + { + "id": "api.templates.email_change_verify_subject", + "translation": "Verifique novo endereço de email para {{.TeamDisplayName}}" + }, + { + "id": "api.templates.email_footer", + "translation": "Para alterar suas preferencias de notificação, faça login no site da sua equipe e vá para Configurações de Conta > Notificações." + }, + { + "id": "api.templates.email_info", + "translation": "Qualquer dúvida, envie-nos a qualquer momento: {{.SupportEmail}}.
Nossos melhores cumprimentos,
Equipe {{.SiteName}}
" + }, + { + "id": "api.templates.error.link", + "translation": "Voltar ao Mattermost" + }, + { + "id": "api.templates.error.title", + "translation": "{{ .SiteName }} precisa da sua ajuda:" + }, + { + "id": "api.templates.find_teams_body.found", + "translation": "Sua solicitação para encontrar equipes associadas ao seu email encontrou o seguinte:" + }, + { + "id": "api.templates.find_teams_body.not_found", + "translation": "Não foi possível encontrar nenhuma equipe com o email informado." + }, + { + "id": "api.templates.find_teams_body.title", + "translation": "Localizando equipes" + }, + { + "id": "api.templates.find_teams_subject", + "translation": "Suas Equipes {{ .SiteName }}" + }, + { + "id": "api.templates.invite_body.button", + "translation": "Participar da Equipe" + }, + { + "id": "api.templates.invite_body.extra_info", + "translation": "Mattermost permite compartilhar mensagens e arquivos do seu PC ou telefone, com pesquisa instantânea e arquivamento. Depois que você estiver participando a {{.TeamDisplayName}}, você pode fazer login na sua nova equipe e ter acesso a esses recursos a qualquer momento a partir do endereço web:

{{.TeamURL}}" + }, + { + "id": "api.templates.invite_body.info", + "translation": "O {{.SenderStatus}} de equipe {{.SenderName}}, convidou você para participar {{.TeamDisplayName}}." + }, + { + "id": "api.templates.invite_body.title", + "translation": "Você foi convidado" + }, + { + "id": "api.templates.invite_subject", + "translation": "{{ .SenderName }} convidou você para se juntar a Equipe {{ .TeamDisplayName }} no {{.SiteName}}" + }, + { + "id": "api.templates.password_change_body.info", + "translation": "Sua senha foi atualizada para {{.TeamDisplayName}} no {{ .TeamURL }} pelo {{.Method}}.
Se está mudança não foi iniciada por você, por favor entre em contato com o seu administrado do sistema." + }, + { + "id": "api.templates.password_change_body.title", + "translation": "A sua senha foi alterada" + }, + { + "id": "api.templates.password_change_subject", + "translation": "Sua senha foi atualizada para {{.TeamDisplayName}} no {{ .SiteName }}" + }, + { + "id": "api.templates.post_body.button", + "translation": "Ir Para o Canal" + }, + { + "id": "api.templates.post_body.info", + "translation": "CANAL: {{.ChannelName}}
{{.SenderName}} - {{.Hour}}:{{.Minute}} {{.TimeZone}}, {{.Month}} {{.Day}}" + }, + { + "id": "api.templates.post_subject", + "translation": "{{.SubjectText}} no {{.TeamDisplayName}} em {{.Month}} {{.Day}}, {{.Year}}" + }, + { + "id": "api.templates.reset_body.button", + "translation": "Redefinir senha" + }, + { + "id": "api.templates.reset_body.info", + "translation": "Para alterar a sua senha, clique abaixo \"Redefinir Senha\".
Se você não pretende redefinir sua senha, por favor ignore este email e sua senha irá permanecer a mesma. O link de redefinição de senha expira em 24 horas." + }, + { + "id": "api.templates.reset_body.title", + "translation": "Você solicitou uma redefinição de senha" + }, + { + "id": "api.templates.reset_subject", + "translation": "Resetar sua senha" + }, + { + "id": "api.templates.signin_change_email.body.method_email", + "translation": "email e senha" + }, + { + "id": "api.templates.signin_change_email.body.title", + "translation": "Você atualizou seu método de login" + }, + { + "id": "api.templates.signup_team_body.button", + "translation": "Configure sua equipe" + }, + { + "id": "api.templates.signup_team_body.info", + "translation": "{{ .SiteName }} é um lugar para todas as comunicações da sua equipe, pesquisável e disponível em qualquer lugar.
Você pode obter mais do {{ .SiteName }} quando sua esquipe estiver em constante comunicação--vamos levá-los a bordo." + }, + { + "id": "api.templates.signup_team_body.title", + "translation": "Obrigado por criar uma equipe!" + }, + { + "id": "api.templates.signup_team_subject", + "translation": "{{ .SiteName }} Configuração da Equipe" + }, + { + "id": "api.templates.singin_change_email.body.info", + "translation": "Você atualizou seu método de login para {{.Method}} em {{ .SiteName}}.
Se esta mudança não foi iniciada por você, por favor entre em contato com o administrador do sistema." + }, + { + "id": "api.templates.singin_change_email.subject", + "translation": "Você atualizou seu método de login em {{ .SiteName }}" + }, + { + "id": "api.templates.upgrade_30_body.info", + "translation": "

SUAS CONTAS DUPLICADAS FORAM ATUALIZADAS

Seu servidor Mattermost está sendo atualizado para a Versão 3.0, o qual permite que você use uma única conta com múltiplas equipes.

Você está recebendo este email porque durante o processo de atualização foi detectado que sua conta tinha o mesmo email e usuário em outras contas no servidor.

As seguintes atualizações foram feitas:

{{if .EmailChanged }}- O email duplicado da conta na equipe `/{{.TeamName}}` foi alterado para `{{.Email}}`. Se você usa email e senha para login, você pode usar este endereço de email para login.

{{end}}{{if .UsernameChanged }}- O usuário duplicado da conta na na equipe `/{{.TeamName}}` foi alterado para `{{.Username}}` para evitar confusões com outras contas.

{{end}} AÇÃO RECOMENDADA:

É recomendável que você acesse suas equipes usadas por suas contas duplicadas e adicione sua conta principal para a equipe e quaisquer canais públicos e grupos privados que deseja continuar usando.

Isto dá o acesso ao histórico para sua conta primária para todos os canais públicos e grupos privados. Você pode continuar acessando o histórico de mensagens diretas de suas contas duplicadas fazendo login com suas credenciais.

PARA MAIS INFORMAÇÕES:

Para mais informações sobre a atualização para o Mattermost 3.0 consulte: http://www.mattermost.org/upgrading-to-mattermost-3-0/

" + }, + { + "id": "api.templates.upgrade_30_subject.info", + "translation": "[MATTERMOST] Alterações da sua conta na atualização Mattermost 3.0" + }, + { + "id": "api.templates.username_change_body.info", + "translation": "Seu nome de usuário para {{.TeamDisplayName}} foi alterado para {{.NewEmail}}.
Se você não fez está mudança, por favor contate o administrador do sistema." + }, + { + "id": "api.templates.username_change_body.title", + "translation": "Você atualizou seu nome de usuário" + }, + { + "id": "api.templates.username_change_subject", + "translation": "Seu nome de usuário foi alterado para {{.TeamDisplayName}}" + }, + { + "id": "api.templates.verify_body.button", + "translation": "Verificar Email" + }, + { + "id": "api.templates.verify_body.info", + "translation": "Por favor verifique seu endereço de e-mail clicando abaixo." + }, + { + "id": "api.templates.verify_body.title", + "translation": "Você se juntou a equipe {{ .TeamDisplayName }}" + }, + { + "id": "api.templates.verify_subject", + "translation": "[{{ .TeamDisplayName }} {{ .SiteName }}] Verificação Email" + }, + { + "id": "api.templates.welcome_body.button", + "translation": "Verificar Email" + }, + { + "id": "api.templates.welcome_body.info", + "translation": "Por favor verifique seu endereço de e-mail clicando abaixo." + }, + { + "id": "api.templates.welcome_body.info2", + "translation": "Você pode fazer login sua nova equipe pelo endereço web:" + }, + { + "id": "api.templates.welcome_body.info3", + "translation": "Mattermost permite compartilhar mensagens e arquivos do seu PC ou telefone, com a pesquisa instantânea e arquivamento." + }, + { + "id": "api.templates.welcome_body.title", + "translation": "Você se juntou a equipe {{ .TeamDisplayName }}" + }, + { + "id": "api.templates.welcome_subject", + "translation": "Você se juntou {{ .TeamDisplayName }}" + }, + { + "id": "api.user.activate_mfa.email_and_ldap_only.app_error", + "translation": "MFA não está disponível para este tipo de conta" + }, + { + "id": "api.user.add_direct_channels_and_forget.failed.error", + "translation": "Falha ao adicionar preferencias diretas ao canal para o usuário user_id=%s, team_id=%s, err=%v" + }, + { + "id": "api.user.authorize_oauth_user.bad_response.app_error", + "translation": "Resposta errada da solicitação de token" + }, + { + "id": "api.user.authorize_oauth_user.bad_token.app_error", + "translation": "Tipo de token errado" + }, + { + "id": "api.user.authorize_oauth_user.invalid_state.app_error", + "translation": "Estado inválido" + }, + { + "id": "api.user.authorize_oauth_user.invalid_state_team.app_error", + "translation": "Status inválido; falta o nome da equipe" + }, + { + "id": "api.user.authorize_oauth_user.missing.app_error", + "translation": "Faltando o token de acesso" + }, + { + "id": "api.user.authorize_oauth_user.service.app_error", + "translation": "Solicitação de token para {{.Service}} falhou" + }, + { + "id": "api.user.authorize_oauth_user.token_failed.app_error", + "translation": "Solicitação de token falhou" + }, + { + "id": "api.user.authorize_oauth_user.unsupported.app_error", + "translation": "Provedor de serviço OAuth não suportado" + }, + { + "id": "api.user.check_user_login_attempts.too_many.app_error", + "translation": "A sua conta está bloqueada por causa de muitas tentativas de senha que falharam. Por favor, redefina sua senha." + }, + { + "id": "api.user.check_user_mfa.bad_code.app_error", + "translation": "Token MFA inválido." + }, + { + "id": "api.user.check_user_mfa.not_available.app_error", + "translation": "MFA não configurado ou disponível neste servidor" + }, + { + "id": "api.user.check_user_password.invalid.app_error", + "translation": "Acesso falhou por causa de senha inválida" + }, + { + "id": "api.user.complete_switch_with_oauth.blank_email.app_error", + "translation": "E-mail em branco" + }, + { + "id": "api.user.complete_switch_with_oauth.parse.app_error", + "translation": "Não foi possível processar os dados de autenticação do {{.Service}} de objeto de usuário" + }, + { + "id": "api.user.complete_switch_with_oauth.unavailable.app_error", + "translation": "{{.Service}} oauth não disponível neste servidor" + }, + { + "id": "api.user.create_oauth_user.already_attached.app_error", + "translation": "Um usuário existente já está conectado a sua conta {{.Service}}" + }, + { + "id": "api.user.create_oauth_user.already_used.app_error", + "translation": "Essa conta {{.Service}} já foi usada para se inscrever" + }, + { + "id": "api.user.create_oauth_user.create.app_error", + "translation": "Não foi possível criar o usuário fora do {{.Service}} do objeto de usuário" + }, + { + "id": "api.user.create_oauth_user.not_available.app_error", + "translation": "{{.Service}} oauth não disponível neste servidor" + }, + { + "id": "api.user.create_profile_image.default_font.app_error", + "translation": "Não foi possível criar a imagem font padrão" + }, + { + "id": "api.user.create_profile_image.encode.app_error", + "translation": "Não foi possível codificar a imagem padrão do perfil" + }, + { + "id": "api.user.create_profile_image.initial.app_error", + "translation": "Não foi possível adicionar a imagem inicial de perfil padrão para o usuário" + }, + { + "id": "api.user.create_user.accepted_domain.app_error", + "translation": "O email que você forneceu não pertence a um domínio aceito. Por favor contacte o seu administrador ou se inscreve com um email diferente." + }, + { + "id": "api.user.create_user.joining.error", + "translation": "Encontrado um problema ao se juntar ao canal padrão user_id=%s, team_id=%s, err=%v" + }, + { + "id": "api.user.create_user.no_open_server", + "translation": "Este servidor não permite inscrições abertas. Por favor, fale com o seu Administrador para receber um convite." + }, + { + "id": "api.user.create_user.save.error", + "translation": "Não foi possível salvar o usuário err=%v" + }, + { + "id": "api.user.create_user.signup_email_disabled.app_error", + "translation": "Inscrição com e-mail está desativada." + }, + { + "id": "api.user.create_user.signup_link_expired.app_error", + "translation": "O link de inscrição expirou" + }, + { + "id": "api.user.create_user.signup_link_invalid.app_error", + "translation": "O link de inscrição não parece ser válido" + }, + { + "id": "api.user.create_user.team_name.app_error", + "translation": "Inválido nome de equipe" + }, + { + "id": "api.user.create_user.tutorial.error", + "translation": "Encontrado um erro ao salvar as preferências de tutorial, err=%v" + }, + { + "id": "api.user.create_user.verified.error", + "translation": "Falha ao definir email como verificado err=%v" + }, + { + "id": "api.user.email_to_ldap.not_available.app_error", + "translation": "LDAP não está disponível neste servidor" + }, + { + "id": "api.user.generate_mfa_qr.not_available.app_error", + "translation": "MFA não configurado ou disponível neste servidor" + }, + { + "id": "api.user.get_authorization_code.unsupported.app_error", + "translation": "Provedor de serviço OAuth não suportado" + }, + { + "id": "api.user.get_me.getting.error", + "translation": "Erro na obtenção do perfil dos usuários para id=%v forçando o logout" + }, + { + "id": "api.user.init.debug", + "translation": "Inicializando user api routes" + }, + { + "id": "api.user.ldap_to_email.not_available.app_error", + "translation": "LDAP não está disponível neste servidor" + }, + { + "id": "api.user.ldap_to_email.not_ldap_account.app_error", + "translation": "Está conta de usuário não utiliza LDAP" + }, + { + "id": "api.user.login.blank_pwd.app_error", + "translation": "Campo senha não pode estar em branco" + }, + { + "id": "api.user.login.inactive.app_error", + "translation": "Login falhou devido a sua conta estar inativa. Por favor entre em contado com um administrador." + }, + { + "id": "api.user.login.not_provided.app_error", + "translation": "Id do usuário ou o nome da equipe e e-mail deve ser fornecido" + }, + { + "id": "api.user.login.not_verified.app_error", + "translation": "Login falhou por causa do endereço de email não ter sido verificado" + }, + { + "id": "api.user.login.revoking.app_error", + "translation": "Revogada sessionid=%v para userid=%v logue novamente com o mesmo id de dispositivo" + }, + { + "id": "api.user.login.use_auth_service.app_error", + "translation": "Por favor logue usando {{.AuthService}}" + }, + { + "id": "api.user.login_by_oauth.not_available.app_error", + "translation": "{{.Service}} oauth não disponível neste servidor" + }, + { + "id": "api.user.login_by_oauth.parse.app_error", + "translation": "Não foi possível processar os dados de autenticação do {{.Service}} de objeto de usuário" + }, + { + "id": "api.user.login_ldap.blank_pwd.app_error", + "translation": "Campo senha não pode estar em branco" + }, + { + "id": "api.user.login_ldap.disabled.app_error", + "translation": "LDAP não habilitado neste servidor" + }, + { + "id": "api.user.login_ldap.need_id.app_error", + "translation": "Precisa de um ID" + }, + { + "id": "api.user.login_ldap.not_available.app_error", + "translation": "LDAP não está disponível neste servidor" + }, + { + "id": "api.user.oauth_to_email.context.app_error", + "translation": "Atualização de senha falhou devido ao contexto user_id não combinar com id de usuário fornecido" + }, + { + "id": "api.user.permanent_delete_user.attempting.warn", + "translation": "Tentando permanentemente deletar a conta %v id=%v" + }, + { + "id": "api.user.permanent_delete_user.deleted.warn", + "translation": "Conta permanentemente deletada %v id=%v" + }, + { + "id": "api.user.permanent_delete_user.system_admin.warn", + "translation": "Você está deletando %v que é um administrador de sistema. Você pode precisar definir outra conta como administrador de sistema usando as ferramentas de linha de comando." + }, + { + "id": "api.user.reset_password.invalid_link.app_error", + "translation": "O link de redefinição de senha não parece ser válido" + }, + { + "id": "api.user.reset_password.link_expired.app_error", + "translation": "O link de redefinição de senha expirou" + }, + { + "id": "api.user.reset_password.method", + "translation": "use um link de redefinição de senha" + }, + { + "id": "api.user.reset_password.sso.app_error", + "translation": "Não foi possível resetar a senha para conta SSO" + }, + { + "id": "api.user.reset_password.wrong_team.app_error", + "translation": "Tentando redefinir senha para usuário na equipe errada." + }, + { + "id": "api.user.send_email_change_email_and_forget.error", + "translation": "Falha ao enviar com sucesso uma notificação por email err=%v" + }, + { + "id": "api.user.send_email_change_username_and_forget.error", + "translation": "Falha ao enviar notificação por email sobre alteração do nome do usuário err=%v" + }, + { + "id": "api.user.send_email_change_verify_email_and_forget.error", + "translation": "Falha ao enviar com sucesso uma verificação de email err=%v" + }, + { + "id": "api.user.send_password_change_email_and_forget.error", + "translation": "Falha ao enviar com sucesso uma atualização de senha por email err=%v" + }, + { + "id": "api.user.send_password_reset.find.app_error", + "translation": "Não foi possível encontrar uma conta com esse endereço." + }, + { + "id": "api.user.send_password_reset.send.app_error", + "translation": "Falha ao enviar email de senha redefinida com sucesso" + }, + { + "id": "api.user.send_password_reset.sso.app_error", + "translation": "Não foi possível resetar a senha para conta SSO" + }, + { + "id": "api.user.send_sign_in_change_email_and_forget.error", + "translation": "Falha ao enviar com sucesso uma atualização de senha por email err=%v" + }, + { + "id": "api.user.send_verify_email_and_forget.failed.error", + "translation": "Falha ao enviar com sucesso uma verificação de email err=%v" + }, + { + "id": "api.user.send_welcome_email_and_forget.failed.error", + "translation": "Falha ao enviar com sucesso boas vindas por email err=%v" + }, + { + "id": "api.user.update_active.permissions.app_error", + "translation": "Você não tem a permissão apropriada" + }, + { + "id": "api.user.update_mfa.not_available.app_error", + "translation": "MFA não configurado ou disponível neste servidor" + }, + { + "id": "api.user.update_password.context.app_error", + "translation": "Atualização da senha falhou devido ao contexto user_id não combinar com props do usuário fornecido" + }, + { + "id": "api.user.update_password.failed.app_error", + "translation": "Atualização de senha falhou" + }, + { + "id": "api.user.update_password.incorrect.app_error", + "translation": "A \"Senha Atual\" que você inseriu está incorreta. Por favor, verifique se o Caps Lock está desativado e tente novamente." + }, + { + "id": "api.user.update_password.menu", + "translation": "usando o menu de configurações" + }, + { + "id": "api.user.update_password.oauth.app_error", + "translation": "Atualização de senha falhou porque o usuário está conectado através de um serviço OAuth" + }, + { + "id": "api.user.update_password.valid_account.app_error", + "translation": "Atualização de senha falhou porque não foi possível encontrar uma conta válida" + }, + { + "id": "api.user.update_roles.one_admin.app_error", + "translation": "Deve haver pelo menos um administrador ativo" + }, + { + "id": "api.user.update_roles.permissions.app_error", + "translation": "Você não tem a permissão apropriada" + }, + { + "id": "api.user.update_roles.system_admin_needed.app_error", + "translation": "A permissão admin do sistema é necessária para essa ação" + }, + { + "id": "api.user.update_roles.system_admin_set.app_error", + "translation": "A função de administrador do sistema só pode ser definida por um outro administrador do sistema" + }, + { + "id": "api.user.update_roles.team_admin_needed.app_error", + "translation": "A permissão admin é necessária para essa ação" + }, + { + "id": "api.user.upload_profile_user.array.app_error", + "translation": "Matriz vazia em 'image' na requisição" + }, + { + "id": "api.user.upload_profile_user.decode.app_error", + "translation": "Não foi possível decodificar a imagem do perfil" + }, + { + "id": "api.user.upload_profile_user.decode_config.app_error", + "translation": "Não foi possível decodificar a configuração da imagem do perfil." + }, + { + "id": "api.user.upload_profile_user.encode.app_error", + "translation": "Não foi possível codificar a imagem do perfil" + }, + { + "id": "api.user.upload_profile_user.no_file.app_error", + "translation": "Nenhum arquivo sobre 'image' no pedido" + }, + { + "id": "api.user.upload_profile_user.open.app_error", + "translation": "Não foi possível abrir arquivo de imagem" + }, + { + "id": "api.user.upload_profile_user.parse.app_error", + "translation": "Não foi possível processar o formulário multipart" + }, + { + "id": "api.user.upload_profile_user.storage.app_error", + "translation": "Não é possível fazer upload do arquivo. Armazenamento de imagem não está configurado." + }, + { + "id": "api.user.upload_profile_user.too_large.app_error", + "translation": "Não foi possível enviar a imagem do perfil. Arquivo muito grande." + }, + { + "id": "api.user.upload_profile_user.upload_profile.app_error", + "translation": "Não foi possível enviar a imagem do perfil" + }, + { + "id": "api.user.verify_email.bad_link.app_error", + "translation": "Erro na verificação link de email." + }, + { + "id": "api.web_conn.new_web_conn.last_activity.error", + "translation": "Falha ao atualizar LastActivityAt para o user_id=%v e session_id=%v, err=%v" + }, + { + "id": "api.web_conn.new_web_conn.last_ping.error", + "translation": "Falha ao atualizar LastPingAt para user_id=%v, err=%v" + }, + { + "id": "api.web_hub.start.stopping.debug", + "translation": "parando %v conexões" + }, + { + "id": "api.web_socket.connect.error", + "translation": "conexão websocket err: %v" + }, + { + "id": "api.web_socket.connect.upgrade.app_error", + "translation": "Falha ao atualizar conexão websocket" + }, + { + "id": "api.web_socket.init.debug", + "translation": "Inicializando web socket api routes" + }, + { + "id": "api.web_team_hun.start.debug", + "translation": "central de equipes parou para teamId=%v" + }, + { + "id": "api.webhook.create_incoming.disabled.app_errror", + "translation": "Webhooks de entrada foram desabilitados pelo administrador do sistema." + }, + { + "id": "api.webhook.create_outgoing.disabled.app_error", + "translation": "Webhooks de saída foram desabilitados pelo administrador do sistema." + }, + { + "id": "api.webhook.create_outgoing.intersect.app_error", + "translation": "Webhooks de saída do mesmo canal não pode ter as mesmas palavras gatilho/URLs de retorno de chamada." + }, + { + "id": "api.webhook.create_outgoing.not_open.app_error", + "translation": "Webhooks de saída só pode ser criado para canais públicos." + }, + { + "id": "api.webhook.create_outgoing.permissions.app_error", + "translation": "Permissões inadequadas para criar o webhook de saída." + }, + { + "id": "api.webhook.create_outgoing.triggers.app_error", + "translation": "Ou trigger_words ou channel_id precisa ser definido" + }, + { + "id": "api.webhook.delete_incoming.disabled.app_errror", + "translation": "Webhooks de entrada foram desabilitados pelo administrador do sistema." + }, + { + "id": "api.webhook.delete_incoming.permissions.app_errror", + "translation": "Permissões inadequadas para deletar o webhook de entrada" + }, + { + "id": "api.webhook.delete_outgoing.disabled.app_error", + "translation": "Webhooks de saída foram desabilitados pelo administrador do sistema." + }, + { + "id": "api.webhook.delete_outgoing.permissions.app_error", + "translation": "Permissões inadequadas para deletar o webhook de saída" + }, + { + "id": "api.webhook.get_incoming.disabled.app_error", + "translation": "Webhooks de entrada foram desabilitados pelo administrador do sistema." + }, + { + "id": "api.webhook.get_outgoing.disabled.app_error", + "translation": "Webhooks de saída foram desabilitados pelo administrador do sistema." + }, + { + "id": "api.webhook.init.debug", + "translation": "Inicializando webhook api routes" + }, + { + "id": "api.webhook.regen_outgoing_token.disabled.app_error", + "translation": "Webhooks de saída foram desabilitados pelo administrador do sistema." + }, + { + "id": "api.webhook.regen_outgoing_token.permissions.app_error", + "translation": "Permissões inadequadas para re-gerar o token do webhook de saída" + }, + { + "id": "ent.brand.save_brand_image.decode.app_error", + "translation": "Não foi possível ler a imagem." + }, + { + "id": "ent.brand.save_brand_image.decode_config.app_error", + "translation": "Não foi possível ler as configurações de imagem." + }, + { + "id": "ent.brand.save_brand_image.encode.app_error", + "translation": "Não foi possível codificar a imagem como PNG." + }, + { + "id": "ent.brand.save_brand_image.open.app_error", + "translation": "Não foi possível abrir a imagem." + }, + { + "id": "ent.brand.save_brand_image.save_image.app_error", + "translation": "Não foi possível salvar a imagem" + }, + { + "id": "ent.brand.save_brand_image.too_large.app_error", + "translation": "Não foi possível abrir a imagem. Imagem é muito grande." + }, + { + "id": "ent.compliance.licence_disable.app_error", + "translation": "Funcionalidade Compliance desabilitada pela licença atual. Entre em contato com o administrador do sistema sobre como atualizar sua licença de empresa." + }, + { + "id": "ent.compliance.run_failed.error", + "translation": "Falha na tarefa '{{.JobName}}' para exportar o compliance no '{{.FilePath}}'" + }, + { + "id": "ent.compliance.run_finished.info", + "translation": "Exportação do compliance terminado para tarefa '{{.JobName}}' exportado {{.Count}} registros para '{{.FilePath}}'" + }, + { + "id": "ent.compliance.run_limit.warning", + "translation": "Aviso exportação do compliance na tarefa '{{.JobName}}' retornando muitos registros truncando para 30.000 em '{{.FilePath}}'" + }, + { + "id": "ent.compliance.run_started.info", + "translation": "Exportação de compliance tarefa '{{.JobName}}' iniciada no '{{.FilePath}}'" + }, + { + "id": "ent.ldap.do_login.bind_admin_user.app_error", + "translation": "Não foi possível ligar ao servidor LDAP. Verifique BindUsername e BindPassword." + }, + { + "id": "ent.ldap.do_login.invalid_password.app_error", + "translation": "Senha inválida" + }, + { + "id": "ent.ldap.do_login.licence_disable.app_error", + "translation": "Funcionalidade LDAP desabilitada pela licença atual. Entre em contato com o administrador do sistema sobre como atualizar sua licença de empresa." + }, + { + "id": "ent.ldap.do_login.matched_to_many_users.app_error", + "translation": "Nome de usuário dado corresponde a vários usuários" + }, + { + "id": "ent.ldap.do_login.search_ldap_server.app_error", + "translation": "Falha ao pesquisar o servidor LDAP" + }, + { + "id": "ent.ldap.do_login.unable_to_connect.app_error", + "translation": "Não foi possível conectar no servidor LDAP" + }, + { + "id": "ent.ldap.do_login.unable_to_create_user.app_error", + "translation": "Credenciais válidas, mas incapaz de criar usuário." + }, + { + "id": "ent.ldap.do_login.user_filtered.app_error", + "translation": "Usuário não autorizado a usar o Mattermost. (LDAP filtro usuario)" + }, + { + "id": "ent.ldap.do_login.user_not_registered.app_error", + "translation": "Usuário não registrado no servidor LDAP" + }, + { + "id": "ent.ldap.validate_filter.app_error", + "translation": "Filtro LDAP Inválido" + }, + { + "id": "ent.mfa.activate.authenticate.app_error", + "translation": "Erro ao tentar autenticar o token MFA" + }, + { + "id": "ent.mfa.activate.bad_token.app_error", + "translation": "Token MFA inválido" + }, + { + "id": "ent.mfa.activate.save_active.app_erro", + "translation": "Não foi possível atualizar o status ativo MFA para o usuário" + }, + { + "id": "ent.mfa.deactivate.save_active.app_erro", + "translation": "Não foi possível atualizar o status ativo MFA para o usuário" + }, + { + "id": "ent.mfa.deactivate.save_secret.app_error", + "translation": "Erro ao limpar o segredo MFA" + }, + { + "id": "ent.mfa.generate_qr_code.create_code.app_error", + "translation": "Erro ao gerar QR code" + }, + { + "id": "ent.mfa.generate_qr_code.save_secret.app_error", + "translation": "Erro ao salvar o segredo MFA" + }, + { + "id": "ent.mfa.license_disable.app_error", + "translation": "Sua licença não suporta o uso de autenticação multi-fator" + }, + { + "id": "ent.mfa.validate_token.authenticate.app_error", + "translation": "Erro ao tentar autenticar o token MFA" + }, + { + "id": "error.generic.link_message", + "translation": "Voltar ao Mattermost" + }, + { + "id": "error.generic.message", + "translation": "Ocorreu um erro." + }, + { + "id": "error.generic.title", + "translation": "Erro" + }, + { + "id": "error.not_found.link_message", + "translation": "Voltar ao Mattermost" + }, + { + "id": "error.not_found.message", + "translation": "A página que você estava tentando alcançar não existe." + }, + { + "id": "error.not_found.title", + "translation": "Página não encontrada" + }, + { + "id": "manaultesting.get_channel_id.no_found.debug", + "translation": "Não foi possível encontrar o canal %v, procurado %v possibilidades" + }, + { + "id": "manaultesting.get_channel_id.unable.debug", + "translation": "Não é possível obter canais" + }, + { + "id": "manaultesting.manual_test.create.info", + "translation": "Criando usuário e equipe" + }, + { + "id": "manaultesting.manual_test.parse.app_error", + "translation": "Não é possível processar a URL" + }, + { + "id": "manaultesting.manual_test.setup.info", + "translation": "Configuração para teste manual..." + }, + { + "id": "manaultesting.manual_test.uid.debug", + "translation": "Sem uid na url" + }, + { + "id": "manaultesting.test_autolink.info", + "translation": "Auto Link Teste Manual" + }, + { + "id": "manaultesting.test_autolink.unable.app_error", + "translation": "Não é possível obter canais" + }, + { + "id": "mattermost.bulletin.subject", + "translation": "Mattermost Boletim de Segurança" + }, + { + "id": "mattermost.config_file", + "translation": "Carregado o arquivo de configuração de %v" + }, + { + "id": "mattermost.current_version", + "translation": "Versão atual é %v (%v/%v/%v/%v)" + }, + { + "id": "mattermost.entreprise_enabled", + "translation": "Ativado Enterprise: %v" + }, + { + "id": "mattermost.load_license.find.warn", + "translation": "Não é possível encontrar licença ativa" + }, + { + "id": "mattermost.security_bulletin.error", + "translation": "Falha ao obter detalhes do boletim de segurança" + }, + { + "id": "mattermost.security_bulletin_read.error", + "translation": "Falha ao ler detalhes do boletim de segurança" + }, + { + "id": "mattermost.security_checks.debug", + "translation": "Verificação de atualização de segurança do Mattermost" + }, + { + "id": "mattermost.security_info.error", + "translation": "Falha ao obter informação sobre a atualização de segurança do Mattermost." + }, + { + "id": "mattermost.send_bulletin.info", + "translation": "Enviando o boletim de segurança para %v a %v" + }, + { + "id": "mattermost.system_admins.error", + "translation": "Falha ao obter administradores do sistema para a informação de atualização de segurança do Mattermost." + }, + { + "id": "mattermost.unable_to_load_config", + "translation": "Não foi possível carregar o arquivo de configuração do mattermost:" + }, + { + "id": "mattermost.working_dir", + "translation": "Diretório atual é %v" + }, + { + "id": "model.access.is_valid.access_token.app_error", + "translation": "Token de acesso inválido" + }, + { + "id": "model.access.is_valid.auth_code.app_error", + "translation": "Código de autenticação inválido" + }, + { + "id": "model.access.is_valid.redirect_uri.app_error", + "translation": "Uri de redirecionamento inválida" + }, + { + "id": "model.access.is_valid.refresh_token.app_error", + "translation": "Token de atualização inválido" + }, + { + "id": "model.authorize.is_valid.auth_code.app_error", + "translation": "Código de autorização inválido" + }, + { + "id": "model.authorize.is_valid.client_id.app_error", + "translation": "Id de cliente inválido" + }, + { + "id": "model.authorize.is_valid.create_at.app_error", + "translation": "Create deve ser um tempo válido" + }, + { + "id": "model.authorize.is_valid.expires.app_error", + "translation": "Expira em deve ser definido" + }, + { + "id": "model.authorize.is_valid.redirect_uri.app_error", + "translation": "Uri de redirecionamento inválida" + }, + { + "id": "model.authorize.is_valid.scope.app_error", + "translation": "Escopo inválido" + }, + { + "id": "model.authorize.is_valid.state.app_error", + "translation": "Estado inválido" + }, + { + "id": "model.authorize.is_valid.user_id.app_error", + "translation": "Id de usuário inválido" + }, + { + "id": "model.channel.is_valid.2_or_more.app_error", + "translation": "Nome deve ter 2 ou mais caracteres alfanuméricos em minúsculas" + }, + { + "id": "model.channel.is_valid.create_at.app_error", + "translation": "Create deve ser um tempo válido" + }, + { + "id": "model.channel.is_valid.creator_id.app_error", + "translation": "Id de criador inválido" + }, + { + "id": "model.channel.is_valid.display_name.app_error", + "translation": "Nome para exibição inválido" + }, + { + "id": "model.channel.is_valid.header.app_error", + "translation": "Cabeçalho inválido" + }, + { + "id": "model.channel.is_valid.id.app_error", + "translation": "ID inválida" + }, + { + "id": "model.channel.is_valid.name.app_error", + "translation": "Nome inválido" + }, + { + "id": "model.channel.is_valid.purpose.app_error", + "translation": "Propósito inválido" + }, + { + "id": "model.channel.is_valid.type.app_error", + "translation": "Tipo inválido" + }, + { + "id": "model.channel.is_valid.update_at.app_error", + "translation": "Update deve ser um tempo válido" + }, + { + "id": "model.channel_member.is_valid.channel_id.app_error", + "translation": "Id do canal inválida" + }, + { + "id": "model.channel_member.is_valid.notify_level.app_error", + "translation": "Nível de notificação inválido" + }, + { + "id": "model.channel_member.is_valid.role.app_error", + "translation": "Função inválida" + }, + { + "id": "model.channel_member.is_valid.unread_level.app_error", + "translation": "Nível do marcador não lido inválido" + }, + { + "id": "model.channel_member.is_valid.user_id.app_error", + "translation": "Id de usuário inválido" + }, + { + "id": "model.client.connecting.app_error", + "translation": "Encontramos um erro enquanto conectava ao servidor" + }, + { + "id": "model.client.login.app_error", + "translation": "Tokens de autenticação não são iguais" + }, + { + "id": "model.command.is_valid.create_at.app_error", + "translation": "Create deve ser um tempo válido" + }, + { + "id": "model.command.is_valid.description.app_error", + "translation": "Descrição inválida" + }, + { + "id": "model.command.is_valid.display_name.app_error", + "translation": "Nome para exibição inválido" + }, + { + "id": "model.command.is_valid.id.app_error", + "translation": "ID inválida" + }, + { + "id": "model.command.is_valid.method.app_error", + "translation": "Método inválido" + }, + { + "id": "model.command.is_valid.team_id.app_error", + "translation": "Inválido equipe id" + }, + { + "id": "model.command.is_valid.token.app_error", + "translation": "Token inválido" + }, + { + "id": "model.command.is_valid.trigger.app_error", + "translation": "Gatilho inválido" + }, + { + "id": "model.command.is_valid.update_at.app_error", + "translation": "Update deve ser um tempo válido" + }, + { + "id": "model.command.is_valid.url.app_error", + "translation": "Url inválida" + }, + { + "id": "model.command.is_valid.url_http.app_error", + "translation": "URL inválida. Deve ser uma URL válida e começar com http:// ou https://" + }, + { + "id": "model.command.is_valid.user_id.app_error", + "translation": "Id de usuário inválido" + }, + { + "id": "model.compliance.is_valid.create_at.app_error", + "translation": "Create deve ser um tempo válido" + }, + { + "id": "model.compliance.is_valid.desc.app_error", + "translation": "Descrição inválida" + }, + { + "id": "model.compliance.is_valid.end_at.app_error", + "translation": "Para precisa ser um tempo válido" + }, + { + "id": "model.compliance.is_valid.id.app_error", + "translation": "ID inválida" + }, + { + "id": "model.compliance.is_valid.start_at.app_error", + "translation": "De precisa ser um tempo válido" + }, + { + "id": "model.compliance.is_valid.start_end_at.app_error", + "translation": "Para precisa ser maior que De" + }, + { + "id": "model.config.is_valid.email_reset_salt.app_error", + "translation": "Senha inválida redefinir salt nas configurações de email. Deve ser de 32 caracteres ou mais." + }, + { + "id": "model.config.is_valid.email_salt.app_error", + "translation": "Inválido convite salt em configurações de email. Deve ser de 32 caracteres ou mais." + }, + { + "id": "model.config.is_valid.email_security.app_error", + "translation": "Inválida segurança de conexão em configurações de email. Deve ser '', 'TLS', or 'STARTTLS'" + }, + { + "id": "model.config.is_valid.encrypt_sql.app_error", + "translation": "Inválido chave encrypt rest em configurações SQL. Deve ser 32 caracteres ou mais." + }, + { + "id": "model.config.is_valid.file_driver.app_error", + "translation": "Inválido nome do driver em configurações de arquivo. Deve ser 'local' ou 'amazons3'" + }, + { + "id": "model.config.is_valid.file_preview_height.app_error", + "translation": "Definição da altura da pré-visualização inválida. Deve ser zero ou um número positivo." + }, + { + "id": "model.config.is_valid.file_preview_width.app_error", + "translation": "Definição da largura da pré-visualização inválida. Deve ser um número positivo." + }, + { + "id": "model.config.is_valid.file_profile_height.app_error", + "translation": "Definição da altura da perfil inválida. Deve ser um número positivo." + }, + { + "id": "model.config.is_valid.file_profile_width.app_error", + "translation": "Definição da largura do perfil inválida. Deve um número positivo." + }, + { + "id": "model.config.is_valid.file_salt.app_error", + "translation": "Inválido salt de link público em configurações de arquivo. Deve ser 32 caracteres ou mais." + }, + { + "id": "model.config.is_valid.file_thumb_height.app_error", + "translation": "Definição da altura do thumbnail inválida. Deve ser um número positivo." + }, + { + "id": "model.config.is_valid.file_thumb_width.app_error", + "translation": "Definição da largura do thumbnail inválida. Deve ser um número positivo." + }, + { + "id": "model.config.is_valid.ldap_security.app_error", + "translation": "Inválida segurança de conexão em configurações de LDAP. Deve ser '', 'TLS', or 'STARTTLS'" + }, + { + "id": "model.config.is_valid.listen_address.app_error", + "translation": "Inválido endereço de escuta em configurações de serviço Deve ser ajustado." + }, + { + "id": "model.config.is_valid.login_attempts.app_error", + "translation": "Inválido máxima tentativas de login em configurações de serviço. Deve ser um número positivo." + }, + { + "id": "model.config.is_valid.max_file_size.app_error", + "translation": "Tamanho máximo do arquivo inválido nas configurações de arquivo. Deve ser zero ou um número positivo." + }, + { + "id": "model.config.is_valid.max_users.app_error", + "translation": "Inválido máximo de usuários por equipe em configurações de equipe. Deve ser um número positivo." + }, + { + "id": "model.config.is_valid.rate_mem.app_error", + "translation": "Tamanho do armazenamento de memória inválido para configurações de limite de velocidade. Deve ser um número positivo" + }, + { + "id": "model.config.is_valid.rate_sec.app_error", + "translation": "Inválido por seg para configuração do limite de taxa. Deve ser um número positivo" + }, + { + "id": "model.config.is_valid.restrict_direct_message.app_error", + "translation": "Restrição de mensagem direta inválida. Deve ser 'qualquer', ou 'equipe'" + }, + { + "id": "model.config.is_valid.sql_data_src.app_error", + "translation": "Inválido fonte de dados em configurações SQL. Deve ser definido." + }, + { + "id": "model.config.is_valid.sql_driver.app_error", + "translation": "Inválido nome do driver em configurações SQL. Deve ser 'mysql' ou 'postgres'" + }, + { + "id": "model.config.is_valid.sql_idle.app_error", + "translation": "Inválido máximo de conexões ociosas em configurações SQL. Deve ser um número positivo." + }, + { + "id": "model.config.is_valid.sql_max_conn.app_error", + "translation": "Inválido máximo de conexões abertas em configurações SQL. Deve ser um número positivo." + }, + { + "id": "model.file_info.get.gif.app_error", + "translation": "Não foi possível decodificar o gif." + }, + { + "id": "model.incoming_hook.channel_id.app_error", + "translation": "Id de canal inválido" + }, + { + "id": "model.incoming_hook.create_at.app_error", + "translation": "Create deve ser um tempo válido" + }, + { + "id": "model.incoming_hook.description.app_error", + "translation": "Descrição inválida" + }, + { + "id": "model.incoming_hook.display_name.app_error", + "translation": "Nome para exibição inválido" + }, + { + "id": "model.incoming_hook.id.app_error", + "translation": "ID inválida" + }, + { + "id": "model.incoming_hook.team_id.app_error", + "translation": "Equipe id inválida" + }, + { + "id": "model.incoming_hook.update_at.app_error", + "translation": "Update deve ser um tempo válido" + }, + { + "id": "model.incoming_hook.user_id.app_error", + "translation": "Id de usuário inválido" + }, + { + "id": "model.oauth.is_valid.app_id.app_error", + "translation": "Id app inválido" + }, + { + "id": "model.oauth.is_valid.callback.app_error", + "translation": "Urls de retorno de chamada inválidas" + }, + { + "id": "model.oauth.is_valid.client_secret.app_error", + "translation": "Cliente segredo inválido" + }, + { + "id": "model.oauth.is_valid.create_at.app_error", + "translation": "Create deve ser um tempo válido" + }, + { + "id": "model.oauth.is_valid.creator_id.app_error", + "translation": "Id criador inválido" + }, + { + "id": "model.oauth.is_valid.description.app_error", + "translation": "Descrição inválida" + }, + { + "id": "model.oauth.is_valid.homepage.app_error", + "translation": "Pagina inicial inválida" + }, + { + "id": "model.oauth.is_valid.name.app_error", + "translation": "Nome inválido" + }, + { + "id": "model.oauth.is_valid.update_at.app_error", + "translation": "Update deve ser um tempo válido" + }, + { + "id": "model.outgoing_hook.is_valid.callback.app_error", + "translation": "Urls de retorno de chamada inválidas" + }, + { + "id": "model.outgoing_hook.is_valid.channel_id.app_error", + "translation": "Id de canal inválido" + }, + { + "id": "model.outgoing_hook.is_valid.create_at.app_error", + "translation": "Create deve ser um tempo válido" + }, + { + "id": "model.outgoing_hook.is_valid.description.app_error", + "translation": "Descrição inválida" + }, + { + "id": "model.outgoing_hook.is_valid.display_name.app_error", + "translation": "Nome para exibição inválido" + }, + { + "id": "model.outgoing_hook.is_valid.id.app_error", + "translation": "ID inválida" + }, + { + "id": "model.outgoing_hook.is_valid.team_id.app_error", + "translation": "Equipe id inválida" + }, + { + "id": "model.outgoing_hook.is_valid.token.app_error", + "translation": "Token inválido" + }, + { + "id": "model.outgoing_hook.is_valid.trigger_words.app_error", + "translation": "Palavras gatilho inválida" + }, + { + "id": "model.outgoing_hook.is_valid.update_at.app_error", + "translation": "Update deve ser um tempo válido" + }, + { + "id": "model.outgoing_hook.is_valid.url.app_error", + "translation": "URLs de retorno de chamada inválida. Cada um deve ser uma URL válida e começar com http:// ou https://" + }, + { + "id": "model.outgoing_hook.is_valid.user_id.app_error", + "translation": "Id de usuário inválido" + }, + { + "id": "model.outgoing_hook.is_valid.words.app_error", + "translation": "Palavras gatilho inválida" + }, + { + "id": "model.post.is_valid.channel_id.app_error", + "translation": "Id de canal inválido" + }, + { + "id": "model.post.is_valid.create_at.app_error", + "translation": "Create deve ser um tempo válido" + }, + { + "id": "model.post.is_valid.filenames.app_error", + "translation": "Nomes dos arquivos inválidos" + }, + { + "id": "model.post.is_valid.hashtags.app_error", + "translation": "Hashtags inválidas" + }, + { + "id": "model.post.is_valid.id.app_error", + "translation": "ID inválida" + }, + { + "id": "model.post.is_valid.msg.app_error", + "translation": "Mensagem inválida" + }, + { + "id": "model.post.is_valid.original_id.app_error", + "translation": "Id original inválida" + }, + { + "id": "model.post.is_valid.parent_id.app_error", + "translation": "Id pai inválido" + }, + { + "id": "model.post.is_valid.props.app_error", + "translation": "Props inválido" + }, + { + "id": "model.post.is_valid.root_id.app_error", + "translation": "Id raiz inválida" + }, + { + "id": "model.post.is_valid.root_parent.app_error", + "translation": "Inválido root id deve ser definido se parent id for" + }, + { + "id": "model.post.is_valid.type.app_error", + "translation": "Tipo inválido" + }, + { + "id": "model.post.is_valid.update_at.app_error", + "translation": "Update deve ser um tempo válido" + }, + { + "id": "model.post.is_valid.user_id.app_error", + "translation": "Id de usuário inválido" + }, + { + "id": "model.preference.is_valid.category.app_error", + "translation": "Categoria inválida" + }, + { + "id": "model.preference.is_valid.id.app_error", + "translation": "Id de usuário inválido" + }, + { + "id": "model.preference.is_valid.name.app_error", + "translation": "Nome inválido" + }, + { + "id": "model.preference.is_valid.value.app_error", + "translation": "Nome é muito longo" + }, + { + "id": "model.team.is_valid.characters.app_error", + "translation": "Nome deve ter 4 ou mais caracteres alfanuméricos em minúsculas" + }, + { + "id": "model.team.is_valid.company.app_error", + "translation": "Nome da empresa inválido" + }, + { + "id": "model.team.is_valid.create_at.app_error", + "translation": "Create deve ser um tempo válido" + }, + { + "id": "model.team.is_valid.domains.app_error", + "translation": "Domínios permitidos inválidos" + }, + { + "id": "model.team.is_valid.email.app_error", + "translation": "Email inválido" + }, + { + "id": "model.team.is_valid.id.app_error", + "translation": "ID inválida" + }, + { + "id": "model.team.is_valid.name.app_error", + "translation": "Nome inválido" + }, + { + "id": "model.team.is_valid.reserved.app_error", + "translation": "Esta URL não está disponível. Por favor, tente outra." + }, + { + "id": "model.team.is_valid.type.app_error", + "translation": "Tipo inválido" + }, + { + "id": "model.team.is_valid.update_at.app_error", + "translation": "Update deve ser um tempo válido" + }, + { + "id": "model.team.is_valid.url.app_error", + "translation": "Identificador URL inválida" + }, + { + "id": "model.team_member.is_valid.role.app_error", + "translation": "Função inválida" + }, + { + "id": "model.team_member.is_valid.team_id.app_error", + "translation": "Equipe id inválida" + }, + { + "id": "model.team_member.is_valid.user_id.app_error", + "translation": "Id de usuário inválido" + }, + { + "id": "model.user.is_valid.auth_data.app_error", + "translation": "Dados de autenticação inválido" + }, + { + "id": "model.user.is_valid.auth_data_pwd.app_error", + "translation": "Usuário inválido, senha e de autenticação de dados não podem ser definidos" + }, + { + "id": "model.user.is_valid.auth_data_type.app_error", + "translation": "Usuário inválido, dados de autenticação deve ser definido com o tipo de autenticação" + }, + { + "id": "model.user.is_valid.create_at.app_error", + "translation": "Create deve ser um tempo válido" + }, + { + "id": "model.user.is_valid.email.app_error", + "translation": "Email inválido" + }, + { + "id": "model.user.is_valid.first_name.app_error", + "translation": "Primeiro nome inválido" + }, + { + "id": "model.user.is_valid.id.app_error", + "translation": "Id de usuário inválido" + }, + { + "id": "model.user.is_valid.last_name.app_error", + "translation": "Ultimo nome inválido" + }, + { + "id": "model.user.is_valid.nickname.app_error", + "translation": "Apelido inválido" + }, + { + "id": "model.user.is_valid.pwd.app_error", + "translation": "Senha inválida" + }, + { + "id": "model.user.is_valid.team_id.app_error", + "translation": "Equipe id inválida" + }, + { + "id": "model.user.is_valid.theme.app_error", + "translation": "Tema inválido" + }, + { + "id": "model.user.is_valid.update_at.app_error", + "translation": "Update deve ser um tempo válido" + }, + { + "id": "model.user.is_valid.username.app_error", + "translation": "Usuário inválido" + }, + { + "id": "model.utils.decode_json.app_error", + "translation": "não foi possível decodificar" + }, + { + "id": "store.sql.alter_column_type.critical", + "translation": "Falha ao alterar o tipo da coluna %v" + }, + { + "id": "store.sql.check_index.critical", + "translation": "Falha ao verificar o índice %v" + }, + { + "id": "store.sql.closing.info", + "translation": "Fechando SqlStore" + }, + { + "id": "store.sql.column_exists.critical", + "translation": "Falha ao verificar se a coluna existe %v" + }, + { + "id": "store.sql.column_exists_missing_driver.critical", + "translation": "Falha ao verificar se a couna existe devido a falta do driver" + }, + { + "id": "store.sql.convert_encrypt_string_map", + "translation": "FromDb: Não foi possível converter EncryptStringMap para *string" + }, + { + "id": "store.sql.convert_string_array", + "translation": "FromDb: Não foi possível converter StringArray para *string" + }, + { + "id": "store.sql.convert_string_interface", + "translation": "FromDb: Não foi possível converter StringInterface para *string" + }, + { + "id": "store.sql.convert_string_map", + "translation": "FromDb: Não foi possível converter StringMap para *string" + }, + { + "id": "store.sql.create_column.critical", + "translation": "Falha ao criar a coluna %v" + }, + { + "id": "store.sql.create_column_missing_driver.critical", + "translation": "Falha ao criar a couna devido a falta do driver" + }, + { + "id": "store.sql.create_index.critical", + "translation": "Falha ao criar o índice %v" + }, + { + "id": "store.sql.create_index_missing_driver.critical", + "translation": "Falha para criar o índice devido a falta do driver" + }, + { + "id": "store.sql.creating_tables.critical", + "translation": "Erro ao criar as tabelas no banco de dados: %v" + }, + { + "id": "store.sql.dialect_driver.critical", + "translation": "Falha ao criar driver de dialeto específico" + }, + { + "id": "store.sql.dialect_driver.panic", + "translation": "Falha ao criar driver de dialeto específico %v" + }, + { + "id": "store.sql.drop_column.critical", + "translation": "Falha ao deletar a coluna %v" + }, + { + "id": "store.sql.incorrect_mac", + "translation": "MAC incorreto para o ciphertext fornecido" + }, + { + "id": "store.sql.maxlength_column.critical", + "translation": "Falha ao obter o comprimento máximo da coluna %v" + }, + { + "id": "store.sql.open_conn.critical", + "translation": "Falha ao abrir a conexão sql err:%v" + }, + { + "id": "store.sql.open_conn.panic", + "translation": "Falha ao abrir a conexão sql %v" + }, + { + "id": "store.sql.ping.critical", + "translation": "Falha para ping db err:%v" + }, + { + "id": "store.sql.pinging.info", + "translation": "Pingando banco de dados sql %v" + }, + { + "id": "store.sql.read_replicas_not_licensed.critical", + "translation": "A funcionalidade de mais de uma réplica está desabilitada pela licença atual. Entre em contato com o administrador do sistema sobre como atualizar sua licença de empresa." + }, + { + "id": "store.sql.remove_index.critical", + "translation": "Falha ao remover o índice %v" + }, + { + "id": "store.sql.rename_column.critical", + "translation": "Falha ao renomear a coluna %v" + }, + { + "id": "store.sql.schema_out_of_date.warn", + "translation": "A versão do esquema do banco de dados %v parece estar desatualizada" + }, + { + "id": "store.sql.schema_set.info", + "translation": "O esquema do banco de dados foi ajustado para a versão %v" + }, + { + "id": "store.sql.schema_upgrade_attempt.warn", + "translation": "Tentando atualizar o esquema do banco de dados para versão %v" + }, + { + "id": "store.sql.schema_version.critical", + "translation": "O esquema do bando de dados da versão %v não pode ser atualizado. Você precisa pular uma versão." + }, + { + "id": "store.sql.short_ciphertext", + "translation": "ciphertext curto" + }, + { + "id": "store.sql.table_column_type.critical", + "translation": "Falha ao obter o tipo de dado da coluna %s para a tabela %s: %v" + }, + { + "id": "store.sql.table_exists.critical", + "translation": "Falha ao verificar se a tabela existe %v" + }, + { + "id": "store.sql.too_short_ciphertext", + "translation": "ciphertext muito curto" + }, + { + "id": "store.sql.upgraded.warn", + "translation": "O esquema do banco de dados foi atualizado para a versão %v" + }, + { + "id": "store.sql_audit.get.finding.app_error", + "translation": "Encontramos um erro ao procurar o audits" + }, + { + "id": "store.sql_audit.get.limit.app_error", + "translation": "Limite excedido para paginação" + }, + { + "id": "store.sql_audit.permanent_delete_by_user.app_error", + "translation": "Encontramos um erro ao deletar o audits" + }, + { + "id": "store.sql_audit.save.saving.app_error", + "translation": "Encontramos um erro ao salvar o audits" + }, + { + "id": "store.sql_channel.analytics_type_count.app_error", + "translation": "Não foi possível obter o número de tipos de canal" + }, + { + "id": "store.sql_channel.check_open_channel_permissions.app_error", + "translation": "Não foi possível verificar as pemissões" + }, + { + "id": "store.sql_channel.check_permissions.app_error", + "translation": "Não foi possível verificar as pemissões" + }, + { + "id": "store.sql_channel.check_permissions_by_name.app_error", + "translation": "Não foi possível verificar as pemissões" + }, + { + "id": "store.sql_channel.delete.channel.app_error", + "translation": "Não foi possível deletar o canal" + }, + { + "id": "store.sql_channel.extra_updated.app_error", + "translation": "Problema ao atualizar membros na última atualização" + }, + { + "id": "store.sql_channel.get.existing.app_error", + "translation": "Não foi possível encontrar o canal existente" + }, + { + "id": "store.sql_channel.get.find.app_error", + "translation": "Encontramos um erro ao procurar o canal" + }, + { + "id": "store.sql_channel.get_by_name.existing.app_error", + "translation": "Não foi possível encontrar o canal existente" + }, + { + "id": "store.sql_channel.get_by_name.missing.app_error", + "translation": "Canal não existe" + }, + { + "id": "store.sql_channel.get_channel_counts.get.app_error", + "translation": "Não foi possível obter o número de canais" + }, + { + "id": "store.sql_channel.get_channels.get.app_error", + "translation": "Não foi possível obter os canais" + }, + { + "id": "store.sql_channel.get_channels.not_found.app_error", + "translation": "Nenhum canal foi encontrado" + }, + { + "id": "store.sql_channel.get_extra_members.app_error", + "translation": "Nós não podemos obter a informação extra para membros do canal" + }, + { + "id": "store.sql_channel.get_for_export.app_error", + "translation": "Não foi possível obter todos os canais" + }, + { + "id": "store.sql_channel.get_member.app_error", + "translation": "Não foi possível obter os membros do canal" + }, + { + "id": "store.sql_channel.get_member.missing.app_error", + "translation": "Nenhum membro canal encontrado para esse id de usuário e id de canal" + }, + { + "id": "store.sql_channel.get_member_count.app_error", + "translation": "Não foi possível obter o número de membros do canal" + }, + { + "id": "store.sql_channel.get_members.app_error", + "translation": "Não foi possível obter os membros do canal" + }, + { + "id": "store.sql_channel.get_more_channels.get.app_error", + "translation": "Não foi possível obter os canais" + }, + { + "id": "store.sql_channel.increment_mention_count.app_error", + "translation": "Não foi possível incrementar o número de menções" + }, + { + "id": "store.sql_channel.permanent_delete_by_team.app_error", + "translation": "Não foi possível deletar os canais" + }, + { + "id": "store.sql_channel.permanent_delete_members_by_user.app_error", + "translation": "Não foi possível remover o membro do canal" + }, + { + "id": "store.sql_channel.remove_member.app_error", + "translation": "Não foi possível remover o membro do canal" + }, + { + "id": "store.sql_channel.save.commit_transaction.app_error", + "translation": "Não é possível confirmar a transação" + }, + { + "id": "store.sql_channel.save.direct_channel.app_error", + "translation": "Usar SaveDirectChannel para criar um canal direto" + }, + { + "id": "store.sql_channel.save.open_transaction.app_error", + "translation": "Não é possível abrir a transação" + }, + { + "id": "store.sql_channel.save_channel.current_count.app_error", + "translation": "Falha ao obter o número de canais atual" + }, + { + "id": "store.sql_channel.save_channel.existing.app_error", + "translation": "Deve chamar atualização para o canal existente" + }, + { + "id": "store.sql_channel.save_channel.exists.app_error", + "translation": "Um canal com essa URL já existe" + }, + { + "id": "store.sql_channel.save_channel.limit.app_error", + "translation": "Você atingiu o limite do número de canais autorizados." + }, + { + "id": "store.sql_channel.save_channel.previously.app_error", + "translation": "Um canal com essa URL foi criado anteriormente" + }, + { + "id": "store.sql_channel.save_channel.save.app_error", + "translation": "Não foi possível salvar o canal" + }, + { + "id": "store.sql_channel.save_direct_channel.add_members.app_error", + "translation": "Não foi possível adicionar membros para o canal direto" + }, + { + "id": "store.sql_channel.save_direct_channel.commit.app_error", + "translation": "Não é possível confirmar a transação" + }, + { + "id": "store.sql_channel.save_direct_channel.not_direct.app_error", + "translation": "Não foi um canal direto que foi tentado ser criado com SaveDirectChannel" + }, + { + "id": "store.sql_channel.save_direct_channel.open_transaction.app_error", + "translation": "Não é possível abrir a transação" + }, + { + "id": "store.sql_channel.save_member.commit_transaction.app_error", + "translation": "Não é possível confirmar a transação" + }, + { + "id": "store.sql_channel.save_member.exists.app_error", + "translation": "Um membro do canal com este id já existe" + }, + { + "id": "store.sql_channel.save_member.open_transaction.app_error", + "translation": "Não é possível abrir a transação" + }, + { + "id": "store.sql_channel.save_member.save.app_error", + "translation": "Não foi possível salvar o membro do canal" + }, + { + "id": "store.sql_channel.update.app_error", + "translation": "Não foi possível atualizar o canal" + }, + { + "id": "store.sql_channel.update.exists.app_error", + "translation": "Um canal com este handle já existe" + }, + { + "id": "store.sql_channel.update.previously.app_error", + "translation": "Um canal com esse handle foi criado anteriormente" + }, + { + "id": "store.sql_channel.update.updating.app_error", + "translation": "Encontramos um erro ao atualizar o canal" + }, + { + "id": "store.sql_channel.update_last_viewed_at.app_error", + "translation": "Não foi possível atualizar a última visualização no tempo" + }, + { + "id": "store.sql_channel.update_member.app_error", + "translation": "Encontramos um erro ao atualizar o membro do canal" + }, + { + "id": "store.sql_command.analytics_command_count.app_error", + "translation": "Não foi possível contar os comandos" + }, + { + "id": "store.sql_command.save.delete.app_error", + "translation": "Não foi possível deletar o comando" + }, + { + "id": "store.sql_command.save.delete_perm.app_error", + "translation": "Não foi possível deletar o comando" + }, + { + "id": "store.sql_command.save.get.app_error", + "translation": "Não foi possível obter o comando" + }, + { + "id": "store.sql_command.save.get_team.app_error", + "translation": "Não foi possível obter os comandos" + }, + { + "id": "store.sql_command.save.saving.app_error", + "translation": "Não foi possível salvar o Comando" + }, + { + "id": "store.sql_command.save.saving_overwrite.app_error", + "translation": "Você não pode sobre-escrever um Comando existente" + }, + { + "id": "store.sql_command.save.update.app_error", + "translation": "Não foi possível atualizar o comando" + }, + { + "id": "store.sql_compliance.get.finding.app_error", + "translation": "Encontramos um erro ao obter o relatório de compliance" + }, + { + "id": "store.sql_compliance.save.saving.app_error", + "translation": "Encontramos um erro ao salvar o relatório de compliance" + }, + { + "id": "store.sql_license.get.app_error", + "translation": "Encontramos um erro ao obter a licença" + }, + { + "id": "store.sql_license.get.missing.app_error", + "translation": "Uma licença com este ID não foi encontrada" + }, + { + "id": "store.sql_license.save.app_error", + "translation": "Encontramos um erro ao salvar a lincença" + }, + { + "id": "store.sql_oauth.get_access_data.app_error", + "translation": "Encontramos um erro ao procurar o token de acesso" + }, + { + "id": "store.sql_oauth.get_access_data_by_code.app_error", + "translation": "Encontramos um erro ao procurar o token de acesso" + }, + { + "id": "store.sql_oauth.get_app.find.app_error", + "translation": "Não foi possível encontrar o app existente" + }, + { + "id": "store.sql_oauth.get_app.finding.app_error", + "translation": "Encontramos um erro ao procurar o app" + }, + { + "id": "store.sql_oauth.get_app_by_user.find.app_error", + "translation": "Não foi possível encontrar nenhum app existente" + }, + { + "id": "store.sql_oauth.get_auth_data.find.app_error", + "translation": "Não foi possível localizar o código de autorização" + }, + { + "id": "store.sql_oauth.get_auth_data.finding.app_error", + "translation": "Encontramos um erro ao procurar o código de autorização" + }, + { + "id": "store.sql_oauth.permanent_delete_auth_data_by_user.app_error", + "translation": "Não conseguimos remover o código de autorização" + }, + { + "id": "store.sql_oauth.remove_access_data.app_error", + "translation": "Não foi possível remover o token de acesso" + }, + { + "id": "store.sql_oauth.remove_auth_data.app_error", + "translation": "Não foi possível remover o código de autorização" + }, + { + "id": "store.sql_oauth.save_access_data.app_error", + "translation": "Não foi possível salvar o token de acesso." + }, + { + "id": "store.sql_oauth.save_app.existing.app_error", + "translation": "Deve chamar atualização para aplicação existente" + }, + { + "id": "store.sql_oauth.save_app.save.app_error", + "translation": "Não foi possível salvar o aplicativo." + }, + { + "id": "store.sql_oauth.save_auth_data.app_error", + "translation": "Não foi possível salvar o código de autorização." + }, + { + "id": "store.sql_oauth.update_app.find.app_error", + "translation": "Não foi possível encontrar o app existente para atualizar" + }, + { + "id": "store.sql_oauth.update_app.finding.app_error", + "translation": "Encontramos um erro ao procurar o app" + }, + { + "id": "store.sql_oauth.update_app.update.app_error", + "translation": "Não foi possível atualizar o aplicativo" + }, + { + "id": "store.sql_oauth.update_app.updating.app_error", + "translation": "Encontramos um erro ao atualizar o app" + }, + { + "id": "store.sql_post.analytics_posts_count.app_error", + "translation": "Não possível obter o número de postagens" + }, + { + "id": "store.sql_post.analytics_posts_count_by_day.app_error", + "translation": "Não possível obter o número de postagens do dia" + }, + { + "id": "store.sql_post.analytics_user_counts_posts_by_day.app_error", + "translation": "Não foi possível obter o número de posts" + }, + { + "id": "store.sql_post.compliance_export.app_error", + "translation": "Não foi possível obter os posts para exportação compliance" + }, + { + "id": "store.sql_post.delete.app_error", + "translation": "Não foi possível deletar o post" + }, + { + "id": "store.sql_post.get.app_error", + "translation": "Não foi obter o post" + }, + { + "id": "store.sql_post.get_for_export.app_error", + "translation": "Nós não conseguimos obter as mensagens para o canal" + }, + { + "id": "store.sql_post.get_parents_posts.app_error", + "translation": "Não foi possível obter o post pai para o canal" + }, + { + "id": "store.sql_post.get_posts.app_error", + "translation": "Limite excedido para paginação" + }, + { + "id": "store.sql_post.get_posts_around.get.app_error", + "translation": "Não foi possível obter as postagens para o canal" + }, + { + "id": "store.sql_post.get_posts_around.get_parent.app_error", + "translation": "Não foi possível obter o post pai para o canal" + }, + { + "id": "store.sql_post.get_posts_since.app_error", + "translation": "Não foi possível obter as postagens do canal" + }, + { + "id": "store.sql_post.get_root_posts.app_error", + "translation": "Não foi possível obter as postagens do canal" + }, + { + "id": "store.sql_post.permanent_delete.app_error", + "translation": "Não foi possível deletar o post" + }, + { + "id": "store.sql_post.permanent_delete_all_comments_by_user.app_error", + "translation": "Não foi possível deletar os comentários para o usuário" + }, + { + "id": "store.sql_post.permanent_delete_by_user.app_error", + "translation": "Não foi possível selecionar os posts para deletar para o usuário" + }, + { + "id": "store.sql_post.permanent_delete_by_user.too_many.app_error", + "translation": "Não foi possível selecionar as postagens para deletar o usuário (muitos), por favor, re-executar" + }, + { + "id": "store.sql_post.save.app_error", + "translation": "Não foi possível salvar o Post" + }, + { + "id": "store.sql_post.save.existing.app_error", + "translation": "Você não pode atualizar um Post" + }, + { + "id": "store.sql_post.search.app_error", + "translation": "Encontramos um erro enquanto procurava por postagens" + }, + { + "id": "store.sql_post.update.app_error", + "translation": "Não foi possível deletar o post" + }, + { + "id": "store.sql_preference.delete_unused_features.debug", + "translation": "Excluindo recursos de pré-lançamento não utilizados" + }, + { + "id": "store.sql_preference.get.app_error", + "translation": "Encontramos um erro ao procurar as preferências" + }, + { + "id": "store.sql_preference.get_all.app_error", + "translation": "Encontramos um erro ao procurar as preferências" + }, + { + "id": "store.sql_preference.get_category.app_error", + "translation": "Encontramos um erro ao procurar as preferências" + }, + { + "id": "store.sql_preference.insert.exists.app_error", + "translation": "Uma preferencia com este id de usuário, categoria, e nome já existe" + }, + { + "id": "store.sql_preference.insert.save.app_error", + "translation": "Não foi possível salvar a preferência" + }, + { + "id": "store.sql_preference.is_feature_enabled.app_error", + "translation": "Encontramos um erro enquanto procurava uma preferência de recurso de pré lançamento" + }, + { + "id": "store.sql_preference.permanent_delete_by_user.app_error", + "translation": "Encontramos um erro enquanto deletava as preferências" + }, + { + "id": "store.sql_preference.save.commit_transaction.app_error", + "translation": "Não é possível confirmar a transação para salvar as preferências" + }, + { + "id": "store.sql_preference.save.missing_driver.app_error", + "translation": "Encontramos um erro enquanto atualizava as preferências" + }, + { + "id": "store.sql_preference.save.open_transaction.app_error", + "translation": "Não foi possível abrir a transação para salvar as preferências" + }, + { + "id": "store.sql_preference.save.rollback_transaction.app_error", + "translation": "Não é possível anular a transação para salvar as preferências" + }, + { + "id": "store.sql_preference.save.updating.app_error", + "translation": "Encontramos um erro enquanto atualizava as preferências" + }, + { + "id": "store.sql_preference.update.app_error", + "translation": "Não foi possível atualizar a preferência" + }, + { + "id": "store.sql_session.analytics_session_count.app_error", + "translation": "Não foi possível contar a sessão" + }, + { + "id": "store.sql_session.cleanup_expired_sessions.app_error", + "translation": "Encontramos um erro enquanto deletava a sessão expirada do usuário" + }, + { + "id": "store.sql_session.get.app_error", + "translation": "Encontramos um erro ao procurar a sessão" + }, + { + "id": "store.sql_session.get_sessions.app_error", + "translation": "Encontramos um erro enquanto procurava a sessão do usuário" + }, + { + "id": "store.sql_session.get_sessions.error", + "translation": "Falhou ao limpar as sessões em getSessions err=%v" + }, + { + "id": "store.sql_session.permanent_delete_sessions_by_user.app_error", + "translation": "Não foi possível remover todas as sessões para o usuário" + }, + { + "id": "store.sql_session.remove.app_error", + "translation": "Não foi possível remover a sessão" + }, + { + "id": "store.sql_session.remove_all_sessions_for_team.app_error", + "translation": "Não foi possível remover todas as sessões" + }, + { + "id": "store.sql_session.save.app_error", + "translation": "Não foi possível salvar a sessão" + }, + { + "id": "store.sql_session.save.cleanup.error", + "translation": "Falhou ao limpar as sessões em Segurança err=%v" + }, + { + "id": "store.sql_session.save.existing.app_error", + "translation": "Não foi possível atualizar a sessão" + }, + { + "id": "store.sql_session.update_device_id.app_error", + "translation": "Não foi possível atualizar o id do dispositivo" + }, + { + "id": "store.sql_session.update_last_activity.app_error", + "translation": "Nós foi possível atualizar o last_ping_at" + }, + { + "id": "store.sql_session.update_roles.app_error", + "translation": "Não foi possível atualizar as funções" + }, + { + "id": "store.sql_system.get.app_error", + "translation": "Encontramos um erro ao procurar as propriedades de sistema" + }, + { + "id": "store.sql_system.get_by_name.app_error", + "translation": "Não foi possível encontrar a variável do sistema." + }, + { + "id": "store.sql_system.save.app_error", + "translation": "Encontramos um erro ao salvar as propriedades do sistema" + }, + { + "id": "store.sql_system.update.app_error", + "translation": "Encontramos um erro ao atualizar as propriedades de sistema" + }, + { + "id": "store.sql_team.analytics_team_count.app_error", + "translation": "Não foi possível contar as equipes" + }, + { + "id": "store.sql_team.get.find.app_error", + "translation": "Não foi possível encontrar a equipe existente" + }, + { + "id": "store.sql_team.get.finding.app_error", + "translation": "Encontramos um erro ao procurar a equipe" + }, + { + "id": "store.sql_team.get_all.app_error", + "translation": "Não foi possível obter todas as equipes" + }, + { + "id": "store.sql_team.get_all_team_listing.app_error", + "translation": "Não foi possível obter todas as equipes" + }, + { + "id": "store.sql_team.get_by_invite_id.find.app_error", + "translation": "Não foi possível encontrar a equipe existente" + }, + { + "id": "store.sql_team.get_by_invite_id.finding.app_error", + "translation": "Não foi possível encontrar a equipe existente" + }, + { + "id": "store.sql_team.get_by_name.app_error", + "translation": "Não foi possível encontrar a equipe existente" + }, + { + "id": "store.sql_team.get_member.app_error", + "translation": "Não foi possível obter os membros da equipe" + }, + { + "id": "store.sql_team.get_members.app_error", + "translation": "Não foi possível obter os membros da equipe" + }, + { + "id": "store.sql_team.get_teams_for_email.app_error", + "translation": "Encontramos um erro quando observava as equipes" + }, + { + "id": "store.sql_team.permanent_delete.app_error", + "translation": "Não foi possível deletar a equipe existente" + }, + { + "id": "store.sql_team.remove_member.app_error", + "translation": "Não foi possível remover o membro da equipe" + }, + { + "id": "store.sql_team.save.app_error", + "translation": "Não foi possível salvar a equipe" + }, + { + "id": "store.sql_team.save.domain_exists.app_error", + "translation": "Uma equipe com este domínio já existe" + }, + { + "id": "store.sql_team.save.existing.app_error", + "translation": "Deve chamar atualização para equipe existente" + }, + { + "id": "store.sql_team.save_member.exists.app_error", + "translation": "Um membro do canal com este id já existe" + }, + { + "id": "store.sql_team.save_member.save.app_error", + "translation": "Não foi possível salvar o membro da equipe" + }, + { + "id": "store.sql_team.update.app_error", + "translation": "Não foi possível atualizar a equipe" + }, + { + "id": "store.sql_team.update.find.app_error", + "translation": "Não foi possível encontrar a equipe existente" + }, + { + "id": "store.sql_team.update.finding.app_error", + "translation": "Encontramos um erro ao procurar a equipe" + }, + { + "id": "store.sql_team.update.updating.app_error", + "translation": "Encontramos um erro ao atualizar a equipe" + }, + { + "id": "store.sql_team.update_display_name.app_error", + "translation": "Não foi possível atualizar o nome da equipe" + }, + { + "id": "store.sql_user.analytics_unique_user_count.app_error", + "translation": "Não foi possível obter o número de usuários únicos" + }, + { + "id": "store.sql_user.get.app_error", + "translation": "Encontramos um erro ao procurar a conta" + }, + { + "id": "store.sql_user.get_by_auth.missing_account.app_error", + "translation": "Não foi possível encontrar uma conta correspondente ao seu tipo de autenticação para esta equipe. Esta equipe pode exigir um convite do dono da equipe para participar." + }, + { + "id": "store.sql_user.get_by_auth.other.app_error", + "translation": "Foi encontrado um erro ao tentar encontrar a conta pelo tipo de autenticação." + }, + { + "id": "store.sql_user.get_by_username.app_error", + "translation": "Não foi possível encontrar uma conta correspondente ao seu usuário para esta equipe. Esta equipe pode exigir um convite do dono da equipe para participar." + }, + { + "id": "store.sql_user.get_for_export.app_error", + "translation": "Encontramos um erro enquanto procurava o perfil do usuário" + }, + { + "id": "store.sql_user.get_for_login.app_error", + "translation": "Não foi possível encontrar uma conta correspondente a suas credenciais. Esta equipe pode exigir um convite do dono da equipe para participar." + }, + { + "id": "store.sql_user.get_for_login.multiple_users", + "translation": "Encontramos vários usuários correspondentes as suas credenciais e não conseguimos fazer seu login. Por favor, entre em contato com um administrador." + }, + { + "id": "store.sql_user.get_profiles.app_error", + "translation": "Encontramos um erro enquanto procurava os perfis de usuários" + }, + { + "id": "store.sql_user.get_sysadmin_profiles.app_error", + "translation": "Encontramos um erro enquanto procurava os perfis de usuários" + }, + { + "id": "store.sql_user.get_total_active_users_count.app_error", + "translation": "Não foi possível contar os usuários" + }, + { + "id": "store.sql_user.get_total_users_count.app_error", + "translation": "Não foi possível contar os usuários" + }, + { + "id": "store.sql_user.get_unread_count.app_error", + "translation": "Não foi possível obter o número de mensagens não lidas para o usuário" + }, + { + "id": "store.sql_user.missing_account.const", + "translation": "Não foi possível encontrar uma conta correspondente ao seu endereço de email para esta equipe. Esta equipe pode exigir um convite do dono da equipe para participar." + }, + { + "id": "store.sql_user.permanent_delete.app_error", + "translation": "Não foi possível deletar a equipe existente" + }, + { + "id": "store.sql_user.save.app_error", + "translation": "Não foi possível salvar a conta." + }, + { + "id": "store.sql_user.save.email_exists.app_error", + "translation": "Uma conta com este email já existe." + }, + { + "id": "store.sql_user.save.email_exists.ldap_app_error", + "translation": "Está conta não usa autenticação LDAP. Por favor faça login usando email e senha." + }, + { + "id": "store.sql_user.save.existing.app_error", + "translation": "Deve chamar update para o usuário existente" + }, + { + "id": "store.sql_user.save.max_accounts.app_error", + "translation": "Esta equipe alcançou o número máximo de contas permitidas. Contate o seu administrador de sistema para ajustar um limite maior." + }, + { + "id": "store.sql_user.save.member_count.app_error", + "translation": "Falha ao obter a atual contagem de membros da equipe" + }, + { + "id": "store.sql_user.save.username_exists.app_error", + "translation": "Uma conta com este nome de usuário já existe." + }, + { + "id": "store.sql_user.save.username_exists.ldap_app_error", + "translation": "Uma conta com este nome de usuário já existe. Por favor contate seu Administrador." + }, + { + "id": "store.sql_user.update.app_error", + "translation": "Não foi possível atualizar a conta" + }, + { + "id": "store.sql_user.update.can_not_change_ldap.app_error", + "translation": "Não é possível alterar os campos definidos pelo LDAP" + }, + { + "id": "store.sql_user.update.email_taken.app_error", + "translation": "Este email já foi utilizado. Por favor escolha outro." + }, + { + "id": "store.sql_user.update.find.app_error", + "translation": "Não foi possível encontrar a conta para atualizar" + }, + { + "id": "store.sql_user.update.finding.app_error", + "translation": "Encontramos um erro ao procurar a conta" + }, + { + "id": "store.sql_user.update.updating.app_error", + "translation": "Encontramos um erro ao atualizar a conta" + }, + { + "id": "store.sql_user.update.username_taken.app_error", + "translation": "Este nome de usuário já está em uso. Por favor, escolha outro." + }, + { + "id": "store.sql_user.update_auth_data.app_error", + "translation": "Não foi possível atualizar os dados de autenticação" + }, + { + "id": "store.sql_user.update_failed_pwd_attempts.app_error", + "translation": "Não foi possível atualizar o failed_attempts" + }, + { + "id": "store.sql_user.update_last_activity.app_error", + "translation": "Nós foi possível atualizar o last_activity_at" + }, + { + "id": "store.sql_user.update_last_picture_update.app_error", + "translation": "Não foi possível atualizar update_at" + }, + { + "id": "store.sql_user.update_last_ping.app_error", + "translation": "Nós foi possível atualizar o last_ping_at" + }, + { + "id": "store.sql_user.update_mfa_active.app_error", + "translation": "Encontramos um erro ao atualizar o status ativo MFA do usuário" + }, + { + "id": "store.sql_user.update_mfa_secret.app_error", + "translation": "Foi encontrado um erro ao atualizar o segredo MFA do usuário" + }, + { + "id": "store.sql_user.update_password.app_error", + "translation": "Não foi possível atualizar a senha do usuário" + }, + { + "id": "store.sql_user.verify_email.app_error", + "translation": "Não foi possível verificar o campo email" + }, + { + "id": "store.sql_webhooks.analytics_incoming_count.app_error", + "translation": "Não foi possível contar os webhooks entrada" + }, + { + "id": "store.sql_webhooks.analytics_outgoing_count.app_error", + "translation": "Não foi possível contar os webhooks saída" + }, + { + "id": "store.sql_webhooks.delete_incoming.app_error", + "translation": "Não foi possível deletar o webhook" + }, + { + "id": "store.sql_webhooks.delete_outgoing.app_error", + "translation": "Não foi possível deletar o webhook" + }, + { + "id": "store.sql_webhooks.get_incoming.app_error", + "translation": "Não conseguimos obter o webhook" + }, + { + "id": "store.sql_webhooks.get_incoming_by_channel.app_error", + "translation": "Não foi possível obter os webhooks" + }, + { + "id": "store.sql_webhooks.get_incoming_by_user.app_error", + "translation": "Não conseguimos obter o webhook" + }, + { + "id": "store.sql_webhooks.get_outgoing.app_error", + "translation": "Não conseguimos obter o webhook" + }, + { + "id": "store.sql_webhooks.get_outgoing_by_channel.app_error", + "translation": "Não foi possível obter os webhooks" + }, + { + "id": "store.sql_webhooks.get_outgoing_by_team.app_error", + "translation": "Não foi possível obter os webhooks" + }, + { + "id": "store.sql_webhooks.permanent_delete_incoming_by_user.app_error", + "translation": "Nós não podemos deletar o webhook" + }, + { + "id": "store.sql_webhooks.permanent_delete_outgoing_by_user.app_error", + "translation": "Não foi possível deletar o webhook" + }, + { + "id": "store.sql_webhooks.save_incoming.app_error", + "translation": "Não foi possível salvar o IncomingWebhook" + }, + { + "id": "store.sql_webhooks.save_incoming.existing.app_error", + "translation": "Você não pode sobre escrever um existente Webhook Entrada" + }, + { + "id": "store.sql_webhooks.save_outgoing.app_error", + "translation": "Não foi possível salvar o OutgoingWebhook" + }, + { + "id": "store.sql_webhooks.save_outgoing.override.app_error", + "translation": "Você não pode sobre escrever um existente Webhook de Saída" + }, + { + "id": "store.sql_webhooks.update_outgoing.app_error", + "translation": "Não foi possível atualizar o webhook" + }, + { + "id": "utils.config.load_config.decoding.panic", + "translation": "Erro ao decodificar o arquivo de configuração={{.Filename}}, err={{.Error}}" + }, + { + "id": "utils.config.load_config.getting.panic", + "translation": "Erro ao obter o arquivo de configuração={{.Filename}}, err={{.Error}}" + }, + { + "id": "utils.config.load_config.opening.panic", + "translation": "Erro ao abrir o arquivo de configuração={{.Filename}}, err={{.Error}}" + }, + { + "id": "utils.config.load_config.validating.panic", + "translation": "Erro ao validar o arquivo de configuração={{.Filename}}, err={{.Error}}" + }, + { + "id": "utils.config.save_config.saving.app_error", + "translation": "Um erro ocorreu durante o salvamento do arquivo {{.Filename}}" + }, + { + "id": "utils.i18n.loaded", + "translation": "Carregado o sistema de traduções para '%v' de '%v'" + }, + { + "id": "utils.iru.with_evict", + "translation": "Necessário fornecer um tamanho positivo" + }, + { + "id": "utils.license.load_license.invalid.warn", + "translation": "Nenhuma licença enterprise encontrada" + }, + { + "id": "utils.license.remove_license.unable.error", + "translation": "Não foi possível remover o arquivo de licença, err=%v" + }, + { + "id": "utils.license.validate_license.decode.error", + "translation": "Encontrado um erro ao decodificar a licença, err=%v" + }, + { + "id": "utils.license.validate_license.invalid.error", + "translation": "Assinatura inválida, err=%v" + }, + { + "id": "utils.license.validate_license.not_long.error", + "translation": "Licença assinada não é longa o suficiente" + }, + { + "id": "utils.license.validate_license.signing.error", + "translation": "Encontrado um erro ao assinar a licença, err=%v" + }, + { + "id": "utils.mail.connect_smtp.open.app_error", + "translation": "Falha ao abrir conexão" + }, + { + "id": "utils.mail.connect_smtp.open_tls.app_error", + "translation": "Falha ao abrir a conexão TLS" + }, + { + "id": "utils.mail.new_client.auth.app_error", + "translation": "Falha ao autenticar no servidor de SMTP" + }, + { + "id": "utils.mail.new_client.open.error", + "translation": "Falha ao abrir a conexão SMTP para o servidor %v" + }, + { + "id": "utils.mail.send_mail.close.app_error", + "translation": "Falha ao fechar a conexão com servidor SMTP" + }, + { + "id": "utils.mail.send_mail.from_address.app_error", + "translation": "Falha ao adicionar endereço de remetente de email" + }, + { + "id": "utils.mail.send_mail.msg.app_error", + "translation": "Falha ao escrever a mensagem de email" + }, + { + "id": "utils.mail.send_mail.msg_data.app_error", + "translation": "Falha ao adicionar os dados a mensagem de email" + }, + { + "id": "utils.mail.send_mail.sending.debug", + "translation": "enviando email para %v com assunto '%v'" + }, + { + "id": "utils.mail.send_mail.to_address.app_error", + "translation": "Falha ao adicionar o endereço de email" + }, + { + "id": "utils.mail.test.configured.error", + "translation": "Configurações do servidor SMTP não parecem estar configuradas corretamente err=%v detalhes=%v" + }, + { + "id": "web.admin_console.title", + "translation": "Console Admin" + }, + { + "id": "web.authorize_oauth.disabled.app_error", + "translation": "O administrador do sistema desativou o provedor de serviço OAuth." + }, + { + "id": "web.authorize_oauth.missing.app_error", + "translation": "Faltando uma ou mais de response_type, client_id, or redirect_uri" + }, + { + "id": "web.authorize_oauth.title", + "translation": "Autorizar Aplicação" + }, + { + "id": "web.check_browser_compatibility.app_error", + "translation": "Seu navegador atual não é suportado, por favor atualize para um dos seguintes browsers: Google Chrome 21 ou superior, Internet Explorer 11 ou superior, FireFox 14 ou superior, Safari 9 ou superior" + }, + { + "id": "web.claim_account.team.error", + "translation": "Não foi possível encontrar o nome da equipe=%v, err=%v" + }, + { + "id": "web.claim_account.title", + "translation": "Conta Pedido" + }, + { + "id": "web.claim_account.user.error", + "translation": "Não foi possível encontrar o usuário teamid=%v, email=%v, err=%v" + }, + { + "id": "web.create_dir.error", + "translation": "Falha ao criar o diretório observador %v" + }, + { + "id": "web.dir_fail.error", + "translation": "Falha no diretório observador %v" + }, + { + "id": "web.do_load_channel.error", + "translation": "Erro na obtenção do perfil dos usuários para id=%v forçando o logout" + }, + { + "id": "web.doc.title", + "translation": "Documentação" + }, + { + "id": "web.email_verified.title", + "translation": "Email Verificado" + }, + { + "id": "web.find_team.title", + "translation": "Encontrar Equipe" + }, + { + "id": "web.get_access_token.bad_client_id.app_error", + "translation": "invalid_request: Bad client_id" + }, + { + "id": "web.get_access_token.bad_client_secret.app_error", + "translation": "invalid_request: Faltando client_secret" + }, + { + "id": "web.get_access_token.bad_grant.app_error", + "translation": "invalid_request: Bad grant_type" + }, + { + "id": "web.get_access_token.credentials.app_error", + "translation": "invalid_client: Inválida credenciais de cliente" + }, + { + "id": "web.get_access_token.disabled.app_error", + "translation": "O administrador do sistema desativou o provedor de serviço OAuth." + }, + { + "id": "web.get_access_token.exchanged.app_error", + "translation": "invalid_grant: Código de autorização já trocado por um token de acesso" + }, + { + "id": "web.get_access_token.expired_code.app_error", + "translation": "invalid_grant: Código de autorização inválido ou expirado" + }, + { + "id": "web.get_access_token.internal.app_error", + "translation": "server_error: Encontrado um erro interno no servidor enquanto acessava o banco de dados" + }, + { + "id": "web.get_access_token.internal_saving.app_error", + "translation": "server_error: Encontrado um erro interno no servidor enquanto salvava o token de acesso no banco de dados" + }, + { + "id": "web.get_access_token.internal_session.app_error", + "translation": "server_error: Encontrado um erro interno no servidor enquanto salvava a sessão no banco de dados" + }, + { + "id": "web.get_access_token.internal_user.app_error", + "translation": "server_error: Encontrado um erro interno no servidor enquanto puxava o usuário do banco de dados" + }, + { + "id": "web.get_access_token.missing_code.app_error", + "translation": "invalid_request: Faltando código" + }, + { + "id": "web.get_access_token.redirect_uri.app_error", + "translation": "invalid_request: Fornecido redirect_uri que não corresponde ao código de autorização redirect_uri" + }, + { + "id": "web.get_access_token.revoking.error", + "translation": "Encontrado um erro ao revogar um token de acesso, err=" + }, + { + "id": "web.header.back", + "translation": "Voltar" + }, + { + "id": "web.incoming_webhook.channel.app_error", + "translation": "Não foi possível encontrar o canal" + }, + { + "id": "web.incoming_webhook.disabled.app_error", + "translation": "Webhooks de entrada foram desabilitados pelo administrador do sistema." + }, + { + "id": "web.incoming_webhook.invalid.app_error", + "translation": "Webhook inválido" + }, + { + "id": "web.incoming_webhook.parse.app_error", + "translation": "Não é possível processar os dados de entrada" + }, + { + "id": "web.incoming_webhook.permissions.app_error", + "translation": "Permissões do canal inapropriadas" + }, + { + "id": "web.incoming_webhook.text.app_error", + "translation": "Nenhum texto específicado" + }, + { + "id": "web.incoming_webhook.user.app_error", + "translation": "Não foi possível encontrar o usuário" + }, + { + "id": "web.init.debug", + "translation": "Inicializando web routes" + }, + { + "id": "web.login.error", + "translation": "Não foi possível encontrar o nome da equipe=%v, err=%v" + }, + { + "id": "web.login.login_title", + "translation": "Login" + }, + { + "id": "web.login_with_oauth.invalid_team.app_error", + "translation": "Nome da equipe inválida" + }, + { + "id": "web.parsing_templates.debug", + "translation": "Analisando modelos no %v" + }, + { + "id": "web.parsing_templates.error", + "translation": "Falha ao processar os modelos %v" + }, + { + "id": "web.post_permalink.app_error", + "translation": "Post ID Inválido" + }, + { + "id": "web.reparse_templates.info", + "translation": "Re-análise dos modelos por causa da modificação do arquivo %v" + }, + { + "id": "web.reset_password.expired_link.app_error", + "translation": "O link de redefinição de senha expirou" + }, + { + "id": "web.reset_password.invalid_link.app_error", + "translation": "O link de redefinição não parece ser válido" + }, + { + "id": "web.root.home_title", + "translation": "Início" + }, + { + "id": "web.root.singup_title", + "translation": "Inscrever-se" + }, + { + "id": "web.signup_team_complete.invalid_link.app_error", + "translation": "O link de inscrição não parece ser válido" + }, + { + "id": "web.signup_team_complete.link_expired.app_error", + "translation": "O link de inscrição expirou" + }, + { + "id": "web.signup_team_complete.title", + "translation": "Completar Inscrição na Equipe" + }, + { + "id": "web.signup_team_confirm.title", + "translation": "Inscrição Email Enviado" + }, + { + "id": "web.signup_user_complete.link_expired.app_error", + "translation": "O link de inscrição expirou" + }, + { + "id": "web.signup_user_complete.link_invalid.app_error", + "translation": "O link de inscrição não parece ser válido" + }, + { + "id": "web.signup_user_complete.no_invites.app_error", + "translation": "O tipo da equipe não permite convites abertos" + }, + { + "id": "web.signup_user_complete.title", + "translation": "Inscrição de Usuário Completa" + }, + { + "id": "web.singup_with_oauth.disabled.app_error", + "translation": "Inscrição de usuário desativada." + }, + { + "id": "web.singup_with_oauth.expired_link.app_error", + "translation": "O link de inscrição expirou" + }, + { + "id": "web.singup_with_oauth.invalid_link.app_error", + "translation": "O link de inscrição não parece ser válido" + }, + { + "id": "web.singup_with_oauth.invalid_team.app_error", + "translation": "Nome da equipe inválida" + }, + { + "id": "web.watcher_fail.error", + "translation": "Falha ao adicionar diretório observador %v" + } +] diff --git a/i18n/pt.json b/i18n/pt.json deleted file mode 100644 index 0f752b26c..000000000 --- a/i18n/pt.json +++ /dev/null @@ -1,4078 +0,0 @@ -[ - { - "id": "April", - "translation": "Abril" - }, - { - "id": "August", - "translation": "Agosto" - }, - { - "id": "December", - "translation": "Dezembro" - }, - { - "id": "February", - "translation": "Fevereiro" - }, - { - "id": "January", - "translation": "Janeiro" - }, - { - "id": "July", - "translation": "Julho" - }, - { - "id": "June", - "translation": "Junho" - }, - { - "id": "March", - "translation": "Março" - }, - { - "id": "May", - "translation": "Maio" - }, - { - "id": "November", - "translation": "Novembro" - }, - { - "id": "October", - "translation": "Outubro" - }, - { - "id": "September", - "translation": "Setembro" - }, - { - "id": "api.admin.file_read_error", - "translation": "Erro ao ler o arquivo de log" - }, - { - "id": "api.admin.get_brand_image.not_available.app_error", - "translation": "Marca personalizada não está configurado ou não é suportado pelo servidor" - }, - { - "id": "api.admin.get_brand_image.storage.app_error", - "translation": "O armazenamento de imagem não está configurado." - }, - { - "id": "api.admin.init.debug", - "translation": "Inicializando admin api routes" - }, - { - "id": "api.admin.recycle_db_end.warn", - "translation": "Terminada a reciclagem da conexão do banco de dados" - }, - { - "id": "api.admin.recycle_db_start.warn", - "translation": "Tentando reciclar a conexão com o banco de dados" - }, - { - "id": "api.admin.test_email.body", - "translation": "


Parece que o seu email do Mattermost está configurado corretamente!" - }, - { - "id": "api.admin.test_email.missing_server", - "translation": "Servidor SMTP é obrigatório" - }, - { - "id": "api.admin.test_email.subject", - "translation": "Mattermost - Teste de Configurações de Email" - }, - { - "id": "api.admin.upload_brand_image.array.app_error", - "translation": "Matriz vazia em 'image' na requisição" - }, - { - "id": "api.admin.upload_brand_image.no_file.app_error", - "translation": "Nenhum arquivo em 'image' no pedido" - }, - { - "id": "api.admin.upload_brand_image.not_available.app_error", - "translation": "Marca personalizada não está configurado ou não é suportado pelo servidor" - }, - { - "id": "api.admin.upload_brand_image.parse.app_error", - "translation": "Não foi possível processar o formulário multipart" - }, - { - "id": "api.admin.upload_brand_image.storage.app_error", - "translation": "Não é possível fazer upload da imagem. Armazenamento de imagem não está configurado." - }, - { - "id": "api.admin.upload_brand_image.too_large.app_error", - "translation": "Não foi possível enviar o arquivo. Arquivo é muito grande." - }, - { - "id": "api.api.init.parsing_templates.debug", - "translation": "Analisando modelos no servidor %v" - }, - { - "id": "api.api.init.parsing_templates.error", - "translation": "Falha ao processar os modelos do servidor %v" - }, - { - "id": "api.api.render.error", - "translation": "Erro ao renderizar o modelo de %v err=%v" - }, - { - "id": "api.channel.add_member.added", - "translation": "%v adicionado ao canal por %v" - }, - { - "id": "api.channel.add_member.find_channel.app_error", - "translation": "Não foi possível localizar o canal" - }, - { - "id": "api.channel.add_member.find_user.app_error", - "translation": "Não foi possível encontrar o usuário a ser adicionado" - }, - { - "id": "api.channel.add_member.user_adding.app_error", - "translation": "Não foi possível encontrar usuário fazendo a adição" - }, - { - "id": "api.channel.add_user.to.channel.failed.app_error", - "translation": "Não foi possível adicionar o usuário no canal" - }, - { - "id": "api.channel.add_user_to_channel.deleted.app_error", - "translation": "O canal foi deletado ou arquivado" - }, - { - "id": "api.channel.add_user_to_channel.type.app_error", - "translation": "Não foi possível adicionar usuário para este tipo de canal" - }, - { - "id": "api.channel.create_channel.direct_channel.app_error", - "translation": "Deve usar a api de serviço createDirectChannel para criação do canal de mensagens diretas" - }, - { - "id": "api.channel.create_channel.invalid_character.app_error", - "translation": "Caractere inválido '__' no nome do canal para um canal não-direto" - }, - { - "id": "api.channel.create_default_channels.off_topic", - "translation": "Off-Topic" - }, - { - "id": "api.channel.create_default_channels.town_square", - "translation": "Town Square" - }, - { - "id": "api.channel.create_direct_channel.invalid_user.app_error", - "translation": "Inválido outro id de usuário " - }, - { - "id": "api.channel.delete_channel.archived", - "translation": "%v arquivou o canal." - }, - { - "id": "api.channel.delete_channel.cannot.app_error", - "translation": "Não é possível excluir o canal padrão {{.Channel}}" - }, - { - "id": "api.channel.delete_channel.deleted.app_error", - "translation": "O canal foi arquivado ou excluído" - }, - { - "id": "api.channel.delete_channel.failed_post.error", - "translation": "Não foi possível postar arquivo de mensagem %v" - }, - { - "id": "api.channel.delete_channel.failed_send.app_error", - "translation": "Não foi possível enviar o arquivo de mensagem" - }, - { - "id": "api.channel.delete_channel.incoming_webhook.error", - "translation": "Encontrado um erro ao excluir o webhook de entrada, id=%v" - }, - { - "id": "api.channel.delete_channel.outgoing_webhook.error", - "translation": "Encontrado um erro ao excluir o webhook de saída, id=%v" - }, - { - "id": "api.channel.delete_channel.permissions.app_error", - "translation": "Você não tem a permissão apropriada" - }, - { - "id": "api.channel.get_channel_counts.app_error", - "translation": "Não é possível obter o número de canais do banco de dados" - }, - { - "id": "api.channel.get_channel_extra_info.deleted.app_error", - "translation": "O canal foi deletado ou arquivado" - }, - { - "id": "api.channel.get_channel_extra_info.member_limit.app_error", - "translation": "Não foi possível processar o limite de membros" - }, - { - "id": "api.channel.get_channels.error", - "translation": "Erro na obtenção do perfil dos usuários para id=%v forçando o logout" - }, - { - "id": "api.channel.init.debug", - "translation": "Inicializando channel api routes" - }, - { - "id": "api.channel.join_channel.permissions.app_error", - "translation": "Você não tem a permissão apropriada" - }, - { - "id": "api.channel.join_channel.post_and_forget", - "translation": "%v juntou-se ao canal." - }, - { - "id": "api.channel.leave.default.app_error", - "translation": "Não pode deixar o canal padrão {{.Channel}}" - }, - { - "id": "api.channel.leave.direct.app_error", - "translation": "Não é possível sair de um canal de mensagem direta" - }, - { - "id": "api.channel.leave.last_member.app_error", - "translation": "Você é o único membro que restou, tente remover o Grupo Privado ao invés de manter." - }, - { - "id": "api.channel.leave.left", - "translation": "%v deixou o canal." - }, - { - "id": "api.channel.post_update_channel_header_message_and_forget.join_leave.error", - "translation": "Não foi possível postar mensagem juntar/deixar %v" - }, - { - "id": "api.channel.post_update_channel_header_message_and_forget.removed", - "translation": "%s removido do cabeçalho do canal (foi: %s)" - }, - { - "id": "api.channel.post_update_channel_header_message_and_forget.retrieve_user.error", - "translation": "Não foi possível recuperar o usuário ao tentar salvar a atualização do cabeçalho do canal de mensagem %v" - }, - { - "id": "api.channel.post_update_channel_header_message_and_forget.updated_from", - "translation": "%s atualizou o cabeçalho do canal de: %s para: %s" - }, - { - "id": "api.channel.post_update_channel_header_message_and_forget.updated_to", - "translation": "%s atualizou o cabeçalho do canal para: %s" - }, - { - "id": "api.channel.post_user_add_remove_message_and_forget.error", - "translation": "Não foi possível postar mensagem de juntar/deixar %v" - }, - { - "id": "api.channel.remove_member.permissions.app_error", - "translation": "Você não tem a permissão apropriada " - }, - { - "id": "api.channel.remove_member.unable.app_error", - "translation": "Não foi possível remover o usuário." - }, - { - "id": "api.channel.remove_user_from_channel.deleted.app_error", - "translation": "O canal foi deletado ou arquivado" - }, - { - "id": "api.channel.update_channel.deleted.app_error", - "translation": "O canal foi deletado ou arquivado" - }, - { - "id": "api.channel.update_channel.permission.app_error", - "translation": "Você não tem a permissão apropriada" - }, - { - "id": "api.channel.update_channel.tried.app_error", - "translation": "Tentou executar uma atualização inválida para o canal padrão {{.Channel}}" - }, - { - "id": "api.command.admin_only.app_error", - "translation": "Integrações estão limitadas a administradores somente." - }, - { - "id": "api.command.delete.app_error", - "translation": "Permissões inadequadas para deletar o comando" - }, - { - "id": "api.command.disabled.app_error", - "translation": "Os comandos foram desabilitados para o administrador do sistema." - }, - { - "id": "api.command.duplicate_trigger.app_error", - "translation": "Esta palavra gatilho já está em uso. Por favor escolha outra palavra." - }, - { - "id": "api.command.execute_command.debug", - "translation": "Executando cmd=%v userId=%v" - }, - { - "id": "api.command.execute_command.failed.app_error", - "translation": "Comando com um gatilho de '{{.Trigger}}' falhou" - }, - { - "id": "api.command.execute_command.failed_empty.app_error", - "translation": "Comando com um gatilho de '{{.Trigger}}' retornou uma resposta vazia" - }, - { - "id": "api.command.execute_command.failed_resp.app_error", - "translation": "Comando com um gatilho de '{{.Trigger}}' retornou a resposta {{.Status}}" - }, - { - "id": "api.command.execute_command.not_found.app_error", - "translation": "Comando com um gatilho de '{{.Trigger}}' não encotrado" - }, - { - "id": "api.command.execute_command.save.app_error", - "translation": "Um erro enquando salvava a resposta do comando do canal" - }, - { - "id": "api.command.execute_command.start.app_error", - "translation": "Nenhum comando disparador encontrado" - }, - { - "id": "api.command.init.debug", - "translation": "Inicializando command api routes" - }, - { - "id": "api.command.regen.app_error", - "translation": "Permissões inadequadas para re-gerar o token de comando" - }, - { - "id": "api.command_echo.create.app_error", - "translation": "Não é possível criar o post /echo, err=%v" - }, - { - "id": "api.command_echo.delay.app_error", - "translation": "Os atrasos devem ser abaixo de 10000 segundos" - }, - { - "id": "api.command_echo.desc", - "translation": "Echo volta o texto para sua conta" - }, - { - "id": "api.command_echo.high_volume.app_error", - "translation": "Alto volume de solicitações de echo, não foi possível processar a requisição" - }, - { - "id": "api.command_echo.hint", - "translation": "'mensagem' [atraso em segundos]" - }, - { - "id": "api.command_echo.name", - "translation": "echo" - }, - { - "id": "api.command_join.desc", - "translation": "Junte-se ao canal aberto" - }, - { - "id": "api.command_join.fail.app_error", - "translation": "Ocorreu um erro enquanto juntava ao canal." - }, - { - "id": "api.command_join.hint", - "translation": "[nome-canal]" - }, - { - "id": "api.command_join.list.app_error", - "translation": "Ocorreu um erro durante a listagem de canais." - }, - { - "id": "api.command_join.missing.app_error", - "translation": "Não foi possível encontrar o canal" - }, - { - "id": "api.command_join.name", - "translation": "juntar" - }, - { - "id": "api.command_join.success", - "translation": "Juntou ao canal." - }, - { - "id": "api.command_logout.desc", - "translation": "Faça Logout do Mattermost" - }, - { - "id": "api.command_logout.fail_message", - "translation": "Falha ao fazer logout" - }, - { - "id": "api.command_logout.name", - "translation": "logout" - }, - { - "id": "api.command_logout.success_message", - "translation": "Saindo..." - }, - { - "id": "api.command_me.desc", - "translation": "Fazer uma ação" - }, - { - "id": "api.command_me.hint", - "translation": "[mensagem]" - }, - { - "id": "api.command_me.name", - "translation": "me" - }, - { - "id": "api.command_msg.desc", - "translation": "Enviar Mensagem Direta para um usuário" - }, - { - "id": "api.command_msg.dm_fail.app_error", - "translation": "Ocorreu um erro durante a criação da mensagem direta." - }, - { - "id": "api.command_msg.fail.app_error", - "translation": "Ocorreu um erro durante a mensagem do usuário." - }, - { - "id": "api.command_msg.hint", - "translation": "@[usuario] 'mensagem'" - }, - { - "id": "api.command_msg.list.app_error", - "translation": "Ocorreu um erro durante a listagem de usuários." - }, - { - "id": "api.command_msg.missing.app_error", - "translation": "Não foi possível encontrar o usuário" - }, - { - "id": "api.command_msg.name", - "translation": "mensagem" - }, - { - "id": "api.command_msg.success", - "translation": "Mensagem enviada." - }, - { - "id": "api.command_shortcuts.desc", - "translation": "Mostrar a lista de atalhos" - }, - { - "id": "api.command_shortcuts.list", - "translation": "### Keyboard Shortcuts\n\n#### Navigation\n\nALT+UP: Previous channel or direct message in LHS\nALT+DOWN: Next channel or direct message in LHS\nALT+SHIFT+UP: Previous channel or direct message in LHS with unread messages\nALT+SHIFT+DOWN: Next channel or direct message in LHS with unread messages\nCTRL/CMD+SHIFT+A: Open account settings\nCTRL/CMD+SHIFT+K: Open a quick channel switcher dialog\nCTRL/CMD+SHIFT+M: Open recent mentions\n\n#### Files\n\nCTRL/CMD+U: Upload file(s)\n\n#### Messages\n\nCTRL/CMD+UP: Reprint the last message you entered\nCTRL/CMD+DOWN: Reprint the next message you entered\nUP (in empty input field): Edit your last message in the current channel\n@[character]+TAB: Autocomplete @username beginning with [character]\n:[character]+TAB: Autocomplete emoji beginning with [character]\n\n#### Built-in Browser Commands\n\nALT+LEFT/CMD+[: Previous channel in your history\nALT+RIGHT/CMD+]: Next channel in your history\nCTRL/CMD+PLUS: Increase font size (zoom in)\nCTRL/CMD+MINUS: Decrease font size (zoom out)\nSHIFT+UP (in input field): Highlight text to the previous line\nSHIFT+DOWN (in input field): Highlight text to the next line\nSHIFT+ENTER (in input field): Create a new line\n" - }, - { - "id": "api.command_shortcuts.name", - "translation": "atalhos" - }, - { - "id": "api.command_shrug.desc", - "translation": "Adiciona ¯\\_(ツ)_/¯ na sua mensagem" - }, - { - "id": "api.command_shrug.hint", - "translation": "[mensagem]" - }, - { - "id": "api.command_shrug.name", - "translation": "shrug" - }, - { - "id": "api.context.404.app_error", - "translation": "Desculpe, não conseguimos encontrar a página." - }, - { - "id": "api.context.invalid_param.app_error", - "translation": "Parâmetro {{.Name}} inválido" - }, - { - "id": "api.context.invalid_team_url.debug", - "translation": "TeamURL acessado quando não é válido. Equipe de URL não devem ser usados em funções de api ou aqueles que são de equipes independentes" - }, - { - "id": "api.context.invalid_token.error", - "translation": "Sessão inválida token=%v, err=%v" - }, - { - "id": "api.context.last_activity_at.error", - "translation": "Não foi possível atualizar LastActivityAt para user_id=%v e session_id=%v, err=%v" - }, - { - "id": "api.context.log.error", - "translation": "%v:%v código=%v rid=%v uid=%v ip=%v %v [detalhes: %v]" - }, - { - "id": "api.context.permissions.app_error", - "translation": "Você não tem a permissão apropriada" - }, - { - "id": "api.context.session_expired.app_error", - "translation": "Inválido ou sessão expirada, por favor faça login novamente." - }, - { - "id": "api.context.system_permissions.app_error", - "translation": "Você não tem a permissão apropriada (sistema)" - }, - { - "id": "api.context.token_provided.app_error", - "translation": "Sessão não é OAuth mas o token foi fornecido na consulta" - }, - { - "id": "api.context.unknown.app_error", - "translation": "Ocorreu um erro desconhecido. Por favor contato com o suporte." - }, - { - "id": "api.export.json.app_error", - "translation": "Não é possível converter para json" - }, - { - "id": "api.export.open.app_error", - "translation": "Não é possível abrir o arquivo" - }, - { - "id": "api.export.open_dir.app_error", - "translation": "Incapaz de abrir o diretorio" - }, - { - "id": "api.export.open_file.app_error", - "translation": "Não é possível abrir o arquivo para exportação" - }, - { - "id": "api.export.options.create.app_error", - "translation": "Não é possível gravar arquivo de opções" - }, - { - "id": "api.export.options.write.app_error", - "translation": "Não é possível gravar arquivo de opções" - }, - { - "id": "api.export.read_dir.app_error", - "translation": "Não foi possível ler o diretório" - }, - { - "id": "api.export.s3.app_error", - "translation": "S3 não é suportado para o armazenamento local de exportação." - }, - { - "id": "api.file.file_upload.exceeds", - "translation": "Arquivo excede o máximo de tamanho de imagem." - }, - { - "id": "api.file.file_upload.exceeds", - "translation": "Arquivo excede o máximo de tamanho de imagem." - }, - { - "id": "api.file.get_export.retrieve.app_error", - "translation": "Não é possível recuperar o arquivo exportado. Por favor, re-exportar" - }, - { - "id": "api.file.get_export.team_admin.app_error", - "translation": "Somente um administrador pode obter dados exportados." - }, - { - "id": "api.file.get_file.not_found.app_error", - "translation": "Não foi possível encontrar o arquivo." - }, - { - "id": "api.file.get_file.public_disabled.app_error", - "translation": "Links públicos foram desabilitados pelo administrador do sistema" - }, - { - "id": "api.file.get_file.public_invalid.app_error", - "translation": "O link público não parece ser válido" - }, - { - "id": "api.file.get_public_link.disabled.app_error", - "translation": "Links públicos foram desabilitados" - }, - { - "id": "api.file.handle_images_forget.decode.error", - "translation": "Não é possível decodificar a imagem channelId=%v userId=%v filename=%v err=%v" - }, - { - "id": "api.file.handle_images_forget.encode_jpeg.error", - "translation": "Não é possível codificar a imagem como jpeg channelId=%v userId=%v filename=%v err=%v" - }, - { - "id": "api.file.handle_images_forget.encode_preview.error", - "translation": "Não é possível codificar a imagem como imagem de pré-visualização jpg channelId=%v userId=%v filename=%v err=%v" - }, - { - "id": "api.file.handle_images_forget.upload_preview.error", - "translation": "Não é possível fazer o upload da pré-visualização channelId=%v userId=%v filename=%v err=%v" - }, - { - "id": "api.file.handle_images_forget.upload_thumb.error", - "translation": "Não é possível carregar o thumbnail channelId=%v userId=%v filename=%v err=%v" - }, - { - "id": "api.file.init.debug", - "translation": "Inicializando file api routes" - }, - { - "id": "api.file.move_file.configured.app_error", - "translation": "O armazenamento de arquivos não está configurado corretamente. Por favor, configure o S3 ou o armazenamento de arquivos no servidor local." - }, - { - "id": "api.file.move_file.delete_from_s3.app_error", - "translation": "Não é possível deletar o arquivo a partir do S3." - }, - { - "id": "api.file.move_file.get_from_s3.app_error", - "translation": "Não é possível obter o arquivo a partir do S3." - }, - { - "id": "api.file.move_file.rename.app_error", - "translation": "Não foi possível mover o arquivo localmente." - }, - { - "id": "api.file.open_file_write_stream.configured.app_error", - "translation": "Armazenamento de arquivos não está configurado corretamente. Por favor configure S3 ou armazenamento de arquivos no servidor local." - }, - { - "id": "api.file.open_file_write_stream.creating_dir.app_error", - "translation": "Encontrado um erro ao criar o diretório para o novo arquivo" - }, - { - "id": "api.file.open_file_write_stream.local_server.app_error", - "translation": "Encontrado um erro ao gravar no servidor local de armazenamento" - }, - { - "id": "api.file.open_file_write_stream.s3.app_error", - "translation": "S3 não é suportado." - }, - { - "id": "api.file.read_file.configured.app_error", - "translation": "Armazenamento de arquivos não está configurado corretamente. Por favor configure S3 ou armazenamento de arquivos no servidor local." - }, - { - "id": "api.file.read_file.get.app_error", - "translation": "Não é possível obter o arquivo a partir do S3" - }, - { - "id": "api.file.read_file.reading_local.app_error", - "translation": "Encontrado um erro ao ler a partir do servidor de armazenamento local" - }, - { - "id": "api.file.upload_file.image.app_error", - "translation": "Não é possível enviar arquivo de imagem." - }, - { - "id": "api.file.upload_file.large_image.app_error", - "translation": "Não foi possível enviar o arquivo de imagem. Arquivo muito grande." - }, - { - "id": "api.file.upload_file.storage.app_error", - "translation": "Não é possível fazer upload do arquivo. Armazenamento de imagem não está configurado." - }, - { - "id": "api.file.upload_file.too_large.app_error", - "translation": "Não foi possível enviar a imagem do perfil. Arquivo muito grande." - }, - { - "id": "api.file.write_file.configured.app_error", - "translation": "Armazenamento de arquivos não está configurado corretamente. Por favor configure S3 ou armazenamento de arquivos no servidor local." - }, - { - "id": "api.file.write_file.s3.app_error", - "translation": "Encontrado um erro ao gravar no S3" - }, - { - "id": "api.file.write_file_locally.create_dir.app_error", - "translation": "Encontrado um erro ao criar o diretório para o novo arquivo" - }, - { - "id": "api.file.write_file_locally.writing.app_error", - "translation": "Encontrado um erro ao gravar no servidor local de armazenamento" - }, - { - "id": "api.general.init.debug", - "translation": "Inicializando as rotas gerais da api" - }, - { - "id": "api.import.import_post.saving.debug", - "translation": "Erro ao salvar o post. usuário=%v, mensagem=%v" - }, - { - "id": "api.import.import_user.join_team.error", - "translation": "Falha ao juntar a equipe na importação err=%v" - }, - { - "id": "api.import.import_user.joining_default.error", - "translation": "Encontrado um problema ao se juntar ao canal padrão user_id=%s, team_id=%s, err=%v" - }, - { - "id": "api.import.import_user.saving.error", - "translation": "Erro ao salvar o usuário. err=%v" - }, - { - "id": "api.import.import_user.set_email.error", - "translation": "Não foi possível definir email verificado err=%v" - }, - { - "id": "api.license.add_license.array.app_error", - "translation": "Matriz vazia sobre a 'licença' na requisição" - }, - { - "id": "api.license.add_license.expired.app_error", - "translation": "A licença está expirada ou não foi iniciada ainda." - }, - { - "id": "api.license.add_license.invalid.app_error", - "translation": "Arquivo de licença inválido." - }, - { - "id": "api.license.add_license.invalid_count.app_error", - "translation": "Não foi possível contar o total de usuários únicos." - }, - { - "id": "api.license.add_license.no_file.app_error", - "translation": "Nenhum arquivo sobre a 'licença' no pedido" - }, - { - "id": "api.license.add_license.open.app_error", - "translation": "Não foi possível abrir arquivo de licença" - }, - { - "id": "api.license.add_license.save.app_error", - "translation": "Licença não gravada corretamente." - }, - { - "id": "api.license.add_license.save_active.app_error", - "translation": "ID de licença ativo não salvo corretamente." - }, - { - "id": "api.license.add_license.unique_users.app_error", - "translation": "Está licença somente suporta usuários {{.Users}}, quando seu sistema tem {{.Count}} usuários únicos. Usuários únicos são contados por endereço de email distinto. Você pode ver o total de usuários em Relatórios Site -> Ver Estatísticas." - }, - { - "id": "api.license.init.debug", - "translation": "Inicializando license api routes" - }, - { - "id": "api.license.remove_license.remove.app_error", - "translation": "Licença não foi removida propriamente." - }, - { - "id": "api.oauth.allow_oauth.bad_client.app_error", - "translation": "invalid_request: Bad client_id" - }, - { - "id": "api.oauth.allow_oauth.bad_redirect.app_error", - "translation": "invalid_request: Faltando ou ruim redirect_uri" - }, - { - "id": "api.oauth.allow_oauth.bad_response.app_error", - "translation": "invalid_request: Bad response_type" - }, - { - "id": "api.oauth.allow_oauth.database.app_error", - "translation": "server_error: Erro ao acessar o banco de dados" - }, - { - "id": "api.oauth.allow_oauth.redirect_callback.app_error", - "translation": "invalid_request: Supplied redirect_uri did not match registered callback_url" - }, - { - "id": "api.oauth.allow_oauth.turn_off.app_error", - "translation": "O administrador do sistema desligou o provedor de serviço OAuth." - }, - { - "id": "api.oauth.get_auth_data.find.error", - "translation": "Não foi possível encontrar o código de autorização para code=%s" - }, - { - "id": "api.oauth.init.debug", - "translation": "Inicializando oauth api routes" - }, - { - "id": "api.oauth.register_oauth_app.turn_off.app_error", - "translation": "O administrador do sistema desligou o provedor de serviço OAuth." - }, - { - "id": "api.oauth.revoke_access_token.del_code.app_error", - "translation": "Erro ao deletar o código de autorização do BD" - }, - { - "id": "api.oauth.revoke_access_token.del_session.app_error", - "translation": "Erro ao deletar a sessão do BD" - }, - { - "id": "api.oauth.revoke_access_token.del_token.app_error", - "translation": "Erro ao deletar o token do BD" - }, - { - "id": "api.oauth.revoke_access_token.get.app_error", - "translation": "Erro ao obter o token de acesso do BD antes da exclusão" - }, - { - "id": "api.post.check_for_out_of_channel_mentions.message.multiple", - "translation": "{{.Usernames}} e {{.LastUsername}} foram mencionados, mas eles não receberam notificação porque eles não pertencem a este canal." - }, - { - "id": "api.post.check_for_out_of_channel_mentions.message.one", - "translation": "{{.Username}} foi mencionado, mas eles não receberam uma notificação porque eles não pertencem a este canal." - }, - { - "id": "api.post.create_post.bad_filename.error", - "translation": "Nome ruim do arquivo descartado, nome do arquivo=%v" - }, - { - "id": "api.post.create_post.channel_root_id.app_error", - "translation": "ChannelId inválido para o parâmetro RootId" - }, - { - "id": "api.post.create_post.last_viewed.error", - "translation": "Encontrado um erro ao atualizar a última visualização, channel_id=%s, user_id=%s, err=%v" - }, - { - "id": "api.post.create_post.parent_id.app_error", - "translation": "Parâmetro ParentId inválido" - }, - { - "id": "api.post.create_post.root_id.app_error", - "translation": "Parâmetro RootId inválido" - }, - { - "id": "api.post.create_webhook_post.creating.app_error", - "translation": "Erro ao criar o post" - }, - { - "id": "api.post.delete_post.permissions.app_error", - "translation": "Você não tem a permissão apropriada" - }, - { - "id": "api.post.get_out_of_channel_mentions.regex.error", - "translation": "Não foi possível compilar @mention regex user_id=%v, err=%v" - }, - { - "id": "api.post.get_post.permissions.app_error", - "translation": "Você não tem a permissão apropriada" - }, - { - "id": "api.post.handle_post_events_and_forget.channel.error", - "translation": "Encontrado um erro ao obter o canal, channel_id=%s, err=%v" - }, - { - "id": "api.post.handle_post_events_and_forget.members.error", - "translation": "Não foi possível obter os membros do channel_id=%v err=%v" - }, - { - "id": "api.post.handle_post_events_and_forget.profiles.error", - "translation": "Não foi possível obter perfis de usuário team_id=%v, err=%v" - }, - { - "id": "api.post.handle_post_events_and_forget.team.error", - "translation": "Encontrado um erro ao obter a equipe, equipe_id=%s, err=%v" - }, - { - "id": "api.post.handle_post_events_and_forget.user.error", - "translation": "Encontrado um erro ao obter o usuário, user_id=%s, err=%v" - }, - { - "id": "api.post.handle_webhook_events_and_forget.create_post.error", - "translation": "Não foi possível criar resposta do post, err=%v" - }, - { - "id": "api.post.handle_webhook_events_and_forget.event_post.error", - "translation": "Falha no Evento POST, err=%s" - }, - { - "id": "api.post.handle_webhook_events_and_forget.getting.error", - "translation": "Encontrado um erro ao obter webhooks pela equipe, err=%v" - }, - { - "id": "api.post.init.debug", - "translation": "Inicializando post api routes" - }, - { - "id": "api.post.make_direct_channel_visible.get_2_members.error", - "translation": "Falha ao obter 2 membros para o canal direto channel_id=%v" - }, - { - "id": "api.post.make_direct_channel_visible.get_members.error", - "translation": "Falha ao obter membros do canal channel_id=%v err=%v" - }, - { - "id": "api.post.make_direct_channel_visible.save_pref.error", - "translation": "Falha ao salvar as preferencias do canal direto user_id=%v other_user_id=%v err=%v" - }, - { - "id": "api.post.make_direct_channel_visible.update_pref.error", - "translation": "Falha ao atualizar as preferencias do canal direto user_id=%v other_user_id=%v err=%v" - }, - { - "id": "api.post.send_notifications_and_forget.mention_body", - "translation": "Você tem uma nova menção." - }, - { - "id": "api.post.send_notifications_and_forget.mention_subject", - "translation": "Nova Menção" - }, - { - "id": "api.post.send_notifications_and_forget.message_body", - "translation": "Você tem um nova mensagem." - }, - { - "id": "api.post.send_notifications_and_forget.message_subject", - "translation": "Nova Mensagem Direta" - }, - { - "id": "api.post.send_notifications_and_forget.push_in", - "translation": " em " - }, - { - "id": "api.post.send_notifications_and_forget.push_mention", - "translation": " você foi mencionado no " - }, - { - "id": "api.post.send_notifications_and_forget.push_message", - "translation": " enviado a você uma mensagem direta" - }, - { - "id": "api.post.send_notifications_and_forget.push_non_mention", - "translation": " postado em " - }, - { - "id": "api.post.send_notifications_and_forget.push_notification.debug", - "translation": "Enviar notificação push para %v com msg de '%v'" - }, - { - "id": "api.post.send_notifications_and_forget.push_notification.error", - "translation": "Falha ao enviar notificação push id=%v, err=%v" - }, - { - "id": "api.post.send_notifications_and_forget.send.error", - "translation": "Falha ao enviar uma menção por email email=%v err=%v" - }, - { - "id": "api.post.send_notifications_and_forget.sent", - "translation": "{{.Prefix}} {{.Filenames}} enviado" - }, - { - "id": "api.post.send_notifications_and_forget.sessions.error", - "translation": "Falha ao obter as notificações na sessão id=%v, err=%v" - }, - { - "id": "api.post.send_notifications_and_forget.user_id.error", - "translation": "Post user_id not returned by GetProfiles user_id=%v" - }, - { - "id": "api.post.update_mention_count_and_forget.update_error", - "translation": "Falha ao atualizar o número de menções para user_id=%v on channel_id=%v err=%v" - }, - { - "id": "api.post.update_post.find.app_error", - "translation": "Não foi possível encontrar o post ou comentário para atualizar." - }, - { - "id": "api.post.update_post.permissions.app_error", - "translation": "Você não tem a permissão apropriada" - }, - { - "id": "api.post.update_post.permissions_details.app_error", - "translation": "Já deletado id={{.PostId}}" - }, - { - "id": "api.post.update_post.system_message.app_error", - "translation": "Não foi possível atualizar a mensagem do sistema" - }, - { - "id": "api.post_get_post_by_id.get.app_error", - "translation": "Não foi possível obter o post" - }, - { - "id": "api.preference.init.debug", - "translation": "Inicializando preference api routes" - }, - { - "id": "api.preference.save_preferences.decode.app_error", - "translation": "Não foi possível decodificar as preferencias para a requisição" - }, - { - "id": "api.preference.save_preferences.set.app_error", - "translation": "Não foi possível ajustar as preferências para o outro usuário" - }, - { - "id": "api.preference.save_preferences.set_details.app_error", - "translation": "session.user_id={{.SessionUserId}}, preference.user_id={{.PreferenceUserId}}" - }, - { - "id": "api.server.new_server.init.info", - "translation": "O servidor está inicializando..." - }, - { - "id": "api.server.start_server.listening.info", - "translation": "O servidor está escutando na %v" - }, - { - "id": "api.server.start_server.rate.info", - "translation": "RateLimiter está ativo" - }, - { - "id": "api.server.start_server.rate.warn", - "translation": "RateLimitSettings não foi configurado corretamente usando VaryByHeader e desativando VaryByRemoteAddr" - }, - { - "id": "api.server.start_server.starting.critical", - "translation": "Erro ao iniciar o servidor, err:%v" - }, - { - "id": "api.server.start_server.starting.info", - "translation": "Iniciando o Servidor..." - }, - { - "id": "api.server.start_server.starting.panic", - "translation": "Erro ao iniciar o servidor " - }, - { - "id": "api.server.stop_server.stopped.info", - "translation": "Servidor parado" - }, - { - "id": "api.server.stop_server.stopping.info", - "translation": "Parando o Servidor..." - }, - { - "id": "api.slackimport.slack_add_channels.added", - "translation": "\r\n Canal Adicionado \r\n" - }, - { - "id": "api.slackimport.slack_add_channels.failed_to_add_user", - "translation": "Falha ao adicionar o usuário ao canal: {{.Username}}\r\n" - }, - { - "id": "api.slackimport.slack_add_channels.import_failed", - "translation": "Falha ao importar: {{.DisplayName}}\r\n" - }, - { - "id": "api.slackimport.slack_add_channels.import_failed.debug", - "translation": "Falha ao importar: %s" - }, - { - "id": "api.slackimport.slack_add_channels.merge", - "translation": "Mesclado com o canal existente: {{.DisplayName}}\r\n" - }, - { - "id": "api.slackimport.slack_add_posts.bot.warn", - "translation": "Slack bot posts não foram importados ainda" - }, - { - "id": "api.slackimport.slack_add_posts.msg_no_usr.debug", - "translation": "Mensagem sem usuário" - }, - { - "id": "api.slackimport.slack_add_posts.unsupported.warn", - "translation": "Tipo de post não suportado: %v, %v" - }, - { - "id": "api.slackimport.slack_add_posts.user_no_exists.debug", - "translation": "Usuário %v não existe!" - }, - { - "id": "api.slackimport.slack_add_posts.without_user.debug", - "translation": "Mensagem sem usuário" - }, - { - "id": "api.slackimport.slack_add_users.created", - "translation": "\r\n Usuários Criados\r\n" - }, - { - "id": "api.slackimport.slack_add_users.email_pwd", - "translation": "Email, Senha: {{.Email}}, {{.Password}}\r\n" - }, - { - "id": "api.slackimport.slack_add_users.unable_import", - "translation": "Não foi possível importar o usuário: {{.Username}}\r\n" - }, - { - "id": "api.slackimport.slack_convert_timestamp.bad.warn", - "translation": "Data e hora ruim detectada" - }, - { - "id": "api.slackimport.slack_import.log", - "translation": "Mattermost Log de Importação Slack\r\n" - }, - { - "id": "api.slackimport.slack_import.note1", - "translation": "- Alguns posts podem não ter sido importados devido a eles não serem suportados por este importador.\r\n" - }, - { - "id": "api.slackimport.slack_import.note2", - "translation": "- Slack bot posts não é suportado atualmente.\r\n" - }, - { - "id": "api.slackimport.slack_import.notes", - "translation": "\r\n Notas \r\n" - }, - { - "id": "api.slackimport.slack_import.open.app_error", - "translation": "Não foi possível abrir: {{.Filename}}" - }, - { - "id": "api.slackimport.slack_import.team_fail", - "translation": "Falha ao obter a equipe para importar.\r\n" - }, - { - "id": "api.slackimport.slack_import.zip.app_error", - "translation": "Não foi possível abrir o arquivo zip" - }, - { - "id": "api.team.create_team.email_disabled.app_error", - "translation": "Inscrição com e-mail na equipe está desativado." - }, - { - "id": "api.team.create_team_from_signup.email_disabled.app_error", - "translation": "Inscrição com e-mail na equipe está desativado." - }, - { - "id": "api.team.create_team_from_signup.expired_link.app_error", - "translation": "O link de inscrição expirou" - }, - { - "id": "api.team.create_team_from_signup.invalid_link.app_error", - "translation": "O link de inscrição não parece ser válido" - }, - { - "id": "api.team.create_team_from_signup.unavailable.app_error", - "translation": "Esta URL não está disponível. Por favor, tente outra." - }, - { - "id": "api.team.email_teams.sending.error", - "translation": "Um erro foi encontrado enquanto enviava um email no emailTeams err=%v" - }, - { - "id": "api.team.export_team.admin.app_error", - "translation": "Somente um administrador de equipe pode exportar os dados." - }, - { - "id": "api.team.get_invite_info.not_open_team", - "translation": "Convite é inválido devido a este não ser de uma equipe aberta." - }, - { - "id": "api.team.import_team.admin.app_error", - "translation": "Somente um administrador de equipe pode importar dados." - }, - { - "id": "api.team.import_team.array.app_error", - "translation": "Matriz vazia em 'file' na requisição" - }, - { - "id": "api.team.import_team.integer.app_error", - "translation": "Tamanho do arquivo não é um inteiro" - }, - { - "id": "api.team.import_team.no_file.app_error", - "translation": "Nenhum arquivo sobre a 'file' no pedido" - }, - { - "id": "api.team.import_team.open.app_error", - "translation": "Não foi possível abrir o arquivo" - }, - { - "id": "api.team.import_team.parse.app_error", - "translation": "Não foi possível processar o formulário multipart" - }, - { - "id": "api.team.import_team.unavailable.app_error", - "translation": "Tamanho do arquivo indisponível" - }, - { - "id": "api.team.init.debug", - "translation": "Inicializando team api routes" - }, - { - "id": "api.team.invite_members.admin", - "translation": "administrador" - }, - { - "id": "api.team.invite_members.already.app_error", - "translation": "Essa pessoa já está em sua equipe" - }, - { - "id": "api.team.invite_members.member", - "translation": "membro" - }, - { - "id": "api.team.invite_members.no_one.app_error", - "translation": "Ninguém para convidar." - }, - { - "id": "api.team.invite_members.send.error", - "translation": "Falha ao enviar com sucesso um convite por email err=%v" - }, - { - "id": "api.team.invite_members.sending.info", - "translation": "enviando convite para %v %v" - }, - { - "id": "api.team.is_team_creation_allowed.disabled.app_error", - "translation": "Criação de equipe foi desativada. Por favor, pergunte ao seu administrador de sistemas para obter detalhes." - }, - { - "id": "api.team.is_team_creation_allowed.domain.app_error", - "translation": "Email precisa ser de um domínio específico (ex. @example.com). Por favor pergunte ao seu administrador de sistema por detalhes." - }, - { - "id": "api.team.permanent_delete_team.attempting.warn", - "translation": "Tentando permanentemente deletar a equipe %v id=%v" - }, - { - "id": "api.team.permanent_delete_team.deleted.warn", - "translation": "Equipe permanentemente deletada %v id=%v" - }, - { - "id": "api.team.signup_team.email_disabled.app_error", - "translation": "Inscrição com e-mail na equipe está desativado." - }, - { - "id": "api.team.update_team.permissions.app_error", - "translation": "Você não tem a permissão apropriada" - }, - { - "id": "api.templates.email_change_body.info", - "translation": "Seu endereço de email para {{.TeamDisplayName}} foi alterado para {{.NewEmail}}.
Se você não fez está mudança, por favor contate o administrador do sistema." - }, - { - "id": "api.templates.email_change_body.title", - "translation": "Você atualizou seu e-mail" - }, - { - "id": "api.templates.email_change_subject", - "translation": "Seu endereço de email foi alterado para {{.TeamDisplayName}}" - }, - { - "id": "api.templates.email_change_verify_body.button", - "translation": "Verificar Email" - }, - { - "id": "api.templates.email_change_verify_body.info", - "translation": "Para terminar a atualização do seu endereço de email para {{.TeamDisplayName}}, por favor clique no link abaixo para confirmar este como endereço correto." - }, - { - "id": "api.templates.email_change_verify_body.title", - "translation": "Você atualizou seu e-mail" - }, - { - "id": "api.templates.email_change_verify_subject", - "translation": "Verifique novo endereço de email para {{.TeamDisplayName}}" - }, - { - "id": "api.templates.email_footer", - "translation": "Para alterar suas preferencias de notificação, faça login no site da sua equipe e vá para Configurações de Conta > Notificações." - }, - { - "id": "api.templates.email_info", - "translation": "Qualquer dúvida, envie-nos a qualquer momento: {{.SupportEmail}}.
Nossos melhores cumprimentos,
Equipe {{.SiteName}}
" - }, - { - "id": "api.templates.error.link", - "translation": "Voltar ao Mattermost" - }, - { - "id": "api.templates.error.title", - "translation": "{{ .SiteName }} precisa da sua ajuda:" - }, - { - "id": "api.templates.find_teams_body.found", - "translation": "Sua solicitação para encontrar equipes associadas ao seu email encontrou o seguinte:" - }, - { - "id": "api.templates.find_teams_body.not_found", - "translation": "Não foi possível encontrar nenhuma equipe com o email informado." - }, - { - "id": "api.templates.find_teams_body.title", - "translation": "Localizando equipes" - }, - { - "id": "api.templates.find_teams_subject", - "translation": "Suas Equipes {{ .SiteName }}" - }, - { - "id": "api.templates.invite_body.button", - "translation": "Participar da Equipe" - }, - { - "id": "api.templates.invite_body.extra_info", - "translation": "Mattermost permite compartilhar mensagens e arquivos do seu PC ou telefone, com pesquisa instantânea e arquivamento. Depois que você estiver participando a {{.TeamDisplayName}}, você pode fazer login na sua nova equipe e ter acesso a esses recursos a qualquer momento a partir do endereço web:

{{.TeamURL}}" - }, - { - "id": "api.templates.invite_body.info", - "translation": "O {{.SenderStatus}} de equipe {{.SenderName}}, convidou você para participar {{.TeamDisplayName}}." - }, - { - "id": "api.templates.invite_body.title", - "translation": "Você foi convidado" - }, - { - "id": "api.templates.invite_subject", - "translation": "{{ .SenderName }} convidou você para se juntar a Equipe {{ .TeamDisplayName }} no {{.SiteName}}" - }, - { - "id": "api.templates.password_change_body.info", - "translation": "Sua senha foi atualizada para {{.TeamDisplayName}} no {{ .TeamURL }} pelo {{.Method}}.
Se está mudança não foi iniciada por você, por favor entre em contato com o seu administrado do sistema." - }, - { - "id": "api.templates.password_change_body.title", - "translation": "A sua senha foi alterada" - }, - { - "id": "api.templates.password_change_subject", - "translation": "Sua senha foi atualizada para {{.TeamDisplayName}} no {{ .SiteName }}" - }, - { - "id": "api.templates.post_body.button", - "translation": "Ir Para o Canal" - }, - { - "id": "api.templates.post_body.info", - "translation": "CANAL: {{.ChannelName}}
{{.SenderName}} - {{.Hour}}:{{.Minute}} {{.TimeZone}}, {{.Month}} {{.Day}}" - }, - { - "id": "api.templates.post_subject", - "translation": "{{.SubjectText}} no {{.TeamDisplayName}} em {{.Month}} {{.Day}}, {{.Year}}" - }, - { - "id": "api.templates.reset_body.button", - "translation": "Redefinir senha" - }, - { - "id": "api.templates.reset_body.info", - "translation": "Para alterar a sua senha, clique abaixo \"Redefinir Senha\".
Se você não pretende redefinir sua senha, por favor ignore este email e sua senha irá permanecer a mesma. O link de redefinição de senha expira em 24 horas." - }, - { - "id": "api.templates.reset_body.title", - "translation": "Você solicitou uma redefinição de senha" - }, - { - "id": "api.templates.reset_subject", - "translation": "Resetar sua senha" - }, - { - "id": "api.templates.signin_change_email.body.method_email", - "translation": "email e senha" - }, - { - "id": "api.templates.signin_change_email.body.title", - "translation": "Você atualizou seu método de login" - }, - { - "id": "api.templates.signup_team_body.button", - "translation": "Configure sua equipe" - }, - { - "id": "api.templates.signup_team_body.info", - "translation": "{{ .SiteName }} é um lugar para todas as comunicações da sua equipe, pesquisável e disponível em qualquer lugar.
Você pode obter mais do {{ .SiteName }} quando sua esquipe estiver em constante comunicação--vamos levá-los a bordo." - }, - { - "id": "api.templates.signup_team_body.title", - "translation": "Obrigado por criar uma equipe!" - }, - { - "id": "api.templates.signup_team_subject", - "translation": "{{ .SiteName }} Configuração da Equipe" - }, - { - "id": "api.templates.singin_change_email.body.info", - "translation": "Você atualizou seu método de login para {{.Method}} em {{ .SiteName}}.
Se esta mudança não foi iniciada por você, por favor entre em contato com o administrador do sistema." - }, - { - "id": "api.templates.singin_change_email.subject", - "translation": "Você atualizou seu método de login em {{ .SiteName }}" - }, - { - "id": "api.templates.upgrade_30_body.info", - "translation": "

SUAS CONTAS DUPLICADAS FORAM ATUALIZADAS

Seu servidor Mattermost está sendo atualizado para a Versão 3.0, o qual permite que você use uma única conta com múltiplas equipes.

Você está recebendo este email porque durante o processo de atualização foi detectado que sua conta tinha o mesmo email e usuário em outras contas no servidor.

As seguintes atualizações foram feitas:

{{if .EmailChanged }}- O email duplicado da conta na equipe `/{{.TeamName}}` foi alterado para `{{.Email}}`. Se você usa email e senha para login, você pode usar este endereço de email para login.

{{end}}{{if .UsernameChanged }}- O usuário duplicado da conta na na equipe `/{{.TeamName}}` foi alterado para `{{.Username}}` para evitar confusões com outras contas.

{{end}} AÇÃO RECOMENDADA:

É recomendável que você acesse suas equipes usadas por suas contas duplicadas e adicione sua conta principal para a equipe e quaisquer canais públicos e grupos privados que deseja continuar usando.

Isto dá o acesso ao histórico para sua conta primária para todos os canais públicos e grupos privados. Você pode continuar acessando o histórico de mensagens diretas de suas contas duplicadas fazendo login com suas credenciais.

PARA MAIS INFORMAÇÕES:

Para mais informações sobre a atualização para o Mattermost 3.0 consulte: http://www.mattermost.org/upgrading-to-mattermost-3-0/

" - }, - { - "id": "api.templates.upgrade_30_subject.info", - "translation": "[MATTERMOST] Alterações da sua conta na atualização Mattermost 3.0" - }, - { - "id": "api.templates.username_change_body.info", - "translation": "Seu nome de usuário para {{.TeamDisplayName}} foi alterado para {{.NewEmail}}.
Se você não fez está mudança, por favor contate o administrador do sistema." - }, - { - "id": "api.templates.username_change_body.title", - "translation": "Você atualizou seu nome de usuário" - }, - { - "id": "api.templates.username_change_subject", - "translation": "Seu nome de usuário foi alterado para {{.TeamDisplayName}}" - }, - { - "id": "api.templates.verify_body.button", - "translation": "Verificar Email" - }, - { - "id": "api.templates.verify_body.info", - "translation": "Por favor verifique seu endereço de e-mail clicando abaixo." - }, - { - "id": "api.templates.verify_body.title", - "translation": "Você se juntou a equipe {{ .TeamDisplayName }}" - }, - { - "id": "api.templates.verify_subject", - "translation": "[{{ .TeamDisplayName }} {{ .SiteName }}] Verificação Email" - }, - { - "id": "api.templates.welcome_body.button", - "translation": "Verificar Email" - }, - { - "id": "api.templates.welcome_body.info", - "translation": "Por favor verifique seu endereço de e-mail clicando abaixo." - }, - { - "id": "api.templates.welcome_body.info2", - "translation": "Você pode fazer login sua nova equipe pelo endereço web:" - }, - { - "id": "api.templates.welcome_body.info3", - "translation": "Mattermost permite compartilhar mensagens e arquivos do seu PC ou telefone, com a pesquisa instantânea e arquivamento." - }, - { - "id": "api.templates.welcome_body.title", - "translation": "Você se juntou a equipe {{ .TeamDisplayName }}" - }, - { - "id": "api.templates.welcome_subject", - "translation": "Você se juntou {{ .TeamDisplayName }}" - }, - { - "id": "api.user.activate_mfa.email_and_ldap_only.app_error", - "translation": "MFA não está disponível para este tipo de conta" - }, - { - "id": "api.user.add_direct_channels_and_forget.failed.error", - "translation": "Falha ao adicionar preferencias diretas ao canal para o usuário user_id=%s, team_id=%s, err=%v" - }, - { - "id": "api.user.authorize_oauth_user.bad_response.app_error", - "translation": "Resposta errada da solicitação de token" - }, - { - "id": "api.user.authorize_oauth_user.bad_token.app_error", - "translation": "Tipo de token errado" - }, - { - "id": "api.user.authorize_oauth_user.invalid_state.app_error", - "translation": "Estado inválido" - }, - { - "id": "api.user.authorize_oauth_user.invalid_state_team.app_error", - "translation": "Status inválido; falta o nome da equipe" - }, - { - "id": "api.user.authorize_oauth_user.missing.app_error", - "translation": "Faltando o token de acesso" - }, - { - "id": "api.user.authorize_oauth_user.service.app_error", - "translation": "Solicitação de token para {{.Service}} falhou" - }, - { - "id": "api.user.authorize_oauth_user.token_failed.app_error", - "translation": "Solicitação de token falhou" - }, - { - "id": "api.user.authorize_oauth_user.unsupported.app_error", - "translation": "Provedor de serviço OAuth não suportado" - }, - { - "id": "api.user.check_user_login_attempts.too_many.app_error", - "translation": "A sua conta está bloqueada por causa de muitas tentativas de senha que falharam. Por favor, redefina sua senha." - }, - { - "id": "api.user.check_user_mfa.bad_code.app_error", - "translation": "Token MFA inválido." - }, - { - "id": "api.user.check_user_mfa.not_available.app_error", - "translation": "MFA não configurado ou disponível neste servidor" - }, - { - "id": "api.user.check_user_password.invalid.app_error", - "translation": "Acesso falhou por causa de senha inválida" - }, - { - "id": "api.user.complete_switch_with_oauth.blank_email.app_error", - "translation": "E-mail em branco" - }, - { - "id": "api.user.complete_switch_with_oauth.parse.app_error", - "translation": "Não foi possível processar os dados de autenticação do {{.Service}} de objeto de usuário" - }, - { - "id": "api.user.complete_switch_with_oauth.unavailable.app_error", - "translation": "{{.Service}} oauth não disponível neste servidor" - }, - { - "id": "api.user.create_oauth_user.already_attached.app_error", - "translation": "Um usuário existente já está conectado a sua conta {{.Service}}" - }, - { - "id": "api.user.create_oauth_user.already_used.app_error", - "translation": "Essa conta {{.Service}} já foi usada para se inscrever" - }, - { - "id": "api.user.create_oauth_user.create.app_error", - "translation": "Não foi possível criar o usuário fora do {{.Service}} do objeto de usuário" - }, - { - "id": "api.user.create_oauth_user.not_available.app_error", - "translation": "{{.Service}} oauth não disponível neste servidor" - }, - { - "id": "api.user.create_profile_image.default_font.app_error", - "translation": "Não foi possível criar a imagem font padrão" - }, - { - "id": "api.user.create_profile_image.encode.app_error", - "translation": "Não foi possível codificar a imagem padrão do perfil" - }, - { - "id": "api.user.create_profile_image.initial.app_error", - "translation": "Não foi possível adicionar a imagem inicial de perfil padrão para o usuário" - }, - { - "id": "api.user.create_user.accepted_domain.app_error", - "translation": "O email que você forneceu não pertence a um domínio aceito. Por favor contacte o seu administrador ou se inscreve com um email diferente." - }, - { - "id": "api.user.create_user.joining.error", - "translation": "Encontrado um problema ao se juntar ao canal padrão user_id=%s, team_id=%s, err=%v" - }, - { - "id": "api.user.create_user.no_open_server", - "translation": "Este servidor não permite inscrições abertas. Por favor, fale com o seu Administrador para receber um convite." - }, - { - "id": "api.user.create_user.save.error", - "translation": "Não foi possível salvar o usuário err=%v" - }, - { - "id": "api.user.create_user.signup_email_disabled.app_error", - "translation": "Inscrição com e-mail está desativada." - }, - { - "id": "api.user.create_user.signup_link_expired.app_error", - "translation": "O link de inscrição expirou" - }, - { - "id": "api.user.create_user.signup_link_invalid.app_error", - "translation": "O link de inscrição não parece ser válido" - }, - { - "id": "api.user.create_user.team_name.app_error", - "translation": "Inválido nome de equipe" - }, - { - "id": "api.user.create_user.tutorial.error", - "translation": "Encontrado um erro ao salvar as preferências de tutorial, err=%v" - }, - { - "id": "api.user.create_user.verified.error", - "translation": "Falha ao definir email como verificado err=%v" - }, - { - "id": "api.user.email_to_ldap.not_available.app_error", - "translation": "LDAP não está disponível neste servidor" - }, - { - "id": "api.user.generate_mfa_qr.not_available.app_error", - "translation": "MFA não configurado ou disponível neste servidor" - }, - { - "id": "api.user.get_authorization_code.unsupported.app_error", - "translation": "Provedor de serviço OAuth não suportado" - }, - { - "id": "api.user.get_me.getting.error", - "translation": "Erro na obtenção do perfil dos usuários para id=%v forçando o logout" - }, - { - "id": "api.user.init.debug", - "translation": "Inicializando user api routes" - }, - { - "id": "api.user.ldap_to_email.not_available.app_error", - "translation": "LDAP não está disponível neste servidor" - }, - { - "id": "api.user.ldap_to_email.not_ldap_account.app_error", - "translation": "Está conta de usuário não utiliza LDAP" - }, - { - "id": "api.user.login.blank_pwd.app_error", - "translation": "Campo senha não pode estar em branco" - }, - { - "id": "api.user.login.inactive.app_error", - "translation": "Login falhou devido a sua conta estar inativa. Por favor entre em contado com um administrador." - }, - { - "id": "api.user.login.not_provided.app_error", - "translation": "Id do usuário ou o nome da equipe e e-mail deve ser fornecido" - }, - { - "id": "api.user.login.not_verified.app_error", - "translation": "Login falhou por causa do endereço de email não ter sido verificado" - }, - { - "id": "api.user.login.revoking.app_error", - "translation": "Revogada sessionid=%v para userid=%v logue novamente com o mesmo id de dispositivo" - }, - { - "id": "api.user.login.use_auth_service.app_error", - "translation": "Por favor logue usando {{.AuthService}}" - }, - { - "id": "api.user.login_by_oauth.not_available.app_error", - "translation": "{{.Service}} oauth não disponível neste servidor" - }, - { - "id": "api.user.login_by_oauth.parse.app_error", - "translation": "Não foi possível processar os dados de autenticação do {{.Service}} de objeto de usuário" - }, - { - "id": "api.user.login_ldap.blank_pwd.app_error", - "translation": "Campo senha não pode estar em branco" - }, - { - "id": "api.user.login_ldap.disabled.app_error", - "translation": "LDAP não habilitado neste servidor" - }, - { - "id": "api.user.login_ldap.need_id.app_error", - "translation": "Precisa de um ID" - }, - { - "id": "api.user.login_ldap.not_available.app_error", - "translation": "LDAP não está disponível neste servidor" - }, - { - "id": "api.user.oauth_to_email.context.app_error", - "translation": "Atualização de senha falhou devido ao contexto user_id não combinar com id de usuário fornecido" - }, - { - "id": "api.user.permanent_delete_user.attempting.warn", - "translation": "Tentando permanentemente deletar a conta %v id=%v" - }, - { - "id": "api.user.permanent_delete_user.deleted.warn", - "translation": "Conta permanentemente deletada %v id=%v" - }, - { - "id": "api.user.permanent_delete_user.system_admin.warn", - "translation": "Você está deletando %v que é um administrador de sistema. Você pode precisar definir outra conta como administrador de sistema usando as ferramentas de linha de comando." - }, - { - "id": "api.user.reset_password.invalid_link.app_error", - "translation": "O link de redefinição de senha não parece ser válido" - }, - { - "id": "api.user.reset_password.link_expired.app_error", - "translation": "O link de redefinição de senha expirou" - }, - { - "id": "api.user.reset_password.method", - "translation": "use um link de redefinição de senha" - }, - { - "id": "api.user.reset_password.sso.app_error", - "translation": "Não foi possível resetar a senha para conta SSO" - }, - { - "id": "api.user.reset_password.wrong_team.app_error", - "translation": "Tentando redefinir senha para usuário na equipe errada." - }, - { - "id": "api.user.send_email_change_email_and_forget.error", - "translation": "Falha ao enviar com sucesso uma notificação por email err=%v" - }, - { - "id": "api.user.send_email_change_username_and_forget.error", - "translation": "Falha ao enviar notificação por email sobre alteração do nome do usuário err=%v" - }, - { - "id": "api.user.send_email_change_verify_email_and_forget.error", - "translation": "Falha ao enviar com sucesso uma verificação de email err=%v" - }, - { - "id": "api.user.send_password_change_email_and_forget.error", - "translation": "Falha ao enviar com sucesso uma atualização de senha por email err=%v" - }, - { - "id": "api.user.send_password_reset.find.app_error", - "translation": "Não foi possível encontrar uma conta com esse endereço." - }, - { - "id": "api.user.send_password_reset.send.app_error", - "translation": "Falha ao enviar email de senha redefinida com sucesso" - }, - { - "id": "api.user.send_password_reset.sso.app_error", - "translation": "Não foi possível resetar a senha para conta SSO" - }, - { - "id": "api.user.send_sign_in_change_email_and_forget.error", - "translation": "Falha ao enviar com sucesso uma atualização de senha por email err=%v" - }, - { - "id": "api.user.send_verify_email_and_forget.failed.error", - "translation": "Falha ao enviar com sucesso uma verificação de email err=%v" - }, - { - "id": "api.user.send_welcome_email_and_forget.failed.error", - "translation": "Falha ao enviar com sucesso boas vindas por email err=%v" - }, - { - "id": "api.user.update_active.permissions.app_error", - "translation": "Você não tem a permissão apropriada" - }, - { - "id": "api.user.update_mfa.not_available.app_error", - "translation": "MFA não configurado ou disponível neste servidor" - }, - { - "id": "api.user.update_password.context.app_error", - "translation": "Atualização da senha falhou devido ao contexto user_id não combinar com props do usuário fornecido" - }, - { - "id": "api.user.update_password.failed.app_error", - "translation": "Atualização de senha falhou" - }, - { - "id": "api.user.update_password.incorrect.app_error", - "translation": "A \"Senha Atual\" que você inseriu está incorreta. Por favor, verifique se o Caps Lock está desativado e tente novamente." - }, - { - "id": "api.user.update_password.menu", - "translation": "usando o menu de configurações" - }, - { - "id": "api.user.update_password.oauth.app_error", - "translation": "Atualização de senha falhou porque o usuário está conectado através de um serviço OAuth" - }, - { - "id": "api.user.update_password.valid_account.app_error", - "translation": "Atualização de senha falhou porque não foi possível encontrar uma conta válida" - }, - { - "id": "api.user.update_roles.one_admin.app_error", - "translation": "Deve haver pelo menos um administrador ativo" - }, - { - "id": "api.user.update_roles.permissions.app_error", - "translation": "Você não tem a permissão apropriada" - }, - { - "id": "api.user.update_roles.system_admin_needed.app_error", - "translation": "A permissão admin do sistema é necessária para essa ação" - }, - { - "id": "api.user.update_roles.system_admin_set.app_error", - "translation": "A função de administrador do sistema só pode ser definida por um outro administrador do sistema" - }, - { - "id": "api.user.update_roles.team_admin_needed.app_error", - "translation": "A permissão admin é necessária para essa ação" - }, - { - "id": "api.user.upload_profile_user.array.app_error", - "translation": "Matriz vazia em 'image' na requisição" - }, - { - "id": "api.user.upload_profile_user.decode.app_error", - "translation": "Não foi possível decodificar a imagem do perfil" - }, - { - "id": "api.user.upload_profile_user.decode_config.app_error", - "translation": "Não foi possível decodificar a configuração da imagem do perfil." - }, - { - "id": "api.user.upload_profile_user.encode.app_error", - "translation": "Não foi possível codificar a imagem do perfil" - }, - { - "id": "api.user.upload_profile_user.no_file.app_error", - "translation": "Nenhum arquivo sobre 'image' no pedido" - }, - { - "id": "api.user.upload_profile_user.open.app_error", - "translation": "Não foi possível abrir arquivo de imagem" - }, - { - "id": "api.user.upload_profile_user.parse.app_error", - "translation": "Não foi possível processar o formulário multipart" - }, - { - "id": "api.user.upload_profile_user.storage.app_error", - "translation": "Não é possível fazer upload do arquivo. Armazenamento de imagem não está configurado." - }, - { - "id": "api.user.upload_profile_user.too_large.app_error", - "translation": "Não foi possível enviar a imagem do perfil. Arquivo muito grande." - }, - { - "id": "api.user.upload_profile_user.upload_profile.app_error", - "translation": "Não foi possível enviar a imagem do perfil" - }, - { - "id": "api.user.verify_email.bad_link.app_error", - "translation": "Erro na verificação link de email." - }, - { - "id": "api.web_conn.new_web_conn.last_activity.error", - "translation": "Falha ao atualizar LastActivityAt para o user_id=%v e session_id=%v, err=%v" - }, - { - "id": "api.web_conn.new_web_conn.last_ping.error", - "translation": "Falha ao atualizar LastPingAt para user_id=%v, err=%v" - }, - { - "id": "api.web_hub.start.stopping.debug", - "translation": "parando %v conexões" - }, - { - "id": "api.web_socket.connect.error", - "translation": "conexão websocket err: %v" - }, - { - "id": "api.web_socket.connect.upgrade.app_error", - "translation": "Falha ao atualizar conexão websocket" - }, - { - "id": "api.web_socket.init.debug", - "translation": "Inicializando web socket api routes" - }, - { - "id": "api.web_team_hun.start.debug", - "translation": "central de equipes parou para teamId=%v" - }, - { - "id": "api.webhook.create_incoming.disabled.app_errror", - "translation": "Webhooks de entrada foram desabilitados pelo administrador do sistema." - }, - { - "id": "api.webhook.create_outgoing.disabled.app_error", - "translation": "Webhooks de saída foram desabilitados pelo administrador do sistema." - }, - { - "id": "api.webhook.create_outgoing.intersect.app_error", - "translation": "Webhooks de saída do mesmo canal não pode ter as mesmas palavras gatilho/URLs de retorno de chamada." - }, - { - "id": "api.webhook.create_outgoing.not_open.app_error", - "translation": "Webhooks de saída só pode ser criado para canais públicos." - }, - { - "id": "api.webhook.create_outgoing.permissions.app_error", - "translation": "Permissões inadequadas para criar o webhook de saída." - }, - { - "id": "api.webhook.create_outgoing.triggers.app_error", - "translation": "Ou trigger_words ou channel_id precisa ser definido" - }, - { - "id": "api.webhook.delete_incoming.disabled.app_errror", - "translation": "Webhooks de entrada foram desabilitados pelo administrador do sistema." - }, - { - "id": "api.webhook.delete_incoming.permissions.app_errror", - "translation": "Permissões inadequadas para deletar o webhook de entrada" - }, - { - "id": "api.webhook.delete_outgoing.disabled.app_error", - "translation": "Webhooks de saída foram desabilitados pelo administrador do sistema." - }, - { - "id": "api.webhook.delete_outgoing.permissions.app_error", - "translation": "Permissões inadequadas para deletar o webhook de saída" - }, - { - "id": "api.webhook.get_incoming.disabled.app_error", - "translation": "Webhooks de entrada foram desabilitados pelo administrador do sistema." - }, - { - "id": "api.webhook.get_outgoing.disabled.app_error", - "translation": "Webhooks de saída foram desabilitados pelo administrador do sistema." - }, - { - "id": "api.webhook.init.debug", - "translation": "Inicializando webhook api routes" - }, - { - "id": "api.webhook.regen_outgoing_token.disabled.app_error", - "translation": "Webhooks de saída foram desabilitados pelo administrador do sistema." - }, - { - "id": "api.webhook.regen_outgoing_token.permissions.app_error", - "translation": "Permissões inadequadas para re-gerar o token do webhook de saída" - }, - { - "id": "ent.brand.save_brand_image.decode.app_error", - "translation": "Não foi possível ler a imagem." - }, - { - "id": "ent.brand.save_brand_image.decode_config.app_error", - "translation": "Não foi possível ler as configurações de imagem." - }, - { - "id": "ent.brand.save_brand_image.encode.app_error", - "translation": "Não foi possível codificar a imagem como PNG." - }, - { - "id": "ent.brand.save_brand_image.open.app_error", - "translation": "Não foi possível abrir a imagem." - }, - { - "id": "ent.brand.save_brand_image.save_image.app_error", - "translation": "Não foi possível salvar a imagem" - }, - { - "id": "ent.brand.save_brand_image.too_large.app_error", - "translation": "Não foi possível abrir a imagem. Imagem é muito grande." - }, - { - "id": "ent.compliance.licence_disable.app_error", - "translation": "Funcionalidade Compliance desabilitada pela licença atual. Entre em contato com o administrador do sistema sobre como atualizar sua licença de empresa." - }, - { - "id": "ent.compliance.run_failed.error", - "translation": "Falha na tarefa '{{.JobName}}' para exportar o compliance no '{{.FilePath}}'" - }, - { - "id": "ent.compliance.run_finished.info", - "translation": "Exportação do compliance terminado para tarefa '{{.JobName}}' exportado {{.Count}} registros para '{{.FilePath}}'" - }, - { - "id": "ent.compliance.run_limit.warning", - "translation": "Aviso exportação do compliance na tarefa '{{.JobName}}' retornando muitos registros truncando para 30.000 em '{{.FilePath}}'" - }, - { - "id": "ent.compliance.run_started.info", - "translation": "Exportação de compliance tarefa '{{.JobName}}' iniciada no '{{.FilePath}}'" - }, - { - "id": "ent.ldap.do_login.bind_admin_user.app_error", - "translation": "Não foi possível ligar ao servidor LDAP. Verifique BindUsername e BindPassword." - }, - { - "id": "ent.ldap.do_login.invalid_password.app_error", - "translation": "Senha inválida" - }, - { - "id": "ent.ldap.do_login.licence_disable.app_error", - "translation": "Funcionalidade LDAP desabilitada pela licença atual. Entre em contato com o administrador do sistema sobre como atualizar sua licença de empresa." - }, - { - "id": "ent.ldap.do_login.matched_to_many_users.app_error", - "translation": "Nome de usuário dado corresponde a vários usuários" - }, - { - "id": "ent.ldap.do_login.search_ldap_server.app_error", - "translation": "Falha ao pesquisar o servidor LDAP" - }, - { - "id": "ent.ldap.do_login.unable_to_connect.app_error", - "translation": "Não foi possível conectar no servidor LDAP" - }, - { - "id": "ent.ldap.do_login.unable_to_create_user.app_error", - "translation": "Credenciais válidas, mas incapaz de criar usuário." - }, - { - "id": "ent.ldap.do_login.user_filtered.app_error", - "translation": "Usuário não autorizado a usar o Mattermost. (LDAP filtro usuario)" - }, - { - "id": "ent.ldap.do_login.user_not_registered.app_error", - "translation": "Usuário não registrado no servidor LDAP" - }, - { - "id": "ent.ldap.validate_filter.app_error", - "translation": "Filtro LDAP Inválido" - }, - { - "id": "ent.mfa.activate.authenticate.app_error", - "translation": "Erro ao tentar autenticar o token MFA" - }, - { - "id": "ent.mfa.activate.bad_token.app_error", - "translation": "Token MFA inválido" - }, - { - "id": "ent.mfa.activate.save_active.app_erro", - "translation": "Não foi possível atualizar o status ativo MFA para o usuário" - }, - { - "id": "ent.mfa.deactivate.save_active.app_erro", - "translation": "Não foi possível atualizar o status ativo MFA para o usuário" - }, - { - "id": "ent.mfa.deactivate.save_secret.app_error", - "translation": "Erro ao limpar o segredo MFA" - }, - { - "id": "ent.mfa.generate_qr_code.create_code.app_error", - "translation": "Erro ao gerar QR code" - }, - { - "id": "ent.mfa.generate_qr_code.save_secret.app_error", - "translation": "Erro ao salvar o segredo MFA" - }, - { - "id": "ent.mfa.license_disable.app_error", - "translation": "Sua licença não suporta o uso de autenticação multi-fator" - }, - { - "id": "ent.mfa.validate_token.authenticate.app_error", - "translation": "Erro ao tentar autenticar o token MFA" - }, - { - "id": "error.generic.link_message", - "translation": "Voltar ao Mattermost" - }, - { - "id": "error.generic.message", - "translation": "Ocorreu um erro." - }, - { - "id": "error.generic.title", - "translation": "Erro" - }, - { - "id": "error.not_found.link_message", - "translation": "Voltar ao Mattermost" - }, - { - "id": "error.not_found.message", - "translation": "A página que você estava tentando alcançar não existe." - }, - { - "id": "error.not_found.title", - "translation": "Página não encontrada" - }, - { - "id": "manaultesting.get_channel_id.no_found.debug", - "translation": "Não foi possível encontrar o canal %v, procurado %v possibilidades" - }, - { - "id": "manaultesting.get_channel_id.unable.debug", - "translation": "Não é possível obter canais" - }, - { - "id": "manaultesting.manual_test.create.info", - "translation": "Criando usuário e equipe" - }, - { - "id": "manaultesting.manual_test.parse.app_error", - "translation": "Não é possível processar a URL" - }, - { - "id": "manaultesting.manual_test.setup.info", - "translation": "Configuração para teste manual..." - }, - { - "id": "manaultesting.manual_test.uid.debug", - "translation": "Sem uid na url" - }, - { - "id": "manaultesting.test_autolink.info", - "translation": "Auto Link Teste Manual" - }, - { - "id": "manaultesting.test_autolink.unable.app_error", - "translation": "Não é possível obter canais" - }, - { - "id": "mattermost.bulletin.subject", - "translation": "Mattermost Boletim de Segurança" - }, - { - "id": "mattermost.config_file", - "translation": "Carregado o arquivo de configuração de %v" - }, - { - "id": "mattermost.current_version", - "translation": "Versão atual é %v (%v/%v/%v/%v)" - }, - { - "id": "mattermost.entreprise_enabled", - "translation": "Ativado Enterprise: %v" - }, - { - "id": "mattermost.load_license.find.warn", - "translation": "Não é possível encontrar licença ativa" - }, - { - "id": "mattermost.security_bulletin.error", - "translation": "Falha ao obter detalhes do boletim de segurança" - }, - { - "id": "mattermost.security_bulletin_read.error", - "translation": "Falha ao ler detalhes do boletim de segurança" - }, - { - "id": "mattermost.security_checks.debug", - "translation": "Verificação de atualização de segurança do Mattermost" - }, - { - "id": "mattermost.security_info.error", - "translation": "Falha ao obter informação sobre a atualização de segurança do Mattermost." - }, - { - "id": "mattermost.send_bulletin.info", - "translation": "Enviando o boletim de segurança para %v a %v" - }, - { - "id": "mattermost.system_admins.error", - "translation": "Falha ao obter administradores do sistema para a informação de atualização de segurança do Mattermost." - }, - { - "id": "mattermost.unable_to_load_config", - "translation": "Não foi possível carregar o arquivo de configuração do mattermost:" - }, - { - "id": "mattermost.working_dir", - "translation": "Diretório atual é %v" - }, - { - "id": "model.access.is_valid.access_token.app_error", - "translation": "Token de acesso inválido" - }, - { - "id": "model.access.is_valid.auth_code.app_error", - "translation": "Código de autenticação inválido" - }, - { - "id": "model.access.is_valid.redirect_uri.app_error", - "translation": "Uri de redirecionamento inválida" - }, - { - "id": "model.access.is_valid.refresh_token.app_error", - "translation": "Token de atualização inválido" - }, - { - "id": "model.authorize.is_valid.auth_code.app_error", - "translation": "Código de autorização inválido" - }, - { - "id": "model.authorize.is_valid.client_id.app_error", - "translation": "Id de cliente inválido" - }, - { - "id": "model.authorize.is_valid.create_at.app_error", - "translation": "Create deve ser um tempo válido" - }, - { - "id": "model.authorize.is_valid.expires.app_error", - "translation": "Expira em deve ser definido" - }, - { - "id": "model.authorize.is_valid.redirect_uri.app_error", - "translation": "Uri de redirecionamento inválida" - }, - { - "id": "model.authorize.is_valid.scope.app_error", - "translation": "Escopo inválido" - }, - { - "id": "model.authorize.is_valid.state.app_error", - "translation": "Estado inválido" - }, - { - "id": "model.authorize.is_valid.user_id.app_error", - "translation": "Id de usuário inválido" - }, - { - "id": "model.channel.is_valid.2_or_more.app_error", - "translation": "Nome deve ter 2 ou mais caracteres alfanuméricos em minúsculas" - }, - { - "id": "model.channel.is_valid.create_at.app_error", - "translation": "Create deve ser um tempo válido" - }, - { - "id": "model.channel.is_valid.creator_id.app_error", - "translation": "Id de criador inválido" - }, - { - "id": "model.channel.is_valid.display_name.app_error", - "translation": "Nome para exibição inválido" - }, - { - "id": "model.channel.is_valid.header.app_error", - "translation": "Cabeçalho inválido" - }, - { - "id": "model.channel.is_valid.id.app_error", - "translation": "ID inválida" - }, - { - "id": "model.channel.is_valid.name.app_error", - "translation": "Nome inválido" - }, - { - "id": "model.channel.is_valid.purpose.app_error", - "translation": "Propósito inválido" - }, - { - "id": "model.channel.is_valid.type.app_error", - "translation": "Tipo inválido" - }, - { - "id": "model.channel.is_valid.update_at.app_error", - "translation": "Update deve ser um tempo válido" - }, - { - "id": "model.channel_member.is_valid.channel_id.app_error", - "translation": "Id do canal inválida" - }, - { - "id": "model.channel_member.is_valid.notify_level.app_error", - "translation": "Nível de notificação inválido" - }, - { - "id": "model.channel_member.is_valid.role.app_error", - "translation": "Função inválida" - }, - { - "id": "model.channel_member.is_valid.unread_level.app_error", - "translation": "Nível do marcador não lido inválido" - }, - { - "id": "model.channel_member.is_valid.user_id.app_error", - "translation": "Id de usuário inválido" - }, - { - "id": "model.client.connecting.app_error", - "translation": "Encontramos um erro enquanto conectava ao servidor" - }, - { - "id": "model.client.login.app_error", - "translation": "Tokens de autenticação não são iguais" - }, - { - "id": "model.command.is_valid.create_at.app_error", - "translation": "Create deve ser um tempo válido" - }, - { - "id": "model.command.is_valid.description.app_error", - "translation": "Descrição inválida" - }, - { - "id": "model.command.is_valid.display_name.app_error", - "translation": "Nome para exibição inválido" - }, - { - "id": "model.command.is_valid.id.app_error", - "translation": "ID inválida" - }, - { - "id": "model.command.is_valid.method.app_error", - "translation": "Método inválido" - }, - { - "id": "model.command.is_valid.team_id.app_error", - "translation": "Inválido equipe id" - }, - { - "id": "model.command.is_valid.token.app_error", - "translation": "Token inválido" - }, - { - "id": "model.command.is_valid.trigger.app_error", - "translation": "Gatilho inválido" - }, - { - "id": "model.command.is_valid.update_at.app_error", - "translation": "Update deve ser um tempo válido" - }, - { - "id": "model.command.is_valid.url.app_error", - "translation": "Url inválida" - }, - { - "id": "model.command.is_valid.url_http.app_error", - "translation": "URL inválida. Deve ser uma URL válida e começar com http:// ou https://" - }, - { - "id": "model.command.is_valid.user_id.app_error", - "translation": "Id de usuário inválido" - }, - { - "id": "model.compliance.is_valid.create_at.app_error", - "translation": "Create deve ser um tempo válido" - }, - { - "id": "model.compliance.is_valid.desc.app_error", - "translation": "Descrição inválida" - }, - { - "id": "model.compliance.is_valid.end_at.app_error", - "translation": "Para precisa ser um tempo válido" - }, - { - "id": "model.compliance.is_valid.id.app_error", - "translation": "ID inválida" - }, - { - "id": "model.compliance.is_valid.start_at.app_error", - "translation": "De precisa ser um tempo válido" - }, - { - "id": "model.compliance.is_valid.start_end_at.app_error", - "translation": "Para precisa ser maior que De" - }, - { - "id": "model.config.is_valid.email_reset_salt.app_error", - "translation": "Senha inválida redefinir salt nas configurações de email. Deve ser de 32 caracteres ou mais." - }, - { - "id": "model.config.is_valid.email_salt.app_error", - "translation": "Inválido convite salt em configurações de email. Deve ser de 32 caracteres ou mais." - }, - { - "id": "model.config.is_valid.email_security.app_error", - "translation": "Inválida segurança de conexão em configurações de email. Deve ser '', 'TLS', or 'STARTTLS'" - }, - { - "id": "model.config.is_valid.encrypt_sql.app_error", - "translation": "Inválido chave encrypt rest em configurações SQL. Deve ser 32 caracteres ou mais." - }, - { - "id": "model.config.is_valid.file_driver.app_error", - "translation": "Inválido nome do driver em configurações de arquivo. Deve ser 'local' ou 'amazons3'" - }, - { - "id": "model.config.is_valid.file_preview_height.app_error", - "translation": "Definição da altura da pré-visualização inválida. Deve ser zero ou um número positivo." - }, - { - "id": "model.config.is_valid.file_preview_width.app_error", - "translation": "Definição da largura da pré-visualização inválida. Deve ser um número positivo." - }, - { - "id": "model.config.is_valid.file_profile_height.app_error", - "translation": "Definição da altura da perfil inválida. Deve ser um número positivo." - }, - { - "id": "model.config.is_valid.file_profile_width.app_error", - "translation": "Definição da largura do perfil inválida. Deve um número positivo." - }, - { - "id": "model.config.is_valid.file_salt.app_error", - "translation": "Inválido salt de link público em configurações de arquivo. Deve ser 32 caracteres ou mais." - }, - { - "id": "model.config.is_valid.file_thumb_height.app_error", - "translation": "Definição da altura do thumbnail inválida. Deve ser um número positivo." - }, - { - "id": "model.config.is_valid.file_thumb_width.app_error", - "translation": "Definição da largura do thumbnail inválida. Deve ser um número positivo." - }, - { - "id": "model.config.is_valid.ldap_security.app_error", - "translation": "Inválida segurança de conexão em configurações de LDAP. Deve ser '', 'TLS', or 'STARTTLS'" - }, - { - "id": "model.config.is_valid.listen_address.app_error", - "translation": "Inválido endereço de escuta em configurações de serviço Deve ser ajustado." - }, - { - "id": "model.config.is_valid.login_attempts.app_error", - "translation": "Inválido máxima tentativas de login em configurações de serviço. Deve ser um número positivo." - }, - { - "id": "model.config.is_valid.max_file_size.app_error", - "translation": "Tamanho máximo do arquivo inválido nas configurações de arquivo. Deve ser zero ou um número positivo." - }, - { - "id": "model.config.is_valid.max_users.app_error", - "translation": "Inválido máximo de usuários por equipe em configurações de equipe. Deve ser um número positivo." - }, - { - "id": "model.config.is_valid.rate_mem.app_error", - "translation": "Tamanho do armazenamento de memória inválido para configurações de limite de velocidade. Deve ser um número positivo" - }, - { - "id": "model.config.is_valid.rate_sec.app_error", - "translation": "Inválido por seg para configuração do limite de taxa. Deve ser um número positivo" - }, - { - "id": "model.config.is_valid.restrict_direct_message.app_error", - "translation": "Restrição de mensagem direta inválida. Deve ser 'qualquer', ou 'equipe'" - }, - { - "id": "model.config.is_valid.sql_data_src.app_error", - "translation": "Inválido fonte de dados em configurações SQL. Deve ser definido." - }, - { - "id": "model.config.is_valid.sql_driver.app_error", - "translation": "Inválido nome do driver em configurações SQL. Deve ser 'mysql' ou 'postgres'" - }, - { - "id": "model.config.is_valid.sql_idle.app_error", - "translation": "Inválido máximo de conexões ociosas em configurações SQL. Deve ser um número positivo." - }, - { - "id": "model.config.is_valid.sql_max_conn.app_error", - "translation": "Inválido máximo de conexões abertas em configurações SQL. Deve ser um número positivo." - }, - { - "id": "model.file_info.get.gif.app_error", - "translation": "Não foi possível decodificar o gif." - }, - { - "id": "model.incoming_hook.channel_id.app_error", - "translation": "Id de canal inválido" - }, - { - "id": "model.incoming_hook.create_at.app_error", - "translation": "Create deve ser um tempo válido" - }, - { - "id": "model.incoming_hook.description.app_error", - "translation": "Descrição inválida" - }, - { - "id": "model.incoming_hook.display_name.app_error", - "translation": "Nome para exibição inválido" - }, - { - "id": "model.incoming_hook.id.app_error", - "translation": "ID inválida" - }, - { - "id": "model.incoming_hook.team_id.app_error", - "translation": "Equipe id inválida" - }, - { - "id": "model.incoming_hook.update_at.app_error", - "translation": "Update deve ser um tempo válido" - }, - { - "id": "model.incoming_hook.user_id.app_error", - "translation": "Id de usuário inválido" - }, - { - "id": "model.oauth.is_valid.app_id.app_error", - "translation": "Id app inválido" - }, - { - "id": "model.oauth.is_valid.callback.app_error", - "translation": "Urls de retorno de chamada inválidas" - }, - { - "id": "model.oauth.is_valid.client_secret.app_error", - "translation": "Cliente segredo inválido" - }, - { - "id": "model.oauth.is_valid.create_at.app_error", - "translation": "Create deve ser um tempo válido" - }, - { - "id": "model.oauth.is_valid.creator_id.app_error", - "translation": "Id criador inválido" - }, - { - "id": "model.oauth.is_valid.description.app_error", - "translation": "Descrição inválida" - }, - { - "id": "model.oauth.is_valid.homepage.app_error", - "translation": "Pagina inicial inválida" - }, - { - "id": "model.oauth.is_valid.name.app_error", - "translation": "Nome inválido" - }, - { - "id": "model.oauth.is_valid.update_at.app_error", - "translation": "Update deve ser um tempo válido" - }, - { - "id": "model.outgoing_hook.is_valid.callback.app_error", - "translation": "Urls de retorno de chamada inválidas" - }, - { - "id": "model.outgoing_hook.is_valid.channel_id.app_error", - "translation": "Id de canal inválido" - }, - { - "id": "model.outgoing_hook.is_valid.create_at.app_error", - "translation": "Create deve ser um tempo válido" - }, - { - "id": "model.outgoing_hook.is_valid.description.app_error", - "translation": "Descrição inválida" - }, - { - "id": "model.outgoing_hook.is_valid.display_name.app_error", - "translation": "Nome para exibição inválido" - }, - { - "id": "model.outgoing_hook.is_valid.id.app_error", - "translation": "ID inválida" - }, - { - "id": "model.outgoing_hook.is_valid.team_id.app_error", - "translation": "Equipe id inválida" - }, - { - "id": "model.outgoing_hook.is_valid.token.app_error", - "translation": "Token inválido" - }, - { - "id": "model.outgoing_hook.is_valid.trigger_words.app_error", - "translation": "Palavras gatilho inválida" - }, - { - "id": "model.outgoing_hook.is_valid.update_at.app_error", - "translation": "Update deve ser um tempo válido" - }, - { - "id": "model.outgoing_hook.is_valid.url.app_error", - "translation": "URLs de retorno de chamada inválida. Cada um deve ser uma URL válida e começar com http:// ou https://" - }, - { - "id": "model.outgoing_hook.is_valid.user_id.app_error", - "translation": "Id de usuário inválido" - }, - { - "id": "model.outgoing_hook.is_valid.words.app_error", - "translation": "Palavras gatilho inválida" - }, - { - "id": "model.post.is_valid.channel_id.app_error", - "translation": "Id de canal inválido" - }, - { - "id": "model.post.is_valid.create_at.app_error", - "translation": "Create deve ser um tempo válido" - }, - { - "id": "model.post.is_valid.filenames.app_error", - "translation": "Nomes dos arquivos inválidos" - }, - { - "id": "model.post.is_valid.hashtags.app_error", - "translation": "Hashtags inválidas" - }, - { - "id": "model.post.is_valid.id.app_error", - "translation": "ID inválida" - }, - { - "id": "model.post.is_valid.msg.app_error", - "translation": "Mensagem inválida" - }, - { - "id": "model.post.is_valid.original_id.app_error", - "translation": "Id original inválida" - }, - { - "id": "model.post.is_valid.parent_id.app_error", - "translation": "Id pai inválido" - }, - { - "id": "model.post.is_valid.props.app_error", - "translation": "Props inválido" - }, - { - "id": "model.post.is_valid.root_id.app_error", - "translation": "Id raiz inválida" - }, - { - "id": "model.post.is_valid.root_parent.app_error", - "translation": "Inválido root id deve ser definido se parent id for" - }, - { - "id": "model.post.is_valid.type.app_error", - "translation": "Tipo inválido" - }, - { - "id": "model.post.is_valid.update_at.app_error", - "translation": "Update deve ser um tempo válido" - }, - { - "id": "model.post.is_valid.user_id.app_error", - "translation": "Id de usuário inválido" - }, - { - "id": "model.preference.is_valid.category.app_error", - "translation": "Categoria inválida" - }, - { - "id": "model.preference.is_valid.id.app_error", - "translation": "Id de usuário inválido" - }, - { - "id": "model.preference.is_valid.name.app_error", - "translation": "Nome inválido" - }, - { - "id": "model.preference.is_valid.value.app_error", - "translation": "Nome é muito longo" - }, - { - "id": "model.team.is_valid.characters.app_error", - "translation": "Nome deve ter 4 ou mais caracteres alfanuméricos em minúsculas" - }, - { - "id": "model.team.is_valid.company.app_error", - "translation": "Nome da empresa inválido" - }, - { - "id": "model.team.is_valid.create_at.app_error", - "translation": "Create deve ser um tempo válido" - }, - { - "id": "model.team.is_valid.domains.app_error", - "translation": "Domínios permitidos inválidos" - }, - { - "id": "model.team.is_valid.email.app_error", - "translation": "Email inválido" - }, - { - "id": "model.team.is_valid.id.app_error", - "translation": "ID inválida" - }, - { - "id": "model.team.is_valid.name.app_error", - "translation": "Nome inválido" - }, - { - "id": "model.team.is_valid.reserved.app_error", - "translation": "Esta URL não está disponível. Por favor, tente outra." - }, - { - "id": "model.team.is_valid.type.app_error", - "translation": "Tipo inválido" - }, - { - "id": "model.team.is_valid.update_at.app_error", - "translation": "Update deve ser um tempo válido" - }, - { - "id": "model.team.is_valid.url.app_error", - "translation": "Identificador URL inválida" - }, - { - "id": "model.team_member.is_valid.role.app_error", - "translation": "Função inválida" - }, - { - "id": "model.team_member.is_valid.team_id.app_error", - "translation": "Equipe id inválida" - }, - { - "id": "model.team_member.is_valid.user_id.app_error", - "translation": "Id de usuário inválido" - }, - { - "id": "model.user.is_valid.auth_data.app_error", - "translation": "Dados de autenticação inválido" - }, - { - "id": "model.user.is_valid.auth_data_pwd.app_error", - "translation": "Usuário inválido, senha e de autenticação de dados não podem ser definidos" - }, - { - "id": "model.user.is_valid.auth_data_type.app_error", - "translation": "Usuário inválido, dados de autenticação deve ser definido com o tipo de autenticação" - }, - { - "id": "model.user.is_valid.create_at.app_error", - "translation": "Create deve ser um tempo válido" - }, - { - "id": "model.user.is_valid.email.app_error", - "translation": "Email inválido" - }, - { - "id": "model.user.is_valid.first_name.app_error", - "translation": "Primeiro nome inválido" - }, - { - "id": "model.user.is_valid.id.app_error", - "translation": "Id de usuário inválido" - }, - { - "id": "model.user.is_valid.last_name.app_error", - "translation": "Ultimo nome inválido" - }, - { - "id": "model.user.is_valid.nickname.app_error", - "translation": "Apelido inválido" - }, - { - "id": "model.user.is_valid.pwd.app_error", - "translation": "Senha inválida" - }, - { - "id": "model.user.is_valid.team_id.app_error", - "translation": "Equipe id inválida" - }, - { - "id": "model.user.is_valid.theme.app_error", - "translation": "Tema inválido" - }, - { - "id": "model.user.is_valid.update_at.app_error", - "translation": "Update deve ser um tempo válido" - }, - { - "id": "model.user.is_valid.username.app_error", - "translation": "Usuário inválido" - }, - { - "id": "model.utils.decode_json.app_error", - "translation": "não foi possível decodificar" - }, - { - "id": "store.sql.alter_column_type.critical", - "translation": "Falha ao alterar o tipo da coluna %v" - }, - { - "id": "store.sql.check_index.critical", - "translation": "Falha ao verificar o índice %v" - }, - { - "id": "store.sql.closing.info", - "translation": "Fechando SqlStore" - }, - { - "id": "store.sql.column_exists.critical", - "translation": "Falha ao verificar se a coluna existe %v" - }, - { - "id": "store.sql.column_exists_missing_driver.critical", - "translation": "Falha ao verificar se a couna existe devido a falta do driver" - }, - { - "id": "store.sql.convert_encrypt_string_map", - "translation": "FromDb: Não foi possível converter EncryptStringMap para *string" - }, - { - "id": "store.sql.convert_string_array", - "translation": "FromDb: Não foi possível converter StringArray para *string" - }, - { - "id": "store.sql.convert_string_interface", - "translation": "FromDb: Não foi possível converter StringInterface para *string" - }, - { - "id": "store.sql.convert_string_map", - "translation": "FromDb: Não foi possível converter StringMap para *string" - }, - { - "id": "store.sql.create_column.critical", - "translation": "Falha ao criar a coluna %v" - }, - { - "id": "store.sql.create_column_missing_driver.critical", - "translation": "Falha ao criar a couna devido a falta do driver" - }, - { - "id": "store.sql.create_index.critical", - "translation": "Falha ao criar o índice %v" - }, - { - "id": "store.sql.create_index_missing_driver.critical", - "translation": "Falha para criar o índice devido a falta do driver" - }, - { - "id": "store.sql.creating_tables.critical", - "translation": "Erro ao criar as tabelas no banco de dados: %v" - }, - { - "id": "store.sql.dialect_driver.critical", - "translation": "Falha ao criar driver de dialeto específico" - }, - { - "id": "store.sql.dialect_driver.panic", - "translation": "Falha ao criar driver de dialeto específico %v" - }, - { - "id": "store.sql.drop_column.critical", - "translation": "Falha ao deletar a coluna %v" - }, - { - "id": "store.sql.incorrect_mac", - "translation": "MAC incorreto para o ciphertext fornecido" - }, - { - "id": "store.sql.maxlength_column.critical", - "translation": "Falha ao obter o comprimento máximo da coluna %v" - }, - { - "id": "store.sql.open_conn.critical", - "translation": "Falha ao abrir a conexão sql err:%v" - }, - { - "id": "store.sql.open_conn.panic", - "translation": "Falha ao abrir a conexão sql %v" - }, - { - "id": "store.sql.ping.critical", - "translation": "Falha para ping db err:%v" - }, - { - "id": "store.sql.pinging.info", - "translation": "Pingando banco de dados sql %v" - }, - { - "id": "store.sql.read_replicas_not_licensed.critical", - "translation": "A funcionalidade de mais de uma réplica está desabilitada pela licença atual. Entre em contato com o administrador do sistema sobre como atualizar sua licença de empresa." - }, - { - "id": "store.sql.remove_index.critical", - "translation": "Falha ao remover o índice %v" - }, - { - "id": "store.sql.rename_column.critical", - "translation": "Falha ao renomear a coluna %v" - }, - { - "id": "store.sql.schema_out_of_date.warn", - "translation": "A versão do esquema do banco de dados %v parece estar desatualizada" - }, - { - "id": "store.sql.schema_set.info", - "translation": "O esquema do banco de dados foi ajustado para a versão %v" - }, - { - "id": "store.sql.schema_upgrade_attempt.warn", - "translation": "Tentando atualizar o esquema do banco de dados para versão %v" - }, - { - "id": "store.sql.schema_version.critical", - "translation": "O esquema do bando de dados da versão %v não pode ser atualizado. Você precisa pular uma versão." - }, - { - "id": "store.sql.short_ciphertext", - "translation": "ciphertext curto" - }, - { - "id": "store.sql.table_column_type.critical", - "translation": "Falha ao obter o tipo de dado da coluna %s para a tabela %s: %v" - }, - { - "id": "store.sql.table_exists.critical", - "translation": "Falha ao verificar se a tabela existe %v" - }, - { - "id": "store.sql.too_short_ciphertext", - "translation": "ciphertext muito curto" - }, - { - "id": "store.sql.upgraded.warn", - "translation": "O esquema do banco de dados foi atualizado para a versão %v" - }, - { - "id": "store.sql_audit.get.finding.app_error", - "translation": "Encontramos um erro ao procurar o audits" - }, - { - "id": "store.sql_audit.get.limit.app_error", - "translation": "Limite excedido para paginação" - }, - { - "id": "store.sql_audit.permanent_delete_by_user.app_error", - "translation": "Encontramos um erro ao deletar o audits" - }, - { - "id": "store.sql_audit.save.saving.app_error", - "translation": "Encontramos um erro ao salvar o audits" - }, - { - "id": "store.sql_channel.analytics_type_count.app_error", - "translation": "Não foi possível obter o número de tipos de canal" - }, - { - "id": "store.sql_channel.check_open_channel_permissions.app_error", - "translation": "Não foi possível verificar as pemissões" - }, - { - "id": "store.sql_channel.check_permissions.app_error", - "translation": "Não foi possível verificar as pemissões" - }, - { - "id": "store.sql_channel.check_permissions_by_name.app_error", - "translation": "Não foi possível verificar as pemissões" - }, - { - "id": "store.sql_channel.delete.channel.app_error", - "translation": "Não foi possível deletar o canal" - }, - { - "id": "store.sql_channel.extra_updated.app_error", - "translation": "Problema ao atualizar membros na última atualização" - }, - { - "id": "store.sql_channel.get.existing.app_error", - "translation": "Não foi possível encontrar o canal existente" - }, - { - "id": "store.sql_channel.get.find.app_error", - "translation": "Encontramos um erro ao procurar o canal" - }, - { - "id": "store.sql_channel.get_by_name.existing.app_error", - "translation": "Não foi possível encontrar o canal existente" - }, - { - "id": "store.sql_channel.get_by_name.missing.app_error", - "translation": "Canal não existe" - }, - { - "id": "store.sql_channel.get_channel_counts.get.app_error", - "translation": "Não foi possível obter o número de canais" - }, - { - "id": "store.sql_channel.get_channels.get.app_error", - "translation": "Não foi possível obter os canais" - }, - { - "id": "store.sql_channel.get_channels.not_found.app_error", - "translation": "Nenhum canal foi encontrado" - }, - { - "id": "store.sql_channel.get_extra_members.app_error", - "translation": "Nós não podemos obter a informação extra para membros do canal" - }, - { - "id": "store.sql_channel.get_for_export.app_error", - "translation": "Não foi possível obter todos os canais" - }, - { - "id": "store.sql_channel.get_member.app_error", - "translation": "Não foi possível obter os membros do canal" - }, - { - "id": "store.sql_channel.get_member.missing.app_error", - "translation": "Nenhum membro canal encontrado para esse id de usuário e id de canal" - }, - { - "id": "store.sql_channel.get_member_count.app_error", - "translation": "Não foi possível obter o número de membros do canal" - }, - { - "id": "store.sql_channel.get_members.app_error", - "translation": "Não foi possível obter os membros do canal" - }, - { - "id": "store.sql_channel.get_more_channels.get.app_error", - "translation": "Não foi possível obter os canais" - }, - { - "id": "store.sql_channel.increment_mention_count.app_error", - "translation": "Não foi possível incrementar o número de menções" - }, - { - "id": "store.sql_channel.permanent_delete_by_team.app_error", - "translation": "Não foi possível deletar os canais" - }, - { - "id": "store.sql_channel.permanent_delete_members_by_user.app_error", - "translation": "Não foi possível remover o membro do canal" - }, - { - "id": "store.sql_channel.remove_member.app_error", - "translation": "Não foi possível remover o membro do canal" - }, - { - "id": "store.sql_channel.save.commit_transaction.app_error", - "translation": "Não é possível confirmar a transação" - }, - { - "id": "store.sql_channel.save.direct_channel.app_error", - "translation": "Usar SaveDirectChannel para criar um canal direto" - }, - { - "id": "store.sql_channel.save.open_transaction.app_error", - "translation": "Não é possível abrir a transação" - }, - { - "id": "store.sql_channel.save_channel.current_count.app_error", - "translation": "Falha ao obter o número de canais atual" - }, - { - "id": "store.sql_channel.save_channel.existing.app_error", - "translation": "Deve chamar atualização para o canal existente" - }, - { - "id": "store.sql_channel.save_channel.exists.app_error", - "translation": "Um canal com essa URL já existe" - }, - { - "id": "store.sql_channel.save_channel.limit.app_error", - "translation": "Você atingiu o limite do número de canais autorizados." - }, - { - "id": "store.sql_channel.save_channel.previously.app_error", - "translation": "Um canal com essa URL foi criado anteriormente" - }, - { - "id": "store.sql_channel.save_channel.save.app_error", - "translation": "Não foi possível salvar o canal" - }, - { - "id": "store.sql_channel.save_direct_channel.add_members.app_error", - "translation": "Não foi possível adicionar membros para o canal direto" - }, - { - "id": "store.sql_channel.save_direct_channel.commit.app_error", - "translation": "Não é possível confirmar a transação" - }, - { - "id": "store.sql_channel.save_direct_channel.not_direct.app_error", - "translation": "Não foi um canal direto que foi tentado ser criado com SaveDirectChannel" - }, - { - "id": "store.sql_channel.save_direct_channel.open_transaction.app_error", - "translation": "Não é possível abrir a transação" - }, - { - "id": "store.sql_channel.save_member.commit_transaction.app_error", - "translation": "Não é possível confirmar a transação" - }, - { - "id": "store.sql_channel.save_member.exists.app_error", - "translation": "Um membro do canal com este id já existe" - }, - { - "id": "store.sql_channel.save_member.open_transaction.app_error", - "translation": "Não é possível abrir a transação" - }, - { - "id": "store.sql_channel.save_member.save.app_error", - "translation": "Não foi possível salvar o membro do canal" - }, - { - "id": "store.sql_channel.update.app_error", - "translation": "Não foi possível atualizar o canal" - }, - { - "id": "store.sql_channel.update.exists.app_error", - "translation": "Um canal com este handle já existe" - }, - { - "id": "store.sql_channel.update.previously.app_error", - "translation": "Um canal com esse handle foi criado anteriormente" - }, - { - "id": "store.sql_channel.update.updating.app_error", - "translation": "Encontramos um erro ao atualizar o canal" - }, - { - "id": "store.sql_channel.update_last_viewed_at.app_error", - "translation": "Não foi possível atualizar a última visualização no tempo" - }, - { - "id": "store.sql_channel.update_member.app_error", - "translation": "Encontramos um erro ao atualizar o membro do canal" - }, - { - "id": "store.sql_command.analytics_command_count.app_error", - "translation": "Não foi possível contar os comandos" - }, - { - "id": "store.sql_command.save.delete.app_error", - "translation": "Não foi possível deletar o comando" - }, - { - "id": "store.sql_command.save.delete_perm.app_error", - "translation": "Não foi possível deletar o comando" - }, - { - "id": "store.sql_command.save.get.app_error", - "translation": "Não foi possível obter o comando" - }, - { - "id": "store.sql_command.save.get_team.app_error", - "translation": "Não foi possível obter os comandos" - }, - { - "id": "store.sql_command.save.saving.app_error", - "translation": "Não foi possível salvar o Comando" - }, - { - "id": "store.sql_command.save.saving_overwrite.app_error", - "translation": "Você não pode sobre-escrever um Comando existente" - }, - { - "id": "store.sql_command.save.update.app_error", - "translation": "Não foi possível atualizar o comando" - }, - { - "id": "store.sql_compliance.get.finding.app_error", - "translation": "Encontramos um erro ao obter o relatório de compliance" - }, - { - "id": "store.sql_compliance.save.saving.app_error", - "translation": "Encontramos um erro ao salvar o relatório de compliance" - }, - { - "id": "store.sql_license.get.app_error", - "translation": "Encontramos um erro ao obter a licença" - }, - { - "id": "store.sql_license.get.missing.app_error", - "translation": "Uma licença com este ID não foi encontrada" - }, - { - "id": "store.sql_license.save.app_error", - "translation": "Encontramos um erro ao salvar a lincença" - }, - { - "id": "store.sql_oauth.get_access_data.app_error", - "translation": "Encontramos um erro ao procurar o token de acesso" - }, - { - "id": "store.sql_oauth.get_access_data_by_code.app_error", - "translation": "Encontramos um erro ao procurar o token de acesso" - }, - { - "id": "store.sql_oauth.get_app.find.app_error", - "translation": "Não foi possível encontrar o app existente" - }, - { - "id": "store.sql_oauth.get_app.finding.app_error", - "translation": "Encontramos um erro ao procurar o app" - }, - { - "id": "store.sql_oauth.get_app_by_user.find.app_error", - "translation": "Não foi possível encontrar nenhum app existente" - }, - { - "id": "store.sql_oauth.get_auth_data.find.app_error", - "translation": "Não foi possível localizar o código de autorização" - }, - { - "id": "store.sql_oauth.get_auth_data.finding.app_error", - "translation": "Encontramos um erro ao procurar o código de autorização" - }, - { - "id": "store.sql_oauth.permanent_delete_auth_data_by_user.app_error", - "translation": "Não conseguimos remover o código de autorização" - }, - { - "id": "store.sql_oauth.remove_access_data.app_error", - "translation": "Não foi possível remover o token de acesso" - }, - { - "id": "store.sql_oauth.remove_auth_data.app_error", - "translation": "Não foi possível remover o código de autorização" - }, - { - "id": "store.sql_oauth.save_access_data.app_error", - "translation": "Não foi possível salvar o token de acesso." - }, - { - "id": "store.sql_oauth.save_app.existing.app_error", - "translation": "Deve chamar atualização para aplicação existente" - }, - { - "id": "store.sql_oauth.save_app.save.app_error", - "translation": "Não foi possível salvar o aplicativo." - }, - { - "id": "store.sql_oauth.save_auth_data.app_error", - "translation": "Não foi possível salvar o código de autorização." - }, - { - "id": "store.sql_oauth.update_app.find.app_error", - "translation": "Não foi possível encontrar o app existente para atualizar" - }, - { - "id": "store.sql_oauth.update_app.finding.app_error", - "translation": "Encontramos um erro ao procurar o app" - }, - { - "id": "store.sql_oauth.update_app.update.app_error", - "translation": "Não foi possível atualizar o aplicativo" - }, - { - "id": "store.sql_oauth.update_app.updating.app_error", - "translation": "Encontramos um erro ao atualizar o app" - }, - { - "id": "store.sql_post.analytics_posts_count.app_error", - "translation": "Não possível obter o número de postagens" - }, - { - "id": "store.sql_post.analytics_posts_count_by_day.app_error", - "translation": "Não possível obter o número de postagens do dia" - }, - { - "id": "store.sql_post.analytics_user_counts_posts_by_day.app_error", - "translation": "Não foi possível obter o número de posts" - }, - { - "id": "store.sql_post.compliance_export.app_error", - "translation": "Não foi possível obter os posts para exportação compliance" - }, - { - "id": "store.sql_post.delete.app_error", - "translation": "Não foi possível deletar o post" - }, - { - "id": "store.sql_post.get.app_error", - "translation": "Não foi obter o post" - }, - { - "id": "store.sql_post.get_for_export.app_error", - "translation": "Nós não conseguimos obter as mensagens para o canal" - }, - { - "id": "store.sql_post.get_parents_posts.app_error", - "translation": "Não foi possível obter o post pai para o canal" - }, - { - "id": "store.sql_post.get_posts.app_error", - "translation": "Limite excedido para paginação" - }, - { - "id": "store.sql_post.get_posts_around.get.app_error", - "translation": "Não foi possível obter as postagens para o canal" - }, - { - "id": "store.sql_post.get_posts_around.get_parent.app_error", - "translation": "Não foi possível obter o post pai para o canal" - }, - { - "id": "store.sql_post.get_posts_since.app_error", - "translation": "Não foi possível obter as postagens do canal" - }, - { - "id": "store.sql_post.get_root_posts.app_error", - "translation": "Não foi possível obter as postagens do canal" - }, - { - "id": "store.sql_post.permanent_delete.app_error", - "translation": "Não foi possível deletar o post" - }, - { - "id": "store.sql_post.permanent_delete_all_comments_by_user.app_error", - "translation": "Não foi possível deletar os comentários para o usuário" - }, - { - "id": "store.sql_post.permanent_delete_by_user.app_error", - "translation": "Não foi possível selecionar os posts para deletar para o usuário" - }, - { - "id": "store.sql_post.permanent_delete_by_user.too_many.app_error", - "translation": "Não foi possível selecionar as postagens para deletar o usuário (muitos), por favor, re-executar" - }, - { - "id": "store.sql_post.save.app_error", - "translation": "Não foi possível salvar o Post" - }, - { - "id": "store.sql_post.save.existing.app_error", - "translation": "Você não pode atualizar um Post" - }, - { - "id": "store.sql_post.search.app_error", - "translation": "Encontramos um erro enquanto procurava por postagens" - }, - { - "id": "store.sql_post.update.app_error", - "translation": "Não foi possível deletar o post" - }, - { - "id": "store.sql_preference.delete_unused_features.debug", - "translation": "Excluindo recursos de pré-lançamento não utilizados" - }, - { - "id": "store.sql_preference.get.app_error", - "translation": "Encontramos um erro ao procurar as preferências" - }, - { - "id": "store.sql_preference.get_all.app_error", - "translation": "Encontramos um erro ao procurar as preferências" - }, - { - "id": "store.sql_preference.get_category.app_error", - "translation": "Encontramos um erro ao procurar as preferências" - }, - { - "id": "store.sql_preference.insert.exists.app_error", - "translation": "Uma preferencia com este id de usuário, categoria, e nome já existe" - }, - { - "id": "store.sql_preference.insert.save.app_error", - "translation": "Não foi possível salvar a preferência" - }, - { - "id": "store.sql_preference.is_feature_enabled.app_error", - "translation": "Encontramos um erro enquanto procurava uma preferência de recurso de pré lançamento" - }, - { - "id": "store.sql_preference.permanent_delete_by_user.app_error", - "translation": "Encontramos um erro enquanto deletava as preferências" - }, - { - "id": "store.sql_preference.save.commit_transaction.app_error", - "translation": "Não é possível confirmar a transação para salvar as preferências" - }, - { - "id": "store.sql_preference.save.missing_driver.app_error", - "translation": "Encontramos um erro enquanto atualizava as preferências" - }, - { - "id": "store.sql_preference.save.open_transaction.app_error", - "translation": "Não foi possível abrir a transação para salvar as preferências" - }, - { - "id": "store.sql_preference.save.rollback_transaction.app_error", - "translation": "Não é possível anular a transação para salvar as preferências" - }, - { - "id": "store.sql_preference.save.updating.app_error", - "translation": "Encontramos um erro enquanto atualizava as preferências" - }, - { - "id": "store.sql_preference.update.app_error", - "translation": "Não foi possível atualizar a preferência" - }, - { - "id": "store.sql_session.analytics_session_count.app_error", - "translation": "Não foi possível contar a sessão" - }, - { - "id": "store.sql_session.cleanup_expired_sessions.app_error", - "translation": "Encontramos um erro enquanto deletava a sessão expirada do usuário" - }, - { - "id": "store.sql_session.get.app_error", - "translation": "Encontramos um erro ao procurar a sessão" - }, - { - "id": "store.sql_session.get_sessions.app_error", - "translation": "Encontramos um erro enquanto procurava a sessão do usuário" - }, - { - "id": "store.sql_session.get_sessions.error", - "translation": "Falhou ao limpar as sessões em getSessions err=%v" - }, - { - "id": "store.sql_session.permanent_delete_sessions_by_user.app_error", - "translation": "Não foi possível remover todas as sessões para o usuário" - }, - { - "id": "store.sql_session.remove.app_error", - "translation": "Não foi possível remover a sessão" - }, - { - "id": "store.sql_session.remove_all_sessions_for_team.app_error", - "translation": "Não foi possível remover todas as sessões" - }, - { - "id": "store.sql_session.save.app_error", - "translation": "Não foi possível salvar a sessão" - }, - { - "id": "store.sql_session.save.cleanup.error", - "translation": "Falhou ao limpar as sessões em Segurança err=%v" - }, - { - "id": "store.sql_session.save.existing.app_error", - "translation": "Não foi possível atualizar a sessão" - }, - { - "id": "store.sql_session.update_device_id.app_error", - "translation": "Não foi possível atualizar o id do dispositivo" - }, - { - "id": "store.sql_session.update_last_activity.app_error", - "translation": "Nós foi possível atualizar o last_ping_at" - }, - { - "id": "store.sql_session.update_roles.app_error", - "translation": "Não foi possível atualizar as funções" - }, - { - "id": "store.sql_system.get.app_error", - "translation": "Encontramos um erro ao procurar as propriedades de sistema" - }, - { - "id": "store.sql_system.get_by_name.app_error", - "translation": "Não foi possível encontrar a variável do sistema." - }, - { - "id": "store.sql_system.save.app_error", - "translation": "Encontramos um erro ao salvar as propriedades do sistema" - }, - { - "id": "store.sql_system.update.app_error", - "translation": "Encontramos um erro ao atualizar as propriedades de sistema" - }, - { - "id": "store.sql_team.analytics_team_count.app_error", - "translation": "Não foi possível contar as equipes" - }, - { - "id": "store.sql_team.get.find.app_error", - "translation": "Não foi possível encontrar a equipe existente" - }, - { - "id": "store.sql_team.get.finding.app_error", - "translation": "Encontramos um erro ao procurar a equipe" - }, - { - "id": "store.sql_team.get_all.app_error", - "translation": "Não foi possível obter todas as equipes" - }, - { - "id": "store.sql_team.get_all_team_listing.app_error", - "translation": "Não foi possível obter todas as equipes" - }, - { - "id": "store.sql_team.get_by_invite_id.find.app_error", - "translation": "Não foi possível encontrar a equipe existente" - }, - { - "id": "store.sql_team.get_by_invite_id.finding.app_error", - "translation": "Não foi possível encontrar a equipe existente" - }, - { - "id": "store.sql_team.get_by_name.app_error", - "translation": "Não foi possível encontrar a equipe existente" - }, - { - "id": "store.sql_team.get_member.app_error", - "translation": "Não foi possível obter os membros da equipe" - }, - { - "id": "store.sql_team.get_members.app_error", - "translation": "Não foi possível obter os membros da equipe" - }, - { - "id": "store.sql_team.get_teams_for_email.app_error", - "translation": "Encontramos um erro quando observava as equipes" - }, - { - "id": "store.sql_team.permanent_delete.app_error", - "translation": "Não foi possível deletar a equipe existente" - }, - { - "id": "store.sql_team.remove_member.app_error", - "translation": "Não foi possível remover o membro da equipe" - }, - { - "id": "store.sql_team.save.app_error", - "translation": "Não foi possível salvar a equipe" - }, - { - "id": "store.sql_team.save.domain_exists.app_error", - "translation": "Uma equipe com este domínio já existe" - }, - { - "id": "store.sql_team.save.existing.app_error", - "translation": "Deve chamar atualização para equipe existente" - }, - { - "id": "store.sql_team.save_member.exists.app_error", - "translation": "Um membro do canal com este id já existe" - }, - { - "id": "store.sql_team.save_member.save.app_error", - "translation": "Não foi possível salvar o membro da equipe" - }, - { - "id": "store.sql_team.update.app_error", - "translation": "Não foi possível atualizar a equipe" - }, - { - "id": "store.sql_team.update.find.app_error", - "translation": "Não foi possível encontrar a equipe existente" - }, - { - "id": "store.sql_team.update.finding.app_error", - "translation": "Encontramos um erro ao procurar a equipe" - }, - { - "id": "store.sql_team.update.updating.app_error", - "translation": "Encontramos um erro ao atualizar a equipe" - }, - { - "id": "store.sql_team.update_display_name.app_error", - "translation": "Não foi possível atualizar o nome da equipe" - }, - { - "id": "store.sql_user.analytics_unique_user_count.app_error", - "translation": "Não foi possível obter o número de usuários únicos" - }, - { - "id": "store.sql_user.get.app_error", - "translation": "Encontramos um erro ao procurar a conta" - }, - { - "id": "store.sql_user.get_by_auth.missing_account.app_error", - "translation": "Não foi possível encontrar uma conta correspondente ao seu tipo de autenticação para esta equipe. Esta equipe pode exigir um convite do dono da equipe para participar." - }, - { - "id": "store.sql_user.get_by_auth.other.app_error", - "translation": "Foi encontrado um erro ao tentar encontrar a conta pelo tipo de autenticação." - }, - { - "id": "store.sql_user.get_by_username.app_error", - "translation": "Não foi possível encontrar uma conta correspondente ao seu usuário para esta equipe. Esta equipe pode exigir um convite do dono da equipe para participar." - }, - { - "id": "store.sql_user.get_for_export.app_error", - "translation": "Encontramos um erro enquanto procurava o perfil do usuário" - }, - { - "id": "store.sql_user.get_for_login.app_error", - "translation": "Não foi possível encontrar uma conta correspondente a suas credenciais. Esta equipe pode exigir um convite do dono da equipe para participar." - }, - { - "id": "store.sql_user.get_for_login.multiple_users", - "translation": "Encontramos vários usuários correspondentes as suas credenciais e não conseguimos fazer seu login. Por favor, entre em contato com um administrador." - }, - { - "id": "store.sql_user.get_profiles.app_error", - "translation": "Encontramos um erro enquanto procurava os perfis de usuários" - }, - { - "id": "store.sql_user.get_sysadmin_profiles.app_error", - "translation": "Encontramos um erro enquanto procurava os perfis de usuários" - }, - { - "id": "store.sql_user.get_total_active_users_count.app_error", - "translation": "Não foi possível contar os usuários" - }, - { - "id": "store.sql_user.get_total_users_count.app_error", - "translation": "Não foi possível contar os usuários" - }, - { - "id": "store.sql_user.get_unread_count.app_error", - "translation": "Não foi possível obter o número de mensagens não lidas para o usuário" - }, - { - "id": "store.sql_user.missing_account.const", - "translation": "Não foi possível encontrar uma conta correspondente ao seu endereço de email para esta equipe. Esta equipe pode exigir um convite do dono da equipe para participar." - }, - { - "id": "store.sql_user.permanent_delete.app_error", - "translation": "Não foi possível deletar a equipe existente" - }, - { - "id": "store.sql_user.save.app_error", - "translation": "Não foi possível salvar a conta." - }, - { - "id": "store.sql_user.save.email_exists.app_error", - "translation": "Uma conta com este email já existe." - }, - { - "id": "store.sql_user.save.email_exists.ldap_app_error", - "translation": "Está conta não usa autenticação LDAP. Por favor faça login usando email e senha." - }, - { - "id": "store.sql_user.save.existing.app_error", - "translation": "Deve chamar update para o usuário existente" - }, - { - "id": "store.sql_user.save.max_accounts.app_error", - "translation": "Esta equipe alcançou o número máximo de contas permitidas. Contate o seu administrador de sistema para ajustar um limite maior." - }, - { - "id": "store.sql_user.save.member_count.app_error", - "translation": "Falha ao obter a atual contagem de membros da equipe" - }, - { - "id": "store.sql_user.save.username_exists.app_error", - "translation": "Uma conta com este nome de usuário já existe." - }, - { - "id": "store.sql_user.save.username_exists.ldap_app_error", - "translation": "Uma conta com este nome de usuário já existe. Por favor contate seu Administrador." - }, - { - "id": "store.sql_user.update.app_error", - "translation": "Não foi possível atualizar a conta" - }, - { - "id": "store.sql_user.update.can_not_change_ldap.app_error", - "translation": "Não é possível alterar os campos definidos pelo LDAP" - }, - { - "id": "store.sql_user.update.email_taken.app_error", - "translation": "Este email já foi utilizado. Por favor escolha outro." - }, - { - "id": "store.sql_user.update.find.app_error", - "translation": "Não foi possível encontrar a conta para atualizar" - }, - { - "id": "store.sql_user.update.finding.app_error", - "translation": "Encontramos um erro ao procurar a conta" - }, - { - "id": "store.sql_user.update.updating.app_error", - "translation": "Encontramos um erro ao atualizar a conta" - }, - { - "id": "store.sql_user.update.username_taken.app_error", - "translation": "Este nome de usuário já está em uso. Por favor, escolha outro." - }, - { - "id": "store.sql_user.update_auth_data.app_error", - "translation": "Não foi possível atualizar os dados de autenticação" - }, - { - "id": "store.sql_user.update_failed_pwd_attempts.app_error", - "translation": "Não foi possível atualizar o failed_attempts" - }, - { - "id": "store.sql_user.update_last_activity.app_error", - "translation": "Nós foi possível atualizar o last_activity_at" - }, - { - "id": "store.sql_user.update_last_picture_update.app_error", - "translation": "Não foi possível atualizar update_at" - }, - { - "id": "store.sql_user.update_last_ping.app_error", - "translation": "Nós foi possível atualizar o last_ping_at" - }, - { - "id": "store.sql_user.update_mfa_active.app_error", - "translation": "Encontramos um erro ao atualizar o status ativo MFA do usuário" - }, - { - "id": "store.sql_user.update_mfa_secret.app_error", - "translation": "Foi encontrado um erro ao atualizar o segredo MFA do usuário" - }, - { - "id": "store.sql_user.update_password.app_error", - "translation": "Não foi possível atualizar a senha do usuário" - }, - { - "id": "store.sql_user.verify_email.app_error", - "translation": "Não foi possível verificar o campo email" - }, - { - "id": "store.sql_webhooks.analytics_incoming_count.app_error", - "translation": "Não foi possível contar os webhooks entrada" - }, - { - "id": "store.sql_webhooks.analytics_outgoing_count.app_error", - "translation": "Não foi possível contar os webhooks saída" - }, - { - "id": "store.sql_webhooks.delete_incoming.app_error", - "translation": "Não foi possível deletar o webhook" - }, - { - "id": "store.sql_webhooks.delete_outgoing.app_error", - "translation": "Não foi possível deletar o webhook" - }, - { - "id": "store.sql_webhooks.get_incoming.app_error", - "translation": "Não conseguimos obter o webhook" - }, - { - "id": "store.sql_webhooks.get_incoming_by_channel.app_error", - "translation": "Não foi possível obter os webhooks" - }, - { - "id": "store.sql_webhooks.get_incoming_by_user.app_error", - "translation": "Não conseguimos obter o webhook" - }, - { - "id": "store.sql_webhooks.get_outgoing.app_error", - "translation": "Não conseguimos obter o webhook" - }, - { - "id": "store.sql_webhooks.get_outgoing_by_channel.app_error", - "translation": "Não foi possível obter os webhooks" - }, - { - "id": "store.sql_webhooks.get_outgoing_by_team.app_error", - "translation": "Não foi possível obter os webhooks" - }, - { - "id": "store.sql_webhooks.permanent_delete_incoming_by_user.app_error", - "translation": "Nós não podemos deletar o webhook" - }, - { - "id": "store.sql_webhooks.permanent_delete_outgoing_by_user.app_error", - "translation": "Não foi possível deletar o webhook" - }, - { - "id": "store.sql_webhooks.save_incoming.app_error", - "translation": "Não foi possível salvar o IncomingWebhook" - }, - { - "id": "store.sql_webhooks.save_incoming.existing.app_error", - "translation": "Você não pode sobre escrever um existente Webhook Entrada" - }, - { - "id": "store.sql_webhooks.save_outgoing.app_error", - "translation": "Não foi possível salvar o OutgoingWebhook" - }, - { - "id": "store.sql_webhooks.save_outgoing.override.app_error", - "translation": "Você não pode sobre escrever um existente Webhook de Saída" - }, - { - "id": "store.sql_webhooks.update_outgoing.app_error", - "translation": "Não foi possível atualizar o webhook" - }, - { - "id": "utils.config.load_config.decoding.panic", - "translation": "Erro ao decodificar o arquivo de configuração={{.Filename}}, err={{.Error}}" - }, - { - "id": "utils.config.load_config.getting.panic", - "translation": "Erro ao obter o arquivo de configuração={{.Filename}}, err={{.Error}}" - }, - { - "id": "utils.config.load_config.opening.panic", - "translation": "Erro ao abrir o arquivo de configuração={{.Filename}}, err={{.Error}}" - }, - { - "id": "utils.config.load_config.validating.panic", - "translation": "Erro ao validar o arquivo de configuração={{.Filename}}, err={{.Error}}" - }, - { - "id": "utils.config.save_config.saving.app_error", - "translation": "Um erro ocorreu durante o salvamento do arquivo {{.Filename}}" - }, - { - "id": "utils.i18n.loaded", - "translation": "Carregado o sistema de traduções para '%v' de '%v'" - }, - { - "id": "utils.iru.with_evict", - "translation": "Necessário fornecer um tamanho positivo" - }, - { - "id": "utils.license.load_license.invalid.warn", - "translation": "Nenhuma licença enterprise encontrada" - }, - { - "id": "utils.license.remove_license.unable.error", - "translation": "Não foi possível remover o arquivo de licença, err=%v" - }, - { - "id": "utils.license.validate_license.decode.error", - "translation": "Encontrado um erro ao decodificar a licença, err=%v" - }, - { - "id": "utils.license.validate_license.invalid.error", - "translation": "Assinatura inválida, err=%v" - }, - { - "id": "utils.license.validate_license.not_long.error", - "translation": "Licença assinada não é longa o suficiente" - }, - { - "id": "utils.license.validate_license.signing.error", - "translation": "Encontrado um erro ao assinar a licença, err=%v" - }, - { - "id": "utils.mail.connect_smtp.open.app_error", - "translation": "Falha ao abrir conexão" - }, - { - "id": "utils.mail.connect_smtp.open_tls.app_error", - "translation": "Falha ao abrir a conexão TLS" - }, - { - "id": "utils.mail.new_client.auth.app_error", - "translation": "Falha ao autenticar no servidor de SMTP" - }, - { - "id": "utils.mail.new_client.open.error", - "translation": "Falha ao abrir a conexão SMTP para o servidor %v" - }, - { - "id": "utils.mail.send_mail.close.app_error", - "translation": "Falha ao fechar a conexão com servidor SMTP" - }, - { - "id": "utils.mail.send_mail.from_address.app_error", - "translation": "Falha ao adicionar endereço de remetente de email" - }, - { - "id": "utils.mail.send_mail.msg.app_error", - "translation": "Falha ao escrever a mensagem de email" - }, - { - "id": "utils.mail.send_mail.msg_data.app_error", - "translation": "Falha ao adicionar os dados a mensagem de email" - }, - { - "id": "utils.mail.send_mail.sending.debug", - "translation": "enviando email para %v com assunto '%v'" - }, - { - "id": "utils.mail.send_mail.to_address.app_error", - "translation": "Falha ao adicionar o endereço de email" - }, - { - "id": "utils.mail.test.configured.error", - "translation": "Configurações do servidor SMTP não parecem estar configuradas corretamente err=%v detalhes=%v" - }, - { - "id": "web.admin_console.title", - "translation": "Console Admin" - }, - { - "id": "web.authorize_oauth.disabled.app_error", - "translation": "O administrador do sistema desativou o provedor de serviço OAuth." - }, - { - "id": "web.authorize_oauth.missing.app_error", - "translation": "Faltando uma ou mais de response_type, client_id, or redirect_uri" - }, - { - "id": "web.authorize_oauth.title", - "translation": "Autorizar Aplicação" - }, - { - "id": "web.check_browser_compatibility.app_error", - "translation": "Seu navegador atual não é suportado, por favor atualize para um dos seguintes browsers: Google Chrome 21 ou superior, Internet Explorer 11 ou superior, FireFox 14 ou superior, Safari 9 ou superior" - }, - { - "id": "web.claim_account.team.error", - "translation": "Não foi possível encontrar o nome da equipe=%v, err=%v" - }, - { - "id": "web.claim_account.title", - "translation": "Conta Pedido" - }, - { - "id": "web.claim_account.user.error", - "translation": "Não foi possível encontrar o usuário teamid=%v, email=%v, err=%v" - }, - { - "id": "web.create_dir.error", - "translation": "Falha ao criar o diretório observador %v" - }, - { - "id": "web.dir_fail.error", - "translation": "Falha no diretório observador %v" - }, - { - "id": "web.do_load_channel.error", - "translation": "Erro na obtenção do perfil dos usuários para id=%v forçando o logout" - }, - { - "id": "web.doc.title", - "translation": "Documentação" - }, - { - "id": "web.email_verified.title", - "translation": "Email Verificado" - }, - { - "id": "web.find_team.title", - "translation": "Encontrar Equipe" - }, - { - "id": "web.get_access_token.bad_client_id.app_error", - "translation": "invalid_request: Bad client_id" - }, - { - "id": "web.get_access_token.bad_client_secret.app_error", - "translation": "invalid_request: Faltando client_secret" - }, - { - "id": "web.get_access_token.bad_grant.app_error", - "translation": "invalid_request: Bad grant_type" - }, - { - "id": "web.get_access_token.credentials.app_error", - "translation": "invalid_client: Inválida credenciais de cliente" - }, - { - "id": "web.get_access_token.disabled.app_error", - "translation": "O administrador do sistema desativou o provedor de serviço OAuth." - }, - { - "id": "web.get_access_token.exchanged.app_error", - "translation": "invalid_grant: Código de autorização já trocado por um token de acesso" - }, - { - "id": "web.get_access_token.expired_code.app_error", - "translation": "invalid_grant: Código de autorização inválido ou expirado" - }, - { - "id": "web.get_access_token.internal.app_error", - "translation": "server_error: Encontrado um erro interno no servidor enquanto acessava o banco de dados" - }, - { - "id": "web.get_access_token.internal_saving.app_error", - "translation": "server_error: Encontrado um erro interno no servidor enquanto salvava o token de acesso no banco de dados" - }, - { - "id": "web.get_access_token.internal_session.app_error", - "translation": "server_error: Encontrado um erro interno no servidor enquanto salvava a sessão no banco de dados" - }, - { - "id": "web.get_access_token.internal_user.app_error", - "translation": "server_error: Encontrado um erro interno no servidor enquanto puxava o usuário do banco de dados" - }, - { - "id": "web.get_access_token.missing_code.app_error", - "translation": "invalid_request: Faltando código" - }, - { - "id": "web.get_access_token.redirect_uri.app_error", - "translation": "invalid_request: Fornecido redirect_uri que não corresponde ao código de autorização redirect_uri" - }, - { - "id": "web.get_access_token.revoking.error", - "translation": "Encontrado um erro ao revogar um token de acesso, err=" - }, - { - "id": "web.header.back", - "translation": "Voltar" - }, - { - "id": "web.incoming_webhook.channel.app_error", - "translation": "Não foi possível encontrar o canal" - }, - { - "id": "web.incoming_webhook.disabled.app_error", - "translation": "Webhooks de entrada foram desabilitados pelo administrador do sistema." - }, - { - "id": "web.incoming_webhook.invalid.app_error", - "translation": "Webhook inválido" - }, - { - "id": "web.incoming_webhook.parse.app_error", - "translation": "Não é possível processar os dados de entrada" - }, - { - "id": "web.incoming_webhook.permissions.app_error", - "translation": "Permissões do canal inapropriadas" - }, - { - "id": "web.incoming_webhook.text.app_error", - "translation": "Nenhum texto específicado" - }, - { - "id": "web.incoming_webhook.user.app_error", - "translation": "Não foi possível encontrar o usuário" - }, - { - "id": "web.init.debug", - "translation": "Inicializando web routes" - }, - { - "id": "web.login.error", - "translation": "Não foi possível encontrar o nome da equipe=%v, err=%v" - }, - { - "id": "web.login.login_title", - "translation": "Login" - }, - { - "id": "web.login_with_oauth.invalid_team.app_error", - "translation": "Nome da equipe inválida" - }, - { - "id": "web.parsing_templates.debug", - "translation": "Analisando modelos no %v" - }, - { - "id": "web.parsing_templates.error", - "translation": "Falha ao processar os modelos %v" - }, - { - "id": "web.post_permalink.app_error", - "translation": "Post ID Inválido" - }, - { - "id": "web.reparse_templates.info", - "translation": "Re-análise dos modelos por causa da modificação do arquivo %v" - }, - { - "id": "web.reset_password.expired_link.app_error", - "translation": "O link de redefinição de senha expirou" - }, - { - "id": "web.reset_password.invalid_link.app_error", - "translation": "O link de redefinição não parece ser válido" - }, - { - "id": "web.root.home_title", - "translation": "Início" - }, - { - "id": "web.root.singup_title", - "translation": "Inscrever-se" - }, - { - "id": "web.signup_team_complete.invalid_link.app_error", - "translation": "O link de inscrição não parece ser válido" - }, - { - "id": "web.signup_team_complete.link_expired.app_error", - "translation": "O link de inscrição expirou" - }, - { - "id": "web.signup_team_complete.title", - "translation": "Completar Inscrição na Equipe" - }, - { - "id": "web.signup_team_confirm.title", - "translation": "Inscrição Email Enviado" - }, - { - "id": "web.signup_user_complete.link_expired.app_error", - "translation": "O link de inscrição expirou" - }, - { - "id": "web.signup_user_complete.link_invalid.app_error", - "translation": "O link de inscrição não parece ser válido" - }, - { - "id": "web.signup_user_complete.no_invites.app_error", - "translation": "O tipo da equipe não permite convites abertos" - }, - { - "id": "web.signup_user_complete.title", - "translation": "Inscrição de Usuário Completa" - }, - { - "id": "web.singup_with_oauth.disabled.app_error", - "translation": "Inscrição de usuário desativada." - }, - { - "id": "web.singup_with_oauth.expired_link.app_error", - "translation": "O link de inscrição expirou" - }, - { - "id": "web.singup_with_oauth.invalid_link.app_error", - "translation": "O link de inscrição não parece ser válido" - }, - { - "id": "web.singup_with_oauth.invalid_team.app_error", - "translation": "Nome da equipe inválida" - }, - { - "id": "web.watcher_fail.error", - "translation": "Falha ao adicionar diretório observador %v" - } -] diff --git a/mattermost.go b/mattermost.go index 9929f5973..bebb55c3b 100644 --- a/mattermost.go +++ b/mattermost.go @@ -79,7 +79,6 @@ func main() { parseCmds() - utils.InitTranslations() if errstr := doLoadConfig(flagConfigFile); errstr != "" { l4g.Exit(utils.T("mattermost.unable_to_load_config"), errstr) return @@ -88,6 +87,7 @@ func main() { if flagRunCmds { utils.ConfigureCmdLineLog() } + utils.InitTranslations(utils.Cfg.LocalizationSettings) pwd, _ := os.Getwd() l4g.Info(utils.T("mattermost.current_version"), model.CurrentVersion, model.BuildNumber, model.BuildDate, model.BuildHash, model.BuildHashEnterprise) diff --git a/model/config.go b/model/config.go index 674a352f0..08b00b90f 100644 --- a/model/config.go +++ b/model/config.go @@ -204,20 +204,27 @@ type ComplianceSettings struct { EnableDaily *bool } +type LocalizationSettings struct { + DefaultServerLocale *string + DefaultClientLocale *string + AvailableLocales *string +} + type Config struct { - ServiceSettings ServiceSettings - TeamSettings TeamSettings - SqlSettings SqlSettings - LogSettings LogSettings - FileSettings FileSettings - EmailSettings EmailSettings - RateLimitSettings RateLimitSettings - PrivacySettings PrivacySettings - SupportSettings SupportSettings - GitLabSettings SSOSettings - GoogleSettings SSOSettings - LdapSettings LdapSettings - ComplianceSettings ComplianceSettings + ServiceSettings ServiceSettings + TeamSettings TeamSettings + SqlSettings SqlSettings + LogSettings LogSettings + FileSettings FileSettings + EmailSettings EmailSettings + RateLimitSettings RateLimitSettings + PrivacySettings PrivacySettings + SupportSettings SupportSettings + GitLabSettings SSOSettings + GoogleSettings SSOSettings + LdapSettings LdapSettings + ComplianceSettings ComplianceSettings + LocalizationSettings LocalizationSettings } func (o *Config) ToJson() string { @@ -513,6 +520,21 @@ func (o *Config) SetDefaults() { o.LdapSettings.NicknameAttribute = new(string) *o.LdapSettings.NicknameAttribute = "" } + + if o.LocalizationSettings.DefaultServerLocale == nil { + o.LocalizationSettings.DefaultServerLocale = new(string) + *o.LocalizationSettings.DefaultServerLocale = DEFAULT_LOCALE + } + + if o.LocalizationSettings.DefaultClientLocale == nil { + o.LocalizationSettings.DefaultClientLocale = new(string) + *o.LocalizationSettings.DefaultClientLocale = DEFAULT_LOCALE + } + + if o.LocalizationSettings.AvailableLocales == nil { + o.LocalizationSettings.AvailableLocales = new(string) + *o.LocalizationSettings.AvailableLocales = *o.LocalizationSettings.DefaultClientLocale + } } func (o *Config) IsValid() *AppError { diff --git a/model/user.go b/model/user.go index b7717c4ff..ab076894a 100644 --- a/model/user.go +++ b/model/user.go @@ -136,7 +136,6 @@ func (u *User) PreSave() { u.Username = strings.ToLower(u.Username) u.Email = strings.ToLower(u.Email) - u.Locale = strings.ToLower(u.Locale) u.CreateAt = GetMillis() u.UpdateAt = u.CreateAt @@ -166,7 +165,6 @@ func (u *User) PreSave() { func (u *User) PreUpdate() { u.Username = strings.ToLower(u.Username) u.Email = strings.ToLower(u.Email) - u.Locale = strings.ToLower(u.Locale) u.UpdateAt = GetMillis() if u.AuthData != nil && *u.AuthData == "" { diff --git a/store/sql_store_test.go b/store/sql_store_test.go index 474a68ac7..19ae2caae 100644 --- a/store/sql_store_test.go +++ b/store/sql_store_test.go @@ -16,7 +16,7 @@ var store Store func Setup() { if store == nil { utils.LoadConfig("config.json") - utils.InitTranslations() + utils.InitTranslations(utils.Cfg.LocalizationSettings) store = NewSqlStore() store.MarkSystemRanUnitTests() diff --git a/utils/config.go b/utils/config.go index 313b4e29c..a3969fc40 100644 --- a/utils/config.go +++ b/utils/config.go @@ -246,7 +246,8 @@ func getClientConfig(c *model.Config) map[string]string { props["WebsocketPort"] = fmt.Sprintf("%v", *c.ServiceSettings.WebsocketPort) props["WebsocketSecurePort"] = fmt.Sprintf("%v", *c.ServiceSettings.WebsocketSecurePort) - props["AllowCorsFrom"] = *c.ServiceSettings.AllowCorsFrom + props["DefaultClientLocale"] = *c.LocalizationSettings.DefaultClientLocale + props["AvailableLocales"] = *c.LocalizationSettings.AvailableLocales if IsLicensed { if *License.Features.CustomBrand { diff --git a/utils/config_test.go b/utils/config_test.go index 6f36b30c3..96ef49696 100644 --- a/utils/config_test.go +++ b/utils/config_test.go @@ -9,5 +9,5 @@ import ( func TestConfig(t *testing.T) { LoadConfig("config.json") - InitTranslations() + InitTranslations(Cfg.LocalizationSettings) } diff --git a/utils/i18n.go b/utils/i18n.go index 2503cd500..b3e10a831 100644 --- a/utils/i18n.go +++ b/utils/i18n.go @@ -7,15 +7,16 @@ import ( "strings" l4g "github.com/alecthomas/log4go" - "github.com/cloudfoundry/jibber_jabber" "github.com/mattermost/platform/model" "github.com/nicksnyder/go-i18n/i18n" ) var T i18n.TranslateFunc var locales map[string]string = make(map[string]string) +var settings model.LocalizationSettings -func InitTranslations() { +func InitTranslations(localizationSettings model.LocalizationSettings) { + settings = localizationSettings InitTranslationsWithDir("i18n") } @@ -34,14 +35,10 @@ func InitTranslationsWithDir(dir string) { } func GetTranslationsBySystemLocale() i18n.TranslateFunc { - locale := model.DEFAULT_LOCALE - if userLanguage, err := jibber_jabber.DetectLanguage(); err == nil { - if _, ok := locales[userLanguage]; ok { - locale = userLanguage - } else { - l4g.Error("Failed to load system translations for '%v' attempting to fall back to '%v'", locale, model.DEFAULT_LOCALE) - locale = model.DEFAULT_LOCALE - } + locale := *settings.DefaultServerLocale + if _, ok := locales[locale]; !ok { + l4g.Error("Failed to load system translations for '%v' attempting to fall back to '%v'", locale, model.DEFAULT_LOCALE) + locale = model.DEFAULT_LOCALE } if locales[locale] == "" { @@ -72,10 +69,20 @@ func SetTranslations(locale string) i18n.TranslateFunc { } func GetTranslationsAndLocale(w http.ResponseWriter, r *http.Request) (i18n.TranslateFunc, string) { + // This is for checking against locales like pt_BR or zn_CN + headerLocaleFull := strings.Split(r.Header.Get("Accept-Language"), ",")[0] + // This is for checking agains locales like en, es headerLocale := strings.Split(strings.Split(r.Header.Get("Accept-Language"), ",")[0], "-")[0] - if locales[headerLocale] != "" { + defaultLocale := *settings.DefaultClientLocale + if locales[headerLocaleFull] != "" { + translations := TfuncWithFallback(headerLocaleFull) + return translations, headerLocaleFull + } else if locales[headerLocale] != "" { translations := TfuncWithFallback(headerLocale) return translations, headerLocale + } else if locales[defaultLocale] != "" { + translations := TfuncWithFallback(defaultLocale) + return translations, headerLocale } translations := TfuncWithFallback(model.DEFAULT_LOCALE) @@ -89,7 +96,7 @@ func TfuncWithFallback(pref string) i18n.TranslateFunc { return translated } - t, _ := i18n.Tfunc("en") + t, _ := i18n.Tfunc(model.DEFAULT_LOCALE) return t(translationID, args...) } } diff --git a/vendor/github.com/cloudfoundry/jibber_jabber/.travis.yml b/vendor/github.com/cloudfoundry/jibber_jabber/.travis.yml deleted file mode 100644 index b19c2e535..000000000 --- a/vendor/github.com/cloudfoundry/jibber_jabber/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -language: go -go: - - 1.2 -before_install: -- go get github.com/onsi/ginkgo/... -- go get github.com/onsi/gomega/... -- go install github.com/onsi/ginkgo/ginkgo -script: PATH=$PATH:$HOME/gopath/bin ginkgo -r . -branches: - only: - - master diff --git a/vendor/github.com/cloudfoundry/jibber_jabber/LICENSE b/vendor/github.com/cloudfoundry/jibber_jabber/LICENSE deleted file mode 100644 index 915b20892..000000000 --- a/vendor/github.com/cloudfoundry/jibber_jabber/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright 2014 Pivotal - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/github.com/cloudfoundry/jibber_jabber/README.md b/vendor/github.com/cloudfoundry/jibber_jabber/README.md deleted file mode 100644 index d696eb6b6..000000000 --- a/vendor/github.com/cloudfoundry/jibber_jabber/README.md +++ /dev/null @@ -1,44 +0,0 @@ -# Jibber Jabber [![Build Status](https://travis-ci.org/cloudfoundry/jibber_jabber.svg?branch=master)](https://travis-ci.org/cloudfoundry/jibber_jabber) -Jibber Jabber is a GoLang Library that can be used to detect an operating system's current language. - -### OS Support - -OSX and Linux via the `LC_ALL` and `LANG` environment variables. These are standard variables that are used in ALL versions of UNIX for language detection. - -Windows via [GetUserDefaultLocaleName](http://msdn.microsoft.com/en-us/library/windows/desktop/dd318136.aspx) and [GetSystemDefaultLocaleName](http://msdn.microsoft.com/en-us/library/windows/desktop/dd318122.aspx) system calls. These calls are supported in Windows Vista and up. - -# Usage -Add the following line to your go `import`: - -``` - "github.com/cloudfoundry/jibber_jabber" -``` - -### DetectIETF -`DetectIETF` will return the current locale as a string. The format of the locale will be the [ISO 639](http://en.wikipedia.org/wiki/ISO_639) two-letter language code, a DASH, then an [ISO 3166](http://en.wikipedia.org/wiki/ISO_3166-1) two-letter country code. - -``` - userLocale, err := jibber_jabber.DetectIETF() - println("Locale:", userLocale) -``` - -### DetectLanguage -`DetectLanguage` will return the current languge as a string. The format will be the [ISO 639](http://en.wikipedia.org/wiki/ISO_639) two-letter language code. - -``` - userLanguage, err := jibber_jabber.DetectLanguage() - println("Language:", userLanguage) -``` - -### DetectTerritory -`DetectTerritory` will return the current locale territory as a string. The format will be the [ISO 3166](http://en.wikipedia.org/wiki/ISO_3166-1) two-letter country code. - -``` - localeTerritory, err := jibber_jabber.DetectTerritory() - println("Territory:", localeTerritory) -``` - -### Errors -All the Detect commands will return an error if they are unable to read the Locale from the system. - -For Windows, additional error information is provided due to the nature of the system call being used. diff --git a/vendor/github.com/cloudfoundry/jibber_jabber/ci/scripts/windows-64-test.bat b/vendor/github.com/cloudfoundry/jibber_jabber/ci/scripts/windows-64-test.bat deleted file mode 100755 index b9a87bf7a..000000000 --- a/vendor/github.com/cloudfoundry/jibber_jabber/ci/scripts/windows-64-test.bat +++ /dev/null @@ -1,5 +0,0 @@ -git fetch -git checkout %GIT_COMMIT% - -SET GOPATH=%CD%\Godeps\_workspace;c:\Users\Administrator\go -c:\Go\bin\go test -v . diff --git a/vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber.go b/vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber.go deleted file mode 100644 index 45d288ea8..000000000 --- a/vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber.go +++ /dev/null @@ -1,22 +0,0 @@ -package jibber_jabber - -import ( - "strings" -) - -const ( - COULD_NOT_DETECT_PACKAGE_ERROR_MESSAGE = "Could not detect Language" -) - -func splitLocale(locale string) (string, string) { - formattedLocale := strings.Split(locale, ".")[0] - formattedLocale = strings.Replace(formattedLocale, "-", "_", -1) - - pieces := strings.Split(formattedLocale, "_") - language := pieces[0] - territory := "" - if len(pieces) > 1 { - territory = strings.Split(formattedLocale, "_")[1] - } - return language, territory -} diff --git a/vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_suite_test.go b/vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_suite_test.go deleted file mode 100644 index 3da19c84b..000000000 --- a/vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_suite_test.go +++ /dev/null @@ -1,13 +0,0 @@ -package jibber_jabber_test - -import ( - . "github.com/onsi/ginkgo" - . "github.com/onsi/gomega" - - "testing" -) - -func TestJibberJabber(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Jibber Jabber Suite") -} diff --git a/vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_unix.go b/vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_unix.go deleted file mode 100644 index 374d76176..000000000 --- a/vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_unix.go +++ /dev/null @@ -1,57 +0,0 @@ -// +build darwin freebsd linux netbsd openbsd - -package jibber_jabber - -import ( - "errors" - "os" - "strings" -) - -func getLangFromEnv() (locale string) { - locale = os.Getenv("LC_ALL") - if locale == "" { - locale = os.Getenv("LANG") - } - return -} - -func getUnixLocale() (unix_locale string, err error) { - unix_locale = getLangFromEnv() - if unix_locale == "" { - err = errors.New(COULD_NOT_DETECT_PACKAGE_ERROR_MESSAGE) - } - - return -} - -func DetectIETF() (locale string, err error) { - unix_locale, err := getUnixLocale() - if err == nil { - language, territory := splitLocale(unix_locale) - locale = language - if territory != "" { - locale = strings.Join([]string{language, territory}, "-") - } - } - - return -} - -func DetectLanguage() (language string, err error) { - unix_locale, err := getUnixLocale() - if err == nil { - language, _ = splitLocale(unix_locale) - } - - return -} - -func DetectTerritory() (territory string, err error) { - unix_locale, err := getUnixLocale() - if err == nil { - _, territory = splitLocale(unix_locale) - } - - return -} diff --git a/vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_unix_test.go b/vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_unix_test.go deleted file mode 100644 index a5e3074a2..000000000 --- a/vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_unix_test.go +++ /dev/null @@ -1,104 +0,0 @@ -// +build darwin freebsd linux netbsd openbsd - -package jibber_jabber_test - -import ( - "os" - - . "github.com/cloudfoundry/jibber_jabber" - - . "github.com/onsi/ginkgo" - . "github.com/onsi/gomega" -) - -var _ = Describe("Unix", func() { - AfterEach(func() { - os.Setenv("LC_ALL", "") - os.Setenv("LANG", "en_US.UTF-8") - }) - - Describe("#DetectIETF", func() { - Context("Returns IETF encoded locale", func() { - It("should return the locale set to LC_ALL", func() { - os.Setenv("LC_ALL", "fr_FR.UTF-8") - result, _ := DetectIETF() - Ω(result).Should(Equal("fr-FR")) - }) - - It("should return the locale set to LANG if LC_ALL isn't set", func() { - os.Setenv("LANG", "fr_FR.UTF-8") - - result, _ := DetectIETF() - Ω(result).Should(Equal("fr-FR")) - }) - - It("should return an error if it cannot detect a locale", func() { - os.Setenv("LANG", "") - - _, err := DetectIETF() - Ω(err.Error()).Should(Equal(COULD_NOT_DETECT_PACKAGE_ERROR_MESSAGE)) - }) - }) - - Context("when the locale is simply 'fr'", func() { - BeforeEach(func() { - os.Setenv("LANG", "fr") - }) - - It("should return the locale without a territory", func() { - language, err := DetectIETF() - Ω(err).ShouldNot(HaveOccurred()) - Ω(language).Should(Equal("fr")) - }) - }) - }) - - Describe("#DetectLanguage", func() { - Context("Returns encoded language", func() { - It("should return the language set to LC_ALL", func() { - os.Setenv("LC_ALL", "fr_FR.UTF-8") - result, _ := DetectLanguage() - Ω(result).Should(Equal("fr")) - }) - - It("should return the language set to LANG if LC_ALL isn't set", func() { - os.Setenv("LANG", "fr_FR.UTF-8") - - result, _ := DetectLanguage() - Ω(result).Should(Equal("fr")) - }) - - It("should return an error if it cannot detect a language", func() { - os.Setenv("LANG", "") - - _, err := DetectLanguage() - Ω(err.Error()).Should(Equal(COULD_NOT_DETECT_PACKAGE_ERROR_MESSAGE)) - }) - }) - }) - - Describe("#DetectTerritory", func() { - Context("Returns encoded territory", func() { - It("should return the territory set to LC_ALL", func() { - os.Setenv("LC_ALL", "fr_FR.UTF-8") - result, _ := DetectTerritory() - Ω(result).Should(Equal("FR")) - }) - - It("should return the territory set to LANG if LC_ALL isn't set", func() { - os.Setenv("LANG", "fr_FR.UTF-8") - - result, _ := DetectTerritory() - Ω(result).Should(Equal("FR")) - }) - - It("should return an error if it cannot detect a territory", func() { - os.Setenv("LANG", "") - - _, err := DetectTerritory() - Ω(err.Error()).Should(Equal(COULD_NOT_DETECT_PACKAGE_ERROR_MESSAGE)) - }) - }) - }) - -}) diff --git a/vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_windows.go b/vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_windows.go deleted file mode 100644 index 1acd96c38..000000000 --- a/vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_windows.go +++ /dev/null @@ -1,114 +0,0 @@ -// +build windows - -package jibber_jabber - -import ( - "errors" - "syscall" - "unsafe" -) - -const LOCALE_NAME_MAX_LENGTH uint32 = 85 - -var SUPPORTED_LOCALES = map[uintptr]string{ - 0x0407: "de-DE", - 0x0409: "en-US", - 0x0c0a: "es-ES", //or is it 0x040a - 0x040c: "fr-FR", - 0x0410: "it-IT", - 0x0411: "ja-JA", - 0x0412: "ko_KR", - 0x0416: "pt-BR", - //0x0419: "ru_RU", - Will add support for Russian when nicksnyder/go-i18n supports Russian - 0x0804: "zh-CN", - 0x0c04: "zh-HK", - 0x0404: "zh-TW", -} - -func getWindowsLocaleFrom(sysCall string) (locale string, err error) { - buffer := make([]uint16, LOCALE_NAME_MAX_LENGTH) - - dll := syscall.MustLoadDLL("kernel32") - proc := dll.MustFindProc(sysCall) - r, _, dllError := proc.Call(uintptr(unsafe.Pointer(&buffer[0])), uintptr(LOCALE_NAME_MAX_LENGTH)) - if r == 0 { - err = errors.New(COULD_NOT_DETECT_PACKAGE_ERROR_MESSAGE + ":\n" + dllError.Error()) - return - } - - locale = syscall.UTF16ToString(buffer) - - return -} - -func getAllWindowsLocaleFrom(sysCall string) (string, error) { - dll, err := syscall.LoadDLL("kernel32") - if err != nil { - return "", errors.New("Could not find kernel32 dll") - } - - proc, err := dll.FindProc(sysCall) - if err != nil { - return "", err - } - - locale, _, dllError := proc.Call() - if locale == 0 { - return "", errors.New(COULD_NOT_DETECT_PACKAGE_ERROR_MESSAGE + ":\n" + dllError.Error()) - } - - return SUPPORTED_LOCALES[locale], nil -} - -func getWindowsLocale() (locale string, err error) { - dll, err := syscall.LoadDLL("kernel32") - if err != nil { - return "", errors.New("Could not find kernel32 dll") - } - - proc, err := dll.FindProc("GetVersion") - if err != nil { - return "", err - } - - v, _, _ := proc.Call() - windowsVersion := byte(v) - isVistaOrGreater := (windowsVersion >= 6) - - if isVistaOrGreater { - locale, err = getWindowsLocaleFrom("GetUserDefaultLocaleName") - if err != nil { - locale, err = getWindowsLocaleFrom("GetSystemDefaultLocaleName") - } - } else if !isVistaOrGreater { - locale, err = getAllWindowsLocaleFrom("GetUserDefaultLCID") - if err != nil { - locale, err = getAllWindowsLocaleFrom("GetSystemDefaultLCID") - } - } else { - panic(v) - } - return -} -func DetectIETF() (locale string, err error) { - locale, err = getWindowsLocale() - return -} - -func DetectLanguage() (language string, err error) { - windows_locale, err := getWindowsLocale() - if err == nil { - language, _ = splitLocale(windows_locale) - } - - return -} - -func DetectTerritory() (territory string, err error) { - windows_locale, err := getWindowsLocale() - if err == nil { - _, territory = splitLocale(windows_locale) - } - - return -} diff --git a/vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_windows_test.go b/vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_windows_test.go deleted file mode 100644 index f325d981e..000000000 --- a/vendor/github.com/cloudfoundry/jibber_jabber/jibber_jabber_windows_test.go +++ /dev/null @@ -1,51 +0,0 @@ -// +build windows - -package jibber_jabber_test - -import ( - "regexp" - - . "github.com/cloudfoundry/jibber_jabber" - - . "github.com/onsi/ginkgo" - . "github.com/onsi/gomega" -) - -const ( - LOCALE_REGEXP = "^[a-z]{2}-[A-Z]{2}$" - LANGUAGE_REGEXP = "^[a-z]{2}$" - TERRITORY_REGEXP = "^[A-Z]{2}$" -) - -var _ = Describe("Windows", func() { - BeforeEach(func() { - locale, err := DetectIETF() - Ω(err).Should(BeNil()) - Ω(locale).ShouldNot(BeNil()) - Ω(locale).ShouldNot(Equal("")) - }) - - Describe("#DetectIETF", func() { - It("detects correct IETF locale", func() { - locale, _ := DetectIETF() - matched, _ := regexp.MatchString(LOCALE_REGEXP, locale) - Ω(matched).Should(BeTrue()) - }) - }) - - Describe("#DetectLanguage", func() { - It("detects correct Language", func() { - language, _ := DetectLanguage() - matched, _ := regexp.MatchString(LANGUAGE_REGEXP, language) - Ω(matched).Should(BeTrue()) - }) - }) - - Describe("#DetectTerritory", func() { - It("detects correct Territory", func() { - territory, _ := DetectTerritory() - matched, _ := regexp.MatchString(TERRITORY_REGEXP, territory) - Ω(matched).Should(BeTrue()) - }) - }) -}) diff --git a/web/web_test.go b/web/web_test.go index d4d9a5f26..0a9869e40 100644 --- a/web/web_test.go +++ b/web/web_test.go @@ -21,7 +21,7 @@ var URL string func Setup() { if api.Srv == nil { utils.LoadConfig("config.json") - utils.InitTranslations() + utils.InitTranslations(utils.Cfg.LocalizationSettings) api.NewServer() api.StartServer() api.InitApi() diff --git a/webapp/actions/global_actions.jsx b/webapp/actions/global_actions.jsx index 91b51a9c2..0b264a9b3 100644 --- a/webapp/actions/global_actions.jsx +++ b/webapp/actions/global_actions.jsx @@ -392,8 +392,10 @@ export function newLocalizationSelected(locale) { translations: en }); } else { + const localeInfo = I18n.getLanguageInfo(locale) || I18n.getLanguageInfo(global.window.mm_config.DefaultClientLocale); + Client.getTranslations( - I18n.getLanguageInfo(locale).url, + localeInfo.url, (data, res) => { let translations = data; if (!data && res.text) { @@ -412,16 +414,11 @@ export function newLocalizationSelected(locale) { } } -export function loadBrowserLocale() { - let locale = (navigator.languages && navigator.languages.length > 0 ? navigator.languages[0] : - (navigator.language || navigator.userLanguage)).split('-')[0]; - - const user = UserStore.getCurrentUser(); - if (user) { - locale = user.locale || locale; - } +export function loadDefaultLocale() { + const defaultLocale = global.window.mm_config.DefaultClientLocale; + let locale = global.window.mm_user ? global.window.mm_user.locale || defaultLocale : defaultLocale; - if (!I18n.getLanguages()[locale]) { + if (!I18n.getLanguageInfo(locale)) { locale = 'en'; } return newLocalizationSelected(locale); diff --git a/webapp/components/admin_console/admin_sidebar.jsx b/webapp/components/admin_console/admin_sidebar.jsx index 19a6316b6..d760e3db9 100644 --- a/webapp/components/admin_console/admin_sidebar.jsx +++ b/webapp/components/admin_console/admin_sidebar.jsx @@ -294,6 +294,15 @@ export default class AdminSidebar extends React.Component { /> } /> + + } + /> { + return {value: locales[l].value, text: locales[l].name}; + }) + }); + } + + canSave() { + return this.state.availableLocales.join(',').indexOf(this.state.defaultClientLocale) !== -1; + } + + getConfigFromState(config) { + config.LocalizationSettings.DefaultServerLocale = this.state.defaultServerLocale; + config.LocalizationSettings.DefaultClientLocale = this.state.defaultClientLocale; + config.LocalizationSettings.AvailableLocales = this.state.availableLocales.join(','); + + return config; + } + + renderTitle() { + return ( +

+ +

+ ); + } + + renderSettings() { + return ( + + } + > + + } + value={this.state.defaultServerLocale} + onChange={this.handleChange} + helpText={ + + } + /> + + } + value={this.state.defaultClientLocale} + onChange={this.handleChange} + helpText={ + + } + /> + + } + selected={this.state.availableLocales} + mustBePresent={this.state.defaultClientLocale} + onChange={this.handleChange} + helpText={ + + } + noResultText={ + + } + errorText={ + + } + notPresent={ + + } + /> + + ); + } +} \ No newline at end of file diff --git a/webapp/components/admin_console/multiselect_settings.jsx b/webapp/components/admin_console/multiselect_settings.jsx new file mode 100644 index 000000000..deba983de --- /dev/null +++ b/webapp/components/admin_console/multiselect_settings.jsx @@ -0,0 +1,80 @@ +// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. +import React from 'react'; +import ReactSelect from 'react-select'; + +import Setting from './setting.jsx'; +import FormError from 'components/form_error.jsx'; + +export default class MultiSelectSetting extends React.Component { + constructor(props) { + super(props); + + this.handleChange = this.handleChange.bind(this); + this.state = {error: false}; + } + + handleChange(newValue) { + const values = newValue.map((n) => { + return n.value; + }); + + if (!newValue || newValue.length === 0) { + this.setState({error: this.props.errorText}); + } else if (this.props.mustBePresent && values.join(',').indexOf(this.props.mustBePresent) === -1) { + this.setState({error: this.props.notPresent}); + } else { + this.props.onChange(this.props.id, values); + this.setState({error: false}); + } + } + + componentWillReceiveProps(newProps) { + if (newProps.mustBePresent && newProps.selected.join(',').indexOf(newProps.mustBePresent) === -1) { + this.setState({error: this.props.notPresent}); + } else { + this.setState({error: false}); + } + } + + render() { + return ( + + + + + ); + } +} + +MultiSelectSetting.defaultProps = { + disabled: false +}; + +MultiSelectSetting.propTypes = { + id: React.PropTypes.string.isRequired, + values: React.PropTypes.array.isRequired, + label: React.PropTypes.node.isRequired, + selected: React.PropTypes.array.isRequired, + mustBePresent: React.PropTypes.string, + onChange: React.PropTypes.func.isRequired, + disabled: React.PropTypes.bool, + helpText: React.PropTypes.node, + noResultText: React.PropTypes.node, + errorText: React.PropTypes.node, + notPresent: React.PropTypes.node +}; \ No newline at end of file diff --git a/webapp/components/login/login_controller.jsx b/webapp/components/login/login_controller.jsx index 1b1f65436..c1b7f8a74 100644 --- a/webapp/components/login/login_controller.jsx +++ b/webapp/components/login/login_controller.jsx @@ -118,7 +118,7 @@ export default class LoginController extends React.Component { finishSignin() { GlobalActions.emitInitialLoad( () => { - GlobalActions.loadBrowserLocale(); + GlobalActions.loadDefaultLocale(); browserHistory.push('/select_team'); } ); diff --git a/webapp/components/root.jsx b/webapp/components/root.jsx index c96499392..abaa05bb5 100644 --- a/webapp/components/root.jsx +++ b/webapp/components/root.jsx @@ -6,6 +6,7 @@ import * as GlobalActions from 'actions/global_actions.jsx'; import LocalizationStore from 'stores/localization_store.jsx'; +import Client from 'utils/web_client.jsx'; import {IntlProvider} from 'react-intl'; @@ -41,7 +42,10 @@ export default class Root extends React.Component { FastClick.attach(document.body); } localizationChanged() { - this.setState({locale: LocalizationStore.getLocale(), translations: LocalizationStore.getTranslations()}); + const locale = LocalizationStore.getLocale(); + + Client.setAcceptLanguage(locale); + this.setState({locale, translations: LocalizationStore.getTranslations()}); } redirectIfNecessary(props) { @@ -67,7 +71,7 @@ export default class Root extends React.Component { LocalizationStore.addChangeListener(this.localizationChanged); // Get our localizaiton - GlobalActions.loadBrowserLocale(); + GlobalActions.loadDefaultLocale(); } componentWillUnmount() { LocalizationStore.removeChangeListener(this.localizationChanged); diff --git a/webapp/components/user_settings/user_settings_display.jsx b/webapp/components/user_settings/user_settings_display.jsx index a7015d403..7036d7389 100644 --- a/webapp/components/user_settings/user_settings_display.jsx +++ b/webapp/components/user_settings/user_settings_display.jsx @@ -641,7 +641,11 @@ export default class UserSettingsDisplay extends React.Component { ); } + const userLocale = this.props.user.locale; if (this.props.activeSection === 'languages') { + if (!I18n.isLanguageAvailable(userLocale)) { + this.props.user.locale = global.window.mm_config.DefaultClientLocale; + } languagesSection = ( ); } else { - var locale = I18n.getLanguageInfo(this.props.user.locale).name; + let locale; + if (I18n.isLanguageAvailable(userLocale)) { + locale = I18n.getLanguageInfo(userLocale).name; + } else { + locale = I18n.getLanguageInfo(global.window.mm_config.DefaultClientLocale).name; + } languagesSection = ( { + if (languages[l]) { + availableLanguages[l] = languages[l]; + } + }); +} + +export function getAllLanguages() { return languages; } +export function getLanguages() { + if (!availableLanguages) { + setAvailableLanguages(); + } + return availableLanguages; +} + export function getLanguageInfo(locale) { - return languages[locale]; + if (!availableLanguages) { + setAvailableLanguages(); + } + return availableLanguages[locale]; +} + +export function isLanguageAvailable(locale) { + return !!availableLanguages[locale]; } export function safariFix(callback) { diff --git a/webapp/i18n/pt-BR.json b/webapp/i18n/pt-BR.json new file mode 100644 index 000000000..7a5821e37 --- /dev/null +++ b/webapp/i18n/pt-BR.json @@ -0,0 +1,1424 @@ +{ + "about.close": "Fechar", + "about.copyright": "Copyright 2016 Mattermost, Inc. Todos os direitos reservados", + "about.date": "Data De Criação:", + "about.enterpriseEditionLearn": "Saiba mais sobre Enterprise Edition em ", + "about.enterpriseEditionSt": "Moderna comunicação empresarial atrás do seu firewall.", + "about.enterpriseEditione1": "Enterprise Edition", + "about.hash": "Hash de Compilação:", + "about.hashee": "Hash de Compilação EE:", + "about.licensed": "Licenciado por:", + "about.number": "O Número de Compilação:", + "about.teamEditionLearn": "Junte-se a comunidade Mattermost em ", + "about.teamEditionSt": "Toda comunicação da sua equipe em um só lugar, instantaneamente pesquisável e acessível em qualquer lugar.", + "about.teamEditiont0": "Team Edition", + "about.teamEditiont1": "Enterprise Edition", + "about.title": "Sobre o Mattermost", + "about.version": "Versão:", + "access_history.title": "Histórico de Acesso", + "activity_log.activeSessions": "Sessões ativas", + "activity_log.browser": "Browser: {browser}", + "activity_log.firstTime": "Primeira vez ativo: {date}, {time}", + "activity_log.lastActivity": "Última atividade: {date}, {time}", + "activity_log.logout": "Logout", + "activity_log.moreInfo": "Mais informações", + "activity_log.os": "SO: {os}", + "activity_log.sessionId": "ID da Sessão: {id}", + "activity_log.sessionsDescription": "Sessões são criadas quando você efetuar login em um novo navegador em um dispositivo. Sessões permitem que você use Mattermost sem ter que logar novamente por um período de tempo especificado pelo administrador do sistema. Se você deseja sair mais cedo, use o botão 'Logout' abaixo para terminar uma sessão.", + "activity_log_modal.android": "Android", + "activity_log_modal.androidNativeApp": "App Nativo para Android", + "activity_log_modal.iphoneNativeApp": "App Nativo para iPhone", + "add_command.autocomplete": "Autocompletar", + "add_command.autocomplete.help": " Mostrar este comando na lista de preenchimento automático.", + "add_command.autocompleteDescription": "Autocompletar Descrição: ", + "add_command.autocompleteDescription.help": "Breve descrição opcional do comando slash para a lista de preenchimento automático.", + "add_command.autocompleteDescription.placeholder": "Exemplo: \"Retorna os resultados da pesquisa, prontuário\"", + "add_command.autocompleteHint": "Autocompletar Sugestão", + "add_command.autocompleteHint.help": "Sugestão opcional na lista autocompletada sobre os parâmetros necessários para o comando.", + "add_command.autocompleteHint.placeholder": "Exemplo: [Nome Do Paciente]", + "add_command.description": "Descrição", + "add_command.displayName": "Nome de Exibição", + "add_command.header": "Adicionar", + "add_command.iconUrl": "Ícone de Resposta", + "add_command.iconUrl.help": "Escolha uma imagem do perfil para substituir as respostas dos posts deste comando slash. Digite a URL de um arquivo .png ou .jpg com pelo menos 128 pixels por 128 pixels.", + "add_command.iconUrl.placeholder": "https://www.example.com/myicon.png", + "add_command.method": "Método da Requisição", + "add_command.method.get": "GET", + "add_command.method.help": "O tipo de solicitação do comando emitido para a URL requisitada.", + "add_command.method.post": "POST", + "add_command.trigger": "Comando Palavra Gatilho", + "add_command.trigger.help1": "Exemplos: paciente, cliente, funcionario", + "add_command.trigger.help2": "Reservados: echo, join, logout, me, shrug", + "add_command.trigger.placeholder": "Comando gatilho ex. \"ola\"", + "add_command.triggerInvalidLength": "Uma palavra gatilho precisa conter entre {min} e {max} caracteres", + "add_command.triggerInvalidSlash": "Uma palavra gatilho não pode começar com /", + "add_command.triggerInvalidSpace": "Uma palavra gatilho não pode conter espaços", + "add_command.triggerRequired": "Uma palavra gatilho é necessária", + "add_command.url": "URL da solicitação", + "add_command.url.help": "A URL callback para receber o evento HTTP POST ou GET quando o comando slash for executado.", + "add_command.url.placeholder": "Deve começar com http:// ou https://", + "add_command.urlRequired": "Uma URL de requisição é necessária", + "add_command.username": "Usuário de Resposta", + "add_command.username.help": "Escolha um nome de usuário para substituir as respostas deste comando slash. O nome de usuário deve ter até 22 caracteres contendo letras minúsculas, números e os símbolos \"-\", \"_\", e \".\" .", + "add_command.username.placeholder": "Usuário", + "add_incoming_webhook.cancel": "Cancelar", + "add_incoming_webhook.channel": "Canal", + "add_incoming_webhook.channelRequired": "Um canal válido é necessário", + "add_incoming_webhook.description": "Descrição", + "add_incoming_webhook.header": "Adicionar", + "add_incoming_webhook.name": "Nome", + "add_incoming_webhook.save": "Salvar", + "add_outgoing_webhook.callbackUrls": "URLs Callback (Uma Por Linha)", + "add_outgoing_webhook.callbackUrlsRequired": "Uma ou mais URLs callback são necessárias", + "add_outgoing_webhook.cancel": "Cancelar", + "add_outgoing_webhook.channel": "Canal", + "add_outgoing_webhook.description": "Descrição", + "add_outgoing_webhook.header": "Adicionar", + "add_outgoing_webhook.name": "Nome", + "add_outgoing_webhook.save": "Salvar", + "add_outgoing_webhook.triggerWOrds": "Palavras Gatilho (Uma Por Linha)", + "add_outgoing_webhook.triggerWords": "Palavras Gatilho (Uma Por Linha)", + "add_outgoing_webhook.triggerWordsOrChannelRequired": "Um canal válido ou uma lista de palavras gatilho é necessário", + "admin.audits.reload": "Recarregar", + "admin.audits.title": "Atividade de Usuário", + "admin.banner.heading": "Nota:", + "admin.compliance.directoryDescription": "Diretório o qual os relatórios compliance são gravados. Se estiver em branco, será usado ./data/.", + "admin.compliance.directoryExample": "Ex \"./data/\"", + "admin.compliance.directoryTitle": "Localização do Diretório de Compliance:", + "admin.compliance.enableDailyDesc": "Quando verdadeiro, Mattermost irá gerar um relatório diário de compliance.", + "admin.compliance.enableDailyTitle": "Ativar Relatório Diário:", + "admin.compliance.enableDesc": "Quando verdadeiro, Mattermost permite relatório compliance", + "admin.compliance.enableTitle": "Ativar Compliance:", + "admin.compliance.false": "falso", + "admin.compliance.noLicense": "

Nota:

Compliance é um recurso empresarial. Sua licença atual não suporta Compliance. Clique aqui para informações e preços da licença empresarial.

", + "admin.compliance.save": "Salvar", + "admin.compliance.saving": "Salvando Config...", + "admin.compliance.title": "Configurações Compliance", + "admin.compliance.true": "verdadeiro", + "admin.compliance_reports.desc": "Nome da Tarefa:", + "admin.compliance_reports.desc_placeholder": "Ex: \"Audit 445 for HR\"", + "admin.compliance_reports.emails": "Emails:", + "admin.compliance_reports.emails_placeholder": "Ex: \"bill@example.com, bob@example.com\"", + "admin.compliance_reports.from": "De:", + "admin.compliance_reports.from_placeholder": "Ex: \"2016-03-11\"", + "admin.compliance_reports.keywords": "Palavras-chave:", + "admin.compliance_reports.keywords_placeholder": "Ex: \"diminuir estoque\"", + "admin.compliance_reports.reload": "Recarregar", + "admin.compliance_reports.run": "Executar", + "admin.compliance_reports.title": "Relatórios Compliance", + "admin.compliance_reports.to": "Para:", + "admin.compliance_reports.to_placeholder": "Ex: \"2016-03-15\"", + "admin.compliance_table.desc": "Descrição", + "admin.compliance_table.download": "Download", + "admin.compliance_table.params": "Parâmetros", + "admin.compliance_table.records": "Registros", + "admin.compliance_table.status": "Status", + "admin.compliance_table.timestamp": "Timestamp", + "admin.compliance_table.type": "Tipo", + "admin.compliance_table.userId": "Solicitado Por", + "admin.connectionSecurityNone": "Nenhum", + "admin.connectionSecurityNoneDescription": "Mattermost irá conectar usando uma conexão insegura.", + "admin.connectionSecurityStart": "STARTTLS", + "admin.connectionSecurityStartDescription": "Obtém uma conexão insegura existente e tenta atualizá-la para uma conexão segura usando TLS.", + "admin.connectionSecurityTest": "Testar Conexão", + "admin.connectionSecurityTitle": "Segurança da Conexão:", + "admin.connectionSecurityTls": "TLS", + "admin.connectionSecurityTlsDescription": "Encriptar a comunicação entre Mattermost e o seu servidor.", + "admin.email.agreeHPNS": " Eu entendo e aceito o serviço de notificação push Mattermost HostedTermos do Serviço e Politica de Privacidade.", + "admin.email.allowEmailSignInDescription": "Quando verdadeiro, Mattermost permite aos usuários fazer login usando o e-mail e senha.", + "admin.email.allowEmailSignInTitle": "Permitir Login Com E-mail: ", + "admin.email.allowSignupDescription": "Quando verdadeiro, Mattermost permite a criação de equipe e conta de inscrição através de e-mail e senha. Este valor deve ser falso somente quando você deseja limitar a entrada para o single-sign-on service como OAuth ou LDAP.", + "admin.email.allowSignupTitle": "Permitir Inscrição com E-Mail: ", + "admin.email.allowUsernameSignInDescription": "Quando verdadeiro, Mattermost permite os usuários fazer login usando seu nome de usuário e senha. Esta configuração é normalmente utilizado apenas quando a verificação de e-mail está desativada.", + "admin.email.allowUsernameSignInTitle": "Permitir Login Com Usuário: ", + "admin.email.easHelp": "Leia mais sobre compilar e publicar seu próprio aplicativo móvel em Enterprise App Store.", + "admin.email.emailFail": "Conexão falhou: {error}", + "admin.email.emailSuccess": "Nenhum erro foram relatados durante o envio de um e-mail. Por favor verifique a sua caixa de entrada para se certificar.", + "admin.email.fullPushNotification": "Enviar trecho de mensagem", + "admin.email.genericPushNotification": "Enviar descrição genérica com nomes do usuário e canal", + "admin.email.inviteSaltDescription": "32-caracteres salt adicionados a assinatura de convites por e-mail. Aleatoriamente gerados na instalação. Click \"Re-Gerar\" para criar um novo salt.", + "admin.email.inviteSaltExample": "Ex \"bjlSR4QqkXFBr7TP4oDzlfZmcNuH9Yo\"", + "admin.email.inviteSaltTitle": "Salt Convite:", + "admin.email.mhpns": "Use criptografado, com qualidade de produção conexão HPNS com aplicativos Android e iOS", + "admin.email.mhpnsHelp": "Download Mattermost iOS app no iTunes. Download Mattermost Android app no Google Play. Leia mais sobre HPNS.", + "admin.email.mtpns": "Use apps iOS e Android no iTunes e Google Play com TPMS", + "admin.email.mtpnsHelp": "Download Mattermost iOS app no iTunes. Download Mattermost Android app no Google Play. Leia mais sobre TPNS.", + "admin.email.notificationDisplayDescription": "Mostra o nome da conta de e-mail usada quando a notificação de e-mail é enviado do Mattermost.", + "admin.email.notificationDisplayExample": "Ex: \"Mattermost Notificação\", \"Sistema\", \"Não-Responda\"", + "admin.email.notificationDisplayTitle": "Notificação Nome de Exibição:", + "admin.email.notificationEmailDescription": "Endereço de email mostrado na conta de email quando envia notificações do Mattermost.", + "admin.email.notificationEmailExample": "Ex: \"mattermost@yourcompany.com\", \"admin@yourcompany.com\"", + "admin.email.notificationEmailTitle": "Endereços de e-mail da notificação:", + "admin.email.notificationsDescription": "Normalmente definido como verdadeiro em produção. Quando verdadeiro, Mattermost tenta enviar notificações por e-mail. Os desenvolvedores podem definir este campo como falso para ignorar configuração de e-mail para o desenvolvimento mais rápido.
A definição deste como verdadeiro remove a bandeira modo de visualização (requer sair e entrar novamente após a alteração).", + "admin.email.notificationsTitle": "Enviar Notificações por E-mail: ", + "admin.email.passwordSaltDescription": "32-caracteres de salt adicionado para assinar o redefinição de senha de e-mails. Gerada aleatoriamente na instalação. Clique em \"Re-Gerar\" para criar novos salt.", + "admin.email.passwordSaltExample": "Ex \"bjlSR4QqkXFBr7TP4oDzlfZmcNuH9Yo\"", + "admin.email.passwordSaltTitle": "Salt Reset Senha:", + "admin.email.pushContentDesc": "Selecionar \"Enviar descrição genérica com nomes de usuário e canal\" fornece envio de notificações push com mensagens genéricas, inclui nomes de usuários e canais mas não específica detalhes do texto da mensagem.

Selecionar \"Enviar trecho da mensagem\" envia trechos da mensagem que desencadearam as notificações e pode incluir informações confidenciais enviadas na mensagem. Se o seu serviço de Envio de Notificação Push está fora de um firewall, é ALTAMENTE RECOMENDADO que está opção somente seja usada com o protocolo \"https\" para encriptar a conexão.", + "admin.email.pushContentTitle": "Conteúdo Notificação Push:", + "admin.email.pushDesc": "Normalmente definida como verdadeiro na produção. Quando verdadeiro, Mattermost tenta enviar notificações push no iOS e Android, através do servidor de notificação push.", + "admin.email.pushOff": "Não enviar notificações push", + "admin.email.pushOffHelp": "Por favor veja documentação de notificações push para aprender mais sobre as opções de configurações.", + "admin.email.pushServerDesc": "Localização do serviço de notificação push Mattermost você pode configurar por trás do firewall usando https://github.com/mattermost/push-proxy. Para testar, você pode usar http://push-test.mattermost.com, que liga à amostra do app Mattermost iOS na Apple AppStore pública. Por favor, não use o serviço de teste para implantações de produção.", + "admin.email.pushServerEx": "Ex: \"http://push-test.mattermost.com\"", + "admin.email.pushServerTitle": "Servidor de Notificação Push:", + "admin.email.pushTitle": "Enviar Notificações Push: ", + "admin.email.requireVerificationDescription": "Normalmente definido como verdadeiro em produção. Quando verdadeiro, Mattermost requer a verificação de e-mail após a criação da conta antes de permitir login. Os desenvolvedores podem definir este campo como falso para ignorar o envio de e-mails de verificação para o desenvolvimento mais rápido.", + "admin.email.requireVerificationTitle": "Requer Verificação de E-mail: ", + "admin.email.selfPush": "Manualmente entre a localização do Serviço de Notificação Push", + "admin.email.smtpPasswordDescription": " Obter essa credencial do administrador das configurações do servidor de email.", + "admin.email.smtpPasswordExample": "Ex: \"suasenha\", \"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", + "admin.email.smtpPasswordTitle": "Senha SMTP:", + "admin.email.smtpPortDescription": "Porta do servidor de e-mail SMTP.", + "admin.email.smtpPortExample": "Ex: \"25\", \"465\"", + "admin.email.smtpPortTitle": "Porta SMTP:", + "admin.email.smtpServerDescription": "Localização do servidor de e-mail SMTP.", + "admin.email.smtpServerExample": "Ex: \"smtp.suaempresa.com\", \"email-smtp.us-east-1.amazonaws.com\"", + "admin.email.smtpServerTitle": "Servidor SMTP:", + "admin.email.smtpUsernameDescription": " Obter essa credencial do administrador das configurações do servidor de email.", + "admin.email.smtpUsernameExample": "Ex: \"admin@yourcompany.com\", \"AKIADTOVBGERKLCBV\"", + "admin.email.smtpUsernameTitle": "Usuário SMTP:", + "admin.email.testing": "Testando...", + "admin.false": "falso", + "admin.gitab.clientSecretDescription": "Obter este valor de acordo com as instruções acima para logar no GitLab.", + "admin.gitlab.EnableHtmlDesc": "
  1. Faça login na sua conta do GitLab e vá para Configurações do Perfil -> Aplicativos.
  2. Digite redirecionamento URIs \"/login/gitlab/complete\" (exemplo: http://localhost:8065/login/gitlab/complete) e \"/signup/gitlab/complete\".
  3. Em seguida use os campos \"Secret\" e \"Id\" do Gitlab para completar as opções abaixo.
  4. Complete o Endpoint com as URLs abaixo.
", + "admin.gitlab.authDescription": "Entre https:///oauth/authorize (exemplo https://example.com:3000/oauth/authorize). Tenha certeza de usar HTTP ou HTTPS na sua URL dependendo da configuração do seu servidor.", + "admin.gitlab.authExample": "Ex \"https:///oauth/authorize\"", + "admin.gitlab.authTitle": "Autenticação Endpoint:", + "admin.gitlab.clientIdDescription": "Obter este valor de acordo com as instruções acima para logar no GitLab", + "admin.gitlab.clientIdExample": "Ex \"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", + "admin.gitlab.clientIdTitle": "Id:", + "admin.gitlab.clientSecretExample": "Ex \"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", + "admin.gitlab.clientSecretTitle": "Segredo:", + "admin.gitlab.enableDescription": "Quando verdadeiro, Mattermost permite a criação de equipes e inscrições de conta usando GitLab OAuth.", + "admin.gitlab.enableTitle": "Permitir Inscrição Com GitLab: ", + "admin.gitlab.settingsTitle": "Configurações GitLab", + "admin.gitlab.tokenDescription": "Digite https:///oauth/token. Certifique-se de usar HTTP ou HTTPS na sua URL dependendo da configuração de seu servidor.", + "admin.gitlab.tokenExample": "Ex \"https:///oauth/token\"", + "admin.gitlab.tokenTitle": "Token Endpoint:", + "admin.gitlab.userDescription": "Digite https:///api/v3/user. Certifique-se de usar HTTP ou HTTPS na sua URL dependendo da configuração de seu servidor.", + "admin.gitlab.userExample": "Ex \"https:///api/v3/user\"", + "admin.gitlab.userTitle": "API Usuário Endpoint:", + "admin.image.amazonS3BucketDescription": "Nome selecionado para o seu S3 bucket in AWS.", + "admin.image.amazonS3BucketExample": "Ex \"mattermost-media\"", + "admin.image.amazonS3BucketTitle": "Amazon S3 Bucket:", + "admin.image.amazonS3IdDescription": "Obter essa credencial do seu administrador Amazon EC2.", + "admin.image.amazonS3IdExample": "Ex \"AKIADTOVBGERKLCBV\"", + "admin.image.amazonS3IdTitle": "Amazon S3 Access Key Id:", + "admin.image.amazonS3RegionDescription": "Região AWS selecionada para a criação do seu S3 bucket.", + "admin.image.amazonS3RegionExample": "Ex \"us-east-1\"", + "admin.image.amazonS3RegionTitle": "Amazon S3 Region:", + "admin.image.amazonS3SecretDescription": "Obter essa credencial do seu administrador Amazon EC2.", + "admin.image.amazonS3SecretExample": "Ex \"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", + "admin.image.amazonS3SecretTitle": "Amazon S3 Secret Access Key:", + "admin.image.localDescription": "Diretório o qual os arquivos de imagens são gravados. Se estiver em branco, será usado ./data/.", + "admin.image.localExample": "Ex \"./data/\"", + "admin.image.localTitle": "Localização do Diretório Local:", + "admin.image.previewHeightDescription": "Altura máxima da imagem de pré-visualização (\"0\": Define como tamanho automático). Atualizando este valor muda como as imagens de pré-visualização serão exibidas no futuro, mas não altera as imagens já criadas.", + "admin.image.previewHeightExample": "Ex \"0\"", + "admin.image.previewHeightTitle": "Visualização Altura:", + "admin.image.previewWidthDescription": "Largura máxima da imagem de pré-visualização. Atualizando este valor muda como as imagens de pré-visualização serão mostradas no futuro, mas não altera as imagens já criadas.", + "admin.image.previewWidthExample": "Ex \"1024\"", + "admin.image.previewWidthTitle": "Largura da Visualização:", + "admin.image.profileHeightDescription": "Altura da imagem do perfil.", + "admin.image.profileHeightExample": "Ex \"0\"", + "admin.image.profileHeightTitle": "Altura Perfil:", + "admin.image.profileWidthDescription": "Largura do imagem do perfil.", + "admin.image.profileWidthExample": "Ex \"1024\"", + "admin.image.profileWidthTitle": "Perfil Largura:", + "admin.image.publicLinkDescription": "32-caracteres salt adicionados a assinatura de links de imagens públicas. Aleatoriamente gerados na instalação. Click \"Re-Gerar\" para criar um novo salt.", + "admin.image.publicLinkExample": "Ex \"gxHVDcKUyP2y1eiyW8S8na1UYQAfq6J6\"", + "admin.image.publicLinkTitle": "Link Público Salt:", + "admin.image.shareDescription": "Permitir aos usuários compartilhar links públicos para arquivos e imagens.", + "admin.image.shareTitle": "Compartilhar Link Arquivo: ", + "admin.image.storeAmazonS3": "Amazon S3", + "admin.image.storeLocal": "Sistema de Arquivos Local", + "admin.image.storeTitle": "Armazenar Arquivos Em:", + "admin.image.thumbHeightDescription": "Altura dos thumbnails gerados das imagens enviadas. Atualizando este valor muda como o thumbnail das imagens serão geradas no futuro, mas não muda as imagens já criadas no passado.", + "admin.image.thumbHeightExample": "Ex \"100\"", + "admin.image.thumbHeightTitle": "Altura do Thumbnail:", + "admin.image.thumbWidthDescription": "Largura dos thumbnails gerados das imagens enviadas. Atualizando este valor muda como o thumbnail das imagens serão geradas no futuro, mas não muda as imagens já criadas no passado.", + "admin.image.thumbWidthExample": "Ex \"120\"", + "admin.image.thumbWidthTitle": "Largura do Thumbnail:", + "admin.ldap.bannerDesc": "Se um atributo de usuário de mudar no servidor LDAP, ele será atualizado na próxima vez que o usuário inserir suas credenciais para iniciar sessão no Mattermost. Isso inclui se um usuário estiver inativo ou removido de um servidor LDAP. Sincronização com servidores LDAP está prevista para um lançamento futuro.", + "admin.ldap.baseDesc": "Base DN é o nome distinto do local onde Mattermost deve começar sua busca para os usuários na árvore LDAP.", + "admin.ldap.baseEx": "Ex \"ou=Unit Name,dc=corp,dc=example,dc=com\"", + "admin.ldap.baseTitle": "BaseDN:", + "admin.ldap.bindPwdDesc": "Senha do usuário fornecido em \"Bind Username\".", + "admin.ldap.bindPwdTitle": "Vincular Senha:", + "admin.ldap.bindUserDesc": "O nome de usuário usado para realizar a pesquisa LDAP. Isso deve ser tipicamente uma conta criada especificamente para uso do Mattermost. Deve ter acesso limitado a ler a parte da árvore LDAP especificado no campo BaseDN.", + "admin.ldap.bindUserTitle": "Bind Username:", + "admin.ldap.emailAttrDesc": "O atributo no servidor LDAP que será usado para preencher os endereços de e-mail de usuários no Mattermost.", + "admin.ldap.emailAttrEx": "Ex \"mail\" ou \"userPrincipalName\"", + "admin.ldap.emailAttrTitle": "Atributo de E-mail:", + "admin.ldap.enableDesc": "Quando verdadeiro, Mattermost permite login utilizando LDAP", + "admin.ldap.enableTitle": "Ativar Login With LDAP:", + "admin.ldap.firstnameAttrDesc": "O atributo no servidor LDAP será usado para preencher o primeiro nome dos usuários no Mattermost.", + "admin.ldap.firstnameAttrEx": "Ex \"givenName\"", + "admin.ldap.firstnameAttrTitle": "Primeiro Nome do Atributo", + "admin.ldap.idAttrDesc": "O atributo no servidor LDAP que vai ser utilizado como um identificador único no Mattermost. Ele deve ser um atributo LDAP com um valor que não muda, como nome de usuário ou uid. Se atributo Id do usuário mudar, isto irá criar uma nova conta Mattermost não associada com a sua antiga. Este é o valor utilizado para efetuar login no Mattermost no campo \"Nome de usuário LDAP\" na página de login. Normalmente, este atributo é o mesmo que o campo “Atributo Nome de Usuário” acima. Se sua equipe usa tipicamente de domínio\\\\nome de usuário para fazer login em outros serviços com LDAP, você pode optar por colocar domínio\\\\nome de usuário neste campo para manter a consistência entre sites.", + "admin.ldap.idAttrEx": "Ex \"sAMAccountName\"", + "admin.ldap.idAttrTitle": "Atributo Id: ", + "admin.ldap.lastnameAttrDesc": "O atributo no servidor LDAP será usado para preencher o último nome dos usuários no Mattermost.", + "admin.ldap.lastnameAttrEx": "Ex \"sn\"", + "admin.ldap.lastnameAttrTitle": "Atributo Último Nome:", + "admin.ldap.loginNameDesc": "O texto placeholder que aparece no campo de login na página de login. O padrão é \"Usuário LDAP\".", + "admin.ldap.loginNameEx": "Ex \"Usuário LDAP\"", + "admin.ldap.loginNameTitle": "Nome do Campo Login:", + "admin.ldap.nicknameAttrDesc": "(Opcional) O atributo no servidor LDAP que será usado para preencher o apelido dos usuários no Mattermost.", + "admin.ldap.nicknameAttrEx": "Ex \"nickname\"", + "admin.ldap.nicknameAttrTitle": "Atributo Apelido:", + "admin.ldap.noLicense": "

Nota:

LDAP é um recurso empresarial. Sua licença atual não suporta LDAP. Clique aqui para informações e preços da licença empresarial.

", + "admin.ldap.portDesc": "A porta que o Mattermost irá usar para conectar ao servidor LDAP. Padrão é 389.", + "admin.ldap.portEx": "Ex \"389\"", + "admin.ldap.portTitle": "Porta LDAP:", + "admin.ldap.queryDesc": "O valor de tempo limite para consultas para o servidor LDAP. Aumentar se você está recebendo erros de tempo limite causados por um servidor LDAP lento.", + "admin.ldap.queryEx": "Ex \"60\"", + "admin.ldap.queryTitle": "Tempo limite de Consulta (segundos):", + "admin.ldap.serverDesc": "O domínio ou o endereço IP do servidor LDAP.", + "admin.ldap.serverEx": "Ex \"10.0.0.23\"", + "admin.ldap.serverTitle": "Servidor LDAP:", + "admin.ldap.skipCertificateVerification": "Pular a Verificação do Certificado", + "admin.ldap.skipCertificateVerificationDesc": "Pula a etapa de verificação do certificado para conexões TLS ou STARTTLS. Não recomentado para ambientes de produção onde TLS é necessário. Apenas para teste.", + "admin.ldap.uernameAttrDesc": "O atributo no servidor LDAP que será usado para preencher o campo nome de usuário no Mattermost. Este pode ser o mesmo que o Atributo ID.", + "admin.ldap.userFilterDisc": "Opcionalmente, insira um filtro LDAP para usar ao procurar por objetos de usuário. Somente os usuários selecionados pela consulta serão capazes de acessar o Mattermost. Para o Active Directory, a consulta para filtrar os usuários desativados é (&(objectCategory=Person)(!(UserAccountControl:1.2.840.113556.1.4.803:=2))).", + "admin.ldap.userFilterEx": "Ex. \"(objectClass=user)\"", + "admin.ldap.userFilterTitle": "Filtro de Usuário:", + "admin.ldap.usernameAttrEx": "Ex \"sAMAccountName\"", + "admin.ldap.usernameAttrTitle": "Atributo do Usuário:", + "admin.license.choose": "Escolha o Arquivo", + "admin.license.chooseFile": "Escolha um Arquivo", + "admin.license.edition": "Edição: ", + "admin.license.key": "Chave da Licença: ", + "admin.license.keyRemove": "Remover a Licença Enterprise e fazer Downgrade do Servidor", + "admin.license.noFile": "Nenhum arquivo enviado", + "admin.license.removing": "Removendo a Licença...", + "admin.license.title": "Edição e Licença", + "admin.license.type": "Licença: ", + "admin.license.upload": "Enviar", + "admin.license.uploadDesc": "Enviar uma chave da licença para Mattermost Enterprise Edition para fazer upgrade deste servidor. Visite-nos online para saber mais sobre os beneficios da Enterprise Edition ou para comprar uma chave.", + "admin.license.uploading": "Enviando Licença...", + "admin.log.consoleDescription": "Normalmente definido como falso em produção. Os desenvolvedores podem definir este campo como verdadeiro para mensagens de log de saída no console baseado na opção de nível de console. Se verdadeiro, o servidor escreve mensagens para o fluxo de saída padrão (stdout).", + "admin.log.consoleTitle": "Log Para o Console: ", + "admin.log.fileDescription": "Normalmente definido como verdadeiro em produção. Quando verdadeiro, arquivos de log são gravados no arquivo de log especificado no campo de localização abaixo.", + "admin.log.fileLevelDescription": "Esta configuração determina o nível de detalhe que são gravados no log de eventos no console. ERROR: Saídas somente mensagens de erro. INFO: Saídas de mensagens de erro e informações em torno de inicialização. DEBUG: Impressões de alto detalhe para desenvolvedores que trabalham na depuração de problemas.", + "admin.log.fileLevelTitle": "Nível do Arquivo de Log:", + "admin.log.fileTitle": "Log para o Arquivo: ", + "admin.log.formatDateLong": "Data (2006/01/02)", + "admin.log.formatDateShort": "Data (01/02/06)", + "admin.log.formatDescription": "Formato da mensagem de saída do log. Se branco será ajustador para \"[%D %T] [%L] %M\", onde:", + "admin.log.formatLevel": "Nível (DEBG, INFO, EROR)", + "admin.log.formatMessage": "Mensagem", + "admin.log.formatPlaceholder": "Entre seu formato de arquivo", + "admin.log.formatSource": "Origem", + "admin.log.formatTime": "Hora (15:04:05 MST)", + "admin.log.formatTitle": "Formato do Arquivo:", + "admin.log.levelDescription": "Esta configuração determina o nível de detalhe que são gravados no log de eventos no console. ERROR: Saídas somente mensagens de erro. INFO: Saídas de mensagens de erro e informações em torno de inicialização. DEBUG: Impressões de alto detalhe para desenvolvedores que trabalham na depuração de problemas.", + "admin.log.levelTitle": "Nível de Log Console:", + "admin.log.locationDescription": "Arquivo para o qual os arquivos de log são escritos. Se estiver em branco, será definido para ./logs/mattermost, que grava logs em mattermost.log. Rotação de log está habilitada a cada 10.000 linhas de informações de log gravada para novos arquivos armazenados no mesmo diretório, por exemplo mattermost.2015-09-23.001, mattermost.2015-09-23.002, e assim por diante.", + "admin.log.locationPlaceholder": "Entre a localização do seu arquivo", + "admin.log.locationTitle": "Local do Arquivo:", + "admin.log.logSettings": "Configurações de Log", + "admin.logs.reload": "Recarregar", + "admin.logs.title": "Log do Servidor", + "admin.nav.help": "Ajuda", + "admin.nav.logout": "Sair", + "admin.nav.report": "Relatar um Problema", + "admin.nav.switch": "Seleção de Equipe", + "admin.privacy.showEmailDescription": "Quando falso, esconde endereço de e-mail dos outros usuários na interface do usuário, incluindo donos da equipe e administradores da equipe. Usado quando o sistema está configurado para gerenciar equipes onde alguns usuários optam por manter suas informações de contato privado.", + "admin.privacy.showEmailTitle": "Mostrar Endereços de Email: ", + "admin.privacy.showFullNameDescription": "Quando falso, oculta o nome completo dos usuários dos outros usuários, incluindo donos de equipe e administradores de equipe. Nome de usuário é mostrado no lugar do nome completo.", + "admin.privacy.showFullNameTitle": "Mostrar Nome Completo: ", + "admin.rate.enableLimiterDescription": "Quando verdadeiro, as APIs são estranguladas para as taxas especificadas abaixo.", + "admin.rate.enableLimiterTitle": "Ativar Rate Limiter: ", + "admin.rate.httpHeaderDescription": "Quando preenchido, variam limitação de taxa pelo compo cabeçalho HTTP especificado (ex. quando configurado NGINX ajustado para \"X-Real-IP\", quando configurado AmazonELB ajustado para \"X-Forwarded-For\").", + "admin.rate.httpHeaderExample": "Ex \"X-Real-IP\", \"X-Forwarded-For\"", + "admin.rate.httpHeaderTitle": "Varia Pelo Cabeçalho HTTP:", + "admin.rate.memoryDescription": "Número máximo de sessões de usuários conectados ao sistema conforme determinado nas configurações abaixo \"Varia Por Endereço Remoto\" e \"Varia Pelo Cabeçalho\".", + "admin.rate.memoryExample": "Ex \"10000\"", + "admin.rate.memoryTitle": "Tamanho da Memória de Armazenamento:", + "admin.rate.noteDescription": "Alterando as propriedades nesta seção irá exigir que o servidor seja reiniciado para que tenha efeito.", + "admin.rate.noteTitle": "Nota:", + "admin.rate.queriesDescription": "Estrangula API neste número de solicitações por segundo.", + "admin.rate.queriesExample": "Ex \"10\"", + "admin.rate.queriesTitle": "Número De Consultas Por Segundo:", + "admin.rate.remoteDescription": "Quando verdadeiro, taxa limite de acesso de API por endereço de IP.", + "admin.rate.remoteTitle": "Varia Por Endereço Remoto: ", + "admin.recycle.button": "Reciclar Conexão do Banco de Dados", + "admin.recycle.loading": " Reciclando...", + "admin.recycle.reloadFail": "Reciclagem malsucedida: {error}", + "admin.regenerate": "Re-Gerar", + "admin.reload.button": "Recarregar Configuração do Disco", + "admin.reload.loading": " Carregando...", + "admin.reload.reloadFail": "Recarregamento malsucedido: {error}", + "admin.reset_password.close": "Fechar", + "admin.reset_password.newPassword": "Nova Senha", + "admin.reset_password.select": "Selecionar", + "admin.reset_password.submit": "Por favor, insira pelo menos {chars} caracteres.", + "admin.reset_password.titleReset": "Resetar Senha", + "admin.reset_password.titleSwitch": "Trocar a conta para e-mail/senha", + "admin.select_team.close": "Fechar", + "admin.select_team.select": "Selecionar", + "admin.select_team.selectTeam": "Selecione Equipe", + "admin.service.attemptDescription": "Tentativas de login permitidas antes que do usuário ser bloqueado e necessário redefinir a senha por e-mail.", + "admin.service.attemptExample": "Ex \"10\"", + "admin.service.attemptTitle": "Máxima Tentativas de Login:", + "admin.service.cmdsDesc": "Quando verdadeiro, comandos slash criados por usuários serão permitidos.", + "admin.service.cmdsTitle": "Ativar Comandos Slash: ", + "admin.service.corsDescription": "Ativar requisição de origem HTTP Cross dos domínios especificados (separados por espaço). Usar \"*\" se você quiser permitir CORS de qualquer domínio ou deixe em branco para desativar.", + "admin.service.corsEx": "http://example.com", + "admin.service.corsTitle": "Permitir Requisição Cross-origin de:", + "admin.service.developerDesc": "(Opção dos desenvolvedores) Quando verdadeira, a informação extra em torno dos erros será exibida na UI.", + "admin.service.developerTitle": "Ativar o Modo Desenvolvedor: ", + "admin.service.googleDescription": "Defina esta chave para permitir a incorporação de pré-visualizações de vídeo do YouTube com base em hiperlinks que aparecem nas mensagens ou comentários. Instruções para obter uma chave disponível em https://www.youtube.com/watch?v=Im69kzhpR3I. Deixando o campo em branco desabilita a geração automática de pré-visualizações de vídeo do YouTube a partir de links.", + "admin.service.googleExample": "Ex \"7rAh6iwQCkV4cA1Gsg3fgGOXJAQ43QV\"", + "admin.service.googleTitle": "Chave do Google Developer:", + "admin.service.iconDescription": "Quando verdadeiro, será permitido webhooks e comandos slash mudar o icone com que eles postam. Note, combinado com permitir substituição de usuário, isto pode permitir que o usuário faça ataque phishing.", + "admin.service.iconTitle": "Ativar substituição do Ícone de Webhooks e Comandos Slash: ", + "admin.service.insecureTlsDesc": "Quando verdadeiro, quaisquer pedidos de HTTPS de saída vão aceitar certificados não verificados ou auto-assinados. Por exemplo, webhooks de saída para um servidor com um certificado TLS auto-assinado, usando qualquer domínio, serão permitidos. Note-se que isso faz com que essas conexões sejam suscetíveis a ataques man-in-the-middle.", + "admin.service.insecureTlsTitle": "Ativar Conexões de Saída Inseguras: ", + "admin.service.integrationAdmin": "Ativar Integração para Admin Somente: ", + "admin.service.integrationAdminDesc": "Quando verdadeiro, integrações de usuário somente poderão ser criadas pelos admins.", + "admin.service.listenAddress": "Endereço à Escutar:", + "admin.service.listenDescription": "O endereço para o qual ligar e ouvir. Inserir \":8065\" irá ligar para todas as interfaces, ou você pode escolher um como \"127.0.0.1:8065\". Essa mudança irá exigir uma reinicialização do servidor antes de ter efeito.", + "admin.service.listenExample": "Ex \":8065\"", + "admin.service.mfaDesc": "Quando verdadeiro, vai ser dada a opção do usuário adicionar autenticação multi-fator em sua conta. Eles irão precisar de um smartphone e um app autenticador como o Google Authenticator.", + "admin.service.mfaTitle": "Ativar Autenticação Multi-Fator:", + "admin.service.mobileSessionDays": "Duração da sessão para o dispositivo móvel em Dias:", + "admin.service.mobileSessionDaysDesc": "A sessão móvel irá expirar depois do número de dias especificado e será requerido um usuário para logar novamente.", + "admin.service.outWebhooksDesc": "Quando verdadeiro, webhooks de saída serão permitidos.", + "admin.service.outWebhooksTitle": "Ativar Webhooks Saída: ", + "admin.service.overrideDescription": "Quando verdadeiro, será permitido webhooks e comandos slash mudar o icone com que eles postam. Note, combinado com permitir substituição de usuário, isto pode permitir que o usuário faça ataque phishing.", + "admin.service.overrideTitle": "Ativar Sobrescrever os Nomes de usuário a partir de Webhooks e Comandos Slash: ", + "admin.service.securityDesc": "Quando verdadeiro, os Administradores de Sistema são notificados por e-mail se uma relevante correção de segurança foi anunciado nos últimos 12 horas. Requer o e-mail para ser ativado.", + "admin.service.securityTitle": "Ativar Alertas de Segurança: ", + "admin.service.segmentDescription": "Para usuários usando um serviço SaaS, inscrever-se para uma chave no Segment.com para acompanhar métricas.", + "admin.service.segmentExample": "Ex \"g3fgGOXJAQ43QV7rAh6iwQCkV4cA1Gs\"", + "admin.service.segmentTitle": "Desenvolvedor Segmento Chave:", + "admin.service.sessionCache": "Cache da Sessão em Minutos:", + "admin.service.sessionCacheDesc": "O número de minutos para o cache de uma sessão na memória.", + "admin.service.sessionDaysEx": "Ex \"30\"", + "admin.service.ssoSessionDays": "Duração da Sessão para SSO em Dias:", + "admin.service.ssoSessionDaysDesc": "A sessão SSO irá expirar depois do número de dias especificado e será requerido um usuário para logar novamente.", + "admin.service.testingDescription": "(Opção Desenvolvedor) Quando verdadeiro, comando slash /loadtest está habilitado para carregar contas e testar e dados. Mudar isso exigirá um reinício do servidor antes que tenha efeito.", + "admin.service.testingTitle": "Ativar Teste: ", + "admin.service.webSessionDays": "Duração da Sessão em Dias para Web:", + "admin.service.webSessionDaysDesc": "A sessão web irá expirar depois do número de dias especificado e será requerido um usuário para logar novamente.", + "admin.service.webhooksDescription": "Quando verdadeiro, será permitido webhooks entrada. Para ajudar a combater os ataques de phishing, todos os posts de webhooks serão marcados por uma etiqueta BOT.", + "admin.service.webhooksTitle": "Ativar Webhooks Entrada: ", + "admin.sidebar.addTeamSidebar": "Adicionar equipe do menu lateral", + "admin.sidebar.audits": "Conformidade e Auditoria", + "admin.sidebar.authentication": "Autenticação", + "admin.sidebar.compliance": "Compliance", + "admin.sidebar.configuration": "Configuração", + "admin.sidebar.connections": "Conexões", + "admin.sidebar.customBrand": "Marca Personalizada", + "admin.sidebar.customization": "Customização", + "admin.sidebar.database": "Banco de dados", + "admin.sidebar.developer": "Desenvolvedor", + "admin.sidebar.email": "E-mail", + "admin.sidebar.external": "Serviços Externos", + "admin.sidebar.files": "Arquivos", + "admin.sidebar.general": "Geral", + "admin.sidebar.gitlab": "GitLab", + "admin.sidebar.images": "Imagens", + "admin.sidebar.integrations": "Integrações", + "admin.sidebar.ldap": "LDAP", + "admin.sidebar.license": "Edição e Licença", + "admin.sidebar.logging": "Acessando", + "admin.sidebar.login": "Login", + "admin.sidebar.logs": "Logs", + "admin.sidebar.notifications": "Notificações", + "admin.sidebar.other": "OUTROS", + "admin.sidebar.privacy": "Privacidade", + "admin.sidebar.publicLinks": "Links Públicos", + "admin.sidebar.push": "Notificação Móvel", + "admin.sidebar.rateLimiting": "Rate Limiting", + "admin.sidebar.reports": "RELATÓRIOS DO SITE", + "admin.sidebar.rmTeamSidebar": "Remover equipe do menu lateral", + "admin.sidebar.security": "Segurança", + "admin.sidebar.sessions": "Sessões", + "admin.sidebar.settings": "CONFIGURAÇÕES", + "admin.sidebar.sign_up": "Inscrever", + "admin.sidebar.statistics": "Estátisticas", + "admin.sidebar.storage": "Armazenamento", + "admin.sidebar.support": "Legal e Suporte", + "admin.sidebar.teams": "EQUIPES ({count, number})", + "admin.sidebar.users": "Usuários", + "admin.sidebar.usersAndTeams": "Usuários e Equipes", + "admin.sidebar.view_statistics": "Ver Estatísticas", + "admin.sidebar.webhooks": "Webhooks e Comandos", + "admin.sidebarHeader.systemConsole": "Console do Sistema", + "admin.sql.dataSource": "Fonte de Dados:", + "admin.sql.driverName": "Nome do Driver:", + "admin.sql.keyDescription": "32-caracteres de salt disponível para encriptar e desencriptar campos no banco de dados.", + "admin.sql.keyExample": "Ex \"gxHVDcKUyP2y1eiyW8S8na1UYQAfq6J6\"", + "admin.sql.keyTitle": "At Rest Encrypt Key:", + "admin.sql.maxConnectionsDescription": "Número máximo de conexões ociosas abertas para o banco de dados.", + "admin.sql.maxConnectionsExample": "Ex \"10\"", + "admin.sql.maxConnectionsTitle": "Máximo de Conexões Inativas:", + "admin.sql.maxOpenDescription": "Número máximo de conexões abertas para o banco de dados.", + "admin.sql.maxOpenExample": "Ex \"10\"", + "admin.sql.maxOpenTitle": "Máximo de Conexões Abertas:", + "admin.sql.noteDescription": "Alterando as propriedades nesta seção irá exigir que o servidor seja reiniciado para que tenha efeito.", + "admin.sql.noteTitle": "Nota:", + "admin.sql.replicas": "Replicas Fonte de Dados:", + "admin.sql.traceDescription": "(Modo Desenvolvedor) Quando verdadeiro, execução de instruções SQL será gravado no log.", + "admin.sql.traceTitle": "Rastreamento: ", + "admin.sql.warning": "Aviso: re-gerar este salt pode causar algumas colunas no banco de dados para retornar resultados vazios.", + "admin.support.aboutDesc": "Link para página Sobre para mais informações sobre a implantação do Mattermost, por exemplo a sua finalidade e público dentro de sua organização. Padrão página de informação Mattermost.", + "admin.support.aboutTitle": "Sobre link:", + "admin.support.emailHelp": "Email address displayed on email notifications and during tutorial for end users to ask support questions.", + "admin.support.emailTitle": "E-mail de suporte:", + "admin.support.helpDesc": "Link para documentação de ajuda para o site da equipe no menu principal. Normalmente não é alterado ao menos se sua empresa escolha criar uma documentação customizada.", + "admin.support.helpTitle": "Link de ajuda:", + "admin.support.noteDescription": "Se links para um site externo, URLs devem começar com http:// ou https://.", + "admin.support.noteTitle": "Nota:", + "admin.support.privacyDesc": "Link para Política de Privacidade para os usuários no desktop ou móvel. Deixando este espaço em branco irá esconder a opção de exibir um aviso.", + "admin.support.privacyTitle": "Link da Política de Privacidade:", + "admin.support.problemDesc": "Link para a documentação de ajuda do site no menu principal. Por padrão este aponta para um fórum peer-to-peer de solução de problemas onde os usuários podem pesquisar, encontrar e pedir ajuda com problemas técnicos.", + "admin.support.problemTitle": "Link para Reportar um Problema:", + "admin.support.termsDesc": "Link para os Termos de Serviço para os usuários no desktop ou móvel. Deixando este espaço em branco irá esconder a opção de exibir um aviso.", + "admin.support.termsTitle": "Link Termos do Serviço:", + "admin.system_analytics.activeUsers": "Usuários Ativos com Postagens", + "admin.system_analytics.title": "o Sistema", + "admin.system_analytics.totalPosts": "Total Posts", + "admin.team.brandDesc": "Ativar marca personalizada para mostrar uma imagem de sua escolha, carregado abaixo e algum texto de ajuda, escrito abaixo na página de login.", + "admin.team.brandImageTitle": "Imagem Personalizada da Marca:", + "admin.team.brandTextDescription": "O texto personalizado da marca formatado em Markdown que você gostaria que aparece-se abaixo da sua imagem de marca personalizada na tela de login.", + "admin.team.brandTextTitle": "Texto Personalizado da Marca:", + "admin.team.brandTitle": "Ativar Marca Personalizada: ", + "admin.team.chooseImage": "Escolha Nova Imagem", + "admin.team.dirDesc": "Quando verdadeiro, as equipes que estão configuradas para mostrar o diretório de equipe irá mostrar na página principal, em lugar de criar uma nova equipe.", + "admin.team.dirTitle": "Ativar Diretório de Equipe: ", + "admin.team.maxUsersDescription": "Número máximo total de usuários por equipe, incluindo ambos usuários ativos e inativos.", + "admin.team.maxUsersExample": "Ex \"25\"", + "admin.team.maxUsersTitle": "Máximo Usuários Por Equipe:", + "admin.team.noBrandImage": "Nenhuma imagem da marca carregada", + "admin.team.openServerDescription": "Quando verdadeiro, qualquer pessoa pode se inscrever para uma conta de usuário no servidor sem a necessidade de ser convidado.", + "admin.team.openServerTitle": "Ativar Servidor Aberto: ", + "admin.team.restrictDescription": "Equipes e contas de usuário só pode ser criada a partir de um domínio específico (ex. \"mattermost.org\") ou lista separada por vírgulas de domínios (ex. \"corp.mattermost.com, mattermost.org\").", + "admin.team.restrictDirectMessage": "Permitir que os usuários abram o canal de Mensagens Diretas com:", + "admin.team.restrictDirectMessageDesc": "'Qualquer usuário no servidor Mattermost' permite que os usuários abram um canal de Mensagens Diretas com qualquer usuário no servidor, mesmo se eles não estão em nenhuma equipe juntos. 'Qualquer membro da equipe' limita a habilidade de abrir um canal de Mensagens Diretas para somente os usuários que estão na mesma equipe.", + "admin.team.restrictExample": "Ex \"corp.mattermost.com, mattermost.org\"", + "admin.team.restrictNameDesc": "Quando verdadeiro, você não pode criar um nome de equipe com as palavras reservadas www, admin, support, test, channel, etc", + "admin.team.restrictNameTitle": "Restringir Nomes de Equipe: ", + "admin.team.restrictTitle": "Restringir Criação Para os Domínios:", + "admin.team.restrict_direct_message_any": "Qualquer usuário no Servidor Mattermost", + "admin.team.restrict_direct_message_team": "Qualquer membro da equipe", + "admin.team.siteNameDescription": "Nome do serviço mostrado na tela de início da sessão e na UI.", + "admin.team.siteNameExample": "Ex \"Mattermost\"", + "admin.team.siteNameTitle": "Nome do Site:", + "admin.team.teamCreationDescription": "Quando falso, a capacidade de criar equipes é desativada. O botão criar equipe apresenta erro quando pressionado.", + "admin.team.teamCreationTitle": "Habilitar a Criação de Equipes: ", + "admin.team.upload": "Enviar", + "admin.team.uploadDesc": "Personalizar sua experiência como usuário, adicionando uma imagem personalizada na tela de login. Veja exemplos em docs.mattermost.com/administration/config-settings.html#custom-branding.", + "admin.team.uploaded": "Enviado!", + "admin.team.uploading": "Enviando..", + "admin.team.userCreationDescription": "Quando falso, a capacidade de criar contas é desativada. O botão criar conta apresenta erro quando pressionado.", + "admin.team.userCreationTitle": "Permitir A Criação De Usuário: ", + "admin.team_analytics.activeUsers": "Usuários Ativos Com Postagens", + "admin.team_analytics.totalPosts": "Total Posts", + "admin.true": "verdadeiro", + "admin.userList.title": "Usuários para {team}", + "admin.userList.title2": "Usuários para {team} ({count})", + "admin.user_item.authServiceEmail": ", Método de Login: Email", + "admin.user_item.authServiceNotEmail": ", Método de Login: {service}", + "admin.user_item.confirmDemoteDescription": "Se você rebaixar você mesmo de Admin de Sistema e não exista outro usuário como privilegios de Admin de Sistema, você precisa-rá re-inscrever um Admin de Sistema acessando o servidor Mattermost através do terminal e executando o seguinte comando.", + "admin.user_item.confirmDemoteRoleTitle": "Confirmar rebaixamento para Admin do Sistema", + "admin.user_item.confirmDemotion": "Confirmar Rebaixamento", + "admin.user_item.confirmDemotionCmd": "platform -assign_role -team_name=\"yourteam\" -email=\"name@yourcompany.com\" -role=\"system_admin\"", + "admin.user_item.emailTitle": "Email: {email}", + "admin.user_item.inactive": "Inativo", + "admin.user_item.makeActive": "Tornar Ativo", + "admin.user_item.makeInactive": "Tornar Inativo", + "admin.user_item.makeMember": "Tornar um Membro", + "admin.user_item.makeSysAdmin": "Tornar Admin do Sistema", + "admin.user_item.makeTeamAdmin": "Tornar Admin de Equipe", + "admin.user_item.member": "Membro", + "admin.user_item.mfaNo": ", MFA: Não", + "admin.user_item.mfaYes": ", MFA: Sim", + "admin.user_item.resetMfa": "Remover MFA", + "admin.user_item.resetPwd": "Resetar Senha", + "admin.user_item.switchToEmail": "Trocar para Email/Senha", + "admin.user_item.sysAdmin": "Admin do Sistema", + "admin.user_item.teamAdmin": "Admin Equipe", + "analytics.chart.loading": "Carregando...", + "analytics.chart.meaningful": "Não há dados suficientes para uma representação significativa.", + "analytics.system.activeUsers": "Usuários Ativos Com Posts", + "analytics.system.channelTypes": "Tipos de Canal", + "analytics.system.expiredBanner": "The Enterprise license expired on {date}. You have 15 days from this date to renew the license, please contact commercial@mattermost.com.", + "analytics.system.expiringBanner": "The Enterprise license is expiring on {date}. To renew your license, please contact commercial@mattermost.com.", + "analytics.system.postTypes": "Posts, Arquivos e Hashtags", + "analytics.system.privateGroups": "Grupos Privados", + "analytics.system.publicChannels": "Canais Públicos", + "analytics.system.textPosts": "Post com Texto somente", + "analytics.system.title": "Estatísticas do Sistema", + "analytics.system.totalChannels": "Total de Canais", + "analytics.system.totalCommands": "Total de Comandos", + "analytics.system.totalFilePosts": "Posts com Arquivos", + "analytics.system.totalHashtagPosts": "Posts com Hashtags", + "analytics.system.totalIncomingWebhooks": "Webhooks Entrada", + "analytics.system.totalOutgoingWebhooks": "Webhooks Saída", + "analytics.system.totalPosts": "Total Posts", + "analytics.system.totalSessions": "Total de Sessões", + "analytics.system.totalTeams": "Total de Equipes", + "analytics.system.totalUsers": "Total de Usuários", + "analytics.team.activeUsers": "Usuários Ativos Com Posts", + "analytics.team.newlyCreated": "Novos Usuários Criados", + "analytics.team.privateGroups": "Grupos Privados", + "analytics.team.publicChannels": "Canais Públicos", + "analytics.team.recentActive": "Usuários Ativos Recentes", + "analytics.team.recentUsers": "Usuários Ativos Recentes", + "analytics.team.title": "Estatísticas de Equipe para {team}", + "analytics.team.totalPosts": "Total Posts", + "analytics.team.totalUsers": "Total de Usuários", + "audit_table.accountActive": "Conta inativada", + "audit_table.accountInactive": "Conta inativada", + "audit_table.action": "Ação", + "audit_table.attemptedAllowOAuthAccess": "Tentativa de permitir um novo acesso ao serviço OAuth", + "audit_table.attemptedLicenseAdd": "Tentativa de adicionar uma nova licença", + "audit_table.attemptedLogin": "Tentou login", + "audit_table.attemptedOAuthToken": "Tentativa de obter um token de acesso OAuth", + "audit_table.attemptedPassword": "Tentativa de mudar a senha", + "audit_table.attemptedRegisterApp": "Tentativa de registrar um novo Aplicativo OAuth com ID {id}", + "audit_table.attemptedReset": "Tentativa de resetar a senha", + "audit_table.attemptedWebhookCreate": "Tentativa de criar um webhook", + "audit_table.attemptedWebhookDelete": "Tentativa de deletar um webhook", + "audit_table.by": " por {username}", + "audit_table.byAdmin": " por um admin", + "audit_table.channelCreated": "Criado o {channelName} canal/grupo", + "audit_table.channelDeleted": "Excluído o canal/grupo com a URL {url}", + "audit_table.establishedDM": "Estabelecido uma mensagem direta para o canal com {username}", + "audit_table.failedExpiredLicenseAdd": "Falha ao adicionar uma nova licença uma vez que expirou ou ainda não foi iniciado", + "audit_table.failedInvalidLicenseAdd": "Falha ao adicionar um licença inválida", + "audit_table.failedLogin": "FALHA na tentativa de login", + "audit_table.failedOAuthAccess": "Falha ao permitir um novo acesso ao serviço OAuth - a URI de redirecionamento não coincide com o retorno de chamada registrado anteriormente", + "audit_table.failedPassword": "Falha ao alterar a senha - tentado atualizar a senha do usuário que estava conectado através do oauth", + "audit_table.failedWebhookCreate": "Falha ao criar uma webhook - sem permissão do canal", + "audit_table.failedWebhookDelete": "Falha ao deletar um webhook - condições inapropriadas", + "audit_table.headerUpdated": "Atualizado o {channelName} canal/cabeçalho de grupo", + "audit_table.ip": "Endereço de IP", + "audit_table.licenseRemoved": "Licença removida com sucesso", + "audit_table.loginAttempt": " (Tentativa de login)", + "audit_table.loginFailure": " (Falha de login)", + "audit_table.logout": "Logado fora da sua conta", + "audit_table.member": "membro", + "audit_table.nameUpdated": "Atualizado nome canal/grupo {channelName}", + "audit_table.oauthTokenFailed": "Falha ao obter um token de acesso OAuth - {token}", + "audit_table.revokedAll": "Revogada todas as sessões atuais para a equipe", + "audit_table.sentEmail": "Enviado um email para {email} para resetar sua senha", + "audit_table.session": "ID da Sessão", + "audit_table.sessionRevoked": "A sessão com id {sessionId} foi revogada", + "audit_table.successfullLicenseAdd": "Nova licença adicionada com sucesso", + "audit_table.successfullLogin": "Logado com sucesso", + "audit_table.successfullOAuthAccess": "Dado novo acesso ao serviço OAuth com sucesso", + "audit_table.successfullOAuthToken": "Adicionado um novo serviço OAuth com sucesso", + "audit_table.successfullPassword": "Senha alterada com sucesso", + "audit_table.successfullReset": "Senha resetada com sucesso", + "audit_table.successfullWebhookCreate": "Criado com sucesso um webhook", + "audit_table.successfullWebhookDelete": "Criado com sucesso um webhook", + "audit_table.timestamp": "Timestamp", + "audit_table.updateGeneral": "Atualizado as configurações gerais da sua conta", + "audit_table.updateGlobalNotifications": "Atualizado suas definições globais de notificação", + "audit_table.updatePicture": "Atualizado sua imagem do perfil", + "audit_table.updatedRol": "Atualizado as função(ões) do usuário para ", + "audit_table.userAdded": "Adicionado {username} para o canal/grupo {channelName}", + "audit_table.userId": "Usuário ID", + "audit_table.userRemoved": "Removido {username} canal/grupo {channelName}", + "audit_table.verified": "Seu endereço de e-mail foi verificado com suscesso", + "authorize.access": "Permitir acesso {appName}?", + "authorize.allow": "Permitir", + "authorize.app": "O app {appName} gostaria de ter a capacidade de acessar e modificar suas informações básicas.", + "authorize.deny": "Negar", + "authorize.title": "Um aplicativo gostaria de conectar na sua conta {teamName}", + "backstage_navbar.backToMattermost": "Voltar para {siteName}", + "backstage_sidebar.integrations": "Integrações", + "backstage_sidebar.integrations.commands": "Comandos Slash", + "backstage_sidebar.integrations.incoming_webhooks": "Webhooks Entrada", + "backstage_sidebar.integrations.outgoing_webhooks": "Webhooks Saída", + "center_panel.recent": "Clique aqui para pular para mensagens recentes. ", + "chanel_header.addMembers": "Adicionar Membros", + "change_url.close": "Fechar", + "change_url.endWithLetter": "Deve teminar com uma letra ou número", + "change_url.invalidUrl": "URL inválida", + "change_url.longer": "Deve ter mais de dois caracteres", + "change_url.noUnderscore": "Não pode conter dois sublinhados consecutivos.", + "change_url.startWithLetter": "Deve começar com uma letra ou número", + "channel_flow.alreadyExist": "Um canal com essa URL já existe", + "channel_flow.changeUrlDescription": "Alguns caracteres não são permitidos nas URLs e podem ser removidos.", + "channel_flow.changeUrlTitle": "Alterar URL {term}", + "channel_flow.channel": "Canal", + "channel_flow.create": "Criar {term}", + "channel_flow.group": "Grupo", + "channel_flow.invalidName": "Nome do Canal Inválido", + "channel_flow.set_url_title": "Ajustar URL {term}", + "channel_header.channel": "Canal", + "channel_header.channelHeader": "Definir Cabeçalho do Canal...", + "channel_header.delete": "Deletar {term}...", + "channel_header.group": "Grupo", + "channel_header.leave": "Sair {term}", + "channel_header.manageMembers": "Gerenciar Membros", + "channel_header.notificationPreferences": "Preferências de Notificação", + "channel_header.recentMentions": "Menções Recentes", + "channel_header.rename": "Renomear {term}...", + "channel_header.setHeader": "Definir Cabeçalho do {term}...", + "channel_header.setPurpose": "Ajustar Propósito {term}...", + "channel_header.viewInfo": "Ver Informações", + "channel_info.close": "Fechar", + "channel_info.id": "Canal ID:", + "channel_info.name": "Nome do Canal:", + "channel_info.notFound": "Nenhum Canal Encontrado", + "channel_info.purpose": "Propósito do Canal:", + "channel_info.url": "URL do Canal:", + "channel_invite.add": " Adicionar", + "channel_invite.addNewMembers": "Adicionar Novo Membro para ", + "channel_invite.close": "Fechar", + "channel_loader.connection_error": "Parece existir um problema com a sua conexão de internet.", + "channel_loader.posted": "Postado", + "channel_loader.socketError": "Por favor verifique sua conexão, Mattermost está inalcançável. Se este problema persistir, peça ao administrador para verificar a porta WebSocket.", + "channel_loader.someone": "Alguém", + "channel_loader.something": " fez algo novo", + "channel_loader.unknown_error": "Recebido um código de status inesperado do servidor.", + "channel_loader.uploadedFile": " enviado um arquivo", + "channel_loader.uploadedImage": " enviado uma imagem", + "channel_loader.wrote": " escreveu: ", + "channel_members_modal.addNew": " Adicionar Novos Membros", + "channel_members_modal.close": "Fechar", + "channel_members_modal.remove": "Remover", + "channel_memebers_modal.members": " Membros", + "channel_modal.cancel": "Cancelar", + "channel_modal.channel": "Canal", + "channel_modal.createNew": "Criar Novo ", + "channel_modal.descriptionHelp": "Descreva como este {term} pode ser usado.", + "channel_modal.displayNameError": "Este campo é obrigatório", + "channel_modal.edit": "Editar", + "channel_modal.group": "Grupo", + "channel_modal.modalTitle": "Novo ", + "channel_modal.name": "Nome", + "channel_modal.nameEx": "Ex.: \"Bugs\", \"Marketing\", \"办公室恋情\"", + "channel_modal.optional": "(opcional)", + "channel_modal.privateGroup1": "Criar um novo grupo privado com membros restritos. ", + "channel_modal.privateGroup2": "Criar um grupo privado", + "channel_modal.publicChannel1": "Criar um canal público", + "channel_modal.publicChannel2": "Criar um novo canal público para qualquer um participar. ", + "channel_modal.purpose": "Propósito", + "channel_notifications.allActivity": "Para todas as atividades", + "channel_notifications.allUnread": "Para todas as mensagens não lidas", + "channel_notifications.globalDefault": "Global padrão ({notifyLevel})", + "channel_notifications.markUnread": "Marcar Canal como Não Lido", + "channel_notifications.never": "Nunca", + "channel_notifications.onlyMentions": "Somente para menções", + "channel_notifications.override": "Selecionar uma opção diferente do \"Padrão\" vai substituir as configurações de notificação global. Notificações na área de trabalho estão disponíveis no Firefox, Safari e Chrome.", + "channel_notifications.preferences": "Preferências de Notificação para ", + "channel_notifications.sendDesktop": "Enviar notificações de desktop", + "channel_notifications.unreadInfo": "O nome do canal fica em negrito na barra lateral quando houver mensagens não lidas. Selecionando \"Apenas menções\" o canal vai ficar em negrito apenas quando você for mencionado.", + "channel_select.placeholder": "--- Selecione um canal ---", + "choose_auth_page.emailCreate": "Criar uma nova equipe com endereço de email", + "choose_auth_page.find": "Encontrar minhas equipes", + "choose_auth_page.gitlabCreate": "Criar uma equipe com uma conta GitLab", + "choose_auth_page.googleCreate": "Criar nova equipe com a Conta do Google Apps", + "choose_auth_page.ldapCreate": "Criar uma nova equipe com uma conta LDAP", + "choose_auth_page.noSignup": "Nenhum método de inscrição configurado, por favor contate seu administrador do sistema.", + "claim.account.noEmail": "Nenhum email específicado", + "claim.email_to_ldap.enterLdapPwd": "Entre o ID e a senha para sua conta LDAP", + "claim.email_to_ldap.enterPwd": "Entre a senha para o sua conta de email no {site}", + "claim.email_to_ldap.ldapId": "LDAP ID", + "claim.email_to_ldap.ldapIdError": "Por favor digite seu ID LDAP.", + "claim.email_to_ldap.ldapPasswordError": "Por favor digite a sua senha LDAP.", + "claim.email_to_ldap.ldapPwd": "Senha LDAP", + "claim.email_to_ldap.pwd": "Senha", + "claim.email_to_ldap.pwdError": "Por favor digite a sua senha.", + "claim.email_to_ldap.ssoNote": "Você precisa já ter uma conta LDAP válida", + "claim.email_to_ldap.ssoType": "Ao retirar a sua conta, você só vai ser capaz de logar com LDAP", + "claim.email_to_ldap.switchTo": "Trocar a conta para LDAP", + "claim.email_to_ldap.title": "Trocar E-mail/Senha da Conta para LDAP", + "claim.email_to_oauth.enterPwd": "Entre a senha para o sua conta {site}", + "claim.email_to_oauth.pwd": "Senha", + "claim.email_to_oauth.pwdError": "Por favor digite a sua senha.", + "claim.email_to_oauth.ssoNote": "Você precisa já ter uma conta {type} válida", + "claim.email_to_oauth.ssoType": "Ao retirar a sua conta, você só vai ser capaz de logar com SSO {type}", + "claim.email_to_oauth.switchTo": "Trocar a conta para {uiType}", + "claim.email_to_oauth.title": "Trocar E-mail/Senha da Conta para {uiType}", + "claim.ldap_to_email.confirm": "Confirmar senha", + "claim.ldap_to_email.email": "Você vai usar o email {email} para logar", + "claim.ldap_to_email.enterLdapPwd": "Entre a sua senha {ldapPassword} para o sua conta de email {site}", + "claim.ldap_to_email.enterPwd": "Entre a nova senha para o sua conta com email.", + "claim.ldap_to_email.ldapPasswordError": "Por favor digite a sua senha LDAP.", + "claim.ldap_to_email.ldapPwd": "Senha LDAP", + "claim.ldap_to_email.pwd": "Senha", + "claim.ldap_to_email.pwdError": "Por favor digite a sua senha.", + "claim.ldap_to_email.pwdNotMatch": "As senha não correspondem.", + "claim.ldap_to_email.ssoType": "Após a alteração do tipo de conta, você só vai ser capaz de logar com seu e-mail e senha.", + "claim.ldap_to_email.switchTo": "Trocar a conta para e-mail/senha", + "claim.ldap_to_email.title": "Trocar a conta LDAP para E-mail/Senha", + "claim.oauth_to_email.confirm": "Confirmar Senha", + "claim.oauth_to_email.description": "Após a alteração do tipo de conta, você só vai ser capaz de logar com seu e-mail e senha.", + "claim.oauth_to_email.enterNewPwd": "Entre a nova senha para o sua conta {site}", + "claim.oauth_to_email.enterPwd": "Por favor entre uma senha.", + "claim.oauth_to_email.newPwd": "Nova Senha", + "claim.oauth_to_email.pwdNotMatch": "As senha não correspondem.", + "claim.oauth_to_email.switchTo": "Trocar {type} para email e senha", + "claim.oauth_to_email.title": "Trocar Conta {type} para E-mail", + "confirm_modal.cancel": "Cancelar", + "create_comment.addComment": "Adicionar um comentário...", + "create_comment.comment": "Adicionar Comentário", + "create_comment.commentLength": "Tamanho dos comentários precisa ter menos de {max} caracteres.", + "create_comment.commentTitle": "Comentário", + "create_comment.file": "Enviando arquivo", + "create_comment.files": "Enviando arquivos", + "create_post.comment": "Comentário", + "create_post.post": "Post", + "create_post.tutorialTip": "

Enviando Mensagens

Digite aqui para escrever uma mensagem e pressione Enter para posta-lá.

Clique no botão Anexo para enviar uma imagem ou arquivo.

", + "create_post.write": "Escreva uma mensagem...", + "create_team.agreement": "Ao prosseguir para criar sua conta e usar {siteName}, você concorda com nosso Termo de Serviço e Politica de Privacidade. Se você não concorda, você não pode usar {siteName}.", + "create_team.display_name.back": "Voltar para o passo anterior", + "create_team.display_name.charLength": "O nome deve ser de 4 ou mais caracteres até um máximo de 15", + "create_team.display_name.nameHelp": "Nome da sua equipe em qualquer idioma. Seu nome de equipe é mostrado em menus e títulos.", + "create_team.display_name.next": "Próximo", + "create_team.display_name.required": "Este campo é obrigatório", + "create_team.display_name.teamName": "Nome da Equipe", + "create_team.team_url.back": "Voltar para o passo anterior", + "create_team.team_url.charLength": "O nome deve ser de 4 ou mais caracteres até um máximo de 15", + "create_team.team_url.finish": "Terminar", + "create_team.team_url.hint": "
  • Curto e memorizável é o melhor
  • Use letras minúsculas, números e traços
  • Deve começar com uma letra e não pode terminar em um traço
  • ", + "create_team.team_url.regex": "Utilize apenas letras minúsculas, números e traços. Deve começar com uma letra e não pode terminar em um traço.", + "create_team.team_url.required": "Este campo é obrigatório", + "create_team.team_url.taken": "URL é usada ou contém uma palavra reservada", + "create_team.team_url.teamUrl": "Equipe URL", + "create_team.team_url.unavailable": "Está URL está indisponível. Por favor tente outra.", + "create_team.team_url.webAddress": "Escolha o endereço web para sua nova equipe:", + "delete_channel.cancel": "Cancelar", + "delete_channel.channel": "canal", + "delete_channel.confirm": "Confirmar EXCLUSÃO do Canal", + "delete_channel.del": "Deletar", + "delete_channel.group": "grupo", + "delete_channel.question": "Você tem certeza que deseja deletar o {display_name} {term}?", + "delete_post.cancel": "Cancelar", + "delete_post.comment": "Comentário", + "delete_post.confirm": "Confirmar Delete {term}", + "delete_post.del": "Deletar", + "delete_post.post": "Post", + "delete_post.question": "Tem certeza de que deseja excluir este {term}?", + "delete_post.warning": "Este post tem {count} comentário(s).", + "edit_channel_header_modal.cancel": "Cancelar", + "edit_channel_header_modal.description": "Editar o texto que aparece junto ao nome do canal dentro do cabeçalho do canal.", + "edit_channel_header_modal.error": "Este cabeçalho de canal é muito longo, por favor insira um menor", + "edit_channel_header_modal.save": "Salvar", + "edit_channel_header_modal.title": "Editar Cabeçalho para o {channel}", + "edit_channel_purpose_modal.body": "Descreva como este {type} deve ser usado. Este texto aparece na lista de canais no menu \"Mais...\" e ajuda os outros a decidir se deseja participar.", + "edit_channel_purpose_modal.cancel": "Cancelar", + "edit_channel_purpose_modal.channel": "Canal", + "edit_channel_purpose_modal.error": "Este propósito do canal é muito longo, por favor insira um menor", + "edit_channel_purpose_modal.group": "Grupo", + "edit_channel_purpose_modal.save": "Salvar", + "edit_channel_purpose_modal.title1": "Editar Propósito", + "edit_channel_purpose_modal.title2": "Editar Propósito para ", + "edit_post.cancel": "Cancelar", + "edit_post.edit": "Editar {title}", + "edit_post.editPost": "Editar o post...", + "edit_post.save": "Salvar", + "email_signup.address": "Endereço de E-mail", + "email_signup.createTeam": "Criar Equipe", + "email_signup.emailError": "Por favor introduza um endereço de e-mail válido", + "email_signup.find": "Encontrar minhas equipes", + "email_verify.almost": "{siteName}: Você está quase pronto", + "email_verify.failed": " Falha ao enviar verificação por email.", + "email_verify.notVerifiedBody": "Por favor verifique seu endereço de email. Verifique por um email em sua caixa de entrada.", + "email_verify.resend": "Re-enviar Email", + "email_verify.sent": " Verificação de email enviado.", + "email_verify.verified": "{siteName} Email Verificado", + "email_verify.verifiedBody": "

    Seu email foi verificado! Clique aqui para login.

    ", + "email_verify.verifyFailed": "Falha ao verificar seu email.", + "error_bar.expired": "Enterprise license has expired; you have 15 days from expiry to renew the license, please contact commercial@mattermost.com for details", + "error_bar.expiring": "The Enterprise license is expiring on {date}. To renew your license, please contact commercial@mattermost.com", + "error_bar.past_grace": "Enterprise license has expired, please contact your System Administrator for details", + "error_bar.preview_mode": "Modo de visualização: Notificações por E-mail não foram configuradas", + "file_attachment.download": "Download", + "file_info_preview.size": "Tamanho ", + "file_info_preview.type": "Tipo do arquivo ", + "file_upload.fileAbove": "Arquivos acima {max}MB não podem ser enviados: {filename}", + "file_upload.filesAbove": "Arquivos acima {max}MB não podem ser enviados: {filenames}", + "file_upload.limited": "Limite máximo de uploads de {count} arquivos. Por favor use um post adicional para mais arquivos.", + "file_upload.pasted": "Imagem Colada em ", + "filtered_user_list.any_team": "Todos os Usuários", + "filtered_user_list.count": "{count} {count, plural, =0 {0 membros} one {membro} other {membros}}", + "filtered_user_list.countTotal": "{count} {count, plural, =0 {0 membros} one {membro} other {membros}} de {total} Total", + "filtered_user_list.member": "Membro", + "filtered_user_list.search": "Procurar membros", + "filtered_user_list.show": "Mostrar", + "filtered_user_list.team_only": "Membros desta Equipe", + "find_team.email": "E-mail", + "find_team.findDescription": "Foi enviado um e-mail com links para todas as equipes do qual você é membro.", + "find_team.findTitle": "Encontre Sua Equipe", + "find_team.getLinks": "Obter um e-mail com links para quaisquer equipes do qual você é membro.", + "find_team.placeholder": "voce@dominio.com", + "find_team.send": "Enviar", + "find_team.submitError": "Por favor entre um endereço de e-mail válido", + "general_tab.chooseName": "Por favor escolha um novo nome para sua equipe", + "general_tab.codeDesc": "Clique 'Edit' para re-gerar o Código de Convite.", + "general_tab.codeLongDesc": "O Código de convite é usado como parte da URL no link de convite da equipe criado por Obter Link de Convite de Equipe no menu principal. Re-gerar cria um novo link de convite de equipe e invalida os link anteriores.", + "general_tab.codeTitle": "Código de Convite", + "general_tab.dirContact": "Contate o seu administrador do sistema para ativar o diretório de equipe na página inicial do sistema.", + "general_tab.dirDisabled": "Diretório de equipe foi desativado. Por favor peça a um Administrador de Sistema para ativar o Diretório de Equipe nas configurações do Console do Sistema.", + "general_tab.dirOff": "Diretório de equipe está desativado para este sistema.", + "general_tab.includeDirDesc": "Incluindo esta equipe irá exibir o nome da equipe da seção Diretório Equipe da página inicial, e fornecer um link para a página de login.", + "general_tab.includeDirTitle": "Incluir esta equipe no Diretório de Equipe", + "general_tab.no": "Não", + "general_tab.openInviteDesc": "Quando permitido, um link para esta equipe vai ser incluído na página de destino permitindo que qualquer pessoa com uma conta possa participar desse time.", + "general_tab.openInviteTitle": "Permitir que qualquer pessoa possa participar desse time", + "general_tab.regenerate": "Re-Gerar", + "general_tab.required": "Este campo é obrigatório", + "general_tab.teamName": "Nome da Equipe", + "general_tab.teamNameInfo": "Defina o nome da equipe como aparece na sua tela de login e no topo na lateral esquerda.", + "general_tab.title": "Definições Gerais", + "general_tab.yes": "Sim", + "get_link.clipboard": " Link copiado para a área de transferência.", + "get_link.close": "Fechar", + "get_link.copy": "Copiar Link", + "get_post_link_modal.help": "O link abaixo permite que usuários autorizados possam ver seus posts.", + "get_post_link_modal.title": "Copiar Permalink", + "get_team_invite_link_modal.help": "Enviar o link abaixo para sua equipe de trabalho para que eles se inscrevam no site da sua equipe. O Link de Convite de Equipe como ele não muda pode ser compartilhado com várias pessoas ao menos que seja re-gerado em Configurações de Equipe pelo Administrador de Equipe.", + "get_team_invite_link_modal.helpDisabled": "Criação de usuários está desabilitada para sua equipe. Por favor peça ao administrador de equipe por detalhes.", + "get_team_invite_link_modal.title": "Link para Convite de Equipe", + "installed_commands.add": "Adicionar Comando Slash", + "installed_commands.empty": "Nenhum comando encotrado", + "installed_commands.header": "Comandos Slash", + "installed_incoming_webhooks.add": "Adicionar Webhooks Entrada", + "installed_incoming_webhooks.empty": "Nenhum webhook de entrada encontrado", + "installed_incoming_webhooks.header": "Webhooks Entrada", + "installed_integrations.creation": "Criado por {creator} em {createAt, date, full}", + "installed_integrations.delete": "Deletar", + "installed_integrations.regenToken": "Regen Token", + "installed_integrations.search": "Pesquisar Integrações", + "installed_integrations.token": "Token: {token}", + "installed_integrations.url": "URL: {url}", + "installed_outgoing_webhooks.add": "Adicionar Webhooks Saída", + "installed_outgoing_webhooks.empty": "Nenhum webhook de saída encontrado", + "installed_outgoing_webhooks.header": "Webhooks Saída", + "integrations.command.description": "Comandos slash envia evento para integrações externas", + "integrations.command.title": "Comando Slash", + "integrations.header": "Integrações", + "integrations.incomingWebhook.description": "Webhooks de entrada permite que integrações externas envie mensagens", + "integrations.incomingWebhook.title": "Webhooks Entrada", + "integrations.outgoingWebhook.description": "Webhooks de saída permite que integrações externas recebam e respondam a mensagens", + "integrations.outgoingWebhook.title": "Webhooks Saída", + "intro_messages.DM": "Este é o início do seu histórico de mensagens diretas com {teammate}.
    Mensagens diretas e arquivos compartilhados aqui não são mostrados para pessoas de fora desta área.", + "intro_messages.anyMember": " Qualquer membro pode participar e ler este canal.", + "intro_messages.beginning": "Início do {name}", + "intro_messages.channel": "canal", + "intro_messages.creator": "Este é o inicio do {name} {type}, criado por {creator} em {date}", + "intro_messages.default": "

    Inicio do {display_name}

    Bem-vindo a {display_name}!

    Este é o primeiro canal que sua equipe de trabalho vê quando eles se inscrevem - use para postar atualizações que todos precisam saber.

    ", + "intro_messages.group": "grupos privados", + "intro_messages.invite": "Convidar outras pessoas para este {type}", + "intro_messages.inviteOthers": "Convide outros para esta equipe", + "intro_messages.noCreator": "Este é o início do {name} {type}, criado em {date}.", + "intro_messages.offTopic": "

    Início do {display_name}

    Este é o início do {display_name}, um canal para conversas não relacionadas ao trabalho

    ", + "intro_messages.onlyInvited": " Somente membros convidados podem ver este grupo privado.", + "intro_messages.setHeader": "Definir um Cabeçalho", + "intro_messages.teammate": "Este é o início de seu histórico de mensagens com esta equipe. Mensagens diretas e arquivos compartilhados aqui não são mostrados para pessoas fora dessa área.", + "invite_member.addAnother": "Adicionar outro", + "invite_member.autoJoin": "Pessoas convidadas a participar automaticamente do canal {channel}.", + "invite_member.cancel": "Cancelar", + "invite_member.content": "E-mail está desativado para a sua equipe, e emails de convites não podem ser enviados. Contate o seu administrador do sistema para ativar e-mail e convites por e-mail.", + "invite_member.disabled": "Criação de usuários está desabilitada para sua equipe. Por favor peça ao administrador de equipe por detalhes.", + "invite_member.emailError": "Por favor entre um endereço de e-mail válido", + "invite_member.firstname": "Primeiro nome", + "invite_member.inviteLink": "Link para Convite de Equipe", + "invite_member.lastname": "Último nome", + "invite_member.modalButton": "Sim, Descartar", + "invite_member.modalMessage": "Você tem convites não enviados, você tem certeza que quer descartar eles?", + "invite_member.modalTitle": "Descartar Convites?", + "invite_member.newMember": "Convidar Membros da Equipe", + "invite_member.send": "Enviar Convite", + "invite_member.send2": "Enviar Convites", + "invite_member.sending": " Enviando", + "invite_member.teamInviteLink": "Você também pode convidar pessoas usando o {link}", + "ldap_signup.find": "Encontrar minhas equipes", + "ldap_signup.ldap": "Criar uma equipe com uma conta LDAP", + "ldap_signup.length_error": "O nome deve ser de 3 ou mais caracteres até um máximo de 15", + "ldap_signup.teamName": "Entre o nome da nova equipe", + "ldap_signup.team_error": "Por favor entre o nome da equipe", + "loading_screen.loading": "Carregando", + "login.changed": " Método de login alterada com sucesso", + "login.create": "Crie um agora", + "login.createTeam": "Criar uma nova equipe", + "login.email": "E-mail", + "login.find": "Encontre suas outras equipes", + "login.forgot": "Eu esqueci a minha senha", + "login.gitlab": "GitLab", + "login.google": "Google Apps", + "login.invalidPassword": "Sua senha está incorreta.", + "login.ldapUsername": "Usuário LDAP", + "login.noAccount": "Não tem uma conta? ", + "login.on": "no {siteName}", + "login.or": "ou", + "login.password": "Senha", + "login.passwordChanged": " Senha atualizada com sucesso", + "login.session_expired": " Sua sessão expirou. Por favor faça login novamente.", + "login.signIn": "Login", + "login.signInWith": "Login com:", + "login.userNotFound": "Não foi possível encontrar uma conta que corresponda com as suas credenciais de login.", + "login.username": "Usuário", + "login.verified": " Email Verificado", + "login_mfa.enterToken": "Para completar o login em processo, por favor entre um token do seu autenticador no smartphone", + "login_mfa.submit": "Enviar", + "login_mfa.token": "Token MFA", + "login_mfa.tokenReq": "Por favor entre um token MFA", + "member_item.makeAdmin": "Tornar Admin", + "member_item.member": "Membro", + "member_list.noUsersAdd": "Nenhum usuário para adicionar.", + "members_popover.msg": "Mensagem", + "members_popover.title": "Membros", + "more_channels.close": "Fechar", + "more_channels.create": "Criar Novo Canal", + "more_channels.createClick": "Clique em 'Criar Novo Canal' para fazer um novo", + "more_channels.join": "Participar", + "more_channels.noMore": "Não há mais canais para participar", + "more_channels.title": "Mais Canais", + "more_direct_channels.close": "Fechar", + "more_direct_channels.message": "Mensagem", + "more_direct_channels.title": "Mensagens Diretas", + "msg_typing.areTyping": "{users} e {last} estão digitando...", + "msg_typing.isTyping": "{user} está digitando...", + "msg_typing.someone": "Alguém", + "navbar.addMembers": "Adicionar Membros", + "navbar.click": "Clique aqui", + "navbar.delete": "Deletar Canal...", + "navbar.leave": "Deixar o Canal", + "navbar.manageMembers": "Gerenciar Membros", + "navbar.noHeader": "Sem cabeçalho de canal.{newline}{link} adicionar um.", + "navbar.preferences": "Preferências de Notificação", + "navbar.rename": "Renomear Canal...", + "navbar.setHeader": "Definir Cabeçalho do Canal...", + "navbar.setPurpose": "Definir Propósito do Canal...", + "navbar.toggle1": "Alternar barra lateral", + "navbar.toggle2": "Alternar barra lateral", + "navbar.viewInfo": "Ver Informações", + "navbar_dropdown.about": "Sobre o Mattermost", + "navbar_dropdown.accountSettings": "Definições de Conta", + "navbar_dropdown.console": "Console do Sistema", + "navbar_dropdown.create": "Criar uma Nova Equipe", + "navbar_dropdown.help": "Ajuda", + "navbar_dropdown.integrations": "Integrações", + "navbar_dropdown.inviteMember": "Convidar Membros da Equipe", + "navbar_dropdown.logout": "Logout", + "navbar_dropdown.manageMembers": "Gerenciar Membros", + "navbar_dropdown.report": "Relatar um Problema", + "navbar_dropdown.switchTeam": "Mudar para {team}", + "navbar_dropdown.switchTo": "Mudar para ", + "navbar_dropdown.teamLink": "Obter Link para Convite de Equipe", + "navbar_dropdown.teamSettings": "Configurações da Equipe", + "password_form.change": "Alterar minha senha", + "password_form.click": "Clique aqui para logar.", + "password_form.enter": "Entre a nova senha para o sua conta {siteName}.", + "password_form.error": "Por favor, insira pelo menos {chars} caracteres.", + "password_form.pwd": "Senha", + "password_form.title": "Resetar Senha", + "password_form.update": "Sua senha foi atualizada com sucesso.", + "password_send.checkInbox": "Por favor verifique sua caixa de entrada.", + "password_send.description": "Para resetar sua senha, entre o endereço de email que você usou para se inscrever.", + "password_send.email": "E-mail", + "password_send.error": "Por favor entre um endereço de e-mail válido.", + "password_send.link": "

    Um link para resetar senha foi enviado para {email}

    ", + "password_send.reset": "Resetar minha senha", + "password_send.title": "Resetar Senha", + "pending_post_actions.cancel": "Cancelar", + "pending_post_actions.retry": "Tentar novamente", + "permalink.error.access": "Permalink pertence a um canal que você não tem acesso", + "post_attachment.collapse": "▲ recolher texto", + "post_attachment.more": "▼ leia mais", + "post_body.commentedOn": "Comentado da mensagem {name}{apostrophe}: ", + "post_body.deleted": "(mensagem deletada)", + "post_body.plusMore": " mais {count} outros arquivos", + "post_body.plusOne": " mais 1 outro arquivo", + "post_delete.notPosted": "Comentário não pode ser postado", + "post_delete.okay": "Ok", + "post_delete.someone": "Alguém deletou a mensagem no qual você tentou postar um comentário.", + "post_focus_view.beginning": "Início do Canal de Arquivos", + "post_info.del": "Deletar", + "post_info.edit": "Editar", + "post_info.permalink": "Permalink", + "post_info.reply": "Responder", + "posts_view.loadMore": "Carregar mais mensagens", + "posts_view.newMsg": "Novas Mensagens", + "register_app.callback": "Callback URL", + "register_app.callbackError": "Pelo menos uma URL de retorno de chamada deve ser preenchida.", + "register_app.cancel": "Cancelar", + "register_app.clientId": "ID do Cliente", + "register_app.clientSecret": "Segredo Cliente", + "register_app.close": "Fechar", + "register_app.credentialsDescription": "Guardá-las em algum lugar SEGURO. Trate o seu ID de cliente, como nome de usuário da sua aplicação e o seu Senha de Cliente como uma senha de app.", + "register_app.credentialsSave": "Eu salvei ambos meu Id de Cliente e o Segredo Cliente em um local seguro", + "register_app.credentialsTitle": "Suas Credenciais de Aplicação", + "register_app.description": "Descrição", + "register_app.dev": "Aplicativos Desenvolvedor", + "register_app.homepage": "URL da página principal", + "register_app.homepageError": "Página principal precisa ser preenchida.", + "register_app.name": "Nome do Aplicativo", + "register_app.nameError": "Nome da aplicação precisa ser preenchida.", + "register_app.optional": "Opcional", + "register_app.register": "Registrar", + "register_app.required": "Necessário", + "register_app.title": "Registar um Novo Aplicativo", + "removed_channel.channelName": "o canal", + "removed_channel.from": "Removido de ", + "removed_channel.okay": "Ok", + "removed_channel.remover": "{remover} removido você do {channel}", + "removed_channel.someone": "Alguém", + "rename_channel.cancel": "Cancelar", + "rename_channel.defaultError": " - Não pode ser alterado para o canal padrão", + "rename_channel.displayName": "Nome De Exibição", + "rename_channel.displayNameHolder": "Insira o nome de exibição", + "rename_channel.handle": "Handle", + "rename_channel.handleHolder": "alfanuméricos minúsculos somente", + "rename_channel.lowercase": "Tem de ser caracteres minúsculos alfanuméricos", + "rename_channel.maxLength": "Este campo deve ser menor do que 22 caracteres", + "rename_channel.required": "Este campo é obrigatório", + "rename_channel.save": "Salvar", + "rename_channel.title": "Renomear Canal", + "rhs_comment.comment": "Comentário", + "rhs_comment.del": "Deletar", + "rhs_comment.edit": "Editar", + "rhs_comment.permalink": "Permalink", + "rhs_header.details": "Detalhes da Mensagem", + "rhs_root.del": "Deletar", + "rhs_root.direct": "Mensagem Direta", + "rhs_root.edit": "Editar", + "rhs_root.permalink": "Permalink", + "search_bar.cancel": "Cancelar", + "search_bar.search": "Procurar", + "search_bar.usage": "

    Opções de Pesquisa

    • Utilize \"aspas\" para pesquisar frases
    • Use from: para encontrar mensagens de usuários específicos e in: para encontrar postagens em canais específicos
    ", + "search_header.results": "Resultados da Pesquisa", + "search_header.title2": "Menções Recentes", + "search_item.direct": "Mensagem Direta", + "search_item.jump": "Pular", + "search_results.because": "
    • Se você está pesquisando uma frase (ex. pesquisando \"rea\", procurando por \"reagir\" ou \"reação\"), acrescente um * ao seu termo de pesquisa
    • Devido ao grande volume de resultados, pesquisas com duas letras e palavras comuns como \"este\", \"um\" e \"é\" não aparecerão nos resultados de pesquisa
    ", + "search_results.noResults": "SEM RESULTADOS", + "search_results.usage": "
    • Use \"aspas\" para pesquisar frases
    • Use from: para encontrar mensagens de usuários específicos e in: para encontrar postagens em canais específicos
    ", + "setting_item_max.cancel": "Cancelar", + "setting_item_max.save": "Salvar", + "setting_item_min.edit": "Editar", + "setting_picture.cancel": "Cancelar", + "setting_picture.help": "Enviar uma imagem do perfil no formato JPG ou PNG, com pelo menos {width}px na largura e {height}px na altura.", + "setting_picture.save": "Salvar", + "setting_picture.select": "Selecionar", + "setting_upload.import": "Importar", + "setting_upload.noFile": "Nenhum arquivo selecionado.", + "setting_upload.select": "Selecione o arquivo", + "sidebar.channels": "Canais", + "sidebar.createChannel": "Criar novo canal", + "sidebar.createGroup": "Criar um novo grupo", + "sidebar.direct": "Mensagens Diretas", + "sidebar.more": "Mais", + "sidebar.moreElips": "Mais...", + "sidebar.otherMembers": "Fora desta equipe", + "sidebar.pg": "Grupos Privados", + "sidebar.removeList": "Remover da lista", + "sidebar.tutorialScreen1": "

    Canais

    Canais organizar conversas em diferentes tópicos. Eles estão abertos a todos em sua equipe. Para enviar comunicações privadas utilize Mensagens Diretas para uma única pessoa ou Grupos Privados para várias pessoas.

    ", + "sidebar.tutorialScreen2": "

    Canais \"{townsquare}\" e \"{offtopic}\"

    Aqui estão dois canais públicos para começar:

    {townsquare} é um lugar comunicação de toda equipe. Todo mundo em sua equipe é um membro deste canal.

    {offtopic} é um lugar para diversão e humor fora dos canais relacionados com o trabalho. Você e sua equipe podem decidir qual outros canais serão criados.

    ", + "sidebar.tutorialScreen3": "

    Criando e participando de Canais

    Clique em \"Mais...\" para criar um novo canal ou participar de um já existente.

    Você também pode criar um novo canal ou grupo privado ao clicar em no símbolo \"+\" ao lado do canal ou grupo privado no cabeçalho.

    ", + "sidebar.unreadAbove": "Post(s) não lidos acima", + "sidebar.unreadBelow": "Post(s) não lidos abaixo", + "sidebar_header.tutorial": "

    Menu Principal

    O Menu Principal é onde você pode Convidar novos membros, acessar sua Definição de Conta e ajustar o seu Tema de Cores.

    Administradores de equipe podem também acessar suas Configurações de Equipe a partir deste menu.

    Administradores de Sistema vão encontrar em Console do Sistema opções para administrar todo o sistema.

    ", + "sidebar_right_menu.accountSettings": "Definições de Conta", + "sidebar_right_menu.console": "Console do Sistema", + "sidebar_right_menu.help": "Ajuda", + "sidebar_right_menu.inviteNew": "Convidar Membros para Equipe", + "sidebar_right_menu.logout": "Logout", + "sidebar_right_menu.manageMembers": "Gerenciar Membros", + "sidebar_right_menu.report": "Relatar um Problema", + "sidebar_right_menu.switch_team": "Selecionar Equipe", + "sidebar_right_menu.teamLink": "Obter Link para Convite de Equipe", + "sidebar_right_menu.teamSettings": "Configurações da Equipe", + "signup_team.choose": "Equipes que você é um membro: ", + "signup_team.createTeam": "Ou Criar uma Equipe", + "signup_team.disabled": "A criação de equipe foi desativada. Por favor, entre em contato com um administrador para o acesso.", + "signup_team.join_open": "Equipes abertas que você pode se juntar: ", + "signup_team.noTeams": "Não existe equipes incluídas no Diretório de Equipe e a criação de equipes foi desativada.", + "signup_team.no_teams": "Você não parece ser membro de nenhuma equipe. Por favor peça um convite ao seu administrador, junte-se a uma equipe aberta se uma existir ou crie uma nova equipe.", + "signup_team.none": "Nenhum método de criação da equipe foi habilitado. Por favor, entre em contato com um administrador para o acesso.", + "signup_team_complete.completed": "Você já concluiu o processo de inscrição para este convite ou este convite expirou.", + "signup_team_confirm.checkEmail": "Por favor, verifique seu e-mail: {email}
    Seu e-mail contém um link para configurar a sua equipe", + "signup_team_confirm.title": "Inscrição Completa", + "signup_user_completed.choosePwd": "Escolha sua senha", + "signup_user_completed.chooseUser": "Escolha o seu nome de usuário", + "signup_user_completed.create": "Criar Conta", + "signup_user_completed.emailHelp": "Email valido necessário para inscrição", + "signup_user_completed.emailIs": "Seu endereço de e-mail é {email}. Você irá usar esse endereço para logar no {siteName}.", + "signup_user_completed.expired": "Você já concluiu o processo de inscrição para este convite ou este convite expirou.", + "signup_user_completed.gitlab": "com GitLab", + "signup_user_completed.google": "com Google", + "signup_user_completed.invalid_invite": "O link convite era inválido. Por favor fale com seu Administrador para receber um convite.", + "signup_user_completed.lets": "Vamos criar a sua conta", + "signup_user_completed.no_open_server": "Este servidor não permite inscrições abertas. Por favor fale com seu Administrador para receber um convite.", + "signup_user_completed.none": "Nenhum método de criação de equipe foi habilitado. Por favor, entre em contato com um administrador para o acesso.", + "signup_user_completed.onSite": "no {siteName}", + "signup_user_completed.or": "ou", + "signup_user_completed.passwordLength": "Por favor entre no mínimo {min} caracteres", + "signup_user_completed.required": "Este campo é obrigatório", + "signup_user_completed.reserved": "Este nome de usuário é reservado, por favor, escolha um novo.", + "signup_user_completed.userHelp": "O nome de usuário precisa começar com uma letra, e conter entre {min} e {max} caracteres minúsculos contendo números, letras, e os símbolos '.', '-' e '_'", + "signup_user_completed.usernameLength": "O nome de usuário precisa começar com uma letra, e conter entre {min} e {max} caracteres minúsculos contendo números, letras, e os símbolos '.', '-' e '_'.", + "signup_user_completed.validEmail": "Por favor entre um endereço de e-mail válido", + "signup_user_completed.welcome": "Bem-vindo:", + "signup_user_completed.whatis": "Qual é o seu endereço de e-mail?", + "signup_user_completed.withLdap": "Com suas credenciais LDAP", + "sso_signup.find": "Encontrar minhas equipes", + "sso_signup.gitlab": "Criar uma equipe com uma conta GitLab", + "sso_signup.google": "Criar equipe com a Conta do Google Apps", + "sso_signup.length_error": "O nome deve ser de 3 ou mais caracteres até um máximo de 15", + "sso_signup.teamName": "Entre o nome da nova equipe", + "sso_signup.team_error": "Por favor entre o nome da equipe", + "suggestion.mention.all": "Notificar todo mundo na equipe", + "suggestion.mention.channel": "Notifica todos no canal", + "suggestion.search.private": "Grupos Privados", + "suggestion.search.public": "Canais Públicos", + "team_export_tab.download": "download", + "team_export_tab.export": "Exportar", + "team_export_tab.exportTeam": "Exportar sua equipe", + "team_export_tab.exporting": " Exportando...", + "team_export_tab.ready": " Pronto para ", + "team_export_tab.unable": " Não foi possível exportar: {error}", + "team_import_tab.failure": " Falha na importação: ", + "team_import_tab.import": "Importar", + "team_import_tab.importHelp": "

    Para importar uma equipe do Slack, vá para a Slack > Definições de Equipe > Importar/Exportar Dados > Exportar > Iniciar Exportação. Slack não permite que você exporte arquivos, imagens, grupos privados ou as mensagens diretas armazenadas no Slack. Portanto, Importação Slack para Mattermost só suporta a importação de mensagens de texto dos canais públicos da sua equipe Slack.

    O Importação Slack para Mattermost está em 'Beta'. Slack bot posts ainda não pode ser importado e Slack @mentions não são suportados no momento.

    ", + "team_import_tab.importSlack": "Importar do Slack (Beta)", + "team_import_tab.importing": " Importando...", + "team_import_tab.successful": " Importado com sucesso: ", + "team_import_tab.summary": "Ver Resumo", + "team_member_modal.close": "Fechar", + "team_member_modal.members": "{team} Membros", + "team_members_dropdown.confirmDemoteDescription": "Se você rebaixar você mesmo de Admin de Sistema e não exista outro usuário como privilegios de Admin de Sistema, você precisa-rá re-inscrever um Admin de Sistema acessando o servidor Mattermost através do terminal e executando o seguinte comando.", + "team_members_dropdown.confirmDemoteRoleTitle": "Confirmar o rebaixamento de Admin Sistema", + "team_members_dropdown.confirmDemotion": "Confirmar Rebaixamento", + "team_members_dropdown.confirmDemotionCmd": "platform -assign_role -team_name=\"yourteam\" -email=\"name@yourcompany.com\" -role=\"system_admin\"", + "team_members_dropdown.inactive": "Inativo", + "team_members_dropdown.makeActive": "Tornar Ativo", + "team_members_dropdown.makeAdmin": "Tornar Admin de Equipe", + "team_members_dropdown.makeInactive": "Tornar Inativo", + "team_members_dropdown.makeMember": "Tornar Membro", + "team_members_dropdown.member": "Membro", + "team_members_dropdown.systemAdmin": "Admin do Sistema", + "team_members_dropdown.teamAdmin": "Admin Equipe", + "team_settings_modal.exportTab": "Exportar", + "team_settings_modal.generalTab": "Geral", + "team_settings_modal.importTab": "Importar", + "team_settings_modal.title": "Configurações da Equipe", + "textbox.bold": "**negrito**", + "textbox.edit": "Editar mensagem", + "textbox.help": "Ajuda", + "textbox.inlinecode": "`código`", + "textbox.italic": "_itálico_", + "textbox.preformatted": "```pré-formatado```", + "textbox.preview": "Pré-visualização", + "textbox.quote": ">citar", + "textbox.strike": "tachado", + "tutorial_intro.allSet": "Está tudo pronto", + "tutorial_intro.end": "Clique em “Próximo” para entrar em {channel}. Este é o primeiro canal que sua equipe de trabalho vê quando eles se inscrevem. Use para postar atualizações que todos precisam saber.", + "tutorial_intro.invite": "Convidar pessoas para equipe", + "tutorial_intro.next": "Próximo", + "tutorial_intro.screenOne": "

    Bem vindo ao:

    Mattermost

    Sua equipe de comunicação em um só lugar, pesquisas instantâneas disponível em qualquer lugar

    Mantenha sua equipe conectada para ajudá-los a conseguir o que mais importa.

    ", + "tutorial_intro.screenTwo": "

    Como Mattermost funciona:

    A comunicação acontece em canais de discussão pública, grupos privados e mensagens diretas.

    Tudo é arquivado e pesquisável a partir de qualquer desktop, laptop ou telefone com suporte a web.

    ", + "tutorial_intro.skip": "Pular o tutorial", + "tutorial_intro.support": "Precisa de alguma coisa, envie um e-mail para nós no ", + "tutorial_intro.teamInvite": "Convidar pessoas para equipe", + "tutorial_intro.whenReady": " quando você estiver pronto.", + "tutorial_tip.next": "Próximo", + "tutorial_tip.ok": "Ok", + "tutorial_tip.out": "Recusar estas dicas.", + "tutorial_tip.seen": "Viu isso antes? ", + "upload_overlay.info": "Soltar um arquivo para enviá-lo.", + "user.settings.advance.embed_preview": "Mostrar pré-visualização dos links abaixo da mensagem", + "user.settings.advance.embed_toggle": "Exibir mostrar/esconder para todas as pre-visualizações", + "user.settings.advance.enabledFeatures": "{count, number} {count, plural, one {Feature} other {Features}} Enabled", + "user.settings.advance.formattingDesc": "If enabled, posts will be formatted to create links, show emoji, style the text, and add line breaks. By default, this setting is enabled. Changing this setting requires the page to be refreshed.", + "user.settings.advance.formattingTitle": "Enable Post Formatting", + "user.settings.advance.markdown_preview": "Mostrar opção pré-visualização markdown na caixa de entrada de mensagens", + "user.settings.advance.off": "Desligado", + "user.settings.advance.on": "On", + "user.settings.advance.preReleaseDesc": "Verifique todos os recursos de pré-lançamento que você gostaria de visualizar. Você também pode precisar atualizar a página antes das configuração terem efeito.", + "user.settings.advance.preReleaseTitle": "Visualizar recursos de pré-lançamento", + "user.settings.advance.sendDesc": "Se habilitado 'Enter' insere uma nova linha e 'Ctrl + Enter' envia a mensagem.", + "user.settings.advance.sendTitle": "Enviar mensagens Ctrl + Enter", + "user.settings.advance.slashCmd_autocmp": "Ativar aplicação externa para autocompletar comandos slash", + "user.settings.advance.title": "Configurações Avançadas", + "user.settings.custom_theme.awayIndicator": "Indicador de Afastamento", + "user.settings.custom_theme.buttonBg": "Fundo Botão", + "user.settings.custom_theme.buttonColor": "Texto do Botão", + "user.settings.custom_theme.centerChannelBg": "Fundo Centro Canal", + "user.settings.custom_theme.centerChannelColor": "Canal Central Texto", + "user.settings.custom_theme.codeTheme": "Código do Tema", + "user.settings.custom_theme.copyPaste": "Copie e cole para compartilhar o tema de cores:", + "user.settings.custom_theme.linkColor": "Cor do link", + "user.settings.custom_theme.mentionBj": "Fundo Menção Jewel", + "user.settings.custom_theme.mentionColor": "Menção Texto Jewel", + "user.settings.custom_theme.mentionHighlightBg": "Fundo Menção Realçar", + "user.settings.custom_theme.mentionHighlightLink": "Menção Realçar Link", + "user.settings.custom_theme.newMessageSeparator": "Novo Separador de Mensagem", + "user.settings.custom_theme.onlineIndicator": "Indicador Online", + "user.settings.custom_theme.sidebarBg": "Fundo Barra lateral", + "user.settings.custom_theme.sidebarHeaderBg": "Fundo Barra latera Cabeçalho", + "user.settings.custom_theme.sidebarHeaderTextColor": "Barra lateral Texto", + "user.settings.custom_theme.sidebarText": "Texto Barra lateral", + "user.settings.custom_theme.sidebarTextActiveBorder": "Barra lateral Borda Texto Ativo", + "user.settings.custom_theme.sidebarTextActiveColor": "Barra lateral Cor Texto Ativo", + "user.settings.custom_theme.sidebarTextHoverBg": "Fundo Barra lateral Sobre Texto", + "user.settings.custom_theme.sidebarUnreadText": "Barra Lateral Texto Não Lido", + "user.settings.developer.applicationsPreview": "Aplicativos (Pré-visualização)", + "user.settings.developer.register": "Registar Novo Aplicativo", + "user.settings.developer.thirdParty": "Abrir para registrar um novo aplicativo de terceiros", + "user.settings.developer.title": "Configurações de Desenvolvedor", + "user.settings.display.channelDisplayTitle": "Modo de Exibição do Canal", + "user.settings.display.channeldisplaymode": "Selecione a largura do centro do canal.", + "user.settings.display.clockDisplay": "Exibição do Relógio", + "user.settings.display.fixedWidthCentered": "Largura fixa, centralizada", + "user.settings.display.fontDesc": "Selecione a fonte mostrada na interface do usuário no Mattermost.", + "user.settings.display.fontTitle": "Fonte Exibição", + "user.settings.display.fullScreen": "Largura inteira", + "user.settings.display.language": "Idioma", + "user.settings.display.messageDisplayClean": "Limpar", + "user.settings.display.messageDisplayCompact": "Compacto", + "user.settings.display.messageDisplayDescription": "Selecione como as mensagens no canal podem ser mostradas.", + "user.settings.display.messageDisplayTitle": "Mensagem de Exibição", + "user.settings.display.militaryClock": "Relógio de 24 horas (exemplo: 16:00)", + "user.settings.display.nameOptsDesc": "Ajustar como mostrar outros nomes de usuários nas postagens e lista de Mensagens Diretas.", + "user.settings.display.normalClock": "Relógio de 12 horas (exemplo: 4:00 PM)", + "user.settings.display.preferTime": "Selecione como você prefere que a hora seja mostrada.", + "user.settings.display.showFullname": "Mostrar primeiro e último nome", + "user.settings.display.showNickname": "Mostras apelidos se um existir, caso contrário mostrar o primeiro e último nome", + "user.settings.display.showUsername": "Mostrar nome de usuário (padrão)", + "user.settings.display.teammateDisplay": "Nome de Exibição da Equipe de Trabalho", + "user.settings.display.theme.customTheme": "Tema Customizado", + "user.settings.display.theme.describe": "Abrir para gerenciar seu tema", + "user.settings.display.theme.import": "Importar tema de cores do Slack", + "user.settings.display.theme.otherThemes": "Veja outros temas", + "user.settings.display.theme.themeColors": "Tema de Cores", + "user.settings.display.theme.title": "Tema", + "user.settings.display.title": "Configurações de Exibição", + "user.settings.general.checkEmail": "Verifique seu email em {email} para confirmar o endereço.", + "user.settings.general.checkEmailNoAddress": "Verifique seu email para confirmar seu novo endereço", + "user.settings.general.close": "Fechar", + "user.settings.general.confirmEmail": "Confirmar o email", + "user.settings.general.email": "E-mail", + "user.settings.general.emailGitlabCantUpdate": "Login ocorre através do GitLab. Email não pode ser atualizado. Endereço de email utilizado para notificações é {email}.", + "user.settings.general.emailHelp1": "Email é usado para login, notificações, e redefinição de senha. Requer verificação de email se alterado.", + "user.settings.general.emailHelp2": "Email foi desativado pelo seu administrador de sistema. Nenhuma notificação por email será enviada até isto ser habilitado.", + "user.settings.general.emailHelp3": "Email é usado para login, notificações e redefinição de senha.", + "user.settings.general.emailHelp4": "Uma verificação por email foi enviada para {email}.", + "user.settings.general.emailLdapCantUpdate": "Login ocorre através de LDAP. Email não pode ser atualizado. Endereço de email utilizado para notificações é {email}.", + "user.settings.general.emailMatch": "Os novos emails que você inseriu não correspondem.", + "user.settings.general.emptyName": "Clique 'Editar' para adicionar seu nome completo", + "user.settings.general.emptyNickname": "Clique 'Editar' para adicionar um apelido", + "user.settings.general.firstName": "Primeiro nome", + "user.settings.general.fullName": "Nome Completo", + "user.settings.general.imageTooLarge": "Não é possível fazer upload da imagem de perfil. O arquivo é muito grande.", + "user.settings.general.imageUpdated": "Imagem última atualização {date}", + "user.settings.general.lastName": "Último Nome", + "user.settings.general.loginGitlab": "Login feito através do GitLab ({email})", + "user.settings.general.loginLdap": "Login feito através de LDAP ({email})", + "user.settings.general.newAddress": "Novo Endereço: {email}
    Verifique seu email para checar o endereço acima.", + "user.settings.general.nickname": "Apelido", + "user.settings.general.nicknameExtra": "Use Apelidos para um nome você pode ser chamado assim, isso é diferente de seu primeiro nome e nome de usuário. Este é mais frequentemente usado quando duas ou mais pessoas têm nomes semelhantes de usuário.", + "user.settings.general.notificationsExtra": "Por padrão, você receberá uma notificação de menção quando alguém digitar seu nome. Vá para definições {notify} para alterar esse padrão.", + "user.settings.general.notificationsLink": "Notificações", + "user.settings.general.primaryEmail": "Email Primário", + "user.settings.general.profilePicture": "Imagem do Perfil", + "user.settings.general.title": "Definições Gerais", + "user.settings.general.uploadImage": "Clique em 'Editar' para enviar uma imagem.", + "user.settings.general.username": "Usuário", + "user.settings.general.usernameInfo": "Coloque alguma coisa fácil para sua equipe reconhecer e relembrar.", + "user.settings.general.usernameReserved": "Este nome de usuário é reservado, por favor escolha um novo.", + "user.settings.general.usernameRestrictions": "O nome de usuário precisa começar com uma letra, e conter entre {min} e {max} caracteres minúsculos contendo números, letras, e os símbolos '.', '-' e '_'.", + "user.settings.general.validEmail": "Por favor entre um endereço de e-mail válido", + "user.settings.general.validImage": "Somente imagens em JPG ou PNG podem ser usadas como imagem do perfil", + "user.settings.import_theme.cancel": "Cancelar", + "user.settings.import_theme.importBody": "Para importar um tema, vá para uma equipe no Slack e olhe para “Preferences -> Sidebar Theme”. Abra a opção de tema customizado, copie os valores das cores do tema e cole eles aqui:", + "user.settings.import_theme.importHeader": "Importar Tema Slack", + "user.settings.import_theme.submit": "Enviar", + "user.settings.import_theme.submitError": "Formato inválido, por favor tente copiar e colar novamente.", + "user.settings.languages.change": "Alterar o idioma da interface", + "user.settings.mfa.add": "Adicionar MFA para sua conta", + "user.settings.mfa.addHelp": "Você pode exigir um token gerado por um smartphone, além da sua senha, para entrar no Mattermost.

    Para ativar, faça download no seu telefone do Google Authenticator no iTunes ou Google Play, em seguida,

    1. Clique no botão acimaAdicionar MFA para sua conta.
    2. Use o Google Authenticator para scanear o QR code que aparece.
    3. Digite o Token gerado pelo Google Authenticator e clique em Salvar.

    Quando o logar, você será solicitado a digitar um token do Google Authenticator, além de suas credenciais regulares.", + "user.settings.mfa.addHelpQr": "Por favor escanei o QR code com o app Google Authenticator no seu smartphone e preencha com o token fornecido pelo app.", + "user.settings.mfa.enterToken": "Token (somente números)", + "user.settings.mfa.qrCode": "Código de Barra", + "user.settings.mfa.remove": "Remover MFA da sua conta", + "user.settings.mfa.removeHelp": "Remoção da autenticação multi-fator significa que você não vai mais exigir um código de acesso baseado no telefone para fazer login na sua conta.", + "user.settings.modal.advanced": "Avançado", + "user.settings.modal.confirmBtns": "Sim, Descartar", + "user.settings.modal.confirmMsg": "Você tem alterações não salvas, você tem certeza que quer descartar elas?", + "user.settings.modal.confirmTitle": "Descartar alterações?", + "user.settings.modal.developer": "Desenvolvedor", + "user.settings.modal.display": "Exibir", + "user.settings.modal.general": "Geral", + "user.settings.modal.notifications": "Notificações", + "user.settings.modal.security": "Segurança", + "user.settings.modal.title": "Definições de Conta", + "user.settings.notification.allActivity": "Para todas atividades", + "user.settings.notification.push": "Notificações push móvel", + "user.settings.notification.soundConfig": "Por favor configurar sons de notificações nas configurações do seu navegador", + "user.settings.notifications.channelWide": "Menção para todo canal \"@channel\"", + "user.settings.notifications.close": "Fechar", + "user.settings.notifications.desktop": "Enviar notificações de desktop", + "user.settings.notifications.desktopSounds": "Som de notificação no Desktop", + "user.settings.notifications.emailInfo": "Notificações de e-mail são enviadas por menções e mensagens diretas, depois de ter ficado offline por mais de 60 segundos ou longe do {siteName} por mais de 5 minutos.", + "user.settings.notifications.emailNotifications": "Notificações por email", + "user.settings.notifications.header": "Notificações", + "user.settings.notifications.info": "Notificações na área de trabalho estão disponíveis no Firefox, Safari, Chrome, Internet Explorer, e Edge.", + "user.settings.notifications.never": "Nunca", + "user.settings.notifications.noWords": "Nenhuma palavra configurada", + "user.settings.notifications.off": "Desligado", + "user.settings.notifications.on": "Ligado", + "user.settings.notifications.onlyMentions": "Somente para menções e mensagens diretas", + "user.settings.notifications.sensitiveName": "Seu primeiro nome sensível a maiúsculas e minúsculas \"{first_name}\"", + "user.settings.notifications.sensitiveUsername": "Seu usuário não sensível a maiúsculas \"{username}\"", + "user.settings.notifications.sensitiveWords": "Outras palavras não sensível a maiúscula, separadas por virgulas:", + "user.settings.notifications.sounds_info": "Notificações na área de trabalho estão disponíveis no Firefox, Safari, Chrome, Internet Explorer, e Edge.", + "user.settings.notifications.teamWide": "Mencionar toda a equipe \"@all\"", + "user.settings.notifications.title": "Configurações de Notificação", + "user.settings.notifications.usernameMention": "Seu usuário mencionado \"@{username}\"", + "user.settings.notifications.wordsTrigger": "Palavras que desencadeiam menções", + "user.settings.push_notification.allActivity": "Para todas as atividades", + "user.settings.push_notification.info": "Alertas de notificação são enviados para o seu dispositivo móvel quando há atividade no Mattermost.", + "user.settings.push_notification.off": "Desligado", + "user.settings.push_notification.onlyMentions": "Somente para menções e mensagens diretas", + "user.settings.security.close": "Fechar", + "user.settings.security.currentPassword": "Senha Atual", + "user.settings.security.currentPasswordError": "Por favor entre sua senha atual", + "user.settings.security.emailPwd": "Email e Senha", + "user.settings.security.gitlab": "GitLab SSO", + "user.settings.security.lastUpdated": "Última atualização {date} {time}", + "user.settings.security.ldap": "LDAP", + "user.settings.security.loginGitlab": "Login feito através do GitLab", + "user.settings.security.loginLdap": "Login feito através de LDAP", + "user.settings.security.logoutActiveSessions": "Ver e fazer Logout das Sessões Ativas", + "user.settings.security.method": "Método de Login", + "user.settings.security.newPassword": "Nova Senha", + "user.settings.security.oneSignin": "Você pode ter somente um método de login por vez. Trocando o método de login será enviado um email de notificação se você alterar com sucesso.", + "user.settings.security.password": "Senha", + "user.settings.security.passwordGitlabCantUpdate": "Login ocorreu através do GitLab. Senha não pode ser atualizada.", + "user.settings.security.passwordLdapCantUpdate": "Login ocorreu através de LDAP. Senha não pode ser atualizada.", + "user.settings.security.passwordLengthError": "Novas senhas precisam ter pelo menos {chars} characters", + "user.settings.security.passwordMatchError": "As novas senhas que você inseriu não correspondem", + "user.settings.security.retypePassword": "Digite Novamente a nova Senha", + "user.settings.security.switchEmail": "Trocar para usar email e senha", + "user.settings.security.switchGitlab": "Trocar para usar GitLab SSO", + "user.settings.security.switchGoogle": "Trocar para usar Google SSO", + "user.settings.security.switchLdap": "Trocar para usar LDAP", + "user.settings.security.title": "Configurações de Segurança", + "user.settings.security.viewHistory": "Ver Histórico de Acesso", + "user_list.notFound": "Nenhum usuário encontrado", + "user_profile.notShared": "E-mail não compartilhado", + "view_image.loading": "Carregando ", + "view_image_popover.download": "Download", + "view_image_popover.file": "Arquivo {count} de {total}", + "view_image_popover.publicLink": "Obter O Link Público", + "web.footer.about": "Sobre", + "web.footer.help": "Ajuda", + "web.footer.privacy": "Privacidade", + "web.footer.terms": "Termos", + "web.header.back": "Voltar", + "web.root.singup_info": "Toda comunicação em um só lugar, pesquisável e acessível em qualquer lugar", + "youtube_video.notFound": "Vídeo não encontrado" +} diff --git a/webapp/i18n/pt.json b/webapp/i18n/pt.json deleted file mode 100644 index 7a5821e37..000000000 --- a/webapp/i18n/pt.json +++ /dev/null @@ -1,1424 +0,0 @@ -{ - "about.close": "Fechar", - "about.copyright": "Copyright 2016 Mattermost, Inc. Todos os direitos reservados", - "about.date": "Data De Criação:", - "about.enterpriseEditionLearn": "Saiba mais sobre Enterprise Edition em ", - "about.enterpriseEditionSt": "Moderna comunicação empresarial atrás do seu firewall.", - "about.enterpriseEditione1": "Enterprise Edition", - "about.hash": "Hash de Compilação:", - "about.hashee": "Hash de Compilação EE:", - "about.licensed": "Licenciado por:", - "about.number": "O Número de Compilação:", - "about.teamEditionLearn": "Junte-se a comunidade Mattermost em ", - "about.teamEditionSt": "Toda comunicação da sua equipe em um só lugar, instantaneamente pesquisável e acessível em qualquer lugar.", - "about.teamEditiont0": "Team Edition", - "about.teamEditiont1": "Enterprise Edition", - "about.title": "Sobre o Mattermost", - "about.version": "Versão:", - "access_history.title": "Histórico de Acesso", - "activity_log.activeSessions": "Sessões ativas", - "activity_log.browser": "Browser: {browser}", - "activity_log.firstTime": "Primeira vez ativo: {date}, {time}", - "activity_log.lastActivity": "Última atividade: {date}, {time}", - "activity_log.logout": "Logout", - "activity_log.moreInfo": "Mais informações", - "activity_log.os": "SO: {os}", - "activity_log.sessionId": "ID da Sessão: {id}", - "activity_log.sessionsDescription": "Sessões são criadas quando você efetuar login em um novo navegador em um dispositivo. Sessões permitem que você use Mattermost sem ter que logar novamente por um período de tempo especificado pelo administrador do sistema. Se você deseja sair mais cedo, use o botão 'Logout' abaixo para terminar uma sessão.", - "activity_log_modal.android": "Android", - "activity_log_modal.androidNativeApp": "App Nativo para Android", - "activity_log_modal.iphoneNativeApp": "App Nativo para iPhone", - "add_command.autocomplete": "Autocompletar", - "add_command.autocomplete.help": " Mostrar este comando na lista de preenchimento automático.", - "add_command.autocompleteDescription": "Autocompletar Descrição: ", - "add_command.autocompleteDescription.help": "Breve descrição opcional do comando slash para a lista de preenchimento automático.", - "add_command.autocompleteDescription.placeholder": "Exemplo: \"Retorna os resultados da pesquisa, prontuário\"", - "add_command.autocompleteHint": "Autocompletar Sugestão", - "add_command.autocompleteHint.help": "Sugestão opcional na lista autocompletada sobre os parâmetros necessários para o comando.", - "add_command.autocompleteHint.placeholder": "Exemplo: [Nome Do Paciente]", - "add_command.description": "Descrição", - "add_command.displayName": "Nome de Exibição", - "add_command.header": "Adicionar", - "add_command.iconUrl": "Ícone de Resposta", - "add_command.iconUrl.help": "Escolha uma imagem do perfil para substituir as respostas dos posts deste comando slash. Digite a URL de um arquivo .png ou .jpg com pelo menos 128 pixels por 128 pixels.", - "add_command.iconUrl.placeholder": "https://www.example.com/myicon.png", - "add_command.method": "Método da Requisição", - "add_command.method.get": "GET", - "add_command.method.help": "O tipo de solicitação do comando emitido para a URL requisitada.", - "add_command.method.post": "POST", - "add_command.trigger": "Comando Palavra Gatilho", - "add_command.trigger.help1": "Exemplos: paciente, cliente, funcionario", - "add_command.trigger.help2": "Reservados: echo, join, logout, me, shrug", - "add_command.trigger.placeholder": "Comando gatilho ex. \"ola\"", - "add_command.triggerInvalidLength": "Uma palavra gatilho precisa conter entre {min} e {max} caracteres", - "add_command.triggerInvalidSlash": "Uma palavra gatilho não pode começar com /", - "add_command.triggerInvalidSpace": "Uma palavra gatilho não pode conter espaços", - "add_command.triggerRequired": "Uma palavra gatilho é necessária", - "add_command.url": "URL da solicitação", - "add_command.url.help": "A URL callback para receber o evento HTTP POST ou GET quando o comando slash for executado.", - "add_command.url.placeholder": "Deve começar com http:// ou https://", - "add_command.urlRequired": "Uma URL de requisição é necessária", - "add_command.username": "Usuário de Resposta", - "add_command.username.help": "Escolha um nome de usuário para substituir as respostas deste comando slash. O nome de usuário deve ter até 22 caracteres contendo letras minúsculas, números e os símbolos \"-\", \"_\", e \".\" .", - "add_command.username.placeholder": "Usuário", - "add_incoming_webhook.cancel": "Cancelar", - "add_incoming_webhook.channel": "Canal", - "add_incoming_webhook.channelRequired": "Um canal válido é necessário", - "add_incoming_webhook.description": "Descrição", - "add_incoming_webhook.header": "Adicionar", - "add_incoming_webhook.name": "Nome", - "add_incoming_webhook.save": "Salvar", - "add_outgoing_webhook.callbackUrls": "URLs Callback (Uma Por Linha)", - "add_outgoing_webhook.callbackUrlsRequired": "Uma ou mais URLs callback são necessárias", - "add_outgoing_webhook.cancel": "Cancelar", - "add_outgoing_webhook.channel": "Canal", - "add_outgoing_webhook.description": "Descrição", - "add_outgoing_webhook.header": "Adicionar", - "add_outgoing_webhook.name": "Nome", - "add_outgoing_webhook.save": "Salvar", - "add_outgoing_webhook.triggerWOrds": "Palavras Gatilho (Uma Por Linha)", - "add_outgoing_webhook.triggerWords": "Palavras Gatilho (Uma Por Linha)", - "add_outgoing_webhook.triggerWordsOrChannelRequired": "Um canal válido ou uma lista de palavras gatilho é necessário", - "admin.audits.reload": "Recarregar", - "admin.audits.title": "Atividade de Usuário", - "admin.banner.heading": "Nota:", - "admin.compliance.directoryDescription": "Diretório o qual os relatórios compliance são gravados. Se estiver em branco, será usado ./data/.", - "admin.compliance.directoryExample": "Ex \"./data/\"", - "admin.compliance.directoryTitle": "Localização do Diretório de Compliance:", - "admin.compliance.enableDailyDesc": "Quando verdadeiro, Mattermost irá gerar um relatório diário de compliance.", - "admin.compliance.enableDailyTitle": "Ativar Relatório Diário:", - "admin.compliance.enableDesc": "Quando verdadeiro, Mattermost permite relatório compliance", - "admin.compliance.enableTitle": "Ativar Compliance:", - "admin.compliance.false": "falso", - "admin.compliance.noLicense": "

    Nota:

    Compliance é um recurso empresarial. Sua licença atual não suporta Compliance. Clique aqui para informações e preços da licença empresarial.

    ", - "admin.compliance.save": "Salvar", - "admin.compliance.saving": "Salvando Config...", - "admin.compliance.title": "Configurações Compliance", - "admin.compliance.true": "verdadeiro", - "admin.compliance_reports.desc": "Nome da Tarefa:", - "admin.compliance_reports.desc_placeholder": "Ex: \"Audit 445 for HR\"", - "admin.compliance_reports.emails": "Emails:", - "admin.compliance_reports.emails_placeholder": "Ex: \"bill@example.com, bob@example.com\"", - "admin.compliance_reports.from": "De:", - "admin.compliance_reports.from_placeholder": "Ex: \"2016-03-11\"", - "admin.compliance_reports.keywords": "Palavras-chave:", - "admin.compliance_reports.keywords_placeholder": "Ex: \"diminuir estoque\"", - "admin.compliance_reports.reload": "Recarregar", - "admin.compliance_reports.run": "Executar", - "admin.compliance_reports.title": "Relatórios Compliance", - "admin.compliance_reports.to": "Para:", - "admin.compliance_reports.to_placeholder": "Ex: \"2016-03-15\"", - "admin.compliance_table.desc": "Descrição", - "admin.compliance_table.download": "Download", - "admin.compliance_table.params": "Parâmetros", - "admin.compliance_table.records": "Registros", - "admin.compliance_table.status": "Status", - "admin.compliance_table.timestamp": "Timestamp", - "admin.compliance_table.type": "Tipo", - "admin.compliance_table.userId": "Solicitado Por", - "admin.connectionSecurityNone": "Nenhum", - "admin.connectionSecurityNoneDescription": "Mattermost irá conectar usando uma conexão insegura.", - "admin.connectionSecurityStart": "STARTTLS", - "admin.connectionSecurityStartDescription": "Obtém uma conexão insegura existente e tenta atualizá-la para uma conexão segura usando TLS.", - "admin.connectionSecurityTest": "Testar Conexão", - "admin.connectionSecurityTitle": "Segurança da Conexão:", - "admin.connectionSecurityTls": "TLS", - "admin.connectionSecurityTlsDescription": "Encriptar a comunicação entre Mattermost e o seu servidor.", - "admin.email.agreeHPNS": " Eu entendo e aceito o serviço de notificação push Mattermost HostedTermos do Serviço e Politica de Privacidade.", - "admin.email.allowEmailSignInDescription": "Quando verdadeiro, Mattermost permite aos usuários fazer login usando o e-mail e senha.", - "admin.email.allowEmailSignInTitle": "Permitir Login Com E-mail: ", - "admin.email.allowSignupDescription": "Quando verdadeiro, Mattermost permite a criação de equipe e conta de inscrição através de e-mail e senha. Este valor deve ser falso somente quando você deseja limitar a entrada para o single-sign-on service como OAuth ou LDAP.", - "admin.email.allowSignupTitle": "Permitir Inscrição com E-Mail: ", - "admin.email.allowUsernameSignInDescription": "Quando verdadeiro, Mattermost permite os usuários fazer login usando seu nome de usuário e senha. Esta configuração é normalmente utilizado apenas quando a verificação de e-mail está desativada.", - "admin.email.allowUsernameSignInTitle": "Permitir Login Com Usuário: ", - "admin.email.easHelp": "Leia mais sobre compilar e publicar seu próprio aplicativo móvel em Enterprise App Store.", - "admin.email.emailFail": "Conexão falhou: {error}", - "admin.email.emailSuccess": "Nenhum erro foram relatados durante o envio de um e-mail. Por favor verifique a sua caixa de entrada para se certificar.", - "admin.email.fullPushNotification": "Enviar trecho de mensagem", - "admin.email.genericPushNotification": "Enviar descrição genérica com nomes do usuário e canal", - "admin.email.inviteSaltDescription": "32-caracteres salt adicionados a assinatura de convites por e-mail. Aleatoriamente gerados na instalação. Click \"Re-Gerar\" para criar um novo salt.", - "admin.email.inviteSaltExample": "Ex \"bjlSR4QqkXFBr7TP4oDzlfZmcNuH9Yo\"", - "admin.email.inviteSaltTitle": "Salt Convite:", - "admin.email.mhpns": "Use criptografado, com qualidade de produção conexão HPNS com aplicativos Android e iOS", - "admin.email.mhpnsHelp": "Download Mattermost iOS app no iTunes. Download Mattermost Android app no Google Play. Leia mais sobre HPNS.", - "admin.email.mtpns": "Use apps iOS e Android no iTunes e Google Play com TPMS", - "admin.email.mtpnsHelp": "Download Mattermost iOS app no iTunes. Download Mattermost Android app no Google Play. Leia mais sobre TPNS.", - "admin.email.notificationDisplayDescription": "Mostra o nome da conta de e-mail usada quando a notificação de e-mail é enviado do Mattermost.", - "admin.email.notificationDisplayExample": "Ex: \"Mattermost Notificação\", \"Sistema\", \"Não-Responda\"", - "admin.email.notificationDisplayTitle": "Notificação Nome de Exibição:", - "admin.email.notificationEmailDescription": "Endereço de email mostrado na conta de email quando envia notificações do Mattermost.", - "admin.email.notificationEmailExample": "Ex: \"mattermost@yourcompany.com\", \"admin@yourcompany.com\"", - "admin.email.notificationEmailTitle": "Endereços de e-mail da notificação:", - "admin.email.notificationsDescription": "Normalmente definido como verdadeiro em produção. Quando verdadeiro, Mattermost tenta enviar notificações por e-mail. Os desenvolvedores podem definir este campo como falso para ignorar configuração de e-mail para o desenvolvimento mais rápido.
    A definição deste como verdadeiro remove a bandeira modo de visualização (requer sair e entrar novamente após a alteração).", - "admin.email.notificationsTitle": "Enviar Notificações por E-mail: ", - "admin.email.passwordSaltDescription": "32-caracteres de salt adicionado para assinar o redefinição de senha de e-mails. Gerada aleatoriamente na instalação. Clique em \"Re-Gerar\" para criar novos salt.", - "admin.email.passwordSaltExample": "Ex \"bjlSR4QqkXFBr7TP4oDzlfZmcNuH9Yo\"", - "admin.email.passwordSaltTitle": "Salt Reset Senha:", - "admin.email.pushContentDesc": "Selecionar \"Enviar descrição genérica com nomes de usuário e canal\" fornece envio de notificações push com mensagens genéricas, inclui nomes de usuários e canais mas não específica detalhes do texto da mensagem.

    Selecionar \"Enviar trecho da mensagem\" envia trechos da mensagem que desencadearam as notificações e pode incluir informações confidenciais enviadas na mensagem. Se o seu serviço de Envio de Notificação Push está fora de um firewall, é ALTAMENTE RECOMENDADO que está opção somente seja usada com o protocolo \"https\" para encriptar a conexão.", - "admin.email.pushContentTitle": "Conteúdo Notificação Push:", - "admin.email.pushDesc": "Normalmente definida como verdadeiro na produção. Quando verdadeiro, Mattermost tenta enviar notificações push no iOS e Android, através do servidor de notificação push.", - "admin.email.pushOff": "Não enviar notificações push", - "admin.email.pushOffHelp": "Por favor veja documentação de notificações push para aprender mais sobre as opções de configurações.", - "admin.email.pushServerDesc": "Localização do serviço de notificação push Mattermost você pode configurar por trás do firewall usando https://github.com/mattermost/push-proxy. Para testar, você pode usar http://push-test.mattermost.com, que liga à amostra do app Mattermost iOS na Apple AppStore pública. Por favor, não use o serviço de teste para implantações de produção.", - "admin.email.pushServerEx": "Ex: \"http://push-test.mattermost.com\"", - "admin.email.pushServerTitle": "Servidor de Notificação Push:", - "admin.email.pushTitle": "Enviar Notificações Push: ", - "admin.email.requireVerificationDescription": "Normalmente definido como verdadeiro em produção. Quando verdadeiro, Mattermost requer a verificação de e-mail após a criação da conta antes de permitir login. Os desenvolvedores podem definir este campo como falso para ignorar o envio de e-mails de verificação para o desenvolvimento mais rápido.", - "admin.email.requireVerificationTitle": "Requer Verificação de E-mail: ", - "admin.email.selfPush": "Manualmente entre a localização do Serviço de Notificação Push", - "admin.email.smtpPasswordDescription": " Obter essa credencial do administrador das configurações do servidor de email.", - "admin.email.smtpPasswordExample": "Ex: \"suasenha\", \"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", - "admin.email.smtpPasswordTitle": "Senha SMTP:", - "admin.email.smtpPortDescription": "Porta do servidor de e-mail SMTP.", - "admin.email.smtpPortExample": "Ex: \"25\", \"465\"", - "admin.email.smtpPortTitle": "Porta SMTP:", - "admin.email.smtpServerDescription": "Localização do servidor de e-mail SMTP.", - "admin.email.smtpServerExample": "Ex: \"smtp.suaempresa.com\", \"email-smtp.us-east-1.amazonaws.com\"", - "admin.email.smtpServerTitle": "Servidor SMTP:", - "admin.email.smtpUsernameDescription": " Obter essa credencial do administrador das configurações do servidor de email.", - "admin.email.smtpUsernameExample": "Ex: \"admin@yourcompany.com\", \"AKIADTOVBGERKLCBV\"", - "admin.email.smtpUsernameTitle": "Usuário SMTP:", - "admin.email.testing": "Testando...", - "admin.false": "falso", - "admin.gitab.clientSecretDescription": "Obter este valor de acordo com as instruções acima para logar no GitLab.", - "admin.gitlab.EnableHtmlDesc": "
    1. Faça login na sua conta do GitLab e vá para Configurações do Perfil -> Aplicativos.
    2. Digite redirecionamento URIs \"/login/gitlab/complete\" (exemplo: http://localhost:8065/login/gitlab/complete) e \"/signup/gitlab/complete\".
    3. Em seguida use os campos \"Secret\" e \"Id\" do Gitlab para completar as opções abaixo.
    4. Complete o Endpoint com as URLs abaixo.
    ", - "admin.gitlab.authDescription": "Entre https:///oauth/authorize (exemplo https://example.com:3000/oauth/authorize). Tenha certeza de usar HTTP ou HTTPS na sua URL dependendo da configuração do seu servidor.", - "admin.gitlab.authExample": "Ex \"https:///oauth/authorize\"", - "admin.gitlab.authTitle": "Autenticação Endpoint:", - "admin.gitlab.clientIdDescription": "Obter este valor de acordo com as instruções acima para logar no GitLab", - "admin.gitlab.clientIdExample": "Ex \"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", - "admin.gitlab.clientIdTitle": "Id:", - "admin.gitlab.clientSecretExample": "Ex \"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", - "admin.gitlab.clientSecretTitle": "Segredo:", - "admin.gitlab.enableDescription": "Quando verdadeiro, Mattermost permite a criação de equipes e inscrições de conta usando GitLab OAuth.", - "admin.gitlab.enableTitle": "Permitir Inscrição Com GitLab: ", - "admin.gitlab.settingsTitle": "Configurações GitLab", - "admin.gitlab.tokenDescription": "Digite https:///oauth/token. Certifique-se de usar HTTP ou HTTPS na sua URL dependendo da configuração de seu servidor.", - "admin.gitlab.tokenExample": "Ex \"https:///oauth/token\"", - "admin.gitlab.tokenTitle": "Token Endpoint:", - "admin.gitlab.userDescription": "Digite https:///api/v3/user. Certifique-se de usar HTTP ou HTTPS na sua URL dependendo da configuração de seu servidor.", - "admin.gitlab.userExample": "Ex \"https:///api/v3/user\"", - "admin.gitlab.userTitle": "API Usuário Endpoint:", - "admin.image.amazonS3BucketDescription": "Nome selecionado para o seu S3 bucket in AWS.", - "admin.image.amazonS3BucketExample": "Ex \"mattermost-media\"", - "admin.image.amazonS3BucketTitle": "Amazon S3 Bucket:", - "admin.image.amazonS3IdDescription": "Obter essa credencial do seu administrador Amazon EC2.", - "admin.image.amazonS3IdExample": "Ex \"AKIADTOVBGERKLCBV\"", - "admin.image.amazonS3IdTitle": "Amazon S3 Access Key Id:", - "admin.image.amazonS3RegionDescription": "Região AWS selecionada para a criação do seu S3 bucket.", - "admin.image.amazonS3RegionExample": "Ex \"us-east-1\"", - "admin.image.amazonS3RegionTitle": "Amazon S3 Region:", - "admin.image.amazonS3SecretDescription": "Obter essa credencial do seu administrador Amazon EC2.", - "admin.image.amazonS3SecretExample": "Ex \"jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY\"", - "admin.image.amazonS3SecretTitle": "Amazon S3 Secret Access Key:", - "admin.image.localDescription": "Diretório o qual os arquivos de imagens são gravados. Se estiver em branco, será usado ./data/.", - "admin.image.localExample": "Ex \"./data/\"", - "admin.image.localTitle": "Localização do Diretório Local:", - "admin.image.previewHeightDescription": "Altura máxima da imagem de pré-visualização (\"0\": Define como tamanho automático). Atualizando este valor muda como as imagens de pré-visualização serão exibidas no futuro, mas não altera as imagens já criadas.", - "admin.image.previewHeightExample": "Ex \"0\"", - "admin.image.previewHeightTitle": "Visualização Altura:", - "admin.image.previewWidthDescription": "Largura máxima da imagem de pré-visualização. Atualizando este valor muda como as imagens de pré-visualização serão mostradas no futuro, mas não altera as imagens já criadas.", - "admin.image.previewWidthExample": "Ex \"1024\"", - "admin.image.previewWidthTitle": "Largura da Visualização:", - "admin.image.profileHeightDescription": "Altura da imagem do perfil.", - "admin.image.profileHeightExample": "Ex \"0\"", - "admin.image.profileHeightTitle": "Altura Perfil:", - "admin.image.profileWidthDescription": "Largura do imagem do perfil.", - "admin.image.profileWidthExample": "Ex \"1024\"", - "admin.image.profileWidthTitle": "Perfil Largura:", - "admin.image.publicLinkDescription": "32-caracteres salt adicionados a assinatura de links de imagens públicas. Aleatoriamente gerados na instalação. Click \"Re-Gerar\" para criar um novo salt.", - "admin.image.publicLinkExample": "Ex \"gxHVDcKUyP2y1eiyW8S8na1UYQAfq6J6\"", - "admin.image.publicLinkTitle": "Link Público Salt:", - "admin.image.shareDescription": "Permitir aos usuários compartilhar links públicos para arquivos e imagens.", - "admin.image.shareTitle": "Compartilhar Link Arquivo: ", - "admin.image.storeAmazonS3": "Amazon S3", - "admin.image.storeLocal": "Sistema de Arquivos Local", - "admin.image.storeTitle": "Armazenar Arquivos Em:", - "admin.image.thumbHeightDescription": "Altura dos thumbnails gerados das imagens enviadas. Atualizando este valor muda como o thumbnail das imagens serão geradas no futuro, mas não muda as imagens já criadas no passado.", - "admin.image.thumbHeightExample": "Ex \"100\"", - "admin.image.thumbHeightTitle": "Altura do Thumbnail:", - "admin.image.thumbWidthDescription": "Largura dos thumbnails gerados das imagens enviadas. Atualizando este valor muda como o thumbnail das imagens serão geradas no futuro, mas não muda as imagens já criadas no passado.", - "admin.image.thumbWidthExample": "Ex \"120\"", - "admin.image.thumbWidthTitle": "Largura do Thumbnail:", - "admin.ldap.bannerDesc": "Se um atributo de usuário de mudar no servidor LDAP, ele será atualizado na próxima vez que o usuário inserir suas credenciais para iniciar sessão no Mattermost. Isso inclui se um usuário estiver inativo ou removido de um servidor LDAP. Sincronização com servidores LDAP está prevista para um lançamento futuro.", - "admin.ldap.baseDesc": "Base DN é o nome distinto do local onde Mattermost deve começar sua busca para os usuários na árvore LDAP.", - "admin.ldap.baseEx": "Ex \"ou=Unit Name,dc=corp,dc=example,dc=com\"", - "admin.ldap.baseTitle": "BaseDN:", - "admin.ldap.bindPwdDesc": "Senha do usuário fornecido em \"Bind Username\".", - "admin.ldap.bindPwdTitle": "Vincular Senha:", - "admin.ldap.bindUserDesc": "O nome de usuário usado para realizar a pesquisa LDAP. Isso deve ser tipicamente uma conta criada especificamente para uso do Mattermost. Deve ter acesso limitado a ler a parte da árvore LDAP especificado no campo BaseDN.", - "admin.ldap.bindUserTitle": "Bind Username:", - "admin.ldap.emailAttrDesc": "O atributo no servidor LDAP que será usado para preencher os endereços de e-mail de usuários no Mattermost.", - "admin.ldap.emailAttrEx": "Ex \"mail\" ou \"userPrincipalName\"", - "admin.ldap.emailAttrTitle": "Atributo de E-mail:", - "admin.ldap.enableDesc": "Quando verdadeiro, Mattermost permite login utilizando LDAP", - "admin.ldap.enableTitle": "Ativar Login With LDAP:", - "admin.ldap.firstnameAttrDesc": "O atributo no servidor LDAP será usado para preencher o primeiro nome dos usuários no Mattermost.", - "admin.ldap.firstnameAttrEx": "Ex \"givenName\"", - "admin.ldap.firstnameAttrTitle": "Primeiro Nome do Atributo", - "admin.ldap.idAttrDesc": "O atributo no servidor LDAP que vai ser utilizado como um identificador único no Mattermost. Ele deve ser um atributo LDAP com um valor que não muda, como nome de usuário ou uid. Se atributo Id do usuário mudar, isto irá criar uma nova conta Mattermost não associada com a sua antiga. Este é o valor utilizado para efetuar login no Mattermost no campo \"Nome de usuário LDAP\" na página de login. Normalmente, este atributo é o mesmo que o campo “Atributo Nome de Usuário” acima. Se sua equipe usa tipicamente de domínio\\\\nome de usuário para fazer login em outros serviços com LDAP, você pode optar por colocar domínio\\\\nome de usuário neste campo para manter a consistência entre sites.", - "admin.ldap.idAttrEx": "Ex \"sAMAccountName\"", - "admin.ldap.idAttrTitle": "Atributo Id: ", - "admin.ldap.lastnameAttrDesc": "O atributo no servidor LDAP será usado para preencher o último nome dos usuários no Mattermost.", - "admin.ldap.lastnameAttrEx": "Ex \"sn\"", - "admin.ldap.lastnameAttrTitle": "Atributo Último Nome:", - "admin.ldap.loginNameDesc": "O texto placeholder que aparece no campo de login na página de login. O padrão é \"Usuário LDAP\".", - "admin.ldap.loginNameEx": "Ex \"Usuário LDAP\"", - "admin.ldap.loginNameTitle": "Nome do Campo Login:", - "admin.ldap.nicknameAttrDesc": "(Opcional) O atributo no servidor LDAP que será usado para preencher o apelido dos usuários no Mattermost.", - "admin.ldap.nicknameAttrEx": "Ex \"nickname\"", - "admin.ldap.nicknameAttrTitle": "Atributo Apelido:", - "admin.ldap.noLicense": "

    Nota:

    LDAP é um recurso empresarial. Sua licença atual não suporta LDAP. Clique aqui para informações e preços da licença empresarial.

    ", - "admin.ldap.portDesc": "A porta que o Mattermost irá usar para conectar ao servidor LDAP. Padrão é 389.", - "admin.ldap.portEx": "Ex \"389\"", - "admin.ldap.portTitle": "Porta LDAP:", - "admin.ldap.queryDesc": "O valor de tempo limite para consultas para o servidor LDAP. Aumentar se você está recebendo erros de tempo limite causados por um servidor LDAP lento.", - "admin.ldap.queryEx": "Ex \"60\"", - "admin.ldap.queryTitle": "Tempo limite de Consulta (segundos):", - "admin.ldap.serverDesc": "O domínio ou o endereço IP do servidor LDAP.", - "admin.ldap.serverEx": "Ex \"10.0.0.23\"", - "admin.ldap.serverTitle": "Servidor LDAP:", - "admin.ldap.skipCertificateVerification": "Pular a Verificação do Certificado", - "admin.ldap.skipCertificateVerificationDesc": "Pula a etapa de verificação do certificado para conexões TLS ou STARTTLS. Não recomentado para ambientes de produção onde TLS é necessário. Apenas para teste.", - "admin.ldap.uernameAttrDesc": "O atributo no servidor LDAP que será usado para preencher o campo nome de usuário no Mattermost. Este pode ser o mesmo que o Atributo ID.", - "admin.ldap.userFilterDisc": "Opcionalmente, insira um filtro LDAP para usar ao procurar por objetos de usuário. Somente os usuários selecionados pela consulta serão capazes de acessar o Mattermost. Para o Active Directory, a consulta para filtrar os usuários desativados é (&(objectCategory=Person)(!(UserAccountControl:1.2.840.113556.1.4.803:=2))).", - "admin.ldap.userFilterEx": "Ex. \"(objectClass=user)\"", - "admin.ldap.userFilterTitle": "Filtro de Usuário:", - "admin.ldap.usernameAttrEx": "Ex \"sAMAccountName\"", - "admin.ldap.usernameAttrTitle": "Atributo do Usuário:", - "admin.license.choose": "Escolha o Arquivo", - "admin.license.chooseFile": "Escolha um Arquivo", - "admin.license.edition": "Edição: ", - "admin.license.key": "Chave da Licença: ", - "admin.license.keyRemove": "Remover a Licença Enterprise e fazer Downgrade do Servidor", - "admin.license.noFile": "Nenhum arquivo enviado", - "admin.license.removing": "Removendo a Licença...", - "admin.license.title": "Edição e Licença", - "admin.license.type": "Licença: ", - "admin.license.upload": "Enviar", - "admin.license.uploadDesc": "Enviar uma chave da licença para Mattermost Enterprise Edition para fazer upgrade deste servidor. Visite-nos online para saber mais sobre os beneficios da Enterprise Edition ou para comprar uma chave.", - "admin.license.uploading": "Enviando Licença...", - "admin.log.consoleDescription": "Normalmente definido como falso em produção. Os desenvolvedores podem definir este campo como verdadeiro para mensagens de log de saída no console baseado na opção de nível de console. Se verdadeiro, o servidor escreve mensagens para o fluxo de saída padrão (stdout).", - "admin.log.consoleTitle": "Log Para o Console: ", - "admin.log.fileDescription": "Normalmente definido como verdadeiro em produção. Quando verdadeiro, arquivos de log são gravados no arquivo de log especificado no campo de localização abaixo.", - "admin.log.fileLevelDescription": "Esta configuração determina o nível de detalhe que são gravados no log de eventos no console. ERROR: Saídas somente mensagens de erro. INFO: Saídas de mensagens de erro e informações em torno de inicialização. DEBUG: Impressões de alto detalhe para desenvolvedores que trabalham na depuração de problemas.", - "admin.log.fileLevelTitle": "Nível do Arquivo de Log:", - "admin.log.fileTitle": "Log para o Arquivo: ", - "admin.log.formatDateLong": "Data (2006/01/02)", - "admin.log.formatDateShort": "Data (01/02/06)", - "admin.log.formatDescription": "Formato da mensagem de saída do log. Se branco será ajustador para \"[%D %T] [%L] %M\", onde:", - "admin.log.formatLevel": "Nível (DEBG, INFO, EROR)", - "admin.log.formatMessage": "Mensagem", - "admin.log.formatPlaceholder": "Entre seu formato de arquivo", - "admin.log.formatSource": "Origem", - "admin.log.formatTime": "Hora (15:04:05 MST)", - "admin.log.formatTitle": "Formato do Arquivo:", - "admin.log.levelDescription": "Esta configuração determina o nível de detalhe que são gravados no log de eventos no console. ERROR: Saídas somente mensagens de erro. INFO: Saídas de mensagens de erro e informações em torno de inicialização. DEBUG: Impressões de alto detalhe para desenvolvedores que trabalham na depuração de problemas.", - "admin.log.levelTitle": "Nível de Log Console:", - "admin.log.locationDescription": "Arquivo para o qual os arquivos de log são escritos. Se estiver em branco, será definido para ./logs/mattermost, que grava logs em mattermost.log. Rotação de log está habilitada a cada 10.000 linhas de informações de log gravada para novos arquivos armazenados no mesmo diretório, por exemplo mattermost.2015-09-23.001, mattermost.2015-09-23.002, e assim por diante.", - "admin.log.locationPlaceholder": "Entre a localização do seu arquivo", - "admin.log.locationTitle": "Local do Arquivo:", - "admin.log.logSettings": "Configurações de Log", - "admin.logs.reload": "Recarregar", - "admin.logs.title": "Log do Servidor", - "admin.nav.help": "Ajuda", - "admin.nav.logout": "Sair", - "admin.nav.report": "Relatar um Problema", - "admin.nav.switch": "Seleção de Equipe", - "admin.privacy.showEmailDescription": "Quando falso, esconde endereço de e-mail dos outros usuários na interface do usuário, incluindo donos da equipe e administradores da equipe. Usado quando o sistema está configurado para gerenciar equipes onde alguns usuários optam por manter suas informações de contato privado.", - "admin.privacy.showEmailTitle": "Mostrar Endereços de Email: ", - "admin.privacy.showFullNameDescription": "Quando falso, oculta o nome completo dos usuários dos outros usuários, incluindo donos de equipe e administradores de equipe. Nome de usuário é mostrado no lugar do nome completo.", - "admin.privacy.showFullNameTitle": "Mostrar Nome Completo: ", - "admin.rate.enableLimiterDescription": "Quando verdadeiro, as APIs são estranguladas para as taxas especificadas abaixo.", - "admin.rate.enableLimiterTitle": "Ativar Rate Limiter: ", - "admin.rate.httpHeaderDescription": "Quando preenchido, variam limitação de taxa pelo compo cabeçalho HTTP especificado (ex. quando configurado NGINX ajustado para \"X-Real-IP\", quando configurado AmazonELB ajustado para \"X-Forwarded-For\").", - "admin.rate.httpHeaderExample": "Ex \"X-Real-IP\", \"X-Forwarded-For\"", - "admin.rate.httpHeaderTitle": "Varia Pelo Cabeçalho HTTP:", - "admin.rate.memoryDescription": "Número máximo de sessões de usuários conectados ao sistema conforme determinado nas configurações abaixo \"Varia Por Endereço Remoto\" e \"Varia Pelo Cabeçalho\".", - "admin.rate.memoryExample": "Ex \"10000\"", - "admin.rate.memoryTitle": "Tamanho da Memória de Armazenamento:", - "admin.rate.noteDescription": "Alterando as propriedades nesta seção irá exigir que o servidor seja reiniciado para que tenha efeito.", - "admin.rate.noteTitle": "Nota:", - "admin.rate.queriesDescription": "Estrangula API neste número de solicitações por segundo.", - "admin.rate.queriesExample": "Ex \"10\"", - "admin.rate.queriesTitle": "Número De Consultas Por Segundo:", - "admin.rate.remoteDescription": "Quando verdadeiro, taxa limite de acesso de API por endereço de IP.", - "admin.rate.remoteTitle": "Varia Por Endereço Remoto: ", - "admin.recycle.button": "Reciclar Conexão do Banco de Dados", - "admin.recycle.loading": " Reciclando...", - "admin.recycle.reloadFail": "Reciclagem malsucedida: {error}", - "admin.regenerate": "Re-Gerar", - "admin.reload.button": "Recarregar Configuração do Disco", - "admin.reload.loading": " Carregando...", - "admin.reload.reloadFail": "Recarregamento malsucedido: {error}", - "admin.reset_password.close": "Fechar", - "admin.reset_password.newPassword": "Nova Senha", - "admin.reset_password.select": "Selecionar", - "admin.reset_password.submit": "Por favor, insira pelo menos {chars} caracteres.", - "admin.reset_password.titleReset": "Resetar Senha", - "admin.reset_password.titleSwitch": "Trocar a conta para e-mail/senha", - "admin.select_team.close": "Fechar", - "admin.select_team.select": "Selecionar", - "admin.select_team.selectTeam": "Selecione Equipe", - "admin.service.attemptDescription": "Tentativas de login permitidas antes que do usuário ser bloqueado e necessário redefinir a senha por e-mail.", - "admin.service.attemptExample": "Ex \"10\"", - "admin.service.attemptTitle": "Máxima Tentativas de Login:", - "admin.service.cmdsDesc": "Quando verdadeiro, comandos slash criados por usuários serão permitidos.", - "admin.service.cmdsTitle": "Ativar Comandos Slash: ", - "admin.service.corsDescription": "Ativar requisição de origem HTTP Cross dos domínios especificados (separados por espaço). Usar \"*\" se você quiser permitir CORS de qualquer domínio ou deixe em branco para desativar.", - "admin.service.corsEx": "http://example.com", - "admin.service.corsTitle": "Permitir Requisição Cross-origin de:", - "admin.service.developerDesc": "(Opção dos desenvolvedores) Quando verdadeira, a informação extra em torno dos erros será exibida na UI.", - "admin.service.developerTitle": "Ativar o Modo Desenvolvedor: ", - "admin.service.googleDescription": "Defina esta chave para permitir a incorporação de pré-visualizações de vídeo do YouTube com base em hiperlinks que aparecem nas mensagens ou comentários. Instruções para obter uma chave disponível em https://www.youtube.com/watch?v=Im69kzhpR3I. Deixando o campo em branco desabilita a geração automática de pré-visualizações de vídeo do YouTube a partir de links.", - "admin.service.googleExample": "Ex \"7rAh6iwQCkV4cA1Gsg3fgGOXJAQ43QV\"", - "admin.service.googleTitle": "Chave do Google Developer:", - "admin.service.iconDescription": "Quando verdadeiro, será permitido webhooks e comandos slash mudar o icone com que eles postam. Note, combinado com permitir substituição de usuário, isto pode permitir que o usuário faça ataque phishing.", - "admin.service.iconTitle": "Ativar substituição do Ícone de Webhooks e Comandos Slash: ", - "admin.service.insecureTlsDesc": "Quando verdadeiro, quaisquer pedidos de HTTPS de saída vão aceitar certificados não verificados ou auto-assinados. Por exemplo, webhooks de saída para um servidor com um certificado TLS auto-assinado, usando qualquer domínio, serão permitidos. Note-se que isso faz com que essas conexões sejam suscetíveis a ataques man-in-the-middle.", - "admin.service.insecureTlsTitle": "Ativar Conexões de Saída Inseguras: ", - "admin.service.integrationAdmin": "Ativar Integração para Admin Somente: ", - "admin.service.integrationAdminDesc": "Quando verdadeiro, integrações de usuário somente poderão ser criadas pelos admins.", - "admin.service.listenAddress": "Endereço à Escutar:", - "admin.service.listenDescription": "O endereço para o qual ligar e ouvir. Inserir \":8065\" irá ligar para todas as interfaces, ou você pode escolher um como \"127.0.0.1:8065\". Essa mudança irá exigir uma reinicialização do servidor antes de ter efeito.", - "admin.service.listenExample": "Ex \":8065\"", - "admin.service.mfaDesc": "Quando verdadeiro, vai ser dada a opção do usuário adicionar autenticação multi-fator em sua conta. Eles irão precisar de um smartphone e um app autenticador como o Google Authenticator.", - "admin.service.mfaTitle": "Ativar Autenticação Multi-Fator:", - "admin.service.mobileSessionDays": "Duração da sessão para o dispositivo móvel em Dias:", - "admin.service.mobileSessionDaysDesc": "A sessão móvel irá expirar depois do número de dias especificado e será requerido um usuário para logar novamente.", - "admin.service.outWebhooksDesc": "Quando verdadeiro, webhooks de saída serão permitidos.", - "admin.service.outWebhooksTitle": "Ativar Webhooks Saída: ", - "admin.service.overrideDescription": "Quando verdadeiro, será permitido webhooks e comandos slash mudar o icone com que eles postam. Note, combinado com permitir substituição de usuário, isto pode permitir que o usuário faça ataque phishing.", - "admin.service.overrideTitle": "Ativar Sobrescrever os Nomes de usuário a partir de Webhooks e Comandos Slash: ", - "admin.service.securityDesc": "Quando verdadeiro, os Administradores de Sistema são notificados por e-mail se uma relevante correção de segurança foi anunciado nos últimos 12 horas. Requer o e-mail para ser ativado.", - "admin.service.securityTitle": "Ativar Alertas de Segurança: ", - "admin.service.segmentDescription": "Para usuários usando um serviço SaaS, inscrever-se para uma chave no Segment.com para acompanhar métricas.", - "admin.service.segmentExample": "Ex \"g3fgGOXJAQ43QV7rAh6iwQCkV4cA1Gs\"", - "admin.service.segmentTitle": "Desenvolvedor Segmento Chave:", - "admin.service.sessionCache": "Cache da Sessão em Minutos:", - "admin.service.sessionCacheDesc": "O número de minutos para o cache de uma sessão na memória.", - "admin.service.sessionDaysEx": "Ex \"30\"", - "admin.service.ssoSessionDays": "Duração da Sessão para SSO em Dias:", - "admin.service.ssoSessionDaysDesc": "A sessão SSO irá expirar depois do número de dias especificado e será requerido um usuário para logar novamente.", - "admin.service.testingDescription": "(Opção Desenvolvedor) Quando verdadeiro, comando slash /loadtest está habilitado para carregar contas e testar e dados. Mudar isso exigirá um reinício do servidor antes que tenha efeito.", - "admin.service.testingTitle": "Ativar Teste: ", - "admin.service.webSessionDays": "Duração da Sessão em Dias para Web:", - "admin.service.webSessionDaysDesc": "A sessão web irá expirar depois do número de dias especificado e será requerido um usuário para logar novamente.", - "admin.service.webhooksDescription": "Quando verdadeiro, será permitido webhooks entrada. Para ajudar a combater os ataques de phishing, todos os posts de webhooks serão marcados por uma etiqueta BOT.", - "admin.service.webhooksTitle": "Ativar Webhooks Entrada: ", - "admin.sidebar.addTeamSidebar": "Adicionar equipe do menu lateral", - "admin.sidebar.audits": "Conformidade e Auditoria", - "admin.sidebar.authentication": "Autenticação", - "admin.sidebar.compliance": "Compliance", - "admin.sidebar.configuration": "Configuração", - "admin.sidebar.connections": "Conexões", - "admin.sidebar.customBrand": "Marca Personalizada", - "admin.sidebar.customization": "Customização", - "admin.sidebar.database": "Banco de dados", - "admin.sidebar.developer": "Desenvolvedor", - "admin.sidebar.email": "E-mail", - "admin.sidebar.external": "Serviços Externos", - "admin.sidebar.files": "Arquivos", - "admin.sidebar.general": "Geral", - "admin.sidebar.gitlab": "GitLab", - "admin.sidebar.images": "Imagens", - "admin.sidebar.integrations": "Integrações", - "admin.sidebar.ldap": "LDAP", - "admin.sidebar.license": "Edição e Licença", - "admin.sidebar.logging": "Acessando", - "admin.sidebar.login": "Login", - "admin.sidebar.logs": "Logs", - "admin.sidebar.notifications": "Notificações", - "admin.sidebar.other": "OUTROS", - "admin.sidebar.privacy": "Privacidade", - "admin.sidebar.publicLinks": "Links Públicos", - "admin.sidebar.push": "Notificação Móvel", - "admin.sidebar.rateLimiting": "Rate Limiting", - "admin.sidebar.reports": "RELATÓRIOS DO SITE", - "admin.sidebar.rmTeamSidebar": "Remover equipe do menu lateral", - "admin.sidebar.security": "Segurança", - "admin.sidebar.sessions": "Sessões", - "admin.sidebar.settings": "CONFIGURAÇÕES", - "admin.sidebar.sign_up": "Inscrever", - "admin.sidebar.statistics": "Estátisticas", - "admin.sidebar.storage": "Armazenamento", - "admin.sidebar.support": "Legal e Suporte", - "admin.sidebar.teams": "EQUIPES ({count, number})", - "admin.sidebar.users": "Usuários", - "admin.sidebar.usersAndTeams": "Usuários e Equipes", - "admin.sidebar.view_statistics": "Ver Estatísticas", - "admin.sidebar.webhooks": "Webhooks e Comandos", - "admin.sidebarHeader.systemConsole": "Console do Sistema", - "admin.sql.dataSource": "Fonte de Dados:", - "admin.sql.driverName": "Nome do Driver:", - "admin.sql.keyDescription": "32-caracteres de salt disponível para encriptar e desencriptar campos no banco de dados.", - "admin.sql.keyExample": "Ex \"gxHVDcKUyP2y1eiyW8S8na1UYQAfq6J6\"", - "admin.sql.keyTitle": "At Rest Encrypt Key:", - "admin.sql.maxConnectionsDescription": "Número máximo de conexões ociosas abertas para o banco de dados.", - "admin.sql.maxConnectionsExample": "Ex \"10\"", - "admin.sql.maxConnectionsTitle": "Máximo de Conexões Inativas:", - "admin.sql.maxOpenDescription": "Número máximo de conexões abertas para o banco de dados.", - "admin.sql.maxOpenExample": "Ex \"10\"", - "admin.sql.maxOpenTitle": "Máximo de Conexões Abertas:", - "admin.sql.noteDescription": "Alterando as propriedades nesta seção irá exigir que o servidor seja reiniciado para que tenha efeito.", - "admin.sql.noteTitle": "Nota:", - "admin.sql.replicas": "Replicas Fonte de Dados:", - "admin.sql.traceDescription": "(Modo Desenvolvedor) Quando verdadeiro, execução de instruções SQL será gravado no log.", - "admin.sql.traceTitle": "Rastreamento: ", - "admin.sql.warning": "Aviso: re-gerar este salt pode causar algumas colunas no banco de dados para retornar resultados vazios.", - "admin.support.aboutDesc": "Link para página Sobre para mais informações sobre a implantação do Mattermost, por exemplo a sua finalidade e público dentro de sua organização. Padrão página de informação Mattermost.", - "admin.support.aboutTitle": "Sobre link:", - "admin.support.emailHelp": "Email address displayed on email notifications and during tutorial for end users to ask support questions.", - "admin.support.emailTitle": "E-mail de suporte:", - "admin.support.helpDesc": "Link para documentação de ajuda para o site da equipe no menu principal. Normalmente não é alterado ao menos se sua empresa escolha criar uma documentação customizada.", - "admin.support.helpTitle": "Link de ajuda:", - "admin.support.noteDescription": "Se links para um site externo, URLs devem começar com http:// ou https://.", - "admin.support.noteTitle": "Nota:", - "admin.support.privacyDesc": "Link para Política de Privacidade para os usuários no desktop ou móvel. Deixando este espaço em branco irá esconder a opção de exibir um aviso.", - "admin.support.privacyTitle": "Link da Política de Privacidade:", - "admin.support.problemDesc": "Link para a documentação de ajuda do site no menu principal. Por padrão este aponta para um fórum peer-to-peer de solução de problemas onde os usuários podem pesquisar, encontrar e pedir ajuda com problemas técnicos.", - "admin.support.problemTitle": "Link para Reportar um Problema:", - "admin.support.termsDesc": "Link para os Termos de Serviço para os usuários no desktop ou móvel. Deixando este espaço em branco irá esconder a opção de exibir um aviso.", - "admin.support.termsTitle": "Link Termos do Serviço:", - "admin.system_analytics.activeUsers": "Usuários Ativos com Postagens", - "admin.system_analytics.title": "o Sistema", - "admin.system_analytics.totalPosts": "Total Posts", - "admin.team.brandDesc": "Ativar marca personalizada para mostrar uma imagem de sua escolha, carregado abaixo e algum texto de ajuda, escrito abaixo na página de login.", - "admin.team.brandImageTitle": "Imagem Personalizada da Marca:", - "admin.team.brandTextDescription": "O texto personalizado da marca formatado em Markdown que você gostaria que aparece-se abaixo da sua imagem de marca personalizada na tela de login.", - "admin.team.brandTextTitle": "Texto Personalizado da Marca:", - "admin.team.brandTitle": "Ativar Marca Personalizada: ", - "admin.team.chooseImage": "Escolha Nova Imagem", - "admin.team.dirDesc": "Quando verdadeiro, as equipes que estão configuradas para mostrar o diretório de equipe irá mostrar na página principal, em lugar de criar uma nova equipe.", - "admin.team.dirTitle": "Ativar Diretório de Equipe: ", - "admin.team.maxUsersDescription": "Número máximo total de usuários por equipe, incluindo ambos usuários ativos e inativos.", - "admin.team.maxUsersExample": "Ex \"25\"", - "admin.team.maxUsersTitle": "Máximo Usuários Por Equipe:", - "admin.team.noBrandImage": "Nenhuma imagem da marca carregada", - "admin.team.openServerDescription": "Quando verdadeiro, qualquer pessoa pode se inscrever para uma conta de usuário no servidor sem a necessidade de ser convidado.", - "admin.team.openServerTitle": "Ativar Servidor Aberto: ", - "admin.team.restrictDescription": "Equipes e contas de usuário só pode ser criada a partir de um domínio específico (ex. \"mattermost.org\") ou lista separada por vírgulas de domínios (ex. \"corp.mattermost.com, mattermost.org\").", - "admin.team.restrictDirectMessage": "Permitir que os usuários abram o canal de Mensagens Diretas com:", - "admin.team.restrictDirectMessageDesc": "'Qualquer usuário no servidor Mattermost' permite que os usuários abram um canal de Mensagens Diretas com qualquer usuário no servidor, mesmo se eles não estão em nenhuma equipe juntos. 'Qualquer membro da equipe' limita a habilidade de abrir um canal de Mensagens Diretas para somente os usuários que estão na mesma equipe.", - "admin.team.restrictExample": "Ex \"corp.mattermost.com, mattermost.org\"", - "admin.team.restrictNameDesc": "Quando verdadeiro, você não pode criar um nome de equipe com as palavras reservadas www, admin, support, test, channel, etc", - "admin.team.restrictNameTitle": "Restringir Nomes de Equipe: ", - "admin.team.restrictTitle": "Restringir Criação Para os Domínios:", - "admin.team.restrict_direct_message_any": "Qualquer usuário no Servidor Mattermost", - "admin.team.restrict_direct_message_team": "Qualquer membro da equipe", - "admin.team.siteNameDescription": "Nome do serviço mostrado na tela de início da sessão e na UI.", - "admin.team.siteNameExample": "Ex \"Mattermost\"", - "admin.team.siteNameTitle": "Nome do Site:", - "admin.team.teamCreationDescription": "Quando falso, a capacidade de criar equipes é desativada. O botão criar equipe apresenta erro quando pressionado.", - "admin.team.teamCreationTitle": "Habilitar a Criação de Equipes: ", - "admin.team.upload": "Enviar", - "admin.team.uploadDesc": "Personalizar sua experiência como usuário, adicionando uma imagem personalizada na tela de login. Veja exemplos em docs.mattermost.com/administration/config-settings.html#custom-branding.", - "admin.team.uploaded": "Enviado!", - "admin.team.uploading": "Enviando..", - "admin.team.userCreationDescription": "Quando falso, a capacidade de criar contas é desativada. O botão criar conta apresenta erro quando pressionado.", - "admin.team.userCreationTitle": "Permitir A Criação De Usuário: ", - "admin.team_analytics.activeUsers": "Usuários Ativos Com Postagens", - "admin.team_analytics.totalPosts": "Total Posts", - "admin.true": "verdadeiro", - "admin.userList.title": "Usuários para {team}", - "admin.userList.title2": "Usuários para {team} ({count})", - "admin.user_item.authServiceEmail": ", Método de Login: Email", - "admin.user_item.authServiceNotEmail": ", Método de Login: {service}", - "admin.user_item.confirmDemoteDescription": "Se você rebaixar você mesmo de Admin de Sistema e não exista outro usuário como privilegios de Admin de Sistema, você precisa-rá re-inscrever um Admin de Sistema acessando o servidor Mattermost através do terminal e executando o seguinte comando.", - "admin.user_item.confirmDemoteRoleTitle": "Confirmar rebaixamento para Admin do Sistema", - "admin.user_item.confirmDemotion": "Confirmar Rebaixamento", - "admin.user_item.confirmDemotionCmd": "platform -assign_role -team_name=\"yourteam\" -email=\"name@yourcompany.com\" -role=\"system_admin\"", - "admin.user_item.emailTitle": "Email: {email}", - "admin.user_item.inactive": "Inativo", - "admin.user_item.makeActive": "Tornar Ativo", - "admin.user_item.makeInactive": "Tornar Inativo", - "admin.user_item.makeMember": "Tornar um Membro", - "admin.user_item.makeSysAdmin": "Tornar Admin do Sistema", - "admin.user_item.makeTeamAdmin": "Tornar Admin de Equipe", - "admin.user_item.member": "Membro", - "admin.user_item.mfaNo": ", MFA: Não", - "admin.user_item.mfaYes": ", MFA: Sim", - "admin.user_item.resetMfa": "Remover MFA", - "admin.user_item.resetPwd": "Resetar Senha", - "admin.user_item.switchToEmail": "Trocar para Email/Senha", - "admin.user_item.sysAdmin": "Admin do Sistema", - "admin.user_item.teamAdmin": "Admin Equipe", - "analytics.chart.loading": "Carregando...", - "analytics.chart.meaningful": "Não há dados suficientes para uma representação significativa.", - "analytics.system.activeUsers": "Usuários Ativos Com Posts", - "analytics.system.channelTypes": "Tipos de Canal", - "analytics.system.expiredBanner": "The Enterprise license expired on {date}. You have 15 days from this date to renew the license, please contact commercial@mattermost.com.", - "analytics.system.expiringBanner": "The Enterprise license is expiring on {date}. To renew your license, please contact commercial@mattermost.com.", - "analytics.system.postTypes": "Posts, Arquivos e Hashtags", - "analytics.system.privateGroups": "Grupos Privados", - "analytics.system.publicChannels": "Canais Públicos", - "analytics.system.textPosts": "Post com Texto somente", - "analytics.system.title": "Estatísticas do Sistema", - "analytics.system.totalChannels": "Total de Canais", - "analytics.system.totalCommands": "Total de Comandos", - "analytics.system.totalFilePosts": "Posts com Arquivos", - "analytics.system.totalHashtagPosts": "Posts com Hashtags", - "analytics.system.totalIncomingWebhooks": "Webhooks Entrada", - "analytics.system.totalOutgoingWebhooks": "Webhooks Saída", - "analytics.system.totalPosts": "Total Posts", - "analytics.system.totalSessions": "Total de Sessões", - "analytics.system.totalTeams": "Total de Equipes", - "analytics.system.totalUsers": "Total de Usuários", - "analytics.team.activeUsers": "Usuários Ativos Com Posts", - "analytics.team.newlyCreated": "Novos Usuários Criados", - "analytics.team.privateGroups": "Grupos Privados", - "analytics.team.publicChannels": "Canais Públicos", - "analytics.team.recentActive": "Usuários Ativos Recentes", - "analytics.team.recentUsers": "Usuários Ativos Recentes", - "analytics.team.title": "Estatísticas de Equipe para {team}", - "analytics.team.totalPosts": "Total Posts", - "analytics.team.totalUsers": "Total de Usuários", - "audit_table.accountActive": "Conta inativada", - "audit_table.accountInactive": "Conta inativada", - "audit_table.action": "Ação", - "audit_table.attemptedAllowOAuthAccess": "Tentativa de permitir um novo acesso ao serviço OAuth", - "audit_table.attemptedLicenseAdd": "Tentativa de adicionar uma nova licença", - "audit_table.attemptedLogin": "Tentou login", - "audit_table.attemptedOAuthToken": "Tentativa de obter um token de acesso OAuth", - "audit_table.attemptedPassword": "Tentativa de mudar a senha", - "audit_table.attemptedRegisterApp": "Tentativa de registrar um novo Aplicativo OAuth com ID {id}", - "audit_table.attemptedReset": "Tentativa de resetar a senha", - "audit_table.attemptedWebhookCreate": "Tentativa de criar um webhook", - "audit_table.attemptedWebhookDelete": "Tentativa de deletar um webhook", - "audit_table.by": " por {username}", - "audit_table.byAdmin": " por um admin", - "audit_table.channelCreated": "Criado o {channelName} canal/grupo", - "audit_table.channelDeleted": "Excluído o canal/grupo com a URL {url}", - "audit_table.establishedDM": "Estabelecido uma mensagem direta para o canal com {username}", - "audit_table.failedExpiredLicenseAdd": "Falha ao adicionar uma nova licença uma vez que expirou ou ainda não foi iniciado", - "audit_table.failedInvalidLicenseAdd": "Falha ao adicionar um licença inválida", - "audit_table.failedLogin": "FALHA na tentativa de login", - "audit_table.failedOAuthAccess": "Falha ao permitir um novo acesso ao serviço OAuth - a URI de redirecionamento não coincide com o retorno de chamada registrado anteriormente", - "audit_table.failedPassword": "Falha ao alterar a senha - tentado atualizar a senha do usuário que estava conectado através do oauth", - "audit_table.failedWebhookCreate": "Falha ao criar uma webhook - sem permissão do canal", - "audit_table.failedWebhookDelete": "Falha ao deletar um webhook - condições inapropriadas", - "audit_table.headerUpdated": "Atualizado o {channelName} canal/cabeçalho de grupo", - "audit_table.ip": "Endereço de IP", - "audit_table.licenseRemoved": "Licença removida com sucesso", - "audit_table.loginAttempt": " (Tentativa de login)", - "audit_table.loginFailure": " (Falha de login)", - "audit_table.logout": "Logado fora da sua conta", - "audit_table.member": "membro", - "audit_table.nameUpdated": "Atualizado nome canal/grupo {channelName}", - "audit_table.oauthTokenFailed": "Falha ao obter um token de acesso OAuth - {token}", - "audit_table.revokedAll": "Revogada todas as sessões atuais para a equipe", - "audit_table.sentEmail": "Enviado um email para {email} para resetar sua senha", - "audit_table.session": "ID da Sessão", - "audit_table.sessionRevoked": "A sessão com id {sessionId} foi revogada", - "audit_table.successfullLicenseAdd": "Nova licença adicionada com sucesso", - "audit_table.successfullLogin": "Logado com sucesso", - "audit_table.successfullOAuthAccess": "Dado novo acesso ao serviço OAuth com sucesso", - "audit_table.successfullOAuthToken": "Adicionado um novo serviço OAuth com sucesso", - "audit_table.successfullPassword": "Senha alterada com sucesso", - "audit_table.successfullReset": "Senha resetada com sucesso", - "audit_table.successfullWebhookCreate": "Criado com sucesso um webhook", - "audit_table.successfullWebhookDelete": "Criado com sucesso um webhook", - "audit_table.timestamp": "Timestamp", - "audit_table.updateGeneral": "Atualizado as configurações gerais da sua conta", - "audit_table.updateGlobalNotifications": "Atualizado suas definições globais de notificação", - "audit_table.updatePicture": "Atualizado sua imagem do perfil", - "audit_table.updatedRol": "Atualizado as função(ões) do usuário para ", - "audit_table.userAdded": "Adicionado {username} para o canal/grupo {channelName}", - "audit_table.userId": "Usuário ID", - "audit_table.userRemoved": "Removido {username} canal/grupo {channelName}", - "audit_table.verified": "Seu endereço de e-mail foi verificado com suscesso", - "authorize.access": "Permitir acesso {appName}?", - "authorize.allow": "Permitir", - "authorize.app": "O app {appName} gostaria de ter a capacidade de acessar e modificar suas informações básicas.", - "authorize.deny": "Negar", - "authorize.title": "Um aplicativo gostaria de conectar na sua conta {teamName}", - "backstage_navbar.backToMattermost": "Voltar para {siteName}", - "backstage_sidebar.integrations": "Integrações", - "backstage_sidebar.integrations.commands": "Comandos Slash", - "backstage_sidebar.integrations.incoming_webhooks": "Webhooks Entrada", - "backstage_sidebar.integrations.outgoing_webhooks": "Webhooks Saída", - "center_panel.recent": "Clique aqui para pular para mensagens recentes. ", - "chanel_header.addMembers": "Adicionar Membros", - "change_url.close": "Fechar", - "change_url.endWithLetter": "Deve teminar com uma letra ou número", - "change_url.invalidUrl": "URL inválida", - "change_url.longer": "Deve ter mais de dois caracteres", - "change_url.noUnderscore": "Não pode conter dois sublinhados consecutivos.", - "change_url.startWithLetter": "Deve começar com uma letra ou número", - "channel_flow.alreadyExist": "Um canal com essa URL já existe", - "channel_flow.changeUrlDescription": "Alguns caracteres não são permitidos nas URLs e podem ser removidos.", - "channel_flow.changeUrlTitle": "Alterar URL {term}", - "channel_flow.channel": "Canal", - "channel_flow.create": "Criar {term}", - "channel_flow.group": "Grupo", - "channel_flow.invalidName": "Nome do Canal Inválido", - "channel_flow.set_url_title": "Ajustar URL {term}", - "channel_header.channel": "Canal", - "channel_header.channelHeader": "Definir Cabeçalho do Canal...", - "channel_header.delete": "Deletar {term}...", - "channel_header.group": "Grupo", - "channel_header.leave": "Sair {term}", - "channel_header.manageMembers": "Gerenciar Membros", - "channel_header.notificationPreferences": "Preferências de Notificação", - "channel_header.recentMentions": "Menções Recentes", - "channel_header.rename": "Renomear {term}...", - "channel_header.setHeader": "Definir Cabeçalho do {term}...", - "channel_header.setPurpose": "Ajustar Propósito {term}...", - "channel_header.viewInfo": "Ver Informações", - "channel_info.close": "Fechar", - "channel_info.id": "Canal ID:", - "channel_info.name": "Nome do Canal:", - "channel_info.notFound": "Nenhum Canal Encontrado", - "channel_info.purpose": "Propósito do Canal:", - "channel_info.url": "URL do Canal:", - "channel_invite.add": " Adicionar", - "channel_invite.addNewMembers": "Adicionar Novo Membro para ", - "channel_invite.close": "Fechar", - "channel_loader.connection_error": "Parece existir um problema com a sua conexão de internet.", - "channel_loader.posted": "Postado", - "channel_loader.socketError": "Por favor verifique sua conexão, Mattermost está inalcançável. Se este problema persistir, peça ao administrador para verificar a porta WebSocket.", - "channel_loader.someone": "Alguém", - "channel_loader.something": " fez algo novo", - "channel_loader.unknown_error": "Recebido um código de status inesperado do servidor.", - "channel_loader.uploadedFile": " enviado um arquivo", - "channel_loader.uploadedImage": " enviado uma imagem", - "channel_loader.wrote": " escreveu: ", - "channel_members_modal.addNew": " Adicionar Novos Membros", - "channel_members_modal.close": "Fechar", - "channel_members_modal.remove": "Remover", - "channel_memebers_modal.members": " Membros", - "channel_modal.cancel": "Cancelar", - "channel_modal.channel": "Canal", - "channel_modal.createNew": "Criar Novo ", - "channel_modal.descriptionHelp": "Descreva como este {term} pode ser usado.", - "channel_modal.displayNameError": "Este campo é obrigatório", - "channel_modal.edit": "Editar", - "channel_modal.group": "Grupo", - "channel_modal.modalTitle": "Novo ", - "channel_modal.name": "Nome", - "channel_modal.nameEx": "Ex.: \"Bugs\", \"Marketing\", \"办公室恋情\"", - "channel_modal.optional": "(opcional)", - "channel_modal.privateGroup1": "Criar um novo grupo privado com membros restritos. ", - "channel_modal.privateGroup2": "Criar um grupo privado", - "channel_modal.publicChannel1": "Criar um canal público", - "channel_modal.publicChannel2": "Criar um novo canal público para qualquer um participar. ", - "channel_modal.purpose": "Propósito", - "channel_notifications.allActivity": "Para todas as atividades", - "channel_notifications.allUnread": "Para todas as mensagens não lidas", - "channel_notifications.globalDefault": "Global padrão ({notifyLevel})", - "channel_notifications.markUnread": "Marcar Canal como Não Lido", - "channel_notifications.never": "Nunca", - "channel_notifications.onlyMentions": "Somente para menções", - "channel_notifications.override": "Selecionar uma opção diferente do \"Padrão\" vai substituir as configurações de notificação global. Notificações na área de trabalho estão disponíveis no Firefox, Safari e Chrome.", - "channel_notifications.preferences": "Preferências de Notificação para ", - "channel_notifications.sendDesktop": "Enviar notificações de desktop", - "channel_notifications.unreadInfo": "O nome do canal fica em negrito na barra lateral quando houver mensagens não lidas. Selecionando \"Apenas menções\" o canal vai ficar em negrito apenas quando você for mencionado.", - "channel_select.placeholder": "--- Selecione um canal ---", - "choose_auth_page.emailCreate": "Criar uma nova equipe com endereço de email", - "choose_auth_page.find": "Encontrar minhas equipes", - "choose_auth_page.gitlabCreate": "Criar uma equipe com uma conta GitLab", - "choose_auth_page.googleCreate": "Criar nova equipe com a Conta do Google Apps", - "choose_auth_page.ldapCreate": "Criar uma nova equipe com uma conta LDAP", - "choose_auth_page.noSignup": "Nenhum método de inscrição configurado, por favor contate seu administrador do sistema.", - "claim.account.noEmail": "Nenhum email específicado", - "claim.email_to_ldap.enterLdapPwd": "Entre o ID e a senha para sua conta LDAP", - "claim.email_to_ldap.enterPwd": "Entre a senha para o sua conta de email no {site}", - "claim.email_to_ldap.ldapId": "LDAP ID", - "claim.email_to_ldap.ldapIdError": "Por favor digite seu ID LDAP.", - "claim.email_to_ldap.ldapPasswordError": "Por favor digite a sua senha LDAP.", - "claim.email_to_ldap.ldapPwd": "Senha LDAP", - "claim.email_to_ldap.pwd": "Senha", - "claim.email_to_ldap.pwdError": "Por favor digite a sua senha.", - "claim.email_to_ldap.ssoNote": "Você precisa já ter uma conta LDAP válida", - "claim.email_to_ldap.ssoType": "Ao retirar a sua conta, você só vai ser capaz de logar com LDAP", - "claim.email_to_ldap.switchTo": "Trocar a conta para LDAP", - "claim.email_to_ldap.title": "Trocar E-mail/Senha da Conta para LDAP", - "claim.email_to_oauth.enterPwd": "Entre a senha para o sua conta {site}", - "claim.email_to_oauth.pwd": "Senha", - "claim.email_to_oauth.pwdError": "Por favor digite a sua senha.", - "claim.email_to_oauth.ssoNote": "Você precisa já ter uma conta {type} válida", - "claim.email_to_oauth.ssoType": "Ao retirar a sua conta, você só vai ser capaz de logar com SSO {type}", - "claim.email_to_oauth.switchTo": "Trocar a conta para {uiType}", - "claim.email_to_oauth.title": "Trocar E-mail/Senha da Conta para {uiType}", - "claim.ldap_to_email.confirm": "Confirmar senha", - "claim.ldap_to_email.email": "Você vai usar o email {email} para logar", - "claim.ldap_to_email.enterLdapPwd": "Entre a sua senha {ldapPassword} para o sua conta de email {site}", - "claim.ldap_to_email.enterPwd": "Entre a nova senha para o sua conta com email.", - "claim.ldap_to_email.ldapPasswordError": "Por favor digite a sua senha LDAP.", - "claim.ldap_to_email.ldapPwd": "Senha LDAP", - "claim.ldap_to_email.pwd": "Senha", - "claim.ldap_to_email.pwdError": "Por favor digite a sua senha.", - "claim.ldap_to_email.pwdNotMatch": "As senha não correspondem.", - "claim.ldap_to_email.ssoType": "Após a alteração do tipo de conta, você só vai ser capaz de logar com seu e-mail e senha.", - "claim.ldap_to_email.switchTo": "Trocar a conta para e-mail/senha", - "claim.ldap_to_email.title": "Trocar a conta LDAP para E-mail/Senha", - "claim.oauth_to_email.confirm": "Confirmar Senha", - "claim.oauth_to_email.description": "Após a alteração do tipo de conta, você só vai ser capaz de logar com seu e-mail e senha.", - "claim.oauth_to_email.enterNewPwd": "Entre a nova senha para o sua conta {site}", - "claim.oauth_to_email.enterPwd": "Por favor entre uma senha.", - "claim.oauth_to_email.newPwd": "Nova Senha", - "claim.oauth_to_email.pwdNotMatch": "As senha não correspondem.", - "claim.oauth_to_email.switchTo": "Trocar {type} para email e senha", - "claim.oauth_to_email.title": "Trocar Conta {type} para E-mail", - "confirm_modal.cancel": "Cancelar", - "create_comment.addComment": "Adicionar um comentário...", - "create_comment.comment": "Adicionar Comentário", - "create_comment.commentLength": "Tamanho dos comentários precisa ter menos de {max} caracteres.", - "create_comment.commentTitle": "Comentário", - "create_comment.file": "Enviando arquivo", - "create_comment.files": "Enviando arquivos", - "create_post.comment": "Comentário", - "create_post.post": "Post", - "create_post.tutorialTip": "

    Enviando Mensagens

    Digite aqui para escrever uma mensagem e pressione Enter para posta-lá.

    Clique no botão Anexo para enviar uma imagem ou arquivo.

    ", - "create_post.write": "Escreva uma mensagem...", - "create_team.agreement": "Ao prosseguir para criar sua conta e usar {siteName}, você concorda com nosso Termo de Serviço e Politica de Privacidade. Se você não concorda, você não pode usar {siteName}.", - "create_team.display_name.back": "Voltar para o passo anterior", - "create_team.display_name.charLength": "O nome deve ser de 4 ou mais caracteres até um máximo de 15", - "create_team.display_name.nameHelp": "Nome da sua equipe em qualquer idioma. Seu nome de equipe é mostrado em menus e títulos.", - "create_team.display_name.next": "Próximo", - "create_team.display_name.required": "Este campo é obrigatório", - "create_team.display_name.teamName": "Nome da Equipe", - "create_team.team_url.back": "Voltar para o passo anterior", - "create_team.team_url.charLength": "O nome deve ser de 4 ou mais caracteres até um máximo de 15", - "create_team.team_url.finish": "Terminar", - "create_team.team_url.hint": "
  • Curto e memorizável é o melhor
  • Use letras minúsculas, números e traços
  • Deve começar com uma letra e não pode terminar em um traço
  • ", - "create_team.team_url.regex": "Utilize apenas letras minúsculas, números e traços. Deve começar com uma letra e não pode terminar em um traço.", - "create_team.team_url.required": "Este campo é obrigatório", - "create_team.team_url.taken": "URL é usada ou contém uma palavra reservada", - "create_team.team_url.teamUrl": "Equipe URL", - "create_team.team_url.unavailable": "Está URL está indisponível. Por favor tente outra.", - "create_team.team_url.webAddress": "Escolha o endereço web para sua nova equipe:", - "delete_channel.cancel": "Cancelar", - "delete_channel.channel": "canal", - "delete_channel.confirm": "Confirmar EXCLUSÃO do Canal", - "delete_channel.del": "Deletar", - "delete_channel.group": "grupo", - "delete_channel.question": "Você tem certeza que deseja deletar o {display_name} {term}?", - "delete_post.cancel": "Cancelar", - "delete_post.comment": "Comentário", - "delete_post.confirm": "Confirmar Delete {term}", - "delete_post.del": "Deletar", - "delete_post.post": "Post", - "delete_post.question": "Tem certeza de que deseja excluir este {term}?", - "delete_post.warning": "Este post tem {count} comentário(s).", - "edit_channel_header_modal.cancel": "Cancelar", - "edit_channel_header_modal.description": "Editar o texto que aparece junto ao nome do canal dentro do cabeçalho do canal.", - "edit_channel_header_modal.error": "Este cabeçalho de canal é muito longo, por favor insira um menor", - "edit_channel_header_modal.save": "Salvar", - "edit_channel_header_modal.title": "Editar Cabeçalho para o {channel}", - "edit_channel_purpose_modal.body": "Descreva como este {type} deve ser usado. Este texto aparece na lista de canais no menu \"Mais...\" e ajuda os outros a decidir se deseja participar.", - "edit_channel_purpose_modal.cancel": "Cancelar", - "edit_channel_purpose_modal.channel": "Canal", - "edit_channel_purpose_modal.error": "Este propósito do canal é muito longo, por favor insira um menor", - "edit_channel_purpose_modal.group": "Grupo", - "edit_channel_purpose_modal.save": "Salvar", - "edit_channel_purpose_modal.title1": "Editar Propósito", - "edit_channel_purpose_modal.title2": "Editar Propósito para ", - "edit_post.cancel": "Cancelar", - "edit_post.edit": "Editar {title}", - "edit_post.editPost": "Editar o post...", - "edit_post.save": "Salvar", - "email_signup.address": "Endereço de E-mail", - "email_signup.createTeam": "Criar Equipe", - "email_signup.emailError": "Por favor introduza um endereço de e-mail válido", - "email_signup.find": "Encontrar minhas equipes", - "email_verify.almost": "{siteName}: Você está quase pronto", - "email_verify.failed": " Falha ao enviar verificação por email.", - "email_verify.notVerifiedBody": "Por favor verifique seu endereço de email. Verifique por um email em sua caixa de entrada.", - "email_verify.resend": "Re-enviar Email", - "email_verify.sent": " Verificação de email enviado.", - "email_verify.verified": "{siteName} Email Verificado", - "email_verify.verifiedBody": "

    Seu email foi verificado! Clique aqui para login.

    ", - "email_verify.verifyFailed": "Falha ao verificar seu email.", - "error_bar.expired": "Enterprise license has expired; you have 15 days from expiry to renew the license, please contact commercial@mattermost.com for details", - "error_bar.expiring": "The Enterprise license is expiring on {date}. To renew your license, please contact commercial@mattermost.com", - "error_bar.past_grace": "Enterprise license has expired, please contact your System Administrator for details", - "error_bar.preview_mode": "Modo de visualização: Notificações por E-mail não foram configuradas", - "file_attachment.download": "Download", - "file_info_preview.size": "Tamanho ", - "file_info_preview.type": "Tipo do arquivo ", - "file_upload.fileAbove": "Arquivos acima {max}MB não podem ser enviados: {filename}", - "file_upload.filesAbove": "Arquivos acima {max}MB não podem ser enviados: {filenames}", - "file_upload.limited": "Limite máximo de uploads de {count} arquivos. Por favor use um post adicional para mais arquivos.", - "file_upload.pasted": "Imagem Colada em ", - "filtered_user_list.any_team": "Todos os Usuários", - "filtered_user_list.count": "{count} {count, plural, =0 {0 membros} one {membro} other {membros}}", - "filtered_user_list.countTotal": "{count} {count, plural, =0 {0 membros} one {membro} other {membros}} de {total} Total", - "filtered_user_list.member": "Membro", - "filtered_user_list.search": "Procurar membros", - "filtered_user_list.show": "Mostrar", - "filtered_user_list.team_only": "Membros desta Equipe", - "find_team.email": "E-mail", - "find_team.findDescription": "Foi enviado um e-mail com links para todas as equipes do qual você é membro.", - "find_team.findTitle": "Encontre Sua Equipe", - "find_team.getLinks": "Obter um e-mail com links para quaisquer equipes do qual você é membro.", - "find_team.placeholder": "voce@dominio.com", - "find_team.send": "Enviar", - "find_team.submitError": "Por favor entre um endereço de e-mail válido", - "general_tab.chooseName": "Por favor escolha um novo nome para sua equipe", - "general_tab.codeDesc": "Clique 'Edit' para re-gerar o Código de Convite.", - "general_tab.codeLongDesc": "O Código de convite é usado como parte da URL no link de convite da equipe criado por Obter Link de Convite de Equipe no menu principal. Re-gerar cria um novo link de convite de equipe e invalida os link anteriores.", - "general_tab.codeTitle": "Código de Convite", - "general_tab.dirContact": "Contate o seu administrador do sistema para ativar o diretório de equipe na página inicial do sistema.", - "general_tab.dirDisabled": "Diretório de equipe foi desativado. Por favor peça a um Administrador de Sistema para ativar o Diretório de Equipe nas configurações do Console do Sistema.", - "general_tab.dirOff": "Diretório de equipe está desativado para este sistema.", - "general_tab.includeDirDesc": "Incluindo esta equipe irá exibir o nome da equipe da seção Diretório Equipe da página inicial, e fornecer um link para a página de login.", - "general_tab.includeDirTitle": "Incluir esta equipe no Diretório de Equipe", - "general_tab.no": "Não", - "general_tab.openInviteDesc": "Quando permitido, um link para esta equipe vai ser incluído na página de destino permitindo que qualquer pessoa com uma conta possa participar desse time.", - "general_tab.openInviteTitle": "Permitir que qualquer pessoa possa participar desse time", - "general_tab.regenerate": "Re-Gerar", - "general_tab.required": "Este campo é obrigatório", - "general_tab.teamName": "Nome da Equipe", - "general_tab.teamNameInfo": "Defina o nome da equipe como aparece na sua tela de login e no topo na lateral esquerda.", - "general_tab.title": "Definições Gerais", - "general_tab.yes": "Sim", - "get_link.clipboard": " Link copiado para a área de transferência.", - "get_link.close": "Fechar", - "get_link.copy": "Copiar Link", - "get_post_link_modal.help": "O link abaixo permite que usuários autorizados possam ver seus posts.", - "get_post_link_modal.title": "Copiar Permalink", - "get_team_invite_link_modal.help": "Enviar o link abaixo para sua equipe de trabalho para que eles se inscrevam no site da sua equipe. O Link de Convite de Equipe como ele não muda pode ser compartilhado com várias pessoas ao menos que seja re-gerado em Configurações de Equipe pelo Administrador de Equipe.", - "get_team_invite_link_modal.helpDisabled": "Criação de usuários está desabilitada para sua equipe. Por favor peça ao administrador de equipe por detalhes.", - "get_team_invite_link_modal.title": "Link para Convite de Equipe", - "installed_commands.add": "Adicionar Comando Slash", - "installed_commands.empty": "Nenhum comando encotrado", - "installed_commands.header": "Comandos Slash", - "installed_incoming_webhooks.add": "Adicionar Webhooks Entrada", - "installed_incoming_webhooks.empty": "Nenhum webhook de entrada encontrado", - "installed_incoming_webhooks.header": "Webhooks Entrada", - "installed_integrations.creation": "Criado por {creator} em {createAt, date, full}", - "installed_integrations.delete": "Deletar", - "installed_integrations.regenToken": "Regen Token", - "installed_integrations.search": "Pesquisar Integrações", - "installed_integrations.token": "Token: {token}", - "installed_integrations.url": "URL: {url}", - "installed_outgoing_webhooks.add": "Adicionar Webhooks Saída", - "installed_outgoing_webhooks.empty": "Nenhum webhook de saída encontrado", - "installed_outgoing_webhooks.header": "Webhooks Saída", - "integrations.command.description": "Comandos slash envia evento para integrações externas", - "integrations.command.title": "Comando Slash", - "integrations.header": "Integrações", - "integrations.incomingWebhook.description": "Webhooks de entrada permite que integrações externas envie mensagens", - "integrations.incomingWebhook.title": "Webhooks Entrada", - "integrations.outgoingWebhook.description": "Webhooks de saída permite que integrações externas recebam e respondam a mensagens", - "integrations.outgoingWebhook.title": "Webhooks Saída", - "intro_messages.DM": "Este é o início do seu histórico de mensagens diretas com {teammate}.
    Mensagens diretas e arquivos compartilhados aqui não são mostrados para pessoas de fora desta área.", - "intro_messages.anyMember": " Qualquer membro pode participar e ler este canal.", - "intro_messages.beginning": "Início do {name}", - "intro_messages.channel": "canal", - "intro_messages.creator": "Este é o inicio do {name} {type}, criado por {creator} em {date}", - "intro_messages.default": "

    Inicio do {display_name}

    Bem-vindo a {display_name}!

    Este é o primeiro canal que sua equipe de trabalho vê quando eles se inscrevem - use para postar atualizações que todos precisam saber.

    ", - "intro_messages.group": "grupos privados", - "intro_messages.invite": "Convidar outras pessoas para este {type}", - "intro_messages.inviteOthers": "Convide outros para esta equipe", - "intro_messages.noCreator": "Este é o início do {name} {type}, criado em {date}.", - "intro_messages.offTopic": "

    Início do {display_name}

    Este é o início do {display_name}, um canal para conversas não relacionadas ao trabalho

    ", - "intro_messages.onlyInvited": " Somente membros convidados podem ver este grupo privado.", - "intro_messages.setHeader": "Definir um Cabeçalho", - "intro_messages.teammate": "Este é o início de seu histórico de mensagens com esta equipe. Mensagens diretas e arquivos compartilhados aqui não são mostrados para pessoas fora dessa área.", - "invite_member.addAnother": "Adicionar outro", - "invite_member.autoJoin": "Pessoas convidadas a participar automaticamente do canal {channel}.", - "invite_member.cancel": "Cancelar", - "invite_member.content": "E-mail está desativado para a sua equipe, e emails de convites não podem ser enviados. Contate o seu administrador do sistema para ativar e-mail e convites por e-mail.", - "invite_member.disabled": "Criação de usuários está desabilitada para sua equipe. Por favor peça ao administrador de equipe por detalhes.", - "invite_member.emailError": "Por favor entre um endereço de e-mail válido", - "invite_member.firstname": "Primeiro nome", - "invite_member.inviteLink": "Link para Convite de Equipe", - "invite_member.lastname": "Último nome", - "invite_member.modalButton": "Sim, Descartar", - "invite_member.modalMessage": "Você tem convites não enviados, você tem certeza que quer descartar eles?", - "invite_member.modalTitle": "Descartar Convites?", - "invite_member.newMember": "Convidar Membros da Equipe", - "invite_member.send": "Enviar Convite", - "invite_member.send2": "Enviar Convites", - "invite_member.sending": " Enviando", - "invite_member.teamInviteLink": "Você também pode convidar pessoas usando o {link}", - "ldap_signup.find": "Encontrar minhas equipes", - "ldap_signup.ldap": "Criar uma equipe com uma conta LDAP", - "ldap_signup.length_error": "O nome deve ser de 3 ou mais caracteres até um máximo de 15", - "ldap_signup.teamName": "Entre o nome da nova equipe", - "ldap_signup.team_error": "Por favor entre o nome da equipe", - "loading_screen.loading": "Carregando", - "login.changed": " Método de login alterada com sucesso", - "login.create": "Crie um agora", - "login.createTeam": "Criar uma nova equipe", - "login.email": "E-mail", - "login.find": "Encontre suas outras equipes", - "login.forgot": "Eu esqueci a minha senha", - "login.gitlab": "GitLab", - "login.google": "Google Apps", - "login.invalidPassword": "Sua senha está incorreta.", - "login.ldapUsername": "Usuário LDAP", - "login.noAccount": "Não tem uma conta? ", - "login.on": "no {siteName}", - "login.or": "ou", - "login.password": "Senha", - "login.passwordChanged": " Senha atualizada com sucesso", - "login.session_expired": " Sua sessão expirou. Por favor faça login novamente.", - "login.signIn": "Login", - "login.signInWith": "Login com:", - "login.userNotFound": "Não foi possível encontrar uma conta que corresponda com as suas credenciais de login.", - "login.username": "Usuário", - "login.verified": " Email Verificado", - "login_mfa.enterToken": "Para completar o login em processo, por favor entre um token do seu autenticador no smartphone", - "login_mfa.submit": "Enviar", - "login_mfa.token": "Token MFA", - "login_mfa.tokenReq": "Por favor entre um token MFA", - "member_item.makeAdmin": "Tornar Admin", - "member_item.member": "Membro", - "member_list.noUsersAdd": "Nenhum usuário para adicionar.", - "members_popover.msg": "Mensagem", - "members_popover.title": "Membros", - "more_channels.close": "Fechar", - "more_channels.create": "Criar Novo Canal", - "more_channels.createClick": "Clique em 'Criar Novo Canal' para fazer um novo", - "more_channels.join": "Participar", - "more_channels.noMore": "Não há mais canais para participar", - "more_channels.title": "Mais Canais", - "more_direct_channels.close": "Fechar", - "more_direct_channels.message": "Mensagem", - "more_direct_channels.title": "Mensagens Diretas", - "msg_typing.areTyping": "{users} e {last} estão digitando...", - "msg_typing.isTyping": "{user} está digitando...", - "msg_typing.someone": "Alguém", - "navbar.addMembers": "Adicionar Membros", - "navbar.click": "Clique aqui", - "navbar.delete": "Deletar Canal...", - "navbar.leave": "Deixar o Canal", - "navbar.manageMembers": "Gerenciar Membros", - "navbar.noHeader": "Sem cabeçalho de canal.{newline}{link} adicionar um.", - "navbar.preferences": "Preferências de Notificação", - "navbar.rename": "Renomear Canal...", - "navbar.setHeader": "Definir Cabeçalho do Canal...", - "navbar.setPurpose": "Definir Propósito do Canal...", - "navbar.toggle1": "Alternar barra lateral", - "navbar.toggle2": "Alternar barra lateral", - "navbar.viewInfo": "Ver Informações", - "navbar_dropdown.about": "Sobre o Mattermost", - "navbar_dropdown.accountSettings": "Definições de Conta", - "navbar_dropdown.console": "Console do Sistema", - "navbar_dropdown.create": "Criar uma Nova Equipe", - "navbar_dropdown.help": "Ajuda", - "navbar_dropdown.integrations": "Integrações", - "navbar_dropdown.inviteMember": "Convidar Membros da Equipe", - "navbar_dropdown.logout": "Logout", - "navbar_dropdown.manageMembers": "Gerenciar Membros", - "navbar_dropdown.report": "Relatar um Problema", - "navbar_dropdown.switchTeam": "Mudar para {team}", - "navbar_dropdown.switchTo": "Mudar para ", - "navbar_dropdown.teamLink": "Obter Link para Convite de Equipe", - "navbar_dropdown.teamSettings": "Configurações da Equipe", - "password_form.change": "Alterar minha senha", - "password_form.click": "Clique aqui para logar.", - "password_form.enter": "Entre a nova senha para o sua conta {siteName}.", - "password_form.error": "Por favor, insira pelo menos {chars} caracteres.", - "password_form.pwd": "Senha", - "password_form.title": "Resetar Senha", - "password_form.update": "Sua senha foi atualizada com sucesso.", - "password_send.checkInbox": "Por favor verifique sua caixa de entrada.", - "password_send.description": "Para resetar sua senha, entre o endereço de email que você usou para se inscrever.", - "password_send.email": "E-mail", - "password_send.error": "Por favor entre um endereço de e-mail válido.", - "password_send.link": "

    Um link para resetar senha foi enviado para {email}

    ", - "password_send.reset": "Resetar minha senha", - "password_send.title": "Resetar Senha", - "pending_post_actions.cancel": "Cancelar", - "pending_post_actions.retry": "Tentar novamente", - "permalink.error.access": "Permalink pertence a um canal que você não tem acesso", - "post_attachment.collapse": "▲ recolher texto", - "post_attachment.more": "▼ leia mais", - "post_body.commentedOn": "Comentado da mensagem {name}{apostrophe}: ", - "post_body.deleted": "(mensagem deletada)", - "post_body.plusMore": " mais {count} outros arquivos", - "post_body.plusOne": " mais 1 outro arquivo", - "post_delete.notPosted": "Comentário não pode ser postado", - "post_delete.okay": "Ok", - "post_delete.someone": "Alguém deletou a mensagem no qual você tentou postar um comentário.", - "post_focus_view.beginning": "Início do Canal de Arquivos", - "post_info.del": "Deletar", - "post_info.edit": "Editar", - "post_info.permalink": "Permalink", - "post_info.reply": "Responder", - "posts_view.loadMore": "Carregar mais mensagens", - "posts_view.newMsg": "Novas Mensagens", - "register_app.callback": "Callback URL", - "register_app.callbackError": "Pelo menos uma URL de retorno de chamada deve ser preenchida.", - "register_app.cancel": "Cancelar", - "register_app.clientId": "ID do Cliente", - "register_app.clientSecret": "Segredo Cliente", - "register_app.close": "Fechar", - "register_app.credentialsDescription": "Guardá-las em algum lugar SEGURO. Trate o seu ID de cliente, como nome de usuário da sua aplicação e o seu Senha de Cliente como uma senha de app.", - "register_app.credentialsSave": "Eu salvei ambos meu Id de Cliente e o Segredo Cliente em um local seguro", - "register_app.credentialsTitle": "Suas Credenciais de Aplicação", - "register_app.description": "Descrição", - "register_app.dev": "Aplicativos Desenvolvedor", - "register_app.homepage": "URL da página principal", - "register_app.homepageError": "Página principal precisa ser preenchida.", - "register_app.name": "Nome do Aplicativo", - "register_app.nameError": "Nome da aplicação precisa ser preenchida.", - "register_app.optional": "Opcional", - "register_app.register": "Registrar", - "register_app.required": "Necessário", - "register_app.title": "Registar um Novo Aplicativo", - "removed_channel.channelName": "o canal", - "removed_channel.from": "Removido de ", - "removed_channel.okay": "Ok", - "removed_channel.remover": "{remover} removido você do {channel}", - "removed_channel.someone": "Alguém", - "rename_channel.cancel": "Cancelar", - "rename_channel.defaultError": " - Não pode ser alterado para o canal padrão", - "rename_channel.displayName": "Nome De Exibição", - "rename_channel.displayNameHolder": "Insira o nome de exibição", - "rename_channel.handle": "Handle", - "rename_channel.handleHolder": "alfanuméricos minúsculos somente", - "rename_channel.lowercase": "Tem de ser caracteres minúsculos alfanuméricos", - "rename_channel.maxLength": "Este campo deve ser menor do que 22 caracteres", - "rename_channel.required": "Este campo é obrigatório", - "rename_channel.save": "Salvar", - "rename_channel.title": "Renomear Canal", - "rhs_comment.comment": "Comentário", - "rhs_comment.del": "Deletar", - "rhs_comment.edit": "Editar", - "rhs_comment.permalink": "Permalink", - "rhs_header.details": "Detalhes da Mensagem", - "rhs_root.del": "Deletar", - "rhs_root.direct": "Mensagem Direta", - "rhs_root.edit": "Editar", - "rhs_root.permalink": "Permalink", - "search_bar.cancel": "Cancelar", - "search_bar.search": "Procurar", - "search_bar.usage": "

    Opções de Pesquisa

    • Utilize \"aspas\" para pesquisar frases
    • Use from: para encontrar mensagens de usuários específicos e in: para encontrar postagens em canais específicos
    ", - "search_header.results": "Resultados da Pesquisa", - "search_header.title2": "Menções Recentes", - "search_item.direct": "Mensagem Direta", - "search_item.jump": "Pular", - "search_results.because": "
    • Se você está pesquisando uma frase (ex. pesquisando \"rea\", procurando por \"reagir\" ou \"reação\"), acrescente um * ao seu termo de pesquisa
    • Devido ao grande volume de resultados, pesquisas com duas letras e palavras comuns como \"este\", \"um\" e \"é\" não aparecerão nos resultados de pesquisa
    ", - "search_results.noResults": "SEM RESULTADOS", - "search_results.usage": "
    • Use \"aspas\" para pesquisar frases
    • Use from: para encontrar mensagens de usuários específicos e in: para encontrar postagens em canais específicos
    ", - "setting_item_max.cancel": "Cancelar", - "setting_item_max.save": "Salvar", - "setting_item_min.edit": "Editar", - "setting_picture.cancel": "Cancelar", - "setting_picture.help": "Enviar uma imagem do perfil no formato JPG ou PNG, com pelo menos {width}px na largura e {height}px na altura.", - "setting_picture.save": "Salvar", - "setting_picture.select": "Selecionar", - "setting_upload.import": "Importar", - "setting_upload.noFile": "Nenhum arquivo selecionado.", - "setting_upload.select": "Selecione o arquivo", - "sidebar.channels": "Canais", - "sidebar.createChannel": "Criar novo canal", - "sidebar.createGroup": "Criar um novo grupo", - "sidebar.direct": "Mensagens Diretas", - "sidebar.more": "Mais", - "sidebar.moreElips": "Mais...", - "sidebar.otherMembers": "Fora desta equipe", - "sidebar.pg": "Grupos Privados", - "sidebar.removeList": "Remover da lista", - "sidebar.tutorialScreen1": "

    Canais

    Canais organizar conversas em diferentes tópicos. Eles estão abertos a todos em sua equipe. Para enviar comunicações privadas utilize Mensagens Diretas para uma única pessoa ou Grupos Privados para várias pessoas.

    ", - "sidebar.tutorialScreen2": "

    Canais \"{townsquare}\" e \"{offtopic}\"

    Aqui estão dois canais públicos para começar:

    {townsquare} é um lugar comunicação de toda equipe. Todo mundo em sua equipe é um membro deste canal.

    {offtopic} é um lugar para diversão e humor fora dos canais relacionados com o trabalho. Você e sua equipe podem decidir qual outros canais serão criados.

    ", - "sidebar.tutorialScreen3": "

    Criando e participando de Canais

    Clique em \"Mais...\" para criar um novo canal ou participar de um já existente.

    Você também pode criar um novo canal ou grupo privado ao clicar em no símbolo \"+\" ao lado do canal ou grupo privado no cabeçalho.

    ", - "sidebar.unreadAbove": "Post(s) não lidos acima", - "sidebar.unreadBelow": "Post(s) não lidos abaixo", - "sidebar_header.tutorial": "

    Menu Principal

    O Menu Principal é onde você pode Convidar novos membros, acessar sua Definição de Conta e ajustar o seu Tema de Cores.

    Administradores de equipe podem também acessar suas Configurações de Equipe a partir deste menu.

    Administradores de Sistema vão encontrar em Console do Sistema opções para administrar todo o sistema.

    ", - "sidebar_right_menu.accountSettings": "Definições de Conta", - "sidebar_right_menu.console": "Console do Sistema", - "sidebar_right_menu.help": "Ajuda", - "sidebar_right_menu.inviteNew": "Convidar Membros para Equipe", - "sidebar_right_menu.logout": "Logout", - "sidebar_right_menu.manageMembers": "Gerenciar Membros", - "sidebar_right_menu.report": "Relatar um Problema", - "sidebar_right_menu.switch_team": "Selecionar Equipe", - "sidebar_right_menu.teamLink": "Obter Link para Convite de Equipe", - "sidebar_right_menu.teamSettings": "Configurações da Equipe", - "signup_team.choose": "Equipes que você é um membro: ", - "signup_team.createTeam": "Ou Criar uma Equipe", - "signup_team.disabled": "A criação de equipe foi desativada. Por favor, entre em contato com um administrador para o acesso.", - "signup_team.join_open": "Equipes abertas que você pode se juntar: ", - "signup_team.noTeams": "Não existe equipes incluídas no Diretório de Equipe e a criação de equipes foi desativada.", - "signup_team.no_teams": "Você não parece ser membro de nenhuma equipe. Por favor peça um convite ao seu administrador, junte-se a uma equipe aberta se uma existir ou crie uma nova equipe.", - "signup_team.none": "Nenhum método de criação da equipe foi habilitado. Por favor, entre em contato com um administrador para o acesso.", - "signup_team_complete.completed": "Você já concluiu o processo de inscrição para este convite ou este convite expirou.", - "signup_team_confirm.checkEmail": "Por favor, verifique seu e-mail: {email}
    Seu e-mail contém um link para configurar a sua equipe", - "signup_team_confirm.title": "Inscrição Completa", - "signup_user_completed.choosePwd": "Escolha sua senha", - "signup_user_completed.chooseUser": "Escolha o seu nome de usuário", - "signup_user_completed.create": "Criar Conta", - "signup_user_completed.emailHelp": "Email valido necessário para inscrição", - "signup_user_completed.emailIs": "Seu endereço de e-mail é {email}. Você irá usar esse endereço para logar no {siteName}.", - "signup_user_completed.expired": "Você já concluiu o processo de inscrição para este convite ou este convite expirou.", - "signup_user_completed.gitlab": "com GitLab", - "signup_user_completed.google": "com Google", - "signup_user_completed.invalid_invite": "O link convite era inválido. Por favor fale com seu Administrador para receber um convite.", - "signup_user_completed.lets": "Vamos criar a sua conta", - "signup_user_completed.no_open_server": "Este servidor não permite inscrições abertas. Por favor fale com seu Administrador para receber um convite.", - "signup_user_completed.none": "Nenhum método de criação de equipe foi habilitado. Por favor, entre em contato com um administrador para o acesso.", - "signup_user_completed.onSite": "no {siteName}", - "signup_user_completed.or": "ou", - "signup_user_completed.passwordLength": "Por favor entre no mínimo {min} caracteres", - "signup_user_completed.required": "Este campo é obrigatório", - "signup_user_completed.reserved": "Este nome de usuário é reservado, por favor, escolha um novo.", - "signup_user_completed.userHelp": "O nome de usuário precisa começar com uma letra, e conter entre {min} e {max} caracteres minúsculos contendo números, letras, e os símbolos '.', '-' e '_'", - "signup_user_completed.usernameLength": "O nome de usuário precisa começar com uma letra, e conter entre {min} e {max} caracteres minúsculos contendo números, letras, e os símbolos '.', '-' e '_'.", - "signup_user_completed.validEmail": "Por favor entre um endereço de e-mail válido", - "signup_user_completed.welcome": "Bem-vindo:", - "signup_user_completed.whatis": "Qual é o seu endereço de e-mail?", - "signup_user_completed.withLdap": "Com suas credenciais LDAP", - "sso_signup.find": "Encontrar minhas equipes", - "sso_signup.gitlab": "Criar uma equipe com uma conta GitLab", - "sso_signup.google": "Criar equipe com a Conta do Google Apps", - "sso_signup.length_error": "O nome deve ser de 3 ou mais caracteres até um máximo de 15", - "sso_signup.teamName": "Entre o nome da nova equipe", - "sso_signup.team_error": "Por favor entre o nome da equipe", - "suggestion.mention.all": "Notificar todo mundo na equipe", - "suggestion.mention.channel": "Notifica todos no canal", - "suggestion.search.private": "Grupos Privados", - "suggestion.search.public": "Canais Públicos", - "team_export_tab.download": "download", - "team_export_tab.export": "Exportar", - "team_export_tab.exportTeam": "Exportar sua equipe", - "team_export_tab.exporting": " Exportando...", - "team_export_tab.ready": " Pronto para ", - "team_export_tab.unable": " Não foi possível exportar: {error}", - "team_import_tab.failure": " Falha na importação: ", - "team_import_tab.import": "Importar", - "team_import_tab.importHelp": "

    Para importar uma equipe do Slack, vá para a Slack > Definições de Equipe > Importar/Exportar Dados > Exportar > Iniciar Exportação. Slack não permite que você exporte arquivos, imagens, grupos privados ou as mensagens diretas armazenadas no Slack. Portanto, Importação Slack para Mattermost só suporta a importação de mensagens de texto dos canais públicos da sua equipe Slack.

    O Importação Slack para Mattermost está em 'Beta'. Slack bot posts ainda não pode ser importado e Slack @mentions não são suportados no momento.

    ", - "team_import_tab.importSlack": "Importar do Slack (Beta)", - "team_import_tab.importing": " Importando...", - "team_import_tab.successful": " Importado com sucesso: ", - "team_import_tab.summary": "Ver Resumo", - "team_member_modal.close": "Fechar", - "team_member_modal.members": "{team} Membros", - "team_members_dropdown.confirmDemoteDescription": "Se você rebaixar você mesmo de Admin de Sistema e não exista outro usuário como privilegios de Admin de Sistema, você precisa-rá re-inscrever um Admin de Sistema acessando o servidor Mattermost através do terminal e executando o seguinte comando.", - "team_members_dropdown.confirmDemoteRoleTitle": "Confirmar o rebaixamento de Admin Sistema", - "team_members_dropdown.confirmDemotion": "Confirmar Rebaixamento", - "team_members_dropdown.confirmDemotionCmd": "platform -assign_role -team_name=\"yourteam\" -email=\"name@yourcompany.com\" -role=\"system_admin\"", - "team_members_dropdown.inactive": "Inativo", - "team_members_dropdown.makeActive": "Tornar Ativo", - "team_members_dropdown.makeAdmin": "Tornar Admin de Equipe", - "team_members_dropdown.makeInactive": "Tornar Inativo", - "team_members_dropdown.makeMember": "Tornar Membro", - "team_members_dropdown.member": "Membro", - "team_members_dropdown.systemAdmin": "Admin do Sistema", - "team_members_dropdown.teamAdmin": "Admin Equipe", - "team_settings_modal.exportTab": "Exportar", - "team_settings_modal.generalTab": "Geral", - "team_settings_modal.importTab": "Importar", - "team_settings_modal.title": "Configurações da Equipe", - "textbox.bold": "**negrito**", - "textbox.edit": "Editar mensagem", - "textbox.help": "Ajuda", - "textbox.inlinecode": "`código`", - "textbox.italic": "_itálico_", - "textbox.preformatted": "```pré-formatado```", - "textbox.preview": "Pré-visualização", - "textbox.quote": ">citar", - "textbox.strike": "tachado", - "tutorial_intro.allSet": "Está tudo pronto", - "tutorial_intro.end": "Clique em “Próximo” para entrar em {channel}. Este é o primeiro canal que sua equipe de trabalho vê quando eles se inscrevem. Use para postar atualizações que todos precisam saber.", - "tutorial_intro.invite": "Convidar pessoas para equipe", - "tutorial_intro.next": "Próximo", - "tutorial_intro.screenOne": "

    Bem vindo ao:

    Mattermost

    Sua equipe de comunicação em um só lugar, pesquisas instantâneas disponível em qualquer lugar

    Mantenha sua equipe conectada para ajudá-los a conseguir o que mais importa.

    ", - "tutorial_intro.screenTwo": "

    Como Mattermost funciona:

    A comunicação acontece em canais de discussão pública, grupos privados e mensagens diretas.

    Tudo é arquivado e pesquisável a partir de qualquer desktop, laptop ou telefone com suporte a web.

    ", - "tutorial_intro.skip": "Pular o tutorial", - "tutorial_intro.support": "Precisa de alguma coisa, envie um e-mail para nós no ", - "tutorial_intro.teamInvite": "Convidar pessoas para equipe", - "tutorial_intro.whenReady": " quando você estiver pronto.", - "tutorial_tip.next": "Próximo", - "tutorial_tip.ok": "Ok", - "tutorial_tip.out": "Recusar estas dicas.", - "tutorial_tip.seen": "Viu isso antes? ", - "upload_overlay.info": "Soltar um arquivo para enviá-lo.", - "user.settings.advance.embed_preview": "Mostrar pré-visualização dos links abaixo da mensagem", - "user.settings.advance.embed_toggle": "Exibir mostrar/esconder para todas as pre-visualizações", - "user.settings.advance.enabledFeatures": "{count, number} {count, plural, one {Feature} other {Features}} Enabled", - "user.settings.advance.formattingDesc": "If enabled, posts will be formatted to create links, show emoji, style the text, and add line breaks. By default, this setting is enabled. Changing this setting requires the page to be refreshed.", - "user.settings.advance.formattingTitle": "Enable Post Formatting", - "user.settings.advance.markdown_preview": "Mostrar opção pré-visualização markdown na caixa de entrada de mensagens", - "user.settings.advance.off": "Desligado", - "user.settings.advance.on": "On", - "user.settings.advance.preReleaseDesc": "Verifique todos os recursos de pré-lançamento que você gostaria de visualizar. Você também pode precisar atualizar a página antes das configuração terem efeito.", - "user.settings.advance.preReleaseTitle": "Visualizar recursos de pré-lançamento", - "user.settings.advance.sendDesc": "Se habilitado 'Enter' insere uma nova linha e 'Ctrl + Enter' envia a mensagem.", - "user.settings.advance.sendTitle": "Enviar mensagens Ctrl + Enter", - "user.settings.advance.slashCmd_autocmp": "Ativar aplicação externa para autocompletar comandos slash", - "user.settings.advance.title": "Configurações Avançadas", - "user.settings.custom_theme.awayIndicator": "Indicador de Afastamento", - "user.settings.custom_theme.buttonBg": "Fundo Botão", - "user.settings.custom_theme.buttonColor": "Texto do Botão", - "user.settings.custom_theme.centerChannelBg": "Fundo Centro Canal", - "user.settings.custom_theme.centerChannelColor": "Canal Central Texto", - "user.settings.custom_theme.codeTheme": "Código do Tema", - "user.settings.custom_theme.copyPaste": "Copie e cole para compartilhar o tema de cores:", - "user.settings.custom_theme.linkColor": "Cor do link", - "user.settings.custom_theme.mentionBj": "Fundo Menção Jewel", - "user.settings.custom_theme.mentionColor": "Menção Texto Jewel", - "user.settings.custom_theme.mentionHighlightBg": "Fundo Menção Realçar", - "user.settings.custom_theme.mentionHighlightLink": "Menção Realçar Link", - "user.settings.custom_theme.newMessageSeparator": "Novo Separador de Mensagem", - "user.settings.custom_theme.onlineIndicator": "Indicador Online", - "user.settings.custom_theme.sidebarBg": "Fundo Barra lateral", - "user.settings.custom_theme.sidebarHeaderBg": "Fundo Barra latera Cabeçalho", - "user.settings.custom_theme.sidebarHeaderTextColor": "Barra lateral Texto", - "user.settings.custom_theme.sidebarText": "Texto Barra lateral", - "user.settings.custom_theme.sidebarTextActiveBorder": "Barra lateral Borda Texto Ativo", - "user.settings.custom_theme.sidebarTextActiveColor": "Barra lateral Cor Texto Ativo", - "user.settings.custom_theme.sidebarTextHoverBg": "Fundo Barra lateral Sobre Texto", - "user.settings.custom_theme.sidebarUnreadText": "Barra Lateral Texto Não Lido", - "user.settings.developer.applicationsPreview": "Aplicativos (Pré-visualização)", - "user.settings.developer.register": "Registar Novo Aplicativo", - "user.settings.developer.thirdParty": "Abrir para registrar um novo aplicativo de terceiros", - "user.settings.developer.title": "Configurações de Desenvolvedor", - "user.settings.display.channelDisplayTitle": "Modo de Exibição do Canal", - "user.settings.display.channeldisplaymode": "Selecione a largura do centro do canal.", - "user.settings.display.clockDisplay": "Exibição do Relógio", - "user.settings.display.fixedWidthCentered": "Largura fixa, centralizada", - "user.settings.display.fontDesc": "Selecione a fonte mostrada na interface do usuário no Mattermost.", - "user.settings.display.fontTitle": "Fonte Exibição", - "user.settings.display.fullScreen": "Largura inteira", - "user.settings.display.language": "Idioma", - "user.settings.display.messageDisplayClean": "Limpar", - "user.settings.display.messageDisplayCompact": "Compacto", - "user.settings.display.messageDisplayDescription": "Selecione como as mensagens no canal podem ser mostradas.", - "user.settings.display.messageDisplayTitle": "Mensagem de Exibição", - "user.settings.display.militaryClock": "Relógio de 24 horas (exemplo: 16:00)", - "user.settings.display.nameOptsDesc": "Ajustar como mostrar outros nomes de usuários nas postagens e lista de Mensagens Diretas.", - "user.settings.display.normalClock": "Relógio de 12 horas (exemplo: 4:00 PM)", - "user.settings.display.preferTime": "Selecione como você prefere que a hora seja mostrada.", - "user.settings.display.showFullname": "Mostrar primeiro e último nome", - "user.settings.display.showNickname": "Mostras apelidos se um existir, caso contrário mostrar o primeiro e último nome", - "user.settings.display.showUsername": "Mostrar nome de usuário (padrão)", - "user.settings.display.teammateDisplay": "Nome de Exibição da Equipe de Trabalho", - "user.settings.display.theme.customTheme": "Tema Customizado", - "user.settings.display.theme.describe": "Abrir para gerenciar seu tema", - "user.settings.display.theme.import": "Importar tema de cores do Slack", - "user.settings.display.theme.otherThemes": "Veja outros temas", - "user.settings.display.theme.themeColors": "Tema de Cores", - "user.settings.display.theme.title": "Tema", - "user.settings.display.title": "Configurações de Exibição", - "user.settings.general.checkEmail": "Verifique seu email em {email} para confirmar o endereço.", - "user.settings.general.checkEmailNoAddress": "Verifique seu email para confirmar seu novo endereço", - "user.settings.general.close": "Fechar", - "user.settings.general.confirmEmail": "Confirmar o email", - "user.settings.general.email": "E-mail", - "user.settings.general.emailGitlabCantUpdate": "Login ocorre através do GitLab. Email não pode ser atualizado. Endereço de email utilizado para notificações é {email}.", - "user.settings.general.emailHelp1": "Email é usado para login, notificações, e redefinição de senha. Requer verificação de email se alterado.", - "user.settings.general.emailHelp2": "Email foi desativado pelo seu administrador de sistema. Nenhuma notificação por email será enviada até isto ser habilitado.", - "user.settings.general.emailHelp3": "Email é usado para login, notificações e redefinição de senha.", - "user.settings.general.emailHelp4": "Uma verificação por email foi enviada para {email}.", - "user.settings.general.emailLdapCantUpdate": "Login ocorre através de LDAP. Email não pode ser atualizado. Endereço de email utilizado para notificações é {email}.", - "user.settings.general.emailMatch": "Os novos emails que você inseriu não correspondem.", - "user.settings.general.emptyName": "Clique 'Editar' para adicionar seu nome completo", - "user.settings.general.emptyNickname": "Clique 'Editar' para adicionar um apelido", - "user.settings.general.firstName": "Primeiro nome", - "user.settings.general.fullName": "Nome Completo", - "user.settings.general.imageTooLarge": "Não é possível fazer upload da imagem de perfil. O arquivo é muito grande.", - "user.settings.general.imageUpdated": "Imagem última atualização {date}", - "user.settings.general.lastName": "Último Nome", - "user.settings.general.loginGitlab": "Login feito através do GitLab ({email})", - "user.settings.general.loginLdap": "Login feito através de LDAP ({email})", - "user.settings.general.newAddress": "Novo Endereço: {email}
    Verifique seu email para checar o endereço acima.", - "user.settings.general.nickname": "Apelido", - "user.settings.general.nicknameExtra": "Use Apelidos para um nome você pode ser chamado assim, isso é diferente de seu primeiro nome e nome de usuário. Este é mais frequentemente usado quando duas ou mais pessoas têm nomes semelhantes de usuário.", - "user.settings.general.notificationsExtra": "Por padrão, você receberá uma notificação de menção quando alguém digitar seu nome. Vá para definições {notify} para alterar esse padrão.", - "user.settings.general.notificationsLink": "Notificações", - "user.settings.general.primaryEmail": "Email Primário", - "user.settings.general.profilePicture": "Imagem do Perfil", - "user.settings.general.title": "Definições Gerais", - "user.settings.general.uploadImage": "Clique em 'Editar' para enviar uma imagem.", - "user.settings.general.username": "Usuário", - "user.settings.general.usernameInfo": "Coloque alguma coisa fácil para sua equipe reconhecer e relembrar.", - "user.settings.general.usernameReserved": "Este nome de usuário é reservado, por favor escolha um novo.", - "user.settings.general.usernameRestrictions": "O nome de usuário precisa começar com uma letra, e conter entre {min} e {max} caracteres minúsculos contendo números, letras, e os símbolos '.', '-' e '_'.", - "user.settings.general.validEmail": "Por favor entre um endereço de e-mail válido", - "user.settings.general.validImage": "Somente imagens em JPG ou PNG podem ser usadas como imagem do perfil", - "user.settings.import_theme.cancel": "Cancelar", - "user.settings.import_theme.importBody": "Para importar um tema, vá para uma equipe no Slack e olhe para “Preferences -> Sidebar Theme”. Abra a opção de tema customizado, copie os valores das cores do tema e cole eles aqui:", - "user.settings.import_theme.importHeader": "Importar Tema Slack", - "user.settings.import_theme.submit": "Enviar", - "user.settings.import_theme.submitError": "Formato inválido, por favor tente copiar e colar novamente.", - "user.settings.languages.change": "Alterar o idioma da interface", - "user.settings.mfa.add": "Adicionar MFA para sua conta", - "user.settings.mfa.addHelp": "Você pode exigir um token gerado por um smartphone, além da sua senha, para entrar no Mattermost.

    Para ativar, faça download no seu telefone do Google Authenticator no iTunes ou Google Play, em seguida,

    1. Clique no botão acimaAdicionar MFA para sua conta.
    2. Use o Google Authenticator para scanear o QR code que aparece.
    3. Digite o Token gerado pelo Google Authenticator e clique em Salvar.

    Quando o logar, você será solicitado a digitar um token do Google Authenticator, além de suas credenciais regulares.", - "user.settings.mfa.addHelpQr": "Por favor escanei o QR code com o app Google Authenticator no seu smartphone e preencha com o token fornecido pelo app.", - "user.settings.mfa.enterToken": "Token (somente números)", - "user.settings.mfa.qrCode": "Código de Barra", - "user.settings.mfa.remove": "Remover MFA da sua conta", - "user.settings.mfa.removeHelp": "Remoção da autenticação multi-fator significa que você não vai mais exigir um código de acesso baseado no telefone para fazer login na sua conta.", - "user.settings.modal.advanced": "Avançado", - "user.settings.modal.confirmBtns": "Sim, Descartar", - "user.settings.modal.confirmMsg": "Você tem alterações não salvas, você tem certeza que quer descartar elas?", - "user.settings.modal.confirmTitle": "Descartar alterações?", - "user.settings.modal.developer": "Desenvolvedor", - "user.settings.modal.display": "Exibir", - "user.settings.modal.general": "Geral", - "user.settings.modal.notifications": "Notificações", - "user.settings.modal.security": "Segurança", - "user.settings.modal.title": "Definições de Conta", - "user.settings.notification.allActivity": "Para todas atividades", - "user.settings.notification.push": "Notificações push móvel", - "user.settings.notification.soundConfig": "Por favor configurar sons de notificações nas configurações do seu navegador", - "user.settings.notifications.channelWide": "Menção para todo canal \"@channel\"", - "user.settings.notifications.close": "Fechar", - "user.settings.notifications.desktop": "Enviar notificações de desktop", - "user.settings.notifications.desktopSounds": "Som de notificação no Desktop", - "user.settings.notifications.emailInfo": "Notificações de e-mail são enviadas por menções e mensagens diretas, depois de ter ficado offline por mais de 60 segundos ou longe do {siteName} por mais de 5 minutos.", - "user.settings.notifications.emailNotifications": "Notificações por email", - "user.settings.notifications.header": "Notificações", - "user.settings.notifications.info": "Notificações na área de trabalho estão disponíveis no Firefox, Safari, Chrome, Internet Explorer, e Edge.", - "user.settings.notifications.never": "Nunca", - "user.settings.notifications.noWords": "Nenhuma palavra configurada", - "user.settings.notifications.off": "Desligado", - "user.settings.notifications.on": "Ligado", - "user.settings.notifications.onlyMentions": "Somente para menções e mensagens diretas", - "user.settings.notifications.sensitiveName": "Seu primeiro nome sensível a maiúsculas e minúsculas \"{first_name}\"", - "user.settings.notifications.sensitiveUsername": "Seu usuário não sensível a maiúsculas \"{username}\"", - "user.settings.notifications.sensitiveWords": "Outras palavras não sensível a maiúscula, separadas por virgulas:", - "user.settings.notifications.sounds_info": "Notificações na área de trabalho estão disponíveis no Firefox, Safari, Chrome, Internet Explorer, e Edge.", - "user.settings.notifications.teamWide": "Mencionar toda a equipe \"@all\"", - "user.settings.notifications.title": "Configurações de Notificação", - "user.settings.notifications.usernameMention": "Seu usuário mencionado \"@{username}\"", - "user.settings.notifications.wordsTrigger": "Palavras que desencadeiam menções", - "user.settings.push_notification.allActivity": "Para todas as atividades", - "user.settings.push_notification.info": "Alertas de notificação são enviados para o seu dispositivo móvel quando há atividade no Mattermost.", - "user.settings.push_notification.off": "Desligado", - "user.settings.push_notification.onlyMentions": "Somente para menções e mensagens diretas", - "user.settings.security.close": "Fechar", - "user.settings.security.currentPassword": "Senha Atual", - "user.settings.security.currentPasswordError": "Por favor entre sua senha atual", - "user.settings.security.emailPwd": "Email e Senha", - "user.settings.security.gitlab": "GitLab SSO", - "user.settings.security.lastUpdated": "Última atualização {date} {time}", - "user.settings.security.ldap": "LDAP", - "user.settings.security.loginGitlab": "Login feito através do GitLab", - "user.settings.security.loginLdap": "Login feito através de LDAP", - "user.settings.security.logoutActiveSessions": "Ver e fazer Logout das Sessões Ativas", - "user.settings.security.method": "Método de Login", - "user.settings.security.newPassword": "Nova Senha", - "user.settings.security.oneSignin": "Você pode ter somente um método de login por vez. Trocando o método de login será enviado um email de notificação se você alterar com sucesso.", - "user.settings.security.password": "Senha", - "user.settings.security.passwordGitlabCantUpdate": "Login ocorreu através do GitLab. Senha não pode ser atualizada.", - "user.settings.security.passwordLdapCantUpdate": "Login ocorreu através de LDAP. Senha não pode ser atualizada.", - "user.settings.security.passwordLengthError": "Novas senhas precisam ter pelo menos {chars} characters", - "user.settings.security.passwordMatchError": "As novas senhas que você inseriu não correspondem", - "user.settings.security.retypePassword": "Digite Novamente a nova Senha", - "user.settings.security.switchEmail": "Trocar para usar email e senha", - "user.settings.security.switchGitlab": "Trocar para usar GitLab SSO", - "user.settings.security.switchGoogle": "Trocar para usar Google SSO", - "user.settings.security.switchLdap": "Trocar para usar LDAP", - "user.settings.security.title": "Configurações de Segurança", - "user.settings.security.viewHistory": "Ver Histórico de Acesso", - "user_list.notFound": "Nenhum usuário encontrado", - "user_profile.notShared": "E-mail não compartilhado", - "view_image.loading": "Carregando ", - "view_image_popover.download": "Download", - "view_image_popover.file": "Arquivo {count} de {total}", - "view_image_popover.publicLink": "Obter O Link Público", - "web.footer.about": "Sobre", - "web.footer.help": "Ajuda", - "web.footer.privacy": "Privacidade", - "web.footer.terms": "Termos", - "web.header.back": "Voltar", - "web.root.singup_info": "Toda comunicação em um só lugar, pesquisável e acessível em qualquer lugar", - "youtube_video.notFound": "Vídeo não encontrado" -} diff --git a/webapp/package.json b/webapp/package.json index d91c61065..7535f5e04 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -26,8 +26,9 @@ "react-bootstrap": "0.29.3", "react-custom-scrollbars": "4.0.0-beta.1", "react-dom": "15.0.2", - "react-intl": "2.0.0-rc-1", + "react-intl": "2.1.2", "react-router": "2.4.0", + "react-select": "1.0.0-beta13", "react-textarea-autosize": "4.0.1", "superagent": "1.8.3", "twemoji": "2.0.5", diff --git a/webapp/root.jsx b/webapp/root.jsx index d326f32fc..268a208a2 100644 --- a/webapp/root.jsx +++ b/webapp/root.jsx @@ -53,6 +53,7 @@ const ActionTypes = Constants.ActionTypes; import AdminConsole from 'components/admin_console/admin_console.jsx'; import SystemAnalytics from 'components/analytics/system_analytics.jsx'; import ConfigurationSettings from 'components/admin_console/configuration_settings.jsx'; +import LocalizationSettings from 'components/admin_console/localization_settings.jsx'; import UsersAndTeamsSettings from 'components/admin_console/users_and_teams_settings.jsx'; import PrivacySettings from 'components/admin_console/privacy_settings.jsx'; import LogSettings from 'components/admin_console/log_settings.jsx'; @@ -142,8 +143,8 @@ function preRenderSetup(callwhendone) { ); function afterIntl() { - I18n.doAddLocaleData(); $.when(d1).done(() => { + I18n.doAddLocaleData(); callwhendone(); }); } @@ -362,6 +363,10 @@ function renderRootComponent() { path='configuration' component={ConfigurationSettings} /> +