@@ -97,18 +97,18 @@ Because Wails v2 for Windows is pure Go, you can target Windows builds without d
```
-### In Conclusion
+### Em conclusão
-As I'd said in the Windows release notes, Wails v2 represents a new foundation for the project. The aim of this release is to get feedback on the new approach, and to iron out any bugs before a full release. Your input would be most welcome! Please direct any feedback to the [v2 Beta](https://github.com/wailsapp/wails/discussions/828) discussion board.
+Como eu disse nas notas de lançamento do Windows, Wails v2 representa uma nova fundação para o projeto. O objetivo desta versão é obter feedback sobre a nova abordagem e aperfeiçoar quaisquer erros antes de uma versão completa. Sua opinião seria muito bem-vinda! Por favor, direcione qualquer feedback para o fórum de discussão [Beta](https://github.com/wailsapp/wails/discussions/828).
-Linux is **hard** to support. We expect there to be a number of quirks with the beta. Please help us to help you by filing detailed bug reports!
+Linux é **Difícil** de suporte. Esperamos que haja uma série de peculiaridades com o beta. Por favor, ajude-nos a lhe ajudar por a visualizar relatórios detalhados de erros!
-Finally, I'd like to give a special thank you to all the [project sponsors](/credits#sponsors) whose support drive the project in many ways behind the scenes.
+Por fim, gostaria de agradecer especialmente a todos os [patrocinadores do projeto](/credits#sponsors) cujo apoio conduzir o projeto de várias maneiras nos bastidores.
-I look forward to seeing what people build with Wails in this next exciting phase of the project!
+Estou ansioso para ver o que as pessoas construirão com Wails nesta próxima fase emocionante do projeto!
Lea.
-PS: The v2 release isn't far off now!
+PS: A versão v2 não está muito distante agora!
-PPS: If you or your company find Wails useful, please consider [sponsoring the project](https://github.com/sponsors/leaanthony). Thanks!
+PPS: Se você ou sua empresa consideram o Wails útil, considere [patrocinar o projeto](https://github.com/sponsors/leaanthony). Obrigado!
diff --git a/website/i18n/pt/docusaurus-plugin-content-blog/2022-09-22-v2-release-notes.mdx b/website/i18n/pt/docusaurus-plugin-content-blog/2022-09-22-v2-release-notes.mdx
index c321f504..064c1ad8 100644
--- a/website/i18n/pt/docusaurus-plugin-content-blog/2022-09-22-v2-release-notes.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-blog/2022-09-22-v2-release-notes.mdx
@@ -1,6 +1,6 @@
---
slug: wails-v2-released
-title: Wails v2 Released
+title: Wails v2 liberado
authors:
- leaanthony
tags:
@@ -18,81 +18,81 @@ tags:
```
-# It's here!
+# Já disponível!
-Today marks the release of [Wails](https://wails.io) v2. It's been about 18 months since the first v2 alpha and about a year from the first beta release. I'm truly grateful to everyone involved in the evolution of the project.
+Hoje marca a liberação de [Wails](https://wails.io) v2. Já faz cerca de 18 meses desde o primeiro alfa v2 e cerca de um ano desde a primeira versão beta. Eu sou realmente grato a todos que participaram da evolução do projeto.
-Part of the reason it took that long was due to wanting to get to some definition of completeness before officially calling it v2. The truth is, there's never a perfect time to tag a release - there's always outstanding issues or "just one more" feature to squeeze in. What tagging an imperfect major release does do, however, is to provide a bit of stability for users of the project, as well as a bit of a reset for the developers.
+Uma parte da razão por que demorou tanto tempo a querer chegar a uma definição de completude antes de a designar oficialmente como v2. A verdade é que nunca há um momento perfeito para marcar uma versão - há sempre questões pendentes ou "apenas mais um" recurso para entrar. No entanto, o que marcar uma versão principal imperfeita faz. é fornecer um pouco de estabilidade para os usuários do projeto, bem como um pouco de redefinição para os desenvolvedores.
-This release is more than I'd ever expected it to be. I hope it gives you as much pleasure as it has given us to develop it.
+Esta versão é mais do que eu já esperava que fosse. Espero que lhe dê tanto prazer como nos deu em desenvolvê-lo.
-# What _is_ Wails?
+# O que _é_ Wails?
-If you are unfamiliar with Wails, it is a project that enables Go programmers to provide rich frontends for their Go programs using familiar web technologies. It's a lightweight, Go alternative to Electron. Much more information can be found on the [official site](https://wails.io/docs/introduction).
+Se você não estiver familiarizado com as Wails, é um projeto que permite aos programadores Go fornecerem frontend ricos para seus programas usando tecnologias web familiares. É leve, uma alternativa ao Electron. Muito mais informações podem ser encontradas no [site oficial](https://wails.io/docs/introduction).
-# What's new?
+# O que há de novo?
-The v2 release is a huge leap forward for the project, addressing many of the pain points of v1. If you have not read any of the blog posts on the Beta releases for [macOS](/blog/wails-v2-beta-for-mac), [Windows](/blog/wails-v2-beta-for-windows) or [Linux](/blog/wails-v2-beta-for-linux), then I encourage you to do so as it covers all the major changes in more detail. In summary:
+A liberação v2 é um enorme salto em frente para o projeto, abordando muitos dos pontos de dor da v1. Se você não leu nenhum dos posts no blog em versões beta para [macOS](/blog/wails-v2-beta-for-mac), [Windows](/blog/wails-v2-beta-for-windows) ou [Linux](/blog/wails-v2-beta-for-linux), Então eu encorajo-os a fazê-lo porque cobre todas as principais mudanças em mais detalhes. Resumo:
-- Webview2 component for Windows that supports modern web standards and debugging capabilities.
-- [Dark / Light theme](/docs/reference/options#theme) + [custom theming](/docs/reference/options#customtheme) on Windows.
-- Windows now has no CGO requirements.
-- Out-of-the-box support for Svelte, Vue, React, Preact, Lit & Vanilla project templates.
-- [Vite](https://vitejs.dev/) integration providing a hot-reload development environment for your application.
-- Native application [menus](/docs/guides/application-development#application-menu) and [dialogs](/docs/reference/runtime/dialog).
-- Native window translucency effects for [Windows](/docs/reference/options#windowistranslucent) and [macOS](/docs/reference/options#windowistranslucent-1). Support for Mica & Acrylic backdrops.
-- Easily generate an [NSIS installer](/docs/guides/windows-installer) for Windows deployments.
-- A rich [runtime library](/docs/reference/runtime/intro) providing utility methods for window manipulation, eventing, dialogs, menus and logging.
-- Support for [obfuscating](/docs/guides/obfuscated) your application using [garble](https://github.com/burrowers/garble).
-- Support for compressing your application using [UPX](https://upx.github.io/).
-- Automatic TypeScript generation of Go structs. More info [here](/docs/howdoesitwork#calling-bound-go-methods).
-- No extra libraries or DLLs are required to be shipped with your application. For any platform.
-- No requirement to bundle frontend assets. Just develop your application like any other web application.
+- Componente Webview2 para Windows que oferece suporte a modernos padrões da web e capacidades de depuração.
+- [Tema Dark / Light](/docs/reference/options#theme) + [tema personalizado](/docs/reference/options#customtheme) no Windows.
+- Windows não tem os requisitos de CGO.
+- Suporte fora da caixa para modelos de projeto Svelte, Vue, React, Preact, Lit & Vanilla.
+- [Vite](https://vitejs.dev/) integração proporcionando um ambiente de desenvolvimento de atualização quente para seu aplicativo.
+- Aplicação nativa [menus](/docs/guides/application-development#application-menu) e [dialogs](/docs/reference/runtime/dialog).
+- Efeitos de translucência nativos da janela para [Windows](/docs/reference/options#windowistranslucent) e [macOS](/docs/reference/options#windowistranslucent-1). Support para Mica & Acrylic backdrops.
+- Gera facilmente um instalador [NSIS](/docs/guides/windows-installer) para deploys com Windows.
+- Uma biblioteca [em tempo de execução](/docs/reference/runtime/intro) que fornece métodos utilitários para manipulação de janelas, eventos, diálogos, menus e logs.
+- Suporte para [ofuscar](/docs/guides/obfuscated) seu aplicativo usando [garble](https://github.com/burrowers/garble).
+- Suporte para compactar sua aplicação usando [UPX](https://upx.github.io/).
+- Geração automática de estruturas de Go para TypeScript. Mais informações [aqui](/docs/howdoesitwork#calling-bound-go-methods).
+- Não são necessárias bibliotecas extras ou DLLs para enviar com sua aplicação. Para qualquer plataforma.
+- Nenhum requisito para empacotar assets. Apenas desenvolva seu aplicativo como qualquer outro aplicativo da web.
-# Credit & Thanks
+# Crédito & Obrigado
-Getting to v2 has been a huge effort. There have been ~2.2K commits by 89 contributors between the initial alpha and the release today, and many, many more that have provided translations, testing, feedback and help on the discussion forums as well as the issue tracker. I'm so unbelievably grateful to each one of you. I'd also like to give an extra special thank you to all the project sponsors who have provided guidance, advice and feedback. Everything you do is hugely appreciated.
+Chegar à v2 tem sido um enorme esforço. Houve cerca de 2,2 mil commits de 89 colaboradores entre o alfa inicial e o lançamento de hoje, e muitos, muitos mais que forneceram traduções, testes, feedback e ajuda nos fóruns de discussão, bem como no rastreador de problemas. Sou tão incrivelmente grato a cada um de vocês. Eu também gostaria de dar um agradecimento especial extra para todos os patrocinadores do projeto que forneceram orientação, conselho e feedback. Tudo o que você faz é extremamente apreciado.
-There are a few people I'd like to give special mention to:
+Há algumas pessoas que eu gostaria de mencionar especialmente:
-Firstly, a **huge** thank you to [@stffabi](https://github.com/stffabi) who has provided so many contributions which we all benefit from, as well as providing a lot of support on many issues. He has provided some key features such as the external dev server support which transformed our dev mode offering by allowing us to hook into [Vite](https://vitejs.dev/)'s superpowers. It's fair to say that Wails v2 would be a far less exciting release without his [incredible contributions](https://github.com/wailsapp/wails/commits?author=stffabi&since=2020-01-04). Thank you so much @stffabi!
+Primeiro, a **enorme** obrigado a [@stffabi](https://github.com/stffabi) que forneceu tantas contribuições das quais todos nos beneficiamos, Para além de prestar muito apoio em muitas questões. Ele forneceu algumas principais características, como o suporte ao servidor de desenvolvimento externo que transformou a oferta de desenvolvimento ao nos permitir conectar aos superpoderes do [Vite](https://vitejs.dev/). É justo dizer que o Wails v2 seria um lançamento muito menos emocionante sem sua [incrível contribuição](https://github.com/wailsapp/wails/commits?author=stffabi&since=2020-01-04). Muito obrigado @stffabi!
-I'd also like to give a huge shout-out to [@misitebao](https://github.com/misitebao) who has tirelessly been maintaining the website, as well as providing Chinese translations, managing Crowdin and helping new translators get up to speed. This is a hugely important task, and I'm extremely grateful for all the time and effort put into this! You rock!
+Eu também gostaria de dar um grande grito para [@misitebao](https://github.com/misitebao) que tem mantido o site incansavelmente. Além de fornecer traduções chinesas, gerenciar Crowdin e ajudar novos tradutores a se atualizarem para a velocidade. Esta é uma tarefa extremamente importante, e estou extremamente grato por todo o tempo e esforço investido nisso! Você é espetacular!
-Last, but not least, a huge thank you to Mat Ryer who has provided advice and support during the development of v2. Writing xBar together using an early Alpha of v2 was helpful in shaping the direction of v2, as well as give me an understanding of some design flaws in the early releases. I'm happy to announce that as of today, we will start to port xBar to Wails v2, and it will become the flagship application for the project. Cheers Mat!
+Por último, mas não menos importante, um enorme agradecimento ao senhor Mat Ryer, que prestou aconselhamento e apoio durante o desenvolvimento da v2. Escrever xBar junto usando um alfa inicial da v2 foi útil para moldar a direção da v2, Além de me dar uma ideia de algumas falhas de design nas versões mais cedo. Tenho prazer em anunciar que, a partir de hoje, começaremos a abrir o porto xBar para Wails v2, e tornar-se-á o principal aplicativo para o projecto. Felicidades Mat!
-# Lessons Learnt
+# Lições Aprendidas
-There are a number of lessons learnt in getting to v2 that will shape development moving forward.
+Há uma série de lições aprendidas ao chegar à v2 que irão moldar o desenvolvimento avançado.
-## Smaller, Quicker, Focused Releases
+## Menor, Rápido e Focado Versões
-In the course of developing v2, there were many features and bug fixes that were developed on an ad-hoc basis. This led to longer release cycles and were harder to debug. Moving forward, we are going to create releases more often that will include a reduced number of features. A release will involve updates to documentation as well as thorough testing. Hopefully, these smaller, quicker, focussed releases will lead to fewer regressions and better quality documentation.
+No desenvolvimento da v2, havia muitas características e correções de erros que foram desenvolvidas numa base ad-hoc. Isso levou a ciclos de lançamento mais longos e era mais difícil de depurar. Seguindo, vamos criar lançamentos com mais frequência que incluirá um número reduzido de recursos. Uma versão envolverá atualizações da documentação, bem como testes completos. Esperemos que estes lançamentos mais pequenos, mais rápidos e focados conduzam a menos regressões e a uma melhor documentação de qualidade.
-## Encourage Engagement
+## Incentive o envolvimento
-When starting this project, I wanted to immediately help everyone who had a problem. Issues were "personal" and I wanted them resolved as quickly as possible. This is unsustainable and ultimately works against the longevity of the project. Moving forward, I will be giving more space for people to get involved in answering questions and triaging issues. It would be good to get some tooling to help with this so if you have any suggestions, please join in the discussion [here](https://github.com/wailsapp/wails/discussions/1855).
+Ao iniciar este projeto, eu queria ajudar imediatamente todos os que tiveram um problema. Os problemas eram "pessoais" e eu queria que eles fossem resolvidos o mais rapidamente possível. Isto é insustentável e acaba por contrariar a longevidade do projecto. Avançando, darei mais espaço para que as pessoas se envolvam na resposta a perguntas e na triagem de questões. Seria bom conseguir algumas ferramentas para ajudar com isso, portanto, se você tiver alguma sugestão, por favor, participe da discussão [aqui](https://github.com/wailsapp/wails/discussions/1855).
-## Learning to say No
+## Aprendendo a dizer Não
-The more people that engage with an Open Source project, the more requests there will be for additional features that may or may not be useful to the majority of people. These features will take an initial amount of time to develop and debug, and incur an ongoing maintenance cost from that point on. I myself am the most guilty of this, often wanting to "boil the sea" rather than provide the minimum viable feature. Moving forward, we will need to say "No" a bit more to adding core features and focus our energies on a way to empower developers to provide that functionality themselves. We are looking seriously into plugins for this scenario. This will allow anyone to extend the project as they see fit, as well as providing an easy way to contribute towards the project.
+Quanto mais pessoas se envolverem com um projeto de Código Aberto, quanto mais pedidos forem para recursos adicionais que possam ou não ser úteis para a maioria das pessoas. Estas características levarão um tempo inicial para desenvolver e debugar e incorrer num custo de manutenção contínuo a partir desse ponto. Eu próprio sou o mais culpado por isso, querendo muitas vezes "ferver o mar" em vez de fornecer o mínimo viável. Seguindo, precisaremos dizer "Não" um pouco mais para adicionar recursos principais e concentrar as nossas energias em uma forma de capacitar os desenvolvedores para fornecer essas funcionalidades por conta própria. Estamos analisando seriamente plugins para este cenário. Isso permitirá a qualquer pessoa alargar o projecto como considerar conveniente, bem como proporcionar uma forma fácil de contribuir para o projecto.
-# Looking to the Future
+# Olhando para o futuro
-There are so many core features we are looking at to add to Wails in the next major development cycle already. The [roadmap](https://github.com/wailsapp/wails/discussions/1484) is full of interesting ideas, and I'm keen to start work on them. One of the big asks has been for multiple window support. It's a tricky one and to do it right, and we may need to look at providing an alternative API, as the current one was not designed with this in mind. Based on some preliminary ideas and feedback, I think you'll like where we're looking to go with it.
+Há tantas características centrais que estamos a analisar para adicionar às Wails no próximo grande ciclo de desenvolvimento. O [planejamento](https://github.com/wailsapp/wails/discussions/1484) está cheio de ideias interessantes, e estou ansioso para começar a trabalhar nelas. Uma das grandes perguntas tem sido a de múltiplas janelas. É um pouco complicado e para fazer isso certo, e pode ser que precisemos analisar a prover uma API alternativa. Como o actual não foi concebido tendo isso em mente. Com base em algumas idéias preliminares e feedback, eu acho que você vai gostar de onde estamos procurando acompanhá-lo.
-I'm personally very excited at the prospect of getting Wails apps running on mobile. We already have a demo project showing that it is possible to run a Wails app on Android, so I'm really keen to explore where we can go with this!
+Eu pessoalmente estou muito animado com a perspectiva de fazer aplicativos Wails funcionarem em dispositivos móveis. Já temos um projeto de demonstração mostrando que é possível executar um aplicativo Wails no Android, então eu estou realmente ansioso para explorar onde podemos ir com isso!
-A final point I'd like to raise is that of feature parity. It has long been a core principle that we wouldn't add anything to the project without there being full cross-platform support for it. Whilst this has proven to be (mainly) achievable so far, it has really held the project back in releasing new features. Moving forward, we will be adopting a slightly different approach: any new feature that cannot be immediately released for all platforms will be released under an experimental configuration or API. This allows early adopters on certain platforms to try the feature and provide feedback that will feed into the final design of the feature. This, of course, means that there are no guarantees of API stability until it is fully supported by all the platforms it can be supported on, but at least it will unblock development.
+Um último ponto que gostaria de levantar é o da paridade de recursos. Há muito tempo é um princípio central que não adicionamos nada ao projeto sem que haja suporte completo entre plataformas para ele. Embora isto tenha provado ser (principalmente) exequível até agora, conseguiu realmente reter o projeto na libertação de novas características. Movendo para frente, estaremos adotando uma abordagem ligeiramente diferente: qualquer nova funcionalidade que não possa ser imediatamente lançada para todas as plataformas será lançada sob uma configuração experimental ou API. Isso permite que usuários antecipados de certas plataformas experimentem o recurso e forneçam feedback que serão incorporados no design final da funcionalidade. Isto, claro, significa que não há garantias de estabilidade da API até que ela seja totalmente suportada por todas as plataformas em que pode ser suportada, mas pelo menos vai desbloquear o desenvolvimento.
-# Final Words
+# Palavras Finais
-I'm really proud of what we've been able to achieve with the V2 release. It's amazing to see what people have already been able to build using the beta releases so far. Quality applications like [Varly](https://varly.app/), [Surge](https://getsurge.io/) and [October](https://october.utf9k.net/). I encourage you to check them out.
+Estou muito orgulhoso do que conseguimos alcançar com a versão V2. É incrível ver o que as pessoas já foram capazes de construir usando os lançamentos beta. Aplicativos de qualidade como [Varly](https://varly.app/), [Surge](https://getsurge.io/) e [outubro](https://october.utf9k.net/). Eu encorajo você a conferi-los.
-This release was achieved through the hard work of many contributors. Whilst it is free to download and use, it has not come about through zero cost. Make no mistakes, this project has come at considerable cost. It has not only been my time and the time of each and every contributor, but also the cost of absence from friends and families of each of those people too. That's why I'm extremely grateful for every second that has been dedicated to making this project happen. The more contributors we have, the more this effort can be spread out and the more we can achieve together. I'd like to encourage you all to pick one thing that you can contribute, whether it is confirming someone's bug, suggesting a fix, making a documentation change or helping out someone who needs it. All of these small things have such a huge impact! It would be so awesome if you too were part of the story in getting to v3.
+Esta libertação foi conseguida através do trabalho árduo de muitos contribuintes. Embora seja livre de descarregar e utilizar, não surgiu através de custo zero. Não cometamos erros, este projeto tem um custo considerável. Não foi só o meu tempo e o tempo de cada um dos intervenientes, mas também o de cada um. mas também o custo da ausência de amigos e famílias de cada uma dessas pessoas. É por isso que eu estou extremamente grato por cada segundo que foi dedicado a fazer este projeto acontecer. Quanto mais contribuidores tivermos, mais este esforço poderá ser repartido e mais conseguiremos alcançar em conjunto. Eu gostaria de encorajar todos vocês a escolherem uma coisa que você possa contribuir, seja confirmar o bug de alguém, Sugira uma correção, fazendo uma documentação mudar ou ajudando alguém que precise. Todas estas pequenas coisas têm um impacto tão grande! Seria fantástico se o senhor também fizesse parte da história para chegar à v3.
-Enjoy!
+Aproveite!
‐ Lea
-PS: If you or your company find Wails useful, please consider [sponsoring the project](https://github.com/sponsors/leaanthony). Thanks!
+PS: Se você ou sua empresa consideram o Wails útil, considere [patrocinar o projeto](https://github.com/sponsors/leaanthony). Obrigado!
diff --git a/website/i18n/pt/docusaurus-plugin-content-blog/2023-01-17-v3-roadmap.mdx b/website/i18n/pt/docusaurus-plugin-content-blog/2023-01-17-v3-roadmap.mdx
index 9a137d09..7ec5accb 100644
--- a/website/i18n/pt/docusaurus-plugin-content-blog/2023-01-17-v3-roadmap.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-blog/2023-01-17-v3-roadmap.mdx
@@ -1,6 +1,6 @@
---
slug: the-road-to-wails-v3
-title: The Road to Wails v3
+title: A Estrada para Wails v3
authors:
- leaanthony
tags:
@@ -18,61 +18,61 @@ tags:
```
-# Introduction
+# Introdução
-Wails is a project that simplifies the ability to write cross-platform desktop applications using Go. It uses native webview components for the frontend (not embedded browsers), bringing the power of the world's most popular UI system to Go, whilst remaining lightweight.
+Wails é um projeto que simplifica a capacidade de escrever aplicativos de desktop multiplataforma usando Ir. Ele usa componentes nativos do webview para o frontend (não os navegadores incorporados), trazendo o poder do sistema de interface de usuário mais popular do mundo, enquanto permanece leve.
-Version 2 was released on the 22nd of September 2022 and brought with it a lot of enhancements including:
+A versão 2 foi lançada no dia 22 de setembro de 2022 e trouxe uma série de aprimoramentos incluindo:
-- Live development, leveraging the popular Vite project
-- Rich functionality for managing windows and creating menus
+- Desenvolvimento ao vivo, aproveitando o projeto popular Vite
+- Funcionalidade rica para gerenciar janelas e criar menus
- Microsoft's WebView2 component
-- Generation of Typescript models that mirror your Go structs
-- Creating of NSIS Installer
-- Obfuscated builds
+- Geração de modelos de Typescript que espelham suas construções em Go
+- Criação do NSIS Installer
+- Compilações ofuscadas
-Right now, Wails v2 provides powerful tooling for creating rich, cross-platform desktop applications.
+No momento, o Wails v2 fornece ferramentas poderosas para a criação de ‘desktops’ ricos e multiplataforma. Formulários. Ir.
-This blog post aims to look at where the project is at right now and what we can improve on moving forward.
+Este post de blog visa ver onde o projeto está no momento e o que podemos melhorar ao avançar.
-# Where are we now?
+# Em que ponto estamos agora?
-It's been incredible to see the popularity of Wails rising since the v2 release. I'm constantly amazed by the creativity of the community and the wonderful things that are being built with it. With more popularity, comes more eyes on the project. And with that, more feature requests and bug reports.
+Tem sido incrível ver a popularidade das Wails aumentar desde o lançamento v2. Estou constantemente maravilhados com a criatividade da comunidade e com as coisas maravilhosas que estão sendo construídas com ela. Com mais popularidade, vem mais olhos para o projeto. E com isso, mais solicitações de recursos e relatórios de bugs.
-Over time, I've been able to identify some of the most pressing issues facing the project. I've also been able to identify some of the things that are holding the project back.
+Ao longo do tempo, consegui identificar alguns dos problemas mais prementes enfrentados pelo projeto. Eu também fui capaz de identificar algumas das coisas que estão segurando o projeto de volta.
-## Current issues
+## Problemas atuais
-I've identified the following areas that I feel are holding the project back:
+Eu identifiquei as seguintes áreas que sinto que estão segurando o projeto de volta:
-- The API
-- Bindings generation
-- The Build System
+- A API
+- Geração de Atalhos
+- O Sistema de Compilação
-### The API
+### A API
-The API to build a Wails application currently consists of 2 parts:
+A API para criar um aplicativo Wails atualmente consiste de 2 partes:
-- The Application API
-- The Runtime API
+- A API do Aplicativo
+- A API Runtime
-The Application API famously has only 1 function: `Run()` which takes a heap of options which govern how the application will work. Whilst this is very simple to use, it is also very limiting. It is a "declarative" approach which hides a lot of the underlying complexity. For instance, there is no handle to the main window, so you can't interact with it directly. For that, you need to use the Runtime API. This is a problem when you start to want to do more complex things like create multiple windows.
+A aplicação API famosamente tem apenas 1 função: `Run()` que dá um monte de opções que governam como a aplicação vai funcionar. Embora isso seja muito simples de usar, é também muito limitado. É uma abordagem "declarativa" que esconde muita da complexidade subjacente. Por exemplo, não há nenhum identificador para a janela principal, então você não pode interagir diretamente com ele. Para isso, você precisa usar a API Runtime. Este é um problema quando você começar a fazer coisas mais complexas como criar múltiplas janelas.
-The Runtime API provides a lot of utility functions for the developer. This includes:
+A API do Runtime fornece um monte de funções de utilidade para o desenvolvedor. Isso inclui:
-- Window management
-- Dialogs
+- Gestão de janelas
+- Caixa de diálogo
- Menus
-- Events
+- Eventos
- Logs
-There are a number of things I am not happy with the Runtime API. The first is that it requires a "context" to be passed around. This is both frustrating and confusing for new developers who pass in a context and then get a runtime error.
+Há várias coisas que eu não estou feliz com a API de Runtime. O primeiro é que ele requer um "contexto" para ser passado. Isto é frustrante e confuso para novos desenvolvedores que passam em um contexto e depois recebem um erro de tempo de execução.
-The biggest issue with the Runtime API is that it was designed for applications that only use a single window. Over time, the demand for multiple windows has grown and the API is not well suited to this.
+O maior problema com a API de Runtime é que ela foi projetada para aplicativos que só usam uma única janela. Ao longo do tempo, a demanda por várias janelas cresceu e a API é não adequada a isso.
-### Thoughts on the v3 API
+### Pensamentos na API v3
-Wouldn't it be great if we could do something like this?
+Não seria ótimo se pudéssemos fazer algo assim?
```go
func main() {
@@ -86,7 +86,7 @@ func main() {
}
```
-This programmatic approach is far more intuitive and allows the developer to interact with the application elements directly. All current runtime methods for windows would simply be methods on the window object. For the other runtime methods, we could move them to the application object like so:
+Esta abordagem programática é muito mais intuitiva e permite que o desenvolvedor interaja com os elementos do aplicativo diretamente. Todos os métodos atuais de tempo de execução para o windows seriam simplesmente métodos no objeto da janela. Para os outros métodos de execução, poderíamos mover eles para o objeto do aplicativo assim:
```go
app := wails.NewApplication(options.App{})
@@ -94,7 +94,7 @@ app.NewInfoDialog(options.InfoDialog{})
app.Log.Info("Hello World")
```
-This is a much more powerful API which will allow for more complex applications to be built. It also allows for the creation of multiple windows, [the most up-voted feature on GitHub](https://github.com/wailsapp/wails/issues/1480):
+Esta é uma API muito mais poderosa que permitirá a criação de aplicações mais complexas. Ele também permite a criação de múltiplas janelas, [o recurso mais votado para cima no GitHub](https://github.com/wailsapp/wails/issues/1480):
```go
func main() {
@@ -113,72 +113,72 @@ func main() {
}
```
-### Bindings generation
+### Geração de Atalhos
-One of the key features of Wails is generating bindings for your Go methods so they may be called from Javascript. The current method for doing this is a bit of a hack. It involves building the application with a special flag and then running the resultant binary which uses reflection to determine what has been bound. This leads to a bit of a chicken and egg situation: You can't build the application without the bindings and you can't generate the bindings without building the application. There are many ways around this but the best one would be not to use this approach at all.
+Uma das principais características das Wails é gerar ligações para seus métodos Go para que possam ser chamadas a partir de Javascript. O método atual para fazer isso é um pouco hackeado. Ele envolve construir o aplicativo com uma bandeira especial e, em seguida, executar o binário resultante que usa reflexão para determinar o que foi vinculado. Isso leva a um pouco de galinha e ovo situação: você não pode construir o aplicativo sem as ligações e não pode gerar o vinculações sem compilar o aplicativo. Há muitas maneiras em torno disso, mas a melhor seria não usar essa abordagem de todo.
-There was a number of attempts at writing a static analyser for Wails projects but they didn't get very far. In more recent times, it has become slightly easier to do this with more material available on the subject.
+Houve uma série de tentativas de escrever um analisador estático para projetos Wails, mas eles não chegaram muito longe. Em tempos mais recentes, tornou-se um pouco mais fácil fazer isso com mais material disponível sobre o assunto.
-Compared to reflection, the AST approach is much faster however it is significantly more complicated. To start with, we may need to impose certain constraints on how to specify bindings in the code. The goal is to support the most common use cases and then expand it later on.
+Comparada à reflexão, a abordagem AST é muito mais rápida, porém é significativamente mais complicado. Para começar, podemos precisar impor certas restrições de como especificar ligações no código. O objetivo é suportar os casos de uso mais comuns e, em seguida, expandir mais tarde.
-### The Build System
+### O Sistema de Compilação
-Like the declarative approach to the API, the build system was created to hide the complexities of building a desktop application. When you run `wails build`, it does a lot of things behind the scenes:
-- Builds the backend binary for bindings and generates the bindings
-- Installs the frontend dependencies
-- Builds the frontend assets
-- Determines if the application icon is present and if so, embeds it
-- Builds the final binary
-- If the build is for `darwin/universal` it builds 2 binaries, one for `darwin/amd64` and one for `darwin/arm64` and then creates a fat binary using `lipo`
-- If compression is required, it compresses the binary with UPX
-- Determines if this binary is to be packaged and if so:
- - Ensures the icon and application manifest are compiled into the binary (Windows)
- - Builds out the application bundle, generates the icon bundle and copies it, the binary and Info.plist to the application bundle (Mac)
-- If an NSIS installer is required, it builds it
+Como a abordagem declarativa para a API, o sistema de compilação foi criado para ocultar as complexidades da construção de um aplicativo desktop. Quando você executa `wails build`, ele faz um muitas coisas nos bastidores:
+- Constrói o binário de back-end para ligações e gera as ligações
+- Instala as dependências de frontend
+- Constrói os assets do frontend
+- Determina se o ícone da aplicação está presente e, se sim, incorpora-o
+- Constrói o binário final
+- Se a compilação for para `darwin/universal` compila 2 binários, um para `darwin/amd64` e um para `darwin/arm64` e então cria um binário gordo usando `lipo`
+- Se a compressão é necessária, ela compacta o binário com UPX
+- Determina se este binário deve ser empacotado e, se isso acontecer:
+ - Garante que o ícone e manifesto da aplicação são compilados em binário (Windows)
+ - Constrói o pacote de aplicativos, gera o pacote de ícones e copia-lo, o binário e o Info.plist para o pacote de aplicações (Mac)
+- Se um instalador do NSIS for necessário, ele será compilado
-This entire process, whilst very powerful, is also very opaque. It is very difficult to customise it and it is very difficult to debug.
+Todo este processo, apesar de muito poderoso, é também muito opaco. É muito difícil personalize-o e é muito difícil de depurar.
-To address this in v3, I would like to move to a build system that exists outside of Wails. After using [Task](https://taskfile.dev/) for a while, I am a big fan of it. It is a great tool for configuring build systems and should be reasonably familiar to anyone who has used Makefiles.
+Para abordar esta questão na v3, gostaria de passar para um sistema de construção que existe fora das Wails. Depois de usar [Tarefa](https://taskfile.dev/) por um tempo, eu sou um grande fã dela. É uma ótima ferramenta para configurar sistemas de construção e deve ser razoavelmente familiar para qualquer um que tenha usado Makefiles.
-The build system would be configured using a `Taskfile.yml` file which would be generated by default with any of the supported templates. This would have all of the steps required to do all the current tasks, such as building or packaging the application, allowing for easy customisation.
+O sistema de compilação seria configurado usando um arquivo `Taskfile.yml` que seria gerado por padrão com qualquer um dos modelos suportados. Isto teria todas as etapas necessárias para realizar todas as tarefas atuais, como construir ou embalar a aplicação, permitindo fácil personalização.
-There will be no external requirement for this tooling as it would form part of the Wails CLI. This means that you can still use `wails build` and it will do all the things it does today. However, if you want to customise the build process, you can do so by editing the `Taskfile.yml` file. It also means you can easily understand the build steps and use your own build system if you wish.
+É muito difícil personalizar e é muito difícil de purificar. Isso significa que você ainda pode usar `wails build` e ele fará tudo o que faz hoje. No entanto, se você deseja personalizar o processo de construção, você pode fazê-lo editando o arquivo `Taskfile.yml`. Isso também significa que você pode facilmente entender as etapas de compilação e usar seu próprio sistema de compilação se desejar.
-The missing piece in the build puzzle is the atomic operations in the build process, such as icon generation, compression and packaging. To require a bunch of external tooling would not be a great experience for the developer. To address this, the Wails CLI will provide all these capabilities as part of the CLI. This means that the builds still work as expected, with no extra external tooling, however you can replace any step of the build with any tool you like.
+A peça que falta no quebra-cabeça da construção são as operações atómicas no processo de construção, como geração, compactação e empacotamento de ícones. Para exigir um monte de ferramentas externas não seria uma ótima experiência para o desenvolvedor. Para resolver isso, a CLI do Wails fornecerá todos esses recursos como parte da CLI. Isso significa que as compilações ainda funcionam como esperado, sem ferramenta externa extra, no entanto você pode substituir qualquer passo da compilação por qualquer ferramenta que você goste.
-This will be a much more transparent build system which will allow for easier customisation and address a lot of the issues that have been raised around it.
+Este será um sistema de compilação muito mais transparente que permitirá uma personalização mais fácil e resolverá muitas das questões que foram levantadas em torno dele.
-## The Payoff
+## A Recompensa
-These positive changes will be a huge benefit to the project:
-- The new API will be much more intuitive and will allow for more complex applications to be built.
-- Using static analysis for bindings generation will be much faster and reduce a lot of the complexity around the current process.
-- Using an established, external build system will make the build process completely transparent, allowing for powerful customisation.
+Estas mudanças positivas serão um grande benefício para o projeto:
+- A nova API será muito mais intuitiva e permitirá a criação de aplicativos mais complexos.
+- Usar análise estática para geração de ligações será muito mais rápido e reduzirá muito da complexidade em torno do processo atual.
+- Usando um sistema de compilação externa estabelecido tornará o processo de construção completamente transparente, permitindo uma personalização poderosa.
-Benefits to the project maintainers are:
+Os benefícios para os mantenedores do projeto são:
-- The new API will be much easier to maintain and adapt to new features and platforms.
-- The new build system will be much easier to maintain and extend. I hope this will lead to a new ecosystem of community driven build pipelines.
-- Better separation of concerns within the project. This will make it easier to add new features and platforms.
+- A nova API será muito mais fácil de manter e adaptar a novos recursos e plataformas.
+- O novo sistema de construção será muito mais fácil de manter e alargar. Espero que isto conduza a um novo ecossistema de gasodutos de construção orientados pela comunidade.
+- Melhor separação das preocupações no âmbito do projecto. Isso facilitará a adição de novos recursos e plataformas.
-## The Plan
+## O Plano
-A lot of the experimentation for this has already been done and it's looking good. There is no current timeline for this work but I'm hoping by the end of Q1 2023, there will be an alpha release for Mac to allow the community to test, experiment with and provide feedback.
+Muitos dos experimentos já foram feitos e estão bons. Não há um cronograma atual para este trabalho, mas espero que até o final do primeiro trimestre de 2023, haja será uma versão alfa para Mac para permitir que a comunidade teste, experimente e dar uma resposta.
-## Summary
+## Resumo
-- The v2 API is declarative, hides a lot from the developer and not suitable for features such as multiple windows. A new API will be created which will be simpler, intuitive and more powerful.
-- The build system is opaque and difficult to customise so we will move to an external build system which will open it all up.
-- The bindings generation is slow and complex so we will move to static analysis which will remove a lot of the complexity the current method has.
+- A API v2 é declarativa, esconde muito do desenvolvedor e não é adequada para recursos, como múltiplas janelas. Será criada uma nova API que será mais simples, intuitiva e mais poderosa.
+- O sistema de construção é opaco e difícil de personalizar, pelo que passaremos a um sistema de construção externa que o irá abrir.
+- A geração de bindings é lenta e complexa, pelo que avançaremos para uma análise estática, que removerá grande parte da complexidade do método atual.
-There has been a lot of work put into the guts of v2 and it's solid. It's now time to address the layer on top of it and make it a much better experience for the developer.
+Tem havido muito trabalho colocado nas entranhas da v2 e é sólido. Agora é hora de abordar a camada acima dela e torná-la uma experiência muito melhor para o desenvolvedor.
-I hope you are as excited about this as I am. I'm looking forward to hearing your thoughts and feedback.
+Espero que você esteja tão empolgado com isso quanto eu. Estou ansioso em ouvir os seus pensamentos e sugestões.
-Regards,
+Cumprimentos,
‐ Lea
-PS: If you or your company find Wails useful, please consider [sponsoring the project](https://github.com/sponsors/leaanthony). Thanks!
+PS: Se você ou sua empresa consideram o Wails útil, considere [patrocinar o projeto](https://github.com/sponsors/leaanthony). Obrigado!
-PPS: Yes, that's a genuine screenshot of a multi-window application built with Wails. It's not a mockup. It's real. It's awesome. It's coming soon.
\ No newline at end of file
+PPS: Sim, esse é um genuíno screenshot de um aplicativo com várias janelas construído com Wails. Não é uma simulação. É real. É impressionante. Está chegando.
\ No newline at end of file
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/links.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/links.mdx
index 58bc9761..006ff61e 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/links.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/links.mdx
@@ -12,7 +12,7 @@ A [lista definitiva](https://github.com/wailsapp/awesome-wails) dos links relaci
## Canais de Suporte
-- [Wails Discord Server](https://discord.gg/JDdSxwjhGf)
+- [Servidor do Discord Wails](https://discord.gg/JDdSxwjhGf)
- [Github Issues](https://github.com/wailsapp/wails/issues)
- [v2 Beta Discussion Board](https://github.com/wailsapp/wails/discussions/828)
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/bulletinboard.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/bulletinboard.mdx
index 37be7513..6373a7ff 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/bulletinboard.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/bulletinboard.mdx
@@ -7,4 +7,4 @@
```
-The [BulletinBoard](https://github.com/raguay/BulletinBoard) application is a versital message board for static messages or dialogs to get information from the user for a script. It has a TUI for creating new dialogs that can latter be used to get information from the user. It's design is to stay running on your system and show the information as needed and then hide away. I have a process for watching a file on my system and sending the contents to BulletinBoard when changed. It works great with my workflows. There is also an [Alfred workflow](https://github.com/raguay/MyAlfred/blob/master/Alfred%205/EmailIt.alfredworkflow) for sending information to the program. The workflow is also for working with [EmailIt](https://github.com/raguay/EmailIt).
+O aplicativo [BulletinBoard](https://github.com/raguay/BulletinBoard) é um quadro de mensagens versitais para mensagens estáticas ou diálogos para obter informações do usuário para um script. Ele tem uma TUI para criar novas caixas de diálogo que podem ser usadas por último para obter informações do usuário. É um design que fica em execução no seu sistema e mostra as informações conforme necessário e depois se esconde. Tenho um processo para assistir um arquivo no meu sistema e enviar o conteúdo para o BulletinBoard quando alterado. Funciona bem com meus fluxos de trabalho. Há também um [fluxo de trabalho Alfred](https://github.com/raguay/MyAlfred/blob/master/Alfred%205/EmailIt.alfredworkflow) para enviar informações ao programa. O fluxo de trabalho também é para trabalhar com [EmailIt](https://github.com/raguay/EmailIt).
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/emailit.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/emailit.mdx
index c1817b70..862c304e 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/emailit.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/emailit.mdx
@@ -7,4 +7,4 @@
```
-[EmailIt](https://github.com/raguay/EmailIt/) is a Wails 2 program that is a markdown based email sender only with nine notepads, scripts to manipulate the text, and templates. It also has a scripts terminal to run scripts in EmailIt on files in your system. The scripts and templates can be used from the commandline itself or with the Alfred, Keyboard Maestro, Dropzone, or PopClip extensions. It also supports scripts and themes downloaded form GitHub. Documentation is not complete, but the programs works. It’s built using Wails2 and Svelte, and the download is a universal macOS application.
+[EmailIt](https://github.com/raguay/EmailIt/) é um programa Wails 2 que é um remetente de e-mail baseado em markdown com apenas nove notepads, scripts para manipular o texto e templates. Ele também tem um terminal para rodar scripts em EmailIt em arquivos do seu sistema. Os scripts e modelos podem ser usados na própria linha de comando ou com as extensões Alfred, Keyboard Maestro, Dropzone ou PopClip. Ele também suporta scripts e temas baixados no formulário GitHub. A documentação não está completa, mas os programas funcionam. É construído usando Wails2 e Svelte, e o download é um aplicativo macOS universal.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/espstudio.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/espstudio.mdx
new file mode 100644
index 00000000..78c79769
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/espstudio.mdx
@@ -0,0 +1,13 @@
+# ESP Studio
+
+```mdx-code-block
+
+```
+
+[ESP Studio](https://github.com/torabian/esp-studio) - Software multiplataforma, desktop, nuvem e incorporado
+para controlar dispositivos ESP/Arduino e construir fluxos de trabalho e sistemas de controle IOT complexos
\ No newline at end of file
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/filehound.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/filehound.mdx
index b8ee7fdf..0b5d7fc3 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/filehound.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/filehound.mdx
@@ -13,4 +13,4 @@ O Utilitário de Exportação FileHound permite os admnistradores FileHound a ca
Backend construído com: Go 1.15 Wails 1.11.0 go-sqlite3 1.14.6 go-linq 3.2
-Frontend with: Vue 2.6.11 Vuex 3.4.0 TypeScript Tailwind 1.9.6
+Frontend com: Vue 2.6.11 Vuex 3.4.0 TypeScript Tailwind 1.9.6
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/hiposter.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/hiposter.mdx
index 87e5837d..13ed9dc7 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/hiposter.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/hiposter.mdx
@@ -7,4 +7,4 @@
```
-[hiposter](https://github.com/obity/hiposter) is a simple and efficient http API testing client tool. Based on Wails, Go and sveltejs.
+[hiposter](https://github.com/obity/hiposter) é uma ferramenta simples e eficiente de teste de cliente http API. Baseado em Wails, Go and sveltejs.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/modalfilemanager.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/modalfilemanager.mdx
index 8a075d19..9633a7d4 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/modalfilemanager.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/modalfilemanager.mdx
@@ -9,6 +9,6 @@
```
-[Gerenciador de Arquivos Modal](https://github.com/raguay/ModalFileManager) é um gerenciador de arquivos dual pane usando tecnologias da web. Meu design original foi baseado em NW.js e pode ser encontrado [aqui](https://github.com/raguay/ModalFileManager-NWjs). Esta versão usa o mesmo código de frontend baseado em Svelte (mas foi muito modificado desde a partida do NW.), mas o backend implementado com [Wails 2](https://wails.io/). By using this implementation, I no longer use command line `rm`, `cp`, etc. commands, but a git install has to be on the system to download themes and extensions. Está totalmente codificado usando Go e roda muito mais rápido do que as versões anteriores.
+[Gerenciador de Arquivos Modal](https://github.com/raguay/ModalFileManager) é um gerenciador de arquivos dual pane usando tecnologias da web. Meu design original foi baseado em NW.js e pode ser encontrado [aqui](https://github.com/raguay/ModalFileManager-NWjs). Esta versão usa o mesmo código de frontend baseado em Svelte (mas foi muito modificado desde a partida do NW.), mas o backend implementado com [Wails 2](https://wails.io/). Ao usar esta implementação, não uso mais comandos de linha de comando `rm`, `cp`, etc., mas um git install deve estar no sistema para baixar temas e extensões. Está totalmente codificado usando Go e roda muito mais rápido do que as versões anteriores.
-Este gerenciador de arquivos é projetado em torno do mesmo princípio do Vim: uma ação controlada pelo teclado. O número de estados não é fixo, mas muito programável. Portanto, um número infinito de configurações de teclado pode ser criado e usado. Esta é a principal diferença em relação a outros gerenciadores de arquivos. There are themes and extensions available to download from GitHub.
+Este gerenciador de arquivos é projetado em torno do mesmo princípio do Vim: uma ação controlada pelo teclado. O número de estados não é fixo, mas muito programável. Portanto, um número infinito de configurações de teclado pode ser criado e usado. Esta é a principal diferença em relação a outros gerenciadores de arquivos. Existem temas e extensões disponíveis para download do GitHub.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/scriptbar.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/scriptbar.mdx
index 06608645..335e360e 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/scriptbar.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/scriptbar.mdx
@@ -7,4 +7,4 @@
```
-[ScriptBar](https://GitHub.com/raguay/ScriptBarApp) is a program to show the output of scripts or [Node-Red](https://nodered.org) server. It runs scripts defined in EmailIt program and shows the output. Scripts from xBar or TextBar can be used, but currently on the TextBar scripts work well. Também exibe a saída de scripts no seu sistema. ScriptBar não os coloca na barra de menus, mas os tenha todos em uma janela convidada para fácil visualização. Você pode ter várias abas para ter muitas coisas diferentes mostradas. Você também pode manter os links para os sites mais visitados.
+[ScriptBar](https://GitHub.com/raguay/ScriptBarApp) é um programa que mostra a saída dos scripts ou o servidor [Node-Red](https://nodered.org). Ele executa scripts definidos no programa EmailIt e mostra a saída. Scripts de xBar ou TextBar podem ser usados, mas atualmente em scripts da TextBar funcionam bem. Também exibe a saída de scripts no seu sistema. ScriptBar não os coloca na barra de menus, mas os tenha todos em uma janela convidada para fácil visualização. Você pode ter várias abas para ter muitas coisas diferentes mostradas. Você também pode manter os links para os sites mais visitados.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/tinyrdm.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/tinyrdm.mdx
new file mode 100644
index 00000000..cd9cec8b
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/tinyrdm.mdx
@@ -0,0 +1,10 @@
+# Tiny RDM
+
+```mdx-code-block
+
+```
+
+The [Tiny RDM](https://redis.tinycraft.cc/) application is an open-source, modern lightweight Redis GUI. It has a beautful UI, intuitive Redis database management, and compatible with Windows, Mac, and Linux. It provides visual key-value data operations, supports various data decoding and viewing options, built-in console for executing commands, slow log queries and more.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/warmine.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/warmine.mdx
index 950dc3f3..c56880f0 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/warmine.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/showcase/warmine.mdx
@@ -1,4 +1,4 @@
-# Minecraft launcher for WarMine
+# Launcher Minecraft para WarMine
```mdx-code-block
```
-[Minecraft launcher for WarMine](https://warmine.ru/) is a Wails application, that allows you to easily join modded game servers and manage your game accounts.
+[Minecraft Launcher para WarMine](https://warmine.ru/) é uma aplicação Wails que permite que você entre nos servidores de jogos modificados facilmente e gerencie suas contas de jogo.
-The Launcher downloads the game files, checks their integrity and launches the game with a wide range of customization options for the launch arguments from the backend.
+O Launcher baixa os arquivos do jogo, verifica sua integridade e lança o jogo com uma grande variedade de opções de personalização para os argumentos de lançamento pelo backend.
-Frontend is written in Svelte, whole launcher fits in 9MB and supports Windows 7-11.
+Frontend está escrito em Svelte, todo o launcher se enquadra em 9MB e suporta Windows 7-11.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/templates.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/templates.mdx
index a019ec07..5fab64fd 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/community/templates.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/community/templates.mdx
@@ -25,13 +25,13 @@ Se você não tiver certeza sobre um template, inspecione `package.json` e `wail
- [wails-template-vue](https://github.com/misitebao/wails-template-vue) - Wails template based on Vue ecology (Integrated TypeScript, Dark theme, Internationalization, Single page routing, TailwindCSS)
- [wails-vite-vue-ts](https://github.com/codydbentley/wails-vite-vue-ts) - Vue 3 TypeScript with Vite (and instructions to add features)
- [wails-vite-vue-the-works](https://github.com/codydbentley/wails-vite-vue-the-works) - Vue 3 TypeScript with Vite, Vuex, Vue Router, Sass, and ESLint + Prettier
-- [wails-template-quasar-js](https://github.com/sgosiaco/wails-template-quasar-js) - A template using JavaScript + Quasar V2 (Vue 3, Vite, Sass, Pinia, ESLint, Prettier)
-- [wails-template-quasar-ts](https://github.com/sgosiaco/wails-template-quasar-ts) - A template using TypeScript + Quasar V2 (Vue 3, Vite, Sass, Pinia, ESLint, Prettier, Composition API with <script setup>)
-- [wails-template-naive](https://github.com/tk103331/wails-template-naive) - Wails template based on Naive UI (A Vue 3 Component Library)
+- [wails-template-quasar-js](https://github.com/sgosiaco/wails-template-quasar-js) - Um template usando JavaScript + Quasar V2 (Vue 3, Vite, Sass, Pinia, ESLint, Prettier)
+- [wails-template-quasar-ts](https://github.com/sgosiaco/wails-template-quasar-ts) - Um modelo usando TypeScript + Quasar V2 (Vue 3, Vite, Sass, Pinia, ESLint, Prettier, API de composição com <configuração de script>)
+- [wails-template-naive](https://github.com/tk103331/wails-template-naive) - Modelo de ervas baseado em Naive UI (biblioteca de componentes Vue 3)
## Angular
-- [wails-template-angular](https://github.com/mateothegreat/wails-template-angular) - Angular 15+ action packed & ready to roll to production.
+- [A-modelo de wails-angular](https://github.com/mateothegreat/wails-template-angular) - ação Angular 15 + compactada & pronta para ser rolada para produção.
- [wails-angular-template](https://github.com/TAINCER/wails-angular-template) - Angular with TypeScript, Sass, Hot-Reload, Code-Splitting and i18n
## React
@@ -40,26 +40,30 @@ Se você não tiver certeza sobre um template, inspecione `package.json` e `wail
- [wails-react-template](https://github.com/flin7/wails-react-template) - A minimal template for React that supports live development
- [wails-template-nextjs](https://github.com/LGiki/wails-template-nextjs) - A template using Next.js and TypeScript
- [wails-vite-react-ts-tailwind-template](https://github.com/hotafrika/wails-vite-react-ts-tailwind-template) - A template for React + TypeScript + Vite + TailwindCSS
-- [wails-vite-react-ts-tailwind-shadcnui-template](https://github.com/Mahcks/wails-vite-react-tailwind-shadcnui-ts) - A template with Vite, React, TypeScript, TailwindCSS, and shadcn/ui
+- [wails-vite-react-ts-tailwind-shadcnui-template](https://github.com/Mahcks/wails-vite-react-tailwind-shadcnui-ts) - Um modelo com Vite, React, TypeScript, TailwindCSS, e shadcn/ui
## Svelte
- [wails-svelte-template](https://github.com/raitonoberu/wails-svelte-template) - A template using Svelte
- [wails-vite-svelte-template](https://github.com/BillBuilt/wails-vite-svelte-template) - A template using Svelte and Vite
- [wails-vite-svelte-tailwind-template](https://github.com/BillBuilt/wails-vite-svelte-tailwind-template) - A template using Svelte and Vite with TailwindCSS v3
-- [wails-svelte-tailwind-vite-template](https://github.com/PylotLight/wails-vite-svelte-tailwind-template/tree/master) - An updated template using Svelte v4.2.0 and Vite with TailwindCSS v3.3.3
+- [wails-svelte-tailwind-vite-template](https://github.com/PylotLight/wails-vite-svelte-tailwind-template/tree/master) - Um modelo atualizado usando Svelte v4.2.0 e Vite com TailwindCSS v3.3.3
- [wails-sveltekit-template](https://github.com/h8gi/wails-sveltekit-template) - A template using SvelteKit
## Solid
-- [wails-template-vite-solid-ts](https://github.com/xijaja/wails-template-solid-ts) - A template using Solid + Ts + Vite
-- [wails-template-vite-solid-js](https://github.com/xijaja/wails-template-solid-js) - A template using Solid + Js + Vite
+- [wails-template-vite-solid-ts](https://github.com/xijaja/wails-template-solid-ts) - Um modelo usando Sólido + Ts + Vite
+- [wails-template-vite-solid-js](https://github.com/xijaja/wails-template-solid-js) - Um modelo usando Sólid + Js + Vite
## Elm
- [wails-elm-template](https://github.com/benjamin-thomas/wails-elm-template) - Develop your GUI app with functional programming and a **snappy** hot-reload setup :tada: :rocket:
- [wails-template-elm-tailwind](https://github.com/rnice01/wails-template-elm-tailwind) - Combine the powers :muscle: of Elm + Tailwind CSS + Wails! Hot reloading supported.
+## HTMX
+
+- [wails-htmx-templ-chi-tailwind](https://github.com/PylotLight/wails-hmtx-templ-template) - Use a unique combination of pure htmx for interactivity plus templ for creating components and forms
+
## Pure JavaScript (Vanilla)
- [wails-pure-js-template](https://github.com/KiddoV/wails-pure-js-template) - A template with nothing but just basic JavaScript, HTML, and CSS
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/gettingstarted/development.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/gettingstarted/development.mdx
index de8bebe7..be641d3b 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/gettingstarted/development.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/gettingstarted/development.mdx
@@ -7,7 +7,7 @@ sidebar_position: 5
Você pode executar sua aplicação no modo de desenvolvimento executando `wails dev` no diretório do seu projeto. Isso fará o seguinte:
- Construa seu aplicativo e o execute
-- Bind your Go code to the frontend so it can be called from JavaScript
+- Vincule seu código Go para o frontend para que ele possa ser chamado a partir de JavaScript
- Usando o poder do [Vite](https://vitejs.dev/), observará modificações em seus arquivos Go e reconstruir/re-executar na alteração
- Configure um [servidor web](http://localhost:34115) que irá servir seu aplicativo em um navegador. Isso permite usar suas extensões de navegador favoritas. Você pode até mesmo chamar seu código Go do console
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/angular.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/angular.mdx
index 2b6c5a84..cae0d7f9 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/angular.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/angular.mdx
@@ -1,10 +1,10 @@
# Angular
-Whilst Wails does not have an Angular template, it is possible to use Angular with Wails.
+Embora as Wails não tenham um modelo angular, é possível usar Angular com Wails.
-## Dev Mode
+## Modo Desenvolvedor
-To get dev mode working with Angular, you need to add the following to your `wails.json`:
+Para que o modo de desenvolvimento funcione com Angular, você precisa adicionar o seguinte ao seu `wails.json`:
```json
"frontend:build": "npx ng build",
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/application-development.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/application-development.mdx
index 0d78b9d9..f81eae7f 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/application-development.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/application-development.mdx
@@ -189,16 +189,16 @@ O servidor de desenvolvimento utiliza uma técnica chamada "debwaring" que signi
Alguns frameworks vêm com seu próprio servidor ao vivo, no entanto, eles não serão capazes de tirar proveito das ligações Go/Wails. Neste cenário, é melhor executar um script de observador que reconstrui o projeto no diretório build, que Wails estará assistindo. Por exemplo, veja o modelo padrão do svelte que usa [rollup](https://rollupjs.org/guide/en/).
-### Create React App
+### Criar Aplicativo React
-The process for a Create-React-App project is slightly more complicated. In order to support live frontend reloading the following configuration needs to be added to your `wails.json`:
+O processo para um projeto Create-React-App é um pouco mais complicado. Para ajudar o frontend a recarregar ao vivo a seguinte configuração precisa ser adicionado ao seu `wails.json`:
```json
"frontend:dev:watcher": "yarn start",
"frontend:dev:serverUrl": "http://localhost:3000",
```
-The `frontend:dev:watcher` command will start the Create-React-App development server (hosted on port `3000` typically). The `frontend:dev:serverUrl` command then instructs Wails to serve assets from the development server when loading the frontend rather than from the build folder. In addition to the above, the `index.html` needs to be updated with the following:
+O comando `frontend: dev:watcher` iniciará o servidor de desenvolvimento Create-React-App (hospedado na porta `3000` normalmente). O comando `frontend: dev:serverUrl` e instrui a Wails a servir assets do servidor de desenvolvimento ao carregar o frontend em vez de a partir da pasta de compilação. Além do acima acima o `index.html` precisa ser atualizado com o seguinte:
```html
@@ -208,7 +208,7 @@ The `frontend:dev:watcher` command will start the Create-React-App development s
```
-This is required as the watcher command that rebuilds the frontend prevents Wails from injecting the required scripts. This circumvents that issue by ensuring the scripts are always injected. With this configuration, `wails dev` can be run which will appropriately build the frontend and backend with hot-reloading enabled. Additionally, when accessing the application from a browser the React developer tools can now be used on a non-minified version of the application for straightforward debugging. Finally, for faster builds, `wails dev -s` can be run to skip the default building of the frontend by Wails as this is an unnecessary step.
+Isso é necessário pois o comando do observador que reconstrui o frontend impede que o Wails injete os scripts necessários. Isso contorna esse problema garantindo os scripts são sempre injetados. Com esta configuração, `ondas de desenvolvimento` pode ser executado, o que irá construir adequadamente o frontend e o backend com o carregamento de quente ativado. Além disso, ao acessar o aplicativo a partir de um navegador, as ferramentas de desenvolvedor do React agora podem ser usadas em uma versão não minificada do aplicativo para simplificar depuração. Finalmente, para compilações mais rápidas, `wail dev -s` pode ser executado para ignorar o edifício padrão do frontend pelas Wails, pois este é um passo desnecessário.
## Go Module
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/crossplatform-build.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/crossplatform-build.mdx
new file mode 100644
index 00000000..fd81a974
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/crossplatform-build.mdx
@@ -0,0 +1,66 @@
+# Crossplatform build with Github Actions
+
+To build a Wails project for all the available platforms, you need to create an application build for each operating system. One effective method to achieve this is by utilizing GitHub Actions.
+
+An action that facilitates building a Wails app is available at:
+https://github.com/dAppServer/wails-build-action
+
+In case the existing action doesn't fulfill your requirements, you can select only the necessary steps from the source:
+https://github.com/dAppServer/wails-build-action/blob/main/action.yml
+
+Below is a comprehensive example that demonstrates building an app upon the creation of a new Git tag and subsequently uploading it to the Actions artifacts:
+
+```yaml
+name: Wails build
+
+on:
+ push:
+ tags:
+ # Match any new tag
+ - '*'
+
+env:
+ # Necessary for most environments as build failure can occur due to OOM issues
+ NODE_OPTIONS: "--max-old-space-size=4096"
+
+jobs:
+ build:
+ strategy:
+ # Failure in one platform build won't impact the others
+ fail-fast: false
+ matrix:
+ build:
+ - name: 'App'
+ platform: 'linux/amd64'
+ os: 'ubuntu-latest'
+ - name: 'App'
+ platform: 'windows/amd64'
+ os: 'windows-latest'
+ - name: 'App'
+ platform: 'darwin/universal'
+ os: 'macos-latest'
+
+ runs-on: ${{ matrix.build.os }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ with:
+ submodules: recursive
+
+ - name: Build wails
+ uses: dAppServer/wails-build-action@v2.2
+ id: build
+ with:
+ build-name: ${{ matrix.build.name }}
+ build-platform: ${{ matrix.build.platform }}
+ package: false
+ go-version: '1.20'
+```
+
+This example offers opportunities for various enhancements, including:
+
+- Caching dependencies
+- Code signing
+- Uploading to platforms like S3, Supbase, etc.
+- Injecting secrets as environment variables
+- Utilizing environment variables as build variables (such as version variable extracted from the current Git tag)
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/custom-protocol-schemes.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/custom-protocol-schemes.mdx
new file mode 100644
index 00000000..e86b6518
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/custom-protocol-schemes.mdx
@@ -0,0 +1,204 @@
+# Custom Protocol Scheme association
+
+Custom Protocols feature allows you to associate specific custom protocol with your app so that when users open links with this protocol,
+your app is launched to handle them. This can be particularly useful to connect your desktop app with your web app.
+In this guide, we'll walk through the steps to implement custom protocols in Wails app.
+
+## Set Up Custom Protocol Schemes Association:
+
+To set up custom protocol, you need to modify your application's wails.json file.
+In "info" section add a "protocols" section specifying the protocols your app should be associated with.
+
+For example:
+
+```json
+{
+ "info": {
+ "protocols": [
+ {
+ "scheme": "myapp",
+ "description": "My App Protocol",
+ "role": "Editor"
+ }
+ ]
+ }
+}
+```
+
+| Property | Description |
+| :---------- | :------------------------------------------------------------------------------------ |
+| scheme | Custom Protocol scheme. e.g. myapp |
+| description | Windows-only. The description. |
+| role | macOS-only. The app’s role with respect to the type. Corresponds to CFBundleTypeRole. |
+
+## Platform Specifics:
+
+### macOS
+
+When you open custom protocol with your app, the system will launch your app and call the `OnUrlOpen` function in your Wails app. Example:
+
+```go title="main.go"
+func main() {
+ // Create application with options
+ err := wails.Run(&options.App{
+ Title: "wails-open-file",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 1},
+ Mac: &mac.Options{
+ OnUrlOpen: func(url string) { println(url) },
+ },
+ Bind: []interface{}{
+ app,
+ },
+ })
+
+ if err != nil {
+ println("Error:", err.Error())
+ }
+}
+```
+
+### Windows
+
+On Windows Custom Protocol Schemes is supported only with NSIS installer. During installation, the installer will create a
+registry entry for your schemes. When you open url with your app, new instance of app is launched and url is passed
+as argument to your app. To handle this you should parse command line arguments in your app. Example:
+
+```go title="main.go"
+func main() {
+ argsWithoutProg := os.Args[1:]
+
+ if len(argsWithoutProg) != 0 {
+ println("launchArgs", argsWithoutProg)
+ }
+}
+```
+
+You also can enable single instance lock for your app. In this case, when you open url with your app, new instance of app is not launched
+and arguments are passed to already running instance. Check single instance lock guide for details. Example:
+
+```go title="main.go"
+func main() {
+ // Create application with options
+ err := wails.Run(&options.App{
+ Title: "wails-open-file",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 1},
+ SingleInstanceLock: &options.SingleInstanceLock{
+ UniqueId: "e3984e08-28dc-4e3d-b70a-45e961589cdc",
+ OnSecondInstanceLaunch: app.onSecondInstanceLaunch,
+ },
+ Bind: []interface{}{
+ app,
+ },
+ })
+}
+```
+
+### Linux
+
+Currently, Wails doesn't support bundling for Linux. So, you need to create file associations manually.
+For example if you distribute your app as a .deb package, you can create file associations by adding required files in you bundle.
+You can use [nfpm](https://nfpm.goreleaser.com/) to create .deb package for your app.
+
+1. Create a .desktop file for your app and specify file associations there (note that `%u` is important in Exec). Example:
+
+```ini
+[Desktop Entry]
+Categories=Office
+Exec=/usr/bin/wails-open-file %u
+Icon=wails-open-file.png
+Name=wails-open-file
+Terminal=false
+Type=Application
+MimeType=x-scheme-handler/myapp;
+```
+
+2. Prepare postInstall/postRemove scripts for your package. Example:
+
+```sh
+# reload desktop database to load app in list of available
+update-desktop-database /usr/share/applications
+```
+
+3. Configure nfpm to use your scripts and files. Example:
+
+```yaml
+name: "wails-open-file"
+arch: "arm64"
+platform: "linux"
+version: "1.0.0"
+section: "default"
+priority: "extra"
+maintainer: "FooBarCorp
"
+description: "Sample Package"
+vendor: "FooBarCorp"
+homepage: "http://example.com"
+license: "MIT"
+contents:
+- src: ../bin/wails-open-file
+ dst: /usr/bin/wails-open-file
+- src: ./main.desktop
+ dst: /usr/share/applications/wails-open-file.desktop
+- src: ../appicon.svg
+ dst: /usr/share/icons/hicolor/scalable/apps/wails-open-file.svg
+# copy icons to Yaru theme as well. For some reason Ubuntu didn't pick up fileicons from hicolor theme
+- src: ../appicon.svg
+ dst: /usr/share/icons/Yaru/scalable/apps/wails-open-file.svg
+scripts:
+ postinstall: ./postInstall.sh
+ postremove: ./postRemove.sh
+```
+
+6. Build your .deb package using nfpm:
+
+```sh
+nfpm pkg --packager deb --target .
+```
+
+7. Now when your package is installed, your app will be associated with custom protocol scheme. When you open url with your app,
+ new instance of app is launched and file path is passed as argument to your app.
+ To handle this you should parse command line arguments in your app. Example:
+
+```go title="main.go"
+func main() {
+ argsWithoutProg := os.Args[1:]
+
+ if len(argsWithoutProg) != 0 {
+ println("launchArgs", argsWithoutProg)
+ }
+}
+```
+
+You also can enable single instance lock for your app. In this case, when you open url with your app, new instance of app is not launched
+and arguments are passed to already running instance. Check single instance lock guide for details. Example:
+
+```go title="main.go"
+func main() {
+ // Create application with options
+ err := wails.Run(&options.App{
+ Title: "wails-open-file",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 1},
+ SingleInstanceLock: &options.SingleInstanceLock{
+ UniqueId: "e3984e08-28dc-4e3d-b70a-45e961589cdc",
+ OnSecondInstanceLaunch: app.onSecondInstanceLaunch,
+ },
+ Bind: []interface{}{
+ app,
+ },
+ })
+}
+```
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/dynamic-assets.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/dynamic-assets.mdx
index 989202e2..627bbeb5 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/dynamic-assets.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/dynamic-assets.mdx
@@ -1,12 +1,12 @@
-# Dynamic Assets
+# Recursos Dinâmicos
-If you want to load or generate assets for your frontend dynamically, you can achieve that using the [AssetsHandler](../reference/options#assetshandler) option. The AssetsHandler is a generic `http.Handler` which will be called for any non GET request on the assets server and for GET requests which can not be served from the bundled assets because the file is not found.
+Se você deseja carregar ou gerar assets para seu frontend de forma dinâmica, você pode conseguir isso usando a opção [AssetsHandler](../reference/options#assetshandler). O AssetsHandler é um `http.Handler` genérico que irá ser chamado para qualquer solicitação não GET no servidor de ativos e para solicitações GET que não podem ser atendidas pelo ativos agrupados porque o arquivo não foi encontrado.
-By installing a custom AssetsHandler, you can serve your own assets using a custom asset server.
+Ao instalar um AssetsHandler personalizado, você pode servir seus próprios assets usando um servidor de arquivos personalizado.
-## Example
+## Exemplo
-In our example project, we will create a simple assets handler which will load files off disk:
+Em nosso projeto de exemplo, vamos criar um gerenciador de arquivos simples que irá carregar arquivos fora do disco:
```go title=main.go {17-36,49}
package main
@@ -72,7 +72,7 @@ func main() {
}
```
-When we run the application in dev mode using `wails dev`, we will see the following output:
+Quando executarmos o aplicativo no modo de desenvolvimento usando `wail dev`, veremos a seguinte saída:
```
DEB | [ExternalAssetHandler] Loading 'http://localhost:3001/favicon.ico'
@@ -80,15 +80,15 @@ DEB | [ExternalAssetHandler] Loading 'http://localhost:3001/favicon.ico' failed,
Requesting file: favicon.ico
```
-As you can see, the assets handler is called when the default assets server is unable to serve the `favicon.ico` file.
+Como você pode ver, o manipulador de assets é chamado quando o servidor de assets padrão não consegue servir o arquivo `favicon.ico`.
-If you right click the main application and select "inspect" to bring up the devtools, you can test this feature out by typing the following into the console:
+Se você clicar com o botão direito no aplicativo principal e selecionar "inspeção" para abrir as devtools, você pode testar esta função digitando o seguinte no console:
```
let response = await fetch('does-not-exist.txt');
```
-This will generate an error in the devtools. We can see that the error is what we expect, returned by our custom assets handler:
+Isto irá gerar um erro no devtools. Podemos ver que o erro é o que esperamos, retornado por nosso manipulador de ativos personalizados:
```mdx-code-block
@@ -98,7 +98,7 @@ This will generate an error in the devtools. We can see that the error is what w
```
-However, if we request `go.mod`, we will see the following output:
+No entanto, se requisitarmos `go.mod`, veremos a seguinte saída:
```mdx-code-block
@@ -106,19 +106,19 @@ However, if we request `go.mod`, we will see the following output:
```
-This technique can be used to load images directly into the page. If we updated our default vanilla template and replaced the logo image:
+Esta técnica pode ser usada para carregar imagens diretamente para a página. Se atualizarmos nosso modelo padrão do vanilla e substituirmos a imagem do logotipo:
```html
```
-with:
+com:
```html
```
-Then we would see the following:
+Veremos então o seguinte:
```mdx-code-block
@@ -131,6 +131,6 @@ Then we would see the following:
:::warning
-Exposing your filesystem in this way is a security risk. It is recommended that you properly manage access to your filesystem.
+Expor seu sistema de arquivos desta forma é um risco à segurança. É recomendável que você gerencie corretamente o acesso ao seu sistema de arquivos.
:::
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/file-association.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/file-association.mdx
new file mode 100644
index 00000000..167955b1
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/file-association.mdx
@@ -0,0 +1,244 @@
+# File Association
+
+File association feature allows you to associate specific file types with your app so that when users open those files,
+your app is launched to handle them. This can be particularly useful for text editors, image viewers, or any application
+that works with specific file formats. In this guide, we'll walk through the steps to implement file association in Wails app.
+
+## Set Up File Association:
+
+To set up file association, you need to modify your application's wails.json file.
+In "info" section add a "fileAssociations" section specifying the file types your app should be associated with.
+
+For example:
+
+```json
+{
+ "info": {
+ "fileAssociations": [
+ {
+ "ext": "wails",
+ "name": "Wails",
+ "description": "Wails Application File",
+ "iconName": "wailsFileIcon",
+ "role": "Editor"
+ },
+ {
+ "ext": "jpg",
+ "name": "JPEG",
+ "description": "Image File",
+ "iconName": "jpegFileIcon",
+ "role": "Editor"
+ }
+ ]
+ }
+}
+```
+
+| Property | Description |
+| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------- |
+| ext | The extension (minus the leading period). e.g. png |
+| name | The name. e.g. PNG File |
+| iconName | The icon name without extension. Icons should be located in build folder. Proper icons will be generated from .png file for both macOS and Windows |
+| description | Windows-only. The description. It is displayed on the `Type` column on Windows Explorer. |
+| role | macOS-only. The app’s role with respect to the type. Corresponds to CFBundleTypeRole. |
+
+## Platform Specifics:
+
+### macOS
+
+When you open file (or files) with your app, the system will launch your app and call the `OnFileOpen` function in your Wails app. Example:
+
+```go title="main.go"
+func main() {
+ // Create application with options
+ err := wails.Run(&options.App{
+ Title: "wails-open-file",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 1},
+ Mac: &mac.Options{
+ OnFileOpen: func(filePaths []string) { println(filestring) },
+ },
+ Bind: []interface{}{
+ app,
+ },
+ })
+
+ if err != nil {
+ println("Error:", err.Error())
+ }
+}
+```
+
+### Windows
+
+On Windows file association is supported only with NSIS installer. During installation, the installer will create a
+registry entry for your file associations. When you open file with your app, new instance of app is launched and file path is passed
+as argument to your app. To handle this you should parse command line arguments in your app. Example:
+
+```go title="main.go"
+func main() {
+ argsWithoutProg := os.Args[1:]
+
+ if len(argsWithoutProg) != 0 {
+ println("launchArgs", argsWithoutProg)
+ }
+}
+```
+
+You also can enable single instance lock for your app. In this case, when you open file with your app, new instance of app is not launched
+and arguments are passed to already running instance. Check single instance lock guide for details. Example:
+
+```go title="main.go"
+func main() {
+ // Create application with options
+ err := wails.Run(&options.App{
+ Title: "wails-open-file",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 1},
+ SingleInstanceLock: &options.SingleInstanceLock{
+ UniqueId: "e3984e08-28dc-4e3d-b70a-45e961589cdc",
+ OnSecondInstanceLaunch: app.onSecondInstanceLaunch,
+ },
+ Bind: []interface{}{
+ app,
+ },
+ })
+}
+```
+
+### Linux
+
+Currently, Wails doesn't support bundling for Linux. So, you need to create file associations manually.
+For example if you distribute your app as a .deb package, you can create file associations by adding required files in you bundle.
+You can use [nfpm](https://nfpm.goreleaser.com/) to create .deb package for your app.
+
+1. Create a .desktop file for your app and specify file associations there. Example:
+
+```ini
+[Desktop Entry]
+Categories=Office
+Exec=/usr/bin/wails-open-file %u
+Icon=wails-open-file.png
+Name=wails-open-file
+Terminal=false
+Type=Application
+MimeType=application/x-wails;application/x-test
+```
+
+2. Create mime types file. Example:
+
+```xml
+
+
+
+ Wails Application File
+
+
+
+```
+
+3. Create icons for your file types. SVG icons are recommended.
+4. Prepare postInstall/postRemove scripts for your package. Example:
+
+```sh
+# reload mime types to register file associations
+update-mime-database /usr/share/mime
+# reload desktop database to load app in list of available
+update-desktop-database /usr/share/applications
+# update icons
+update-icon-caches /usr/share/icons/*
+```
+
+5. Configure nfpm to use your scripts and files. Example:
+
+```yaml
+name: "wails-open-file"
+arch: "arm64"
+platform: "linux"
+version: "1.0.0"
+section: "default"
+priority: "extra"
+maintainer: "FooBarCorp "
+description: "Sample Package"
+vendor: "FooBarCorp"
+homepage: "http://example.com"
+license: "MIT"
+contents:
+- src: ../bin/wails-open-file
+ dst: /usr/bin/wails-open-file
+- src: ./main.desktop
+ dst: /usr/share/applications/wails-open-file.desktop
+- src: ./application-wails-mime.xml
+ dst: /usr/share/mime/packages/application-x-wails.xml
+- src: ./application-test-mime.xml
+ dst: /usr/share/mime/packages/application-x-test.xml
+- src: ../appicon.svg
+ dst: /usr/share/icons/hicolor/scalable/apps/wails-open-file.svg
+- src: ../wailsFileIcon.svg
+ dst: /usr/share/icons/hicolor/scalable/mimetypes/application-x-wails.svg
+- src: ../testFileIcon.svg
+ dst: /usr/share/icons/hicolor/scalable/mimetypes/application-x-test.svg
+# copy icons to Yaru theme as well. For some reason Ubuntu didn't pick up fileicons from hicolor theme
+- src: ../appicon.svg
+ dst: /usr/share/icons/Yaru/scalable/apps/wails-open-file.svg
+- src: ../wailsFileIcon.svg
+ dst: /usr/share/icons/Yaru/scalable/mimetypes/application-x-wails.svg
+- src: ../testFileIcon.svg
+ dst: /usr/share/icons/Yaru/scalable/mimetypes/application-x-test.svg
+scripts:
+ postinstall: ./postInstall.sh
+ postremove: ./postRemove.sh
+```
+
+6. Build your .deb package using nfpm:
+
+```sh
+nfpm pkg --packager deb --target .
+```
+
+7. Now when your package is installed, your app will be associated with specified file types. When you open file with your app,
+ new instance of app is launched and file path is passed as argument to your app.
+ To handle this you should parse command line arguments in your app. Example:
+
+```go title="main.go"
+func main() {
+ argsWithoutProg := os.Args[1:]
+
+ if len(argsWithoutProg) != 0 {
+ println("launchArgs", argsWithoutProg)
+ }
+}
+```
+
+You also can enable single instance lock for your app. In this case, when you open file with your app, new instance of app is not launched
+and arguments are passed to already running instance. Check single instance lock guide for details. Example:
+
+```go title="main.go"
+func main() {
+ // Create application with options
+ err := wails.Run(&options.App{
+ Title: "wails-open-file",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 1},
+ SingleInstanceLock: &options.SingleInstanceLock{
+ UniqueId: "e3984e08-28dc-4e3d-b70a-45e961589cdc",
+ OnSecondInstanceLaunch: app.onSecondInstanceLaunch,
+ },
+ Bind: []interface{}{
+ app,
+ },
+ })
+}
+```
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/frameless.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/frameless.mdx
index 3845736f..430f53a6 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/frameless.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/frameless.mdx
@@ -1,8 +1,8 @@
-# Frameless Applications
+# Aplicações sem frames
-Wails supports application that have no frames. This can be achieved by using the [frameless](../reference/options.mdx#frameless) field in [Application Options](../reference/options.mdx#application-options).
+O Wails suporta aplicativos que não possuem frames. Isso pode ser conseguido usando o campo [sem frameless](../reference/options.mdx#frameless) no [Application Options](../reference/options.mdx#application-options).
-Wails offers a simple solution for dragging the window: Any HTML element that has the CSS style `--wails-draggable:drag` will act as a "drag handle". This property applies to all child elements. If you need to indicate that a nested element should not drag, then use the attribute '--wails-draggable:no-drag' on that element.
+Wails oferece uma solução simples para arrastar a janela: qualquer elemento HTML que tenha o estilo CSS `--wails-draggable:drag` irá atuar como uma "alça de arrastar". Esta propriedade se aplica a todos os elementos filhos. Se você precisar indicar que um elemento aninhado não deve arrastar, então use o atributo '--wails-draggable:no-drag' nesse elemento.
```html
@@ -23,7 +23,7 @@ Wails offers a simple solution for dragging the window: Any HTML element that ha
```
-For some projects, using a CSS variable may not be possible due to dynamic styling. In this case, you can use the `CSSDragProperty` and `CSSDragValue` application options to define a property and value that will be used to indicate draggable regions:
+Para alguns projetos, usar uma variável CSS pode não ser possível devido a um estilo dinâmico. Neste caso, você pode usar o aplicativo `CSSDragProperty` e `CSSDragValue` opções para definir uma propriedade e valor que serão usados para indicar regiões arrastáveis:
```go title=main.go
package main
@@ -80,8 +80,8 @@ func main() {
```
-:::info Fullscreen
+:::info Tela Cheia
-If you allow your application to go fullscreen, this drag functionality will be disabled.
+Se você permitir que seu aplicativo vá para tela cheia, esta funcionalidade de arrastar será desativada.
:::
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/local-development.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/local-development.mdx
index 4ba1f34c..4ba06231 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/local-development.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/local-development.mdx
@@ -1,36 +1,36 @@
-# Local Development
+# Desenvolvimento Local
-## Overview
+## Visão geral
-Wails is in constant development and new releases are regularly "tagged". This usually happens when all the newer code on `master` has been tested and confirmed working. If you need a bugfix or feature that has not yet made it to a release, it's possible to use the latest "bleeding edge" version using the following steps:
+Os dispositivos estão em constante desenvolvimento e novos lançamentos são regularmente "marcados". Isso geralmente acontece quando todo o código no `master` foi testado e confirmado funcionando. Se você precisar de uma correção de bug ou recurso que ainda não foi lançado, é possível usar a versão mais recente "bleeding edge" seguindo as seguintes etapas:
- `git clone https://github.com/wailsapp/wails`
- `cd wails/v2/cmd/wails`
- `go install`
-NOTE: The directory that you cloned the project into will now be called "clonedir".
+NOTA: O diretório para o qual você clonou o projeto será agora chamado de "clonedir".
-The Wails CLI will now be at the very latest version.
+A CLI do Wails estará na versão mais recente.
-### Updating your project
+### Atualizando seu projeto
-To update projects to use the latest version of the Wails library, update the project's `go.mod` and ensure the following line is at the bottom of the file:
+Para atualizar projetos para usar a versão mais recente da biblioteca Wails, atualize o `do projeto. od` e certifique-se que a seguinte linha está no final do arquivo:
`replace github.com/wailsapp/wails/v2 => `
-Example:
+Exemplo:
-On Windows: `replace github.com/wailsapp/wails/v2 => C:\Users\leaan\Documents\wails-v2-beta\wails\v2`
+Windows: `substitua github.com/wailsapp/wails/v2 => C:\Users\leaan\Documents\wails-v2-beta\wails\v2`
-On 'nix: `replace github.com/wailsapp/wails/v2 => /home/me/projects/wails/v2`
+Em 'nix: `substitui github.com/wailsapp/wails/v2 => /home/me/projects/wails/v2`
-To revert to a stable version, run:
+Para reverter para uma versão estável, execute:
`go install github.com/wailsapp/wails/v2/cmd/wails@latest`
-## Testing a Branch
+## Testando uma Branch
-If you want to test a branch, follow the instructions above, but ensure you switch the branch you want to test before installing:
+Se você deseja testar um branch, siga as instruções acima, mas certifique-se de alternar o branch que você deseja testar antes de instalar:
- `git clone https://github.com/wailsapp/wails`
- `cd wails`
@@ -38,11 +38,11 @@ If you want to test a branch, follow the instructions above, but ensure you swit
- `cd v2/cmd/wails`
- `go install`
-Make sure you [update your project](#updating-your-project) as described above.
+Certifique-se de [atualizar seu projeto](#updating-your-project) conforme descrito acima.
-## Testing a PR
+## Testando uma PR
-If you want to test a PR, follow the instructions above, but ensure you fetch the PR and switch the branch before installing. Please replace `[IDofThePR]` with the ID of the PR shown on github.com:
+Se você deseja testar um branch, siga as instruções acima, mas certifique-se de alternar o branch que você deseja testar antes de instalar. Por favor, substitua `[IDofThePR]` pelo ID do PR mostrado no github.com:
- `git clone https://github.com/wailsapp/wails`
- `cd wails`
@@ -52,4 +52,4 @@ If you want to test a PR, follow the instructions above, but ensure you fetch th
- `cd v2/cmd/wails`
- `go install`
-Make sure you [update your project](#updating-your-project) as described above.
+Certifique-se de [atualizar seu projeto](#updating-your-project) conforme descrito acima.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/mac-appstore.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/mac-appstore.mdx
index 96159571..4b7b589c 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/mac-appstore.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/mac-appstore.mdx
@@ -1,42 +1,42 @@
-# Mac App Store Guide
+# Guia para Mac App Store
-This page gives a brief overview of how to submit your Wails App to the Mac App Store.
+Esta página dá uma breve visão geral de como enviar seu App Wails para a Mac App Store.
-## Prerequisites
+## Pré-requisitos
-- You will need to have an Apple Developer account. Please find more information on the [Apple Developer Program](https://developer.apple.com/support/compare-memberships/) site
-- You will need to have your Certificates, Identifiers, and App created on the developer portal. More on this below
-- Xcode command line tools will need to be installed on your local machine
+- Você precisará ter uma conta para o Apple Develop. Encontre mais informações no site [do Programa de Desenvolvedor Apple](https://developer.apple.com/support/compare-memberships/)
+- Você precisará ter seus Certificados, Identificadores e App criados no portal de desenvolvimento. Mais sobre isto abaixo
+- Ferramentas de linha de comando Xcode precisarão ser instaladas na sua máquina local
-#### Create Certificates and Identifiers
+#### Criar certificados e identificadores
-1. Go to your [Apple Developer Account](https://developer.apple.com/account/)
-2. Under `Certificates, Identifiers & Profiles`, click `Identifiers` and Register a New App ID. Use the format (com.example.app)
-3. Under the same page click `Certificates` and generate new Certificates for Mac App Store Distribution. Download them and import the certificates into Keychain on your local machine.
+1. Vá para sua [Conta de desenvolvedor Apple](https://developer.apple.com/account/)
+2. Sob `Certificados, Identificadores & Perfis`, clique em `Identificadores` e Registrar um Novo App ID. Use o formato (com.exemplo.app)
+3. Sob a mesma página, clique `Certificados` e gere novos Certificados para a Distribuição da Loja de Aplicativos Mac. Baixe-os e importe os certificados para o Keychain em sua máquina local.
-#### Create App Submission
+#### Criar Envio de App
-1. Go to the [App Store Connect Site](https://appstoreconnect.apple.com/apps)
-2. Register a new application and link the bundle ID that you created in the previous step
-3. Populate your app with the correct screen shots, descriptions, etc. as required by Apple
-4. Create a new version of your app
+1. Ir para [App Store Connect Site](https://appstoreconnect.apple.com/apps)
+2. Registre um novo aplicativo e vincule o ID do pacote que você criou no passo anterior
+3. Preencher seu aplicativo com as capturas de tela corretas, descrições, etc. conforme exigido pela Apple
+4. Criar uma nova versão do seu aplicativo
-#### Create Provisioning Profile
-1. Go to the [Apple Developer Profiles](https://developer.apple.com/account/resources/profiles/list) page
-2. Add a new provisioning profile for Mac App Store Distribution
-3. Set the Profile Type as Mac and select the App ID for the application created above
-4. Select the Mac App Distribution certificate
-5. Name the Provisioning Profile embedded and download the created profile.
+#### Criar perfil de provisionamento
+1. Vá para a página [Apple Developer Profiles](https://developer.apple.com/account/resources/profiles/list)
+2. Adicionar um novo perfil de provisionamento para Mac App Store de distribuição
+3. Defina o tipo de perfil como Mac e selecione o ID do aplicativo criado acima
+4. Selecione o certificado de Distribuição de Aplicativos Mac
+5. Nomeie o Perfil de Provisão incorporado e baixe o perfil criado.
-## Mac App Store Process
+## Guia para Mac App Store
-#### Enable Apple's App Sandbox
+#### Ativar a App Sandbox da Apple
-Apps submitted to the Mac App Store must run under Apple's [App Sandbox](https://developer.apple.com/app-sandboxing/). You must create an `entitlements.plist` file for this to work. The recommendation is to create this file under this path `{PROJECT_DIR}/build/darwin/entitlements.plist`.
+Os aplicativos enviados para Mac App Store devem ser executados na [App Sandbox](https://developer.apple.com/app-sandboxing/) da Apple. Você deve criar um arquivo `entitlements.plist` para que isso funcione. A recomendação é criar este arquivo sob este caminho `{PROJECT_DIR}/build/darwin/entitlements.plist`.
-**Example Entitlements File**
+**Exemplo de arquivo de direitos**
-This is an example entitlements file from the [RiftShare](https://github.com/achhabra2/riftshare) app. For reference please put in the entitlements your app requires. Refer to [this site](https://developer.apple.com/documentation/bundleresources/entitlements) for more information. You will need to replace the Team ID and Application Name with the ones you registered above.
+Este é um exemplo de titularidade de arquivo do aplicativo [RiftShare](https://github.com/achhabra2/riftshare). Para referência, por favor coloque os direitos que seu aplicativo exigir. Consulte [este site](https://developer.apple.com/documentation/bundleresources/entitlements) para obter mais informações. Você precisará substituir a ID da Equipe e o Nome da Aplicação pelos que você se registrou acima.
```xml title="entitlements.plist"
@@ -61,13 +61,13 @@ This is an example entitlements file from the [RiftShare](https://github.com/ach
```
-**Add the Embedded Provisioning Profile** The Provisioning Profile created above needs to be added to the root of the applicaton. It needs to be named embedded.provisionprofile.
+**Adicionar Perfil de Provisão Embutido** O Perfil de Provisionamento criado acima precisa ser adicionado à raiz da aplicação. Precisa ser nomeado como embedded.provisionprofile.
-#### Build and Sign the App Package
+#### Construa e assine o Pacote de Aplicativos
-The following is an example script for building and signing your app for Mac App Store submission. It assumes you are running the script from your root project directory.
+O seguinte é um exemplo de script para construir e assinar seu aplicativo para o envio da Mac App Store. Ele presume que você está executando o script do diretório do seu projeto raiz.
-Note the certificates for signing the app and signing the installer are different. Please make sure both are imported into Keychain. Find the strings in Keychain and insert them below. Populate your certificate names, and app name below. Running the following script will generate a signed `app.pkg` file in the root directory of your app.
+Observe que os certificados para a assinatura do aplicativo e a assinatura do instalador são diferentes. Certifique-se de que ambos são importados para o Keychain. Encontre as sequências de caracteres no Keychain e insira-as abaixo. Preencha os nomes do seu certificado e o nome do app abaixo. Executar o seguinte script irá gerar um arquivo `assinado app.pkg` no diretório raiz do seu aplicativo.
```bash title="macappstore-build.sh"
#!/bin/bash
@@ -85,13 +85,13 @@ codesign --timestamp --options=runtime -s "$APP_CERTIFICATE" -v --entitlements .
productbuild --sign "$PKG_CERTIFICATE" --component ./build/bin/$APP_NAME.app /Applications ./$APP_NAME.pkg
```
-#### Upload App Bundle
+#### Enviar pacote de aplicativos
-You will need to upload the generated package file and associate it to your Application before you will be able to submit it for review.
+Você precisará enviar o arquivo do pacote gerado e associá-lo à sua Aplicação antes de poder enviá-lo para revisão.
-1. Download the [Transporter App](https://apps.apple.com/us/app/transporter/id1450874784) from the Mac App Store
-2. Open it and sign in with your Apple ID
-3. Click the + sign and select the `APP_NAME.pkg` file that you generated in the previous step. Upload it
-4. Go back to the [App Store Connect](https://appstoreconnect.apple.com/apps) site and navigate back into your app submission. Select the version that you are ready to make available on the App Store. Under `Build` select the package that you uploaded via Transporter.
+1. Baixe o [aplicativo Transporter](https://apps.apple.com/us/app/transporter/id1450874784) na Mac App Store
+2. Abra e inicie sessão com a sua Apple ID
+3. Clique no sinal + e selecione o arquivo `APP_NAME.pkg` que você gerou na etapa anterior. Carregar isto
+4. Volte para [Loja de Apps Conectar](https://appstoreconnect.apple.com/apps) e navegue de volta para a submissão de seu aplicativo. Selecione a versão que você está pronto para disponibilizar na App Store. Em `Build` selecione o pacote que você enviou via Transporter.
-That's it! You can now use the site to submit your App for review. After a few business days if all goes well you should see your App live on the Mac App Store.
+É isso! Agora você pode usar o site para enviar seu Aplicativo para análise. Após alguns dias úteis, se tudo correr bem, você verá seu App ao vivo na Mac App Store.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/migrating.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/migrating.mdx
index 7123cbe6..a874b03f 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/migrating.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/migrating.mdx
@@ -1,14 +1,14 @@
-# Migrating from v1
+# Migrando da v1
-## Overview
+## Visão geral
-Wails v2 is a significant change from v1. This document aims to highlight the changes and the steps in migrating an existing project.
+Wails v2 é uma mudança significativa em relação à v1. Este documento visa destacar as mudanças e as etapas na migração de um projeto existente.
-### Creating the Application
+### Criando uma aplicação Cli
-In v1, the main application is created using `wails.CreateApp`, bindings are added with `app.Bind`, then the application is run using `app.Run()`.
+Na v1, o aplicativo principal é criado usando `wails.CreateApp`, as ligações são adicionadas com `app.Bind` e, em seguida, o o aplicativo é executado usando `app.Run()`.
-Example:
+Exemplo:
```go title="v1"
app := wails.CreateApp(&wails.AppConfig{
@@ -23,7 +23,7 @@ Example:
app.Run()
```
-In v2, there is just a single method, `wails.Run()`, that accepts [application options](../reference/options.mdx#application-options).
+Na v2, há apenas um único método, `wails.Run()`, que aceita as opções de aplicação [](../reference/options.mdx#application-options).
```go title="v2"
err := wails.Run(&options.App{
@@ -39,9 +39,9 @@ In v2, there is just a single method, `wails.Run()`, that accepts [application o
})
```
-### Binding
+### Mapeamento
-In v1, it was possible to bind both arbitrary functions and structs. In v2, this has been simplified to only binding structs. The struct instances that were previously passed to the `Bind()` method in v1, are now specified in the `Bind` field of the [application options](../reference/options.mdx#application-options):
+Na v1, foi possível vincular funções e estruturas arbitrárias. Em v2, foi simplificado apenas para estruturas vinculativas. As instâncias de construção que foram passadas anteriormente para o método `Bind()` na v1, estão agora especificados no campo `Vincular` do as opções de aplicação [](../reference/options.mdx#application-options):
```go title="v1"
app := wails.CreateApp(/* options */)
@@ -57,19 +57,19 @@ In v1, it was possible to bind both arbitrary functions and structs. In v2, this
})
```
-In v1, bound methods were available to the frontend at `window.backend`. This has changed to `window.go`.``
+Na v1, métodos vinculados estavam disponíveis para o frontend em `window.backend`. Isto mudou para `window.go`
-### Application Lifecycle
+### Ciclo de vida da Aplicação
-In v1, there were 2 special methods in a bound struct: `WailsInit()` and `WailsShutdown()`. These have been replaced with 3 lifecycle hooks as part of the [application options](../reference/options.mdx#application-options):
+Na v1, havia 2 métodos especiais em uma estrutura vinculada: `WailsInit()` e `WailsShutdown()`. Foi substituído por três ganchos de ciclo de vida como parte das [opções do aplicativo](../reference/options.mdx#application-options):
- [OnStartup](../reference/options.mdx#onstartup)
- [OnShutdown](../reference/options.mdx#onshutdown)
- [OnDomReady](../reference/options.mdx#ondomready)
-Note: [OnDomReady](../reference/options.mdx#ondomready) replaces the `wails:ready` system event in v1.
+Nota: [OnDomReady](../reference/options.mdx#ondomready) substitui o evento do sistema `wails:ready` na v1.
-These methods can be standard functions, but a common practice is to have them part of a struct:
+Estes métodos podem ser funções padrão, mas uma prática comum é tê-los incluído numa estrutura:
```go title="v2"
basic := NewBasicApp()
@@ -89,11 +89,11 @@ func (b *Basic) startup(ctx context.Context) {
...
```
-### Runtime
+### Tempo de execução
-The runtime in v2 is much richer than v1 with support for menus, window manipulation and better dialogs. The signature of the methods has changed slightly - please refer the the [Runtime Reference](../reference/runtime/intro.mdx).
+O tempo de execução na v2 é muito mais rico que a v1 com suporte para menus, manipulação de janelas e melhores diálogos. A assinatura dos métodos mudou ligeiramente - consulte a [Referência de tempo de execução](../reference/runtime/intro.mdx).
-In v1, the [runtime](../reference/runtime/intro.mdx) was available via a struct passed to `WailsInit()`. In v2, the runtime has been moved out to its own package. Each method in the runtime takes the `context.Context` that is passed to the [OnStartup](../reference/options.mdx#onstartup) method.
+Na v1, o [runtime](../reference/runtime/intro.mdx) estava disponível através de uma struct passada para `WailsInit()`. Em v2, o tempo de execução foi movido para o seu próprio pacote. Cada método no tempo de execução leva o `context.Context` que é passado para o método [OnStartup](../reference/options.mdx#onstartup).
```go title="Runtime Example"
package main
@@ -114,22 +114,22 @@ func (a *App) startup(ctx context.Context) {
### Assets
-The _biggest_ change in v2 is how assets are handled.
+A _maior mudança_ na v2 é como os ativos são geridos.
-In v1, assets were passed via 2 application options:
+Na v1, os ativos foram passados via 2 opções de aplicativo:
-- `JS` - The application's JavaScript
-- `CSS` - The application's CSS
+- `JS` - O JavaScript do aplicativo
+- `CSS` - O CSS da aplicação
-This meant that the responsibility of generating a single JS and CSS file was on the developer. This essentially required the use of complicated packers such as webpack.
+Isso significava que a responsabilidade de gerar um único arquivo JS e CSS era do desenvolvedor. Isto exigia essencialmente a utilização de embalagens complicadas como o webpack.
-In v2, Wails makes no assumptions about your frontend assets, just like a webserver. All of your application assets are passed to the application options as an `embed.FS`.
+Na v2, Wails não faz suposições sobre seus ativos no frontend, como um servidor web. Todos os seus ativos de aplicação são passados para as opções de aplicação como um `embed.FS`.
-**This means there is no requirement to bundle your assets, encode images as Base64 or attempt the dark art of bundler configuration to use custom fonts**.
+**Isso significa que não há necessidade de agrupar seus ativos, codificar imagens como Base64 ou experimente a arte obscura da configuração do bundler para usar fontes personalizadas**.
-At startup, Wails will scan the given `embed.FS` for `index.html` and use its location as the root path for all the other application assets - just like a webserver would.
+Na inicialização, Wails verificará o `embed.FS` fornecido em busca de `index.html` e usará sua localização como caminho raiz para todos os outros ativos do aplicativo - assim como faria um servidor web.
-Example: An application has the following project layout. All final assets are placed in the `frontend/dist` directory:
+Exemplo: Uma aplicação tem o seguinte layout do projeto. Todos os arquivos finais são colocados no diretório `frontend/dist`:
```shell
.
@@ -144,7 +144,7 @@ Example: An application has the following project layout. All final assets are p
└── wails.json
```
-Those assets may be used by the application by simply creating an `embed.FS`:
+Esses ativos podem ser usados pelo aplicativo simplesmente criando um `embed.FS`:
```go title="Assets Example"
//go:embed all:frontend/dist
@@ -160,13 +160,13 @@ func main() {
}
```
-Of course, bundlers can be used if you wish to. The only requirement is to pass the final application assets directory to Wails using an `embed.FS` in the `Assets` key of the [application options](../reference/options.mdx#application-options).
+Claro, empacotadores podem ser usados se você quiser. O único requisito é passar o diretório final de ativos do aplicativo para Wails usando um `embed.FS` no `Assets` chave das [opções do aplicativo](../reference/options.mdx#application-options).
-### Project Configuration
+### Configuração do Projeto
-In v1, the project configuration was stored in the `project.json` file in the project root. In v2, the project configuration is stored in the `wails.json` file in the project root.
+Na v1, a configuração do projeto foi armazenada no arquivo `project.json` na raiz do projeto. Na v2, a configuração do projeto é armazenada no arquivo `wails.json` na raiz do projeto.
-The format of the file is slightly different. Here is a comparison:
+O formato do arquivo é ligeiramente diferente. Aqui está uma comparação:
@@ -185,7 +185,7 @@ The format of the file is slightly different. Here is a comparison:
| frontend / serve | | Removed |
| tags | | Removed |
| | wailsjsdir | The directory to generate wailsjs modules |
-| | assetdir | The directory of the compiled frontend assets for `dev` mode. This is normally inferred and could be left empty. |
-| | reloaddirs | Comma separated list of additional directories to watch for changes and to trigger reloads in `dev` mode. This is only needed for some more advanced asset configurations. |
+| | assetdir | The directory of the compiled frontend assets for `dev` mode. Normalmente, isto é inferido e pode ser deixado vazio. |
+| | reloaddirs | Lista separada por vírgulas de diretórios adicionais para observar alterações e acionar recarregamentos no modo `dev`. Isso só é necessário para algumas configurações de ativos mais avançadas. |
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/mouse-buttons.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/mouse-buttons.mdx
index 4a3de2a6..054ac263 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/mouse-buttons.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/mouse-buttons.mdx
@@ -1,6 +1,6 @@
-# Mouse Buttons
+# Botões do Mouse
-The Wails runtime intercepts mouse clicks to determine whether a frameless window needs resizing or a window needs to be moved. It has been asked how to detect when a mouse click has occurred, because `window.onclick` doesn't report the mouse buttons correctly. The following code shows how to detect mouse clicks:
+As Wails runtime interceptam cliques do mouse para determinar se uma janela precisa ser redimensionada ou uma janela precisa ser movida. Foi perguntado como detectar quando um clique do mouse ocorreu, porque `window.onclick` não relata os botões do mouse corretamente. O código a seguir mostra como detectar cliques do mouse:
```javascript
window.addEventListener("mousedown", handleMouseButtonDown);
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/obfuscated.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/obfuscated.mdx
index 21f7875e..d921a6a5 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/obfuscated.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/obfuscated.mdx
@@ -1,32 +1,32 @@
-# Obfuscated Builds
+# Builds ofuscadas
-Wails includes support for obfuscating your application using [garble](https://github.com/burrowers/garble).
+Wails inclui suporte para ofuscar a sua aplicação usando [garble](https://github.com/burrowers/garble).
-To produce an obfuscated build, you can use the `-obfuscate` flag with the `wails build` command:
+Para produzir uma compilação ofuscada, você pode usar o sinalizador `-obfuscate` com o comando `wails build`:
```bash
wails build -obfuscated
```
-To customise the obfuscation settings, you can use the `-garbleargs` flag:
+Para personalizar a configuração de ofuscação, pode-se utilizar a flag: `-garbleargs`:
```bash
wails build -obfuscated -garbleargs "-literals -tiny -seed=myrandomseed"
```
-These settings may be persisted in your [project config](../reference/project-config).
+Essas configurações podem estar persistentes na configuração do seu [projeto](../reference/project-config).
-## How it works
+## Como funciona
-In a standard build, all bound methods are available in the frontend under the `window.go` variable. When these methods are called, the corresponding backend method is called using the fully qualified function name. When using an obfuscated build, methods are bound using an ID instead of a name. The bindings generated in the `wailsjs` directory use these IDs to call the backend functions.
+Em uma compilação padrão, todos os métodos vinculados estão disponíveis no frontend sob a variável `window.go`. Quando esses métodos são chamados, o método backend correspondente é chamado usando o nome da função totalmente qualificada. Quando usando uma compilação ofuscada, os métodos são vinculados usando um ID em vez de um nome. Os bindings gerados no diretório `wailsjs` usam esses IDs para chamar as funções de backend.
:::note
-To ensure that your application will work in obfuscated mode, you must use the generated bindings under the `wailsjs` directory in your application.
+Para garantir que o seu aplicativo irá funcionar no modo ofuscado, você deve usar os bindings geradas sob o diretório `wailsjs` no seu aplicativo.
:::
-## Example
+## Exemplo
Importing the "Greet" method from the bindings like this:
@@ -37,4 +37,4 @@ import { Greet } from "../../wailsjs/go/main/App";
Greet("World");
```
-will ensure that the method will work correctly in obfuscated mode, as the bindings will be regenerated with IDs and the call mechanism updated.
+irá garantir que o método funcionará corretamente no modo ofuscado, como os bindings serão regenerados com IDs e o mecanismo de chamada atualizado.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/overscroll.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/overscroll.mdx
index 9d1d772d..dcd13f14 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/overscroll.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/overscroll.mdx
@@ -1,6 +1,6 @@
-# Overscroll
+# Rolar demais
-[Overscroll](https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior) is the "bounce effect" you sometimes get when you scroll beyond a page's content boundaries. This is common in mobile apps. This can be disabled using CSS:
+[Overscroll](https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior) é o "efeito de salto" que você às vezes obtém quando você rola além dos limites de conteúdo de uma página. This is common in mobile apps. Isso pode ser desativado usando CSS:
```css
html {
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/routing.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/routing.mdx
index 90d06d28..550e73a5 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/routing.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/routing.mdx
@@ -27,7 +27,7 @@ RouterModule.forRoot(routes, { useHash: true });
## React
-The recommended approach for routing in React is [HashRouter](https://reactrouter.com/en/main/router-components/hash-router):
+A abordagem recomendada para roteamento em React é [HashRouter](https://reactrouter.com/en/main/router-components/hash-router):
```jsx
import { HashRouter } from "react-router-dom";
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/single-instance-lock.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/single-instance-lock.mdx
new file mode 100644
index 00000000..dc7706f8
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/single-instance-lock.mdx
@@ -0,0 +1,81 @@
+# Single Instance Lock
+
+Single instance lock is a mechanism that allows you to prevent multiple instances of your app from running at the same time.
+It is useful for apps that are designed to open files from the command line or from the OS file explorer.
+
+## Important
+
+Single Instance Lock does not implement a secure communications protocol between instances. When using single instance lock,
+your app should treat any data passed to it from second instance callback as untrusted.
+You should verify that args that you receive are valid and don't contain any malicious data.
+
+## How it works
+
+Windows: Single instance lock is implemented using a named mutex. The mutex name is generated from the unique id that you provide. Data is passed to the first instance via a shared window using [SendMessage](https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendmessage)
+macOS: Single instance lock is implemented using a named mutex. The mutex name is generated from the unique id that you provide. Data is passed to the first instance via [NSDistributedNotificationCenter](https://developer.apple.com/documentation/foundation/nsdistributednotificationcenter)
+Linux: Single instance lock is implemented using [dbus](https://www.freedesktop.org/wiki/Software/dbus/). The dbus name is generated from the unique id that you provide. Data is passed to the first instance via [dbus](https://www.freedesktop.org/wiki/Software/dbus/)
+
+## Usage
+
+When creating your app, you can enable single instance lock by passing a `SingleInstanceLock` struct to the `App` struct.
+Use the `UniqueId` field to specify a unique id for your app.
+This id is used to generate the mutex name on Windows and macOS and the dbus name on Linux. Use a UUID to ensure that the id is unique.
+The `OnSecondInstanceLaunch` field is used to specify a callback that is called when a second instance of your app is launched.
+The callback receives a `SecondInstanceData` struct that contains the command line arguments passed to the second instance and the working directory of the second instance.
+
+Note that OnSecondInstanceLaunch don't trigger windows focus.
+You need to call `runtime.WindowUnminimise` and `runtime.Show` to bring your app to the front.
+Note that on linux systems window managers may prevent your app from being brought to the front to avoid stealing focus.
+
+```go title="main.go"
+var wailsContext *context.Context
+
+// NewApp creates a new App application struct
+func NewApp() *App {
+ return &App{}
+}
+
+// startup is called when the app starts. The context is saved
+// so we can call the runtime methods
+func (a *App) startup(ctx context.Context) {
+ wailsContext = &ctx
+}
+
+func (a *App) onSecondInstanceLaunch(secondInstanceData options.SecondInstanceData) {
+ secondInstanceArgs = secondInstanceData.Args
+
+ println("user opened second instance", strings.Join(secondInstanceData.Args, ","))
+ println("user opened second from", secondInstanceData.WorkingDirectory)
+ runtime.WindowUnminimise(*wailsContext)
+ runtime.Show(*wailsContext)
+ go runtime.EventsEmit(*wailsContext, "launchArgs", secondInstanceArgs)
+}
+
+func main() {
+ // Create an instance of the app structure
+ app := NewApp()
+
+ // Create application with options
+ err := wails.Run(&options.App{
+ Title: "wails-open-file",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 1},
+ OnStartup: app.startup,
+ SingleInstanceLock: &options.SingleInstanceLock{
+ UniqueId: "e3984e08-28dc-4e3d-b70a-45e961589cdc",
+ OnSecondInstanceLaunch: app.onSecondInstanceLaunch,
+ },
+ Bind: []interface{}{
+ app,
+ },
+ })
+
+ if err != nil {
+ println("Error:", err.Error())
+ }
+}
+```
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/sveltekit.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/sveltekit.mdx
index 4651c422..8281281f 100644
--- a/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/sveltekit.mdx
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/current/guides/sveltekit.mdx
@@ -1,66 +1,66 @@
# SvelteKit
-This guide will go into:
+Este guia será para:
-1. Miminal Installation Steps - The steps needed to get a minimum Wails setup working for SvelteKit.
-2. Install Script - Bash script for accomplishing the Minimal Installation Steps with optional Wails branding.
-3. Important Notes - Issues that can be encountered when using SvelteKit + Wails and fixes.
+1. Passos de instalação do Miminal - Os passos necessários para obter uma instalação mínima de Wails funcionando para o SvelteKit.
+2. Script de Instalação - Bash script para cumprir os passos de Instalação Mínima com a marca opcional de Wails.
+3. Notas importantes - Problemas que podem ser encontrados ao usar o SvelteKit + Wails e correções.
-## 1. Minimal Installation Steps
+## 1. Passos mínimos de instalação
-##### Install Wails for Svelte.
+##### Instalar Wails para Svelte.
- `wails init -n myapp -t svelte`
-##### Delete the svelte frontend.
+##### Exclua o front-end do Svelte.
-- Navigate into your newly created myapp folder.
-- Delete the folder named "frontend"
+- Navegue até a pasta myapp recém-criada.
+- Excluir a pasta chamada "frontend"
-##### While in the Wails project root. Use your favorite package manager and install SvelteKit as the new frontend. Follow the prompts.
+##### Enquanto estiver na raiz do projeto Wails. Use o seu gerenciador de pacotes favorito e instale o SvelteKit como o novo frontend. Siga as instruções.
- `npm create svelte@latest frontend`
-##### Modify wails.json.
+##### Modificar o wails.json.
-- Add `"wailsjsdir": "./frontend/src/lib",` Do note that this is where your Go and runtime functions will appear.
-- Change your package manager frontend here if not using npm.
+- Add `"wailsjsdir": "./frontend/src/lib",` Observe que é aqui que suas funções Go e runtime aparecerão.
+- Mude o frontend do seu gerenciador de pacotes se não estiver usando npm.
-##### Modify main.go.
+##### Modificar o main.go.
-- The first comment `//go:embed all:frontend/dist` needs to be changed to `//go:embed all:frontend/build`
+- O primeiro comentário `//go:embed all:frontend/dist` precisa ser alterado para `//go:embed all:frontend/build`
-##### Install/remove dependencies using your favorite package manager.
+##### Instalar/remover dependências usando seu gerenciador de pacote favorito.
-- Navigate into your "frontend" folder.
+- Entre na sua pasta "frontend".
- `npm i`
- `npm uninstall @sveltejs/adapter-auto`
- `npm i -D @sveltejs/adapter-static`
-##### Change adapter in svelte.config.js
+##### Alterar adaptador em svelte.config.js
-- First line of file change `import adapter from '@sveltejs/adapter-auto';` to `import adapter from '@sveltejs/adapter-static';`
+- A primeira linha de arquivo altera `import adapter from '@sveltejs/adapter-auto';` to `import adapter from '@sveltejs/adapter-static';`
-##### Put SvelteKit into SPA mode with prerendering.
+##### Coloque o SvelteKit no modo SPA com pré-renderização.
-- Create a file under myapp/frontend/src/routes/ named +layout.ts/+layout.js.
-- Add two lines into the newly created file `export const prerender = true` and `export const ssr = false`
+- Crie um arquivo sob myapp/frontend/src/routes/ chamado +layout.ts/+layout.js.
+- Adicione duas linhas ao recém-criado arquivo `export const prerender = true` e `export const ssr = false`
-##### Test installation.
+##### Testar instalação.
-- Navigate back into the Wails project root (one directory up).
-- run `wails dev`
-- If the application doesn't run please check through the previous steps.
+- Navegue de volta à raiz do projeto Wails (um diretório para cima).
+- execute `wails dev`
+- Se a aplicação não executar, por favor verifique os passos anteriores.
-## 2. Install Script
+## 2. Script de Instalação
-##### This Bash Script does the steps listed above. Make sure to read over the script and understand what the script is doing on your computer.
+##### Este Script do Bash faz as etapas listadas acima. Certifique-se de ler o script e de entender o que o script está fazendo no seu computador.
-- Create a file sveltekit-wails.sh
-- Copy the below code into the new file then save it.
-- Make it executable with `chmod +x sveltekit-wails.sh`
-- Brand is an optional param below that adds back in the wails branding. Leave third param blank to not insert the Wails branding.
-- Example usage: `./sveltekit-wails.sh pnpm newapp brand`
+- Criar um arquivo sveltekit-wails.sh
+- Copie o código abaixo para o novo arquivo e o salve.
+- Torná-lo executável com `chmod +x sveltekit-wails.sh`
+- A marca é um parâmetro opcional abaixo que adiciona de volta na marca de fregueses. Deixe o terceiro parâmetro em branco para não inserir a marca das Wails.
+- Exemplo de uso: `./sveltekit-wails.sh pnpm newapp brand`
##### sveltekit-wails.sh:
@@ -96,17 +96,17 @@ cd ..
wails dev
```
-## 3. Important Notes
+## 3. Notas importantes
-##### Server files will cause build failures.
+##### Os arquivos do servidor causarão falhas de construção.
-- \+layout.server.ts, +page.server.ts, +server.ts or any file with "server" in the name will fail to build as all routes are prerendered.
+- \+layout.server.ts, +page.server.ts, +server.ts ou qualquer arquivo com "server" em nome falhará na construção enquanto todas as rotas forem pré-renderizadas.
-##### The Wails runtime unloads with full page navigations!
+##### O tempo de execução do Wails descarrega com navegações de página inteira!
-- Anything that causes full page navigations: `window.location.href = '//'` or Context menu reload when using wails dev. What this means is that you can end up losing the ability to call any runtime breaking the app. There are two ways to work around this.
-- Use `import { goto } from '$app/navigation'` then call `goto('//')` in your +page.svelte. This will prevent a full page navigation.
-- If full page navigation can't be prevented the Wails runtime can be added to all pages by adding the below into the `` of myapp/frontend/src/app.html
+- Tudo que causa navegações de página completa: `window.location.href = '//'` ou recarga do menu de contexto ao usar wails dev. Isso significa que você pode acabar perdendo a capacidade de chamar qualquer falha no aplicativo em tempo de execução. Há duas formas de trabalhar em torno desta questão.
+- Use `import { goto } from '$app/navigation'` e então chame `goto('//')` em sua + page.svelte. Isso impedirá uma navegação de página completa.
+- Se a navegação por página inteira não puder ser impedido que o tempo de execução do Wails seja adicionado a todas as páginas, adicionando o abaixo ao `` de myapp/frontend/src/app. Mt
```
@@ -118,17 +118,17 @@ wails dev
```
-See https://wails.io/docs/guides/frontend for more information.
+Veja https://wails.io/docs/guides/frontend para mais informações.
-##### Inital data can be loaded and refreshed from +page.ts/+page.js to +page.svelte.
+##### Os dados de e-mail podem ser carregados e atualizados a partir de +page.ts/+page.js para +page.svelte.
-- \+page.ts/+page.js works well with load() https://kit.svelte.dev/docs/load#page-data
-- invalidateAll() in +page.svelte will call load() from +page.ts/+page.js https://kit.svelte.dev/docs/load#rerunning-load-functions-manual-invalidation.
+- \+page.ts/+page.js funciona bem com o load() https://kit.svelte.dev/docs/load#page-data
+- invalidateAll() em +page.svelte irá chamar load() de +page.ts/+page.js https://kit.svelte.dev/docs/load#rerunning-load-functions-manual-invalidation.
-##### Error Handling
+##### Tratamento de erros
-- Expected errors using Throw error works in +page.ts/+page.js with a +error.svelte page. https://kit.svelte.dev/docs/errors#expected-errors
-- Unexpected errors will cause the application to become unusable. Only recovery option (known so far) from unexpected errors is to reload the app. To do this create a file myapp/frontend/src/hooks.client.ts then add the below code to the file.
+- Erros esperados usando o erro Throw funcionam em +page.ts/+page.js com uma página +error.svelte. https://kit.svelte.dev/docs/errors#expected-errors
+- Erros inesperados farão com que o aplicativo se torne inutilizável. Somente a opção de recuperação (conhecida até agora) de erros inesperados é recarregar o aplicativo. Para fazer isso, crie um arquivo myapp/frontend/src/hooks.client.ts e adicione o código abaixo ao arquivo.
```
import { WindowReloadApp } from '$lib/wailsjs/runtime/runtime'
@@ -137,10 +137,10 @@ export async function handleError() {
}
```
-##### Using Forms and handling functions
+##### Usando formas e funções de manipulação
-- The simplest way is to call a function from the form is the standard, bind:value your variables and prevent submission `