diff --git a/.eslintignore b/.eslintignore
deleted file mode 100644
index 6b6c2075e45..00000000000
--- a/.eslintignore
+++ /dev/null
@@ -1 +0,0 @@
-runtime/assets/default.html
\ No newline at end of file
diff --git a/.eslintrc b/.eslintrc
deleted file mode 100644
index 570dfef81ac..00000000000
--- a/.eslintrc
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "env": {
- "browser": true,
- "es6": true,
- "node": true,
- },
- "extends": "eslint:recommended",
- "parserOptions": {
- "ecmaVersion": 2016,
- "sourceType": "module",
- },
- "rules": {
- "indent": [
- "error",
- "tab"
- ],
- "linebreak-style": [
- "error",
- "unix"
- ],
- "quotes": [
- "error",
- "single"
- ],
- "semi": [
- "error",
- "always"
- ]
- }
-}
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index 7655d2651b2..e3632ecaae8 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -1,5 +1,9 @@
blank_issues_enabled: true
contact_links:
+ - name: Discord Chat
+ url: https://discord.gg/BrRSWTaxVK
+ about: Ask questions and discuss with other Wails users in real time.
+
- name: GitHub Community Discussions
url: https://github.com/wailsapp/wails/discussions
about: If your question is not a feature or a bug, please go to the discussion panel and retrieve if your question already exists before submitting.
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
new file mode 100644
index 00000000000..44bf5eef603
--- /dev/null
+++ b/.github/pull_request_template.md
@@ -0,0 +1,37 @@
+# Description
+
+Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
+
+Fixes # (issue)
+
+## Type of change
+
+Please delete options that are not relevant.
+
+- [ ] Bug fix (non-breaking change which fixes an issue)
+- [ ] New feature (non-breaking change which adds functionality)
+- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
+- [ ] This change requires a documentation update
+
+# How Has This Been Tested?
+
+Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration using `wails doctor`.
+
+- [ ] Windows
+- [ ] macOS
+- [ ] Linux
+
+## Test Configuration
+
+Please paste the output of `wails doctor`. If you are unable to run this command, please describe your environment in as much detail as possible.
+
+# Checklist:
+
+- [ ] I have updated `website/src/pages/changelog.mdx` with details of this PR
+- [ ] My code follows the general coding style of this project
+- [ ] I have performed a self-review of my own code
+- [ ] I have commented my code, particularly in hard-to-understand areas
+- [ ] I have made corresponding changes to the documentation
+- [ ] My changes generate no new warnings
+- [ ] I have added tests that prove my fix is effective or that my feature works
+- [ ] New and existing unit tests pass locally with my changes
diff --git a/.goreleaser.yml b/.goreleaser.yml
deleted file mode 100644
index a5769985bd1..00000000000
--- a/.goreleaser.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-# This is an example goreleaser.yaml file with some sane defaults.
-# Make sure to check the documentation at http://goreleaser.com
-
-builds:
-- env:
- - CGO_ENABLED=0
- goos:
- - windows
- - linux
- - darwin
- goarch:
- - 386
- - amd64
- ignore:
- - goos: darwin
- goarch: 386
- main: ./cmd/wails/main.go
-archive:
- replacements:
- darwin: Darwin
- linux: Linux
- windows: Windows
- 386: i386
- amd64: x86_64
-checksum:
- name_template: 'checksums.txt'
-snapshot:
- name_template: "{{ .Tag }}-next"
-changelog:
- sort: asc
- filters:
- exclude:
- - '^docs:'
- - '^test:'
diff --git a/.hound.yml b/.hound.yml
deleted file mode 100644
index c74b4a197b1..00000000000
--- a/.hound.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-jshint:
- config_file: .jshintrc
-eslint:
- enabled: true
- config_file: .eslintrc
- ignore_file: .eslintignore
\ No newline at end of file
diff --git a/.jshintrc b/.jshintrc
deleted file mode 100644
index 53b202cb9fa..00000000000
--- a/.jshintrc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "esversion": 6
-}
\ No newline at end of file
diff --git a/README.ja.md b/README.ja.md
index 64a6f87560d..f308fd7549d 100644
--- a/README.ja.md
+++ b/README.ja.md
@@ -26,8 +26,8 @@
-
-
+
+
@@ -58,6 +58,7 @@
- [スポンサー](#スポンサー)
- [始め方](#始め方)
- [FAQ](#faq)
+- [スター数の推移](#スター数の推移)
- [コントリビューター](#コントリビューター)
- [特記事項](#特記事項)
- [スペシャルサンクス](#スペシャルサンクス)
diff --git a/README.ko.md b/README.ko.md
index 95bb8eb36ac..441b77f6676 100644
--- a/README.ko.md
+++ b/README.ko.md
@@ -26,8 +26,8 @@
-
-
+
+
@@ -57,6 +57,7 @@
- [시작하기](#시작하기)
- [스폰서](#스폰서)
- [FAQ](#faq)
+- [Stargazers 성장 추세](#stargazers-성장-추세)
- [기여자](#기여자)
- [라이센스](#라이센스)
- [영감](#영감)
diff --git a/README.md b/README.md
index 8d91dfd3760..5910be65084 100644
--- a/README.md
+++ b/README.md
@@ -24,8 +24,8 @@
-
-
+
+
@@ -55,6 +55,7 @@
- [Getting Started](#getting-started)
- [Sponsors](#sponsors)
- [FAQ](#faq)
+- [Stargazers over time](#stargazers-over-time)
- [Contributors](#contributors)
- [License](#license)
- [Inspiration](#inspiration)
@@ -91,9 +92,9 @@ The installation instructions are on the [official website](https://wails.io/doc
## Sponsors
-
This project is supported by these kind people / companies:
+
+```
+
+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).
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/emailit.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/emailit.mdx
new file mode 100644
index 00000000000..c1817b70fff
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/emailit.mdx
@@ -0,0 +1,10 @@
+# EmailIt
+
+```mdx-code-block
+
+
+
+
+```
+
+[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.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/encrypteasy.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/encrypteasy.mdx
new file mode 100644
index 00000000000..7f4bd7a634a
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/encrypteasy.mdx
@@ -0,0 +1,12 @@
+# EncryptEasy
+
+```mdx-code-block
+
+
+
+
+```
+
+**[EncryptEasy](https://www.encrypteasy.app) est un outil de chiffrement PGP simple et facile à utiliser, qui gère toutes vos clés et celles de vos contacts. Le chiffrement devrait être simple. Développé avec Wails.**
+
+Chiffrer les messages à l'aide de PGP est la norme de l'industrie. Tout le monde a une clé privée et publique. Votre clé privée, eh bien, doit être privée afin que vous seul puissiez lire les messages. Votre clé publique est distribuée à toute personne qui veut vous envoyer des messages secrets, chiffrés. Gérer les clés, chiffrer les messages et déchiffrer les messages devrait être une expérience agréable. EncryptEasy a pour but de vous simplifier la tâche.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/filehound.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/filehound.mdx
new file mode 100644
index 00000000000..7522afa6ecf
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/filehound.mdx
@@ -0,0 +1,16 @@
+# Utilitaire d'exportation FileHound
+
+```mdx-code-block
+
+
+
+
+```
+
+[L'utilitaire d'exportation FileHound](https://www.filehound.co.uk/) est une plate-forme de gestion de documents cloud conçue pour la conservation sécurisée de fichiers, l'automatisation des processus métier et les capacités de SmartCapture.
+
+L'utilitaire d'exportation FileHound permet aux administrateurs FileHound d'exécuter des tâches sécurisées d'extraction de documents et de données à des fins alternatives de sauvegarde et de récupération. Cette application téléchargera tous les documents et/ou métadonnées enregistrés dans FileHound en fonction des filtres que vous avez choisis. Les métadonnées seront exportées dans les formats JSON et XML.
+
+Backend construit avec: Go 1.15 Wails 1.11.0 go-sqlite3 1.14.6 go-linq 3.2
+
+Frontend avec: Vue 2.6.11 Vuex 3.4.0 TypeScript Tailwind 1.9.6
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/hiposter.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/hiposter.mdx
new file mode 100644
index 00000000000..87e5837d32f
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/hiposter.mdx
@@ -0,0 +1,10 @@
+# hiposter
+
+```mdx-code-block
+
+
+
+
+```
+
+[hiposter](https://github.com/obity/hiposter) is a simple and efficient http API testing client tool. Based on Wails, Go and sveltejs.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/minecraftupdater.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/minecraftupdater.mdx
new file mode 100644
index 00000000000..5966e75fa63
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/minecraftupdater.mdx
@@ -0,0 +1,14 @@
+# Minecraft Updater
+
+```mdx-code-block
+
+
+
+
+```
+
+[Minecraft Updater](https://github.com/Gurkengewuerz/MinecraftModUpdater) est un outil utilitaire pour mettre à jour et synchroniser les mods Minecraft pour votre base d'utilisateurs. Il a été conçu en utilisant Wails2 et React avec [antd](https://ant.design/) comme framework frontend.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/modalfilemanager.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/modalfilemanager.mdx
new file mode 100644
index 00000000000..6f360f64c2c
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/modalfilemanager.mdx
@@ -0,0 +1,14 @@
+# Modal File Manager
+
+```mdx-code-block
+
+
+
+
+```
+
+[Modal File Manager](https://github.com/raguay/ModalFileManager) est un gestionnaire de fichiers à double volet utilisant des technologies web. Mon design original était basé sur NW.js et peut être trouvé [ici](https://github.com/raguay/ModalFileManager-NWjs). Cette version utilise le même code frontend basé sur Svelte (mais il a été grandement modifié depuis le départ de NW.js), mais le backend est une implémentation de [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. Il est entièrement codé en utilisant Go et fonctionne beaucoup plus rapidement que les versions précédentes.
+
+Ce gestionnaire de fichiers est conçu autour du même principe que Vim: l'état est contrôlé par des actions via le clavier. Le nombre d'états n'est pas fixe, mais très programmable. Par conséquent, un nombre infini de configurations de clavier qui peuvent être créées et utilisées. C'est la principale différence par rapport aux autres gestionnaires de fichiers. There are themes and extensions available to download from GitHub.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/mollywallet.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/mollywallet.mdx
new file mode 100644
index 00000000000..70a6cd1f44d
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/mollywallet.mdx
@@ -0,0 +1,10 @@
+# Molley Wallet
+
+```mdx-code-block
+
+
+
+
+```
+
+[Molly Wallet](https://github.com/grvlle/constellation_wallet/) le portefeuille officiel $DAG du Constellation Network. Cela permettra aux utilisateurs d'interagir avec le réseau Hypergraph de différentes manières, sans se limiter à la production de transactions en $DAG.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/october.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/october.mdx
new file mode 100644
index 00000000000..5a9789d8711
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/october.mdx
@@ -0,0 +1,14 @@
+# October
+
+```mdx-code-block
+
+
+
+
+```
+
+[Octobre](https://october.utf9k.net) est une petite application Wails qui rend vraiment facile d'extraire les surlignements de [Kobo eReaders](https://en.wikipedia.org/wiki/Kobo_eReader) puis de les transférer vers [Readwise](https://readwise.io).
+
+Il a une taille relativement petite avec toutes les versions de la plate-forme pesant en moins de 10 Mo, et c'est sans activer la [compression UPX](https://upx.github.io/)!
+
+En revanche, les précédentes tentatives de l'auteur avec Electron ont rapidement gonflé à plusieurs centaines de mégaoctets.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/optimus.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/optimus.mdx
new file mode 100644
index 00000000000..41744234d37
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/optimus.mdx
@@ -0,0 +1,10 @@
+# Optimus
+
+```mdx-code-block
+
+
+
+
+```
+
+[Optimus](https://github.com/splode/optimus) est une application d'optimisation d'image de bureau. Il supporte la conversion et la compression entre les formats d’images WebP, JPEG et PNG.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/portfall.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/portfall.mdx
new file mode 100644
index 00000000000..acdc682becf
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/portfall.mdx
@@ -0,0 +1,10 @@
+# Portfall
+
+```mdx-code-block
+
+
+
+
+```
+
+[Portfall](https://github.com/rekon-oss/portfall) - Un portail de redirection de port k8 pour un accès facile à toutes les interfaces de votre instance
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/restic-browser.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/restic-browser.mdx
new file mode 100644
index 00000000000..b6597166852
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/restic-browser.mdx
@@ -0,0 +1,12 @@
+# Restic Browser
+
+```mdx-code-block
+
+
+
+
+```
+
+[Restic-Browser](https://github.com/emuell/restic-browser) - Une interface de sauvegarde simple et multiplateforme [restic](https://github.com/restic/restic) pour la navigation et la restauration de dépôts restic.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/riftshare.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/riftshare.mdx
new file mode 100644
index 00000000000..e47b2397e63
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/riftshare.mdx
@@ -0,0 +1,21 @@
+# RiftShare
+
+```mdx-code-block
+
+
+
+
+```
+
+Partage de fichiers facile, sécurisé et gratuit pour tout le monde. Apprenez-en plus sur [Riftshare.app](https://riftshare.app)
+
+## Fonctionnalités
+
+- Partage facile et sécurisé de fichiers entre ordinateurs à la fois sur le réseau local et via Internet
+- Supporte l'envoi de fichiers ou de répertoires de manière sécurisée par le protocole [magic wormhole](https://magic-wormhole.readthedocs.io/en/latest/)
+- Compatible avec toutes les autres applications utilisant magic wormhole (magic-wormhole or wormhole-william CLI, wormhole-gui, etc.)
+- Compression automatique de plusieurs fichiers sélectionnés à envoyer en même temps
+- Animations complètes, barre de progression et support d'annulation pour l'envoi et la réception
+- Sélection de fichier natif au système d'exploitation
+- Ouvrir les fichiers en un seul clic une fois reçus
+- Mise à jour automatique - ne vous inquiétez pas d'avoir la dernière version!
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/scriptbar.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/scriptbar.mdx
new file mode 100644
index 00000000000..b5828f8a849
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/scriptbar.mdx
@@ -0,0 +1,10 @@
+# ScriptBar
+
+```mdx-code-block
+
+
+
+
+```
+
+[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. Il affiche également la sortie des scripts sur votre système. ScriptBar ne les met pas dans la barre de menus, mais les a tous dans une fenêtre convenable pour une visualisation facile. Vous pouvez avoir plusieurs onglets pour voir plusieurs choses différentes. Vous pouvez également conserver les liens vers vos sites Web les plus visités.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/surge.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/surge.mdx
new file mode 100644
index 00000000000..b5917484303
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/surge.mdx
@@ -0,0 +1,10 @@
+# Surge
+
+```mdx-code-block
+
+
+
+
+```
+
+[Surge](https://getsurge.io/) est une application de partage de fichiers p2p conçue pour utiliser les technologies blockchain afin d'activer les transferts de fichiers 100 % anonymes. Surge est chiffré de bout en bout, décentralisé et open source.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wally.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wally.mdx
new file mode 100644
index 00000000000..ba2a7fccc45
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wally.mdx
@@ -0,0 +1,10 @@
+# Wally
+
+```mdx-code-block
+
+
+
+
+```
+
+[Wally](https://ergodox-ez.com/pages/wally) est le flasheur officiel du firmware pour les claviers [Ergodox](https://ergodox-ez.com/). C'est un excellent exemple de ce que vous pouvez réaliser avec Wails : la capacité de combiner la puissance de Go et les riches outils graphiques du monde du développement web.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/warmine.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/warmine.mdx
new file mode 100644
index 00000000000..950dc3f3db1
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/warmine.mdx
@@ -0,0 +1,19 @@
+# Minecraft launcher for 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.
+
+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.
+
+Frontend is written in Svelte, whole launcher fits in 9MB and supports Windows 7-11.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wombat.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wombat.mdx
new file mode 100644
index 00000000000..c431f691952
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wombat.mdx
@@ -0,0 +1,10 @@
+# Wombat
+
+```mdx-code-block
+
+
+
+
+```
+
+[Wombat](https://github.com/rogchap/wombat) est un client gRPC multi-plateforme.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/ytd.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/ytd.mdx
new file mode 100644
index 00000000000..4f5bd993cb1
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/ytd.mdx
@@ -0,0 +1,10 @@
+# Ytd
+
+```mdx-code-block
+
+
+
+
+```
+
+[Ytd](https://github.com/marcio199226/ytd/tree/v2-wails) est une application pour télécharger des pistes depuis youtube, créer des listes de lecture hors ligne et les partager avec vos amis, vos amis seront en mesure de lire vos playlists ou de les télécharger pour l'écoute hors ligne, a un lecteur intégré.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/templates.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/templates.mdx
new file mode 100644
index 00000000000..a2bf2b75742
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/community/templates.mdx
@@ -0,0 +1,63 @@
+---
+sidebar_position: 1
+---
+
+# Modèles
+
+Cette page sert de liste pour les modèles supportés par la communauté. Veuillez soumettre une PR (cliquez sur `Modifier cette page` en bas) pour inclure vos modèles. Pour construire votre propre modèle, veuillez consulter le guide [Modèles](../guides/templates.mdx).
+
+Pour utiliser ces modèles, exécutez `wails init -n "Votre nom de projet" -t [le lien ci-dessous[@version]]`
+
+S'il n'y a pas de suffixe de version, la branche principale du modèle de code sera alors utilisé par défaut. S'il y a un suffixe de version, le modèle de code correspondant au tag de cette version sera utilisé.
+
+Exemple : `wails init -n "Votre nom de projet" -t https://github.com/misitebao/wails-template-vue`
+
+:::warning Attention
+
+**Le projet Wails n'entretient pas, et n'est pas responsable des modèles de tierces parties!**
+
+Si vous n'êtes pas sûr d'un modèle, inspectez `package.json` et `wails.json` pour savoir quels scripts sont exécutés et quels paquets sont installés.
+
+:::
+
+## Vue
+
+- [wails-template-vue](https://github.com/misitebao/wails-template-vue) - Modèle de Wails basé sur Vue (TypeScript intégré, thème sombre, internationalisation, routage de page unique, TailwindCSS)
+- [wails-vite-vue-ts](https://github.com/codydbentley/wails-vite-vue-ts) - Vue 3 TypeScript avec Vite (et instructions pour ajouter des fonctionnalités)
+- [wails-vite-vue-the-works](https://github.com/codydbentley/wails-vite-vue-the-works) - Vue 3 TypeScript avec Vite, Vuex, Vue Router, Sass, et ESLint + Prettier
+- [wails-template-quasar-js](https://github.com/sgosiaco/wails-template-quasar-js) - Un modèle utilisant JavaScript + Quasar V2 (Vue 3, Vite, Sass, Pinia, ESLint, Prettier)
+- [wails-template-quasar-ts](https://github.com/sgosiaco/wails-template-quasar-ts) - Un modèle utilisant TypeScript + Quasar V2 (Vue 3, Vite, Sass, Pinia, ESLint, Prettier, Composition API avec <script setup>)
+- [wails-template-naive](https://github.com/tk103331/wails-template-naive) - Modèle Wails basé sur Naive UI (Librairie de composants Vue 3)
+
+## Angular
+
+- [wails-template-angular](https://github.com/mateothegreat/wails-template-angular) - Modèle Angular 15+ prêt à être utilisé en production.
+- [wails-angular-template](https://github.com/TAINCER/wails-angular-template) - Angular avec TypeScript, Sass, rechargement à chaud, découpage dynamique de code et i18n
+
+## React
+
+- [wails-react-template](https://github.com/AlienRecall/wails-react-template) - Un modèle utilisant reactjs
+- [wails-react-template](https://github.com/flin7/wails-react-template) - Un modèle minimal pour React qui supporte le développement en direct
+- [wails-template-nextjs](https://github.com/LGiki/wails-template-nextjs) - Un modèle utilisant Next.js et TypeScript
+- [wails-vite-react-ts-tailwind-template](https://github.com/hotafrika/wails-vite-react-ts-tailwind-template) - Un modèle pour React + TypeScript + Vite + TailwindCSS
+
+## Svelte
+
+- [wails-svelte-template](https://github.com/raitonoberu/wails-svelte-template) - Un modèle utilisant Svelte
+- [wails-vite-svelte-template](https://github.com/BillBuilt/wails-vite-svelte-template) - Un modèle utilisant Svelte et Vite
+- [wails-vite-svelte-tailwind-template](https://github.com/BillBuilt/wails-vite-svelte-tailwind-template) - Un modèle utilisant Svelte et Vite avec TailwindCSS v3
+- [wails-sveltekit-template](https://github.com/h8gi/wails-sveltekit-template) - Un modèle utilisant SvelteKit
+
+## Solid
+
+- [wails-template-vite-solid-ts](https://github.com/xijaja/wails-template-solid-ts) - Un modèle utilisant Solid + Ts + Vite
+- [wails-template-vite-solid-ts](https://github.com/xijaja/wails-template-solid-js) - Un modèle utilisant Solid + Js + Vite
+
+## Elm
+
+- [wails-elm-template](https://github.com/benjamin-thomas/wails-elm-template) - Développez votre application GUI avec de la programmation fonctionnelle et une configuration de développement en direct :tada: :rocket:
+- [wails-template-elm-tailwind](https://github.com/rnice01/wails-template-elm-tailwind) - Combine les puissances :muscle: d'Elm + Tailwind CSS + Wails ! Rechargement automatique pris en charge.
+
+## Pure JavaScript (Vanilla)
+
+- [wails-pure-js-template](https://github.com/KiddoV/wails-pure-js-template) - Un modèle avec rien que du JavaScript, du HTML et du CSS de base
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/building.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/building.mdx
new file mode 100644
index 00000000000..eb43f4aae2c
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/building.mdx
@@ -0,0 +1,22 @@
+---
+sidebar_position: 6
+---
+
+# Compiler votre projet
+
+À partir du répertoire du projet, exécutez `wails build`. Cela compilera votre projet et sauvegardera le binaire prêt à la production dans le répertoire `build/bin`.
+
+Si vous exécutez le binaire, vous devriez voir l'application par défaut :
+
+```mdx-code-block
+
+
+
+
+```
+
+Pour plus de détails sur les options de compilation, veuillez vous référer à la [documentation du CLI](../reference/cli.mdx#build).
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/development.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/development.mdx
new file mode 100644
index 00000000000..307029141d4
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/development.mdx
@@ -0,0 +1,16 @@
+---
+sidebar_position: 5
+---
+
+# Développez votre application
+
+Vous pouvez exécuter votre application en mode développement en exécutant `wails dev` à partir du répertoire de votre projet. Cela fera les choses suivantes :
+
+- Construire votre application et l'exécuter
+- Lier votre code Go au frontend pour qu'il puisse être appelé à partir de JavaScript
+- En utilisant la puissance de [Vite](https://vitejs.dev/), surveillera les modifications dans vos fichiers Go et reconstruira / ré-exécutera en cas de changement
+- Mettra en place un [serveur web](http://localhost:34115) qui servira votre application via un navigateur. Cela vous permet d'utiliser les extensions de votre navigateur préféré. Vous pouvez même appeler votre code Go depuis la console
+
+Pour commencer, exécutez `wails dev` dans le répertoire du projet. Plus d'informations à ce sujet peuvent être trouvées [ici](../reference/cli.mdx#dev).
+
+Prochainement : Tutoriel
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/firstproject.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/firstproject.mdx
new file mode 100644
index 00000000000..383925af1e6
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/firstproject.mdx
@@ -0,0 +1,130 @@
+---
+sidebar_position: 2
+---
+
+# Créer un projet
+
+## Génération de projet
+
+Maintenant que le CLI est installé, vous pouvez générer un nouveau projet en utilisant la commande `wails init`.
+
+Choisissez votre framework favori :
+
+```mdx-code-block
+import Tabs from "@theme/Tabs";
+import TabItem from "@theme/TabItem";
+
+
+
+ Générer un projet Svelte utilisant JavaScript avec:
+
+ wails init -n myproject -t vanilla
+
+Si vous préférez TypeScript:
+
+ wails init -n myproject -t vanilla-ts
+
+
+
+```
+
+
+
+Il y a aussi [des modèles créés par la communauté](../community/templates.mdx) qui sont disponibles et qui offrent différentes possibilités.
+
+Pour voir les autres options disponibles, vous pouvez exécuter `wails init -help`. Plus de détails peuvent être trouvés dans la [documentation du CLI](../reference/cli.mdx#init).
+
+## Structure du projet
+
+Les projets Wails ont la structure suivante:
+
+```
+.
+├── build/
+│ ├── appicon.png
+│ ├── darwin/
+│ └── windows/
+├── frontend/
+├── go.mod
+├── go.sum
+├── main.go
+└── wails.json
+```
+
+### Récapitulatif de la structure du projet
+
+- `/main.go` - L'application principale
+- `/frontend/` - Fichiers de la partie frontend
+- `/build/` - Répertoire de construction du projet
+- `/build/appicon.png` - L'icône de l'application
+- `/build/darwin/` - Fichiers spécifiques pour Mac
+- `/build/windows/` - Fichiers spécifiques pour Windows
+- `/wails.json` - La configuration du projet
+- `/go.mod` - Le fichier du module Go
+- `/go.sum` - Le checksum du fichier du module Go
+
+Le répertoire `frontend` n'a rien de spécifique à Wails et n'importe quel outil de frontend peut être utilisé.
+
+Le répertoire `build` est utilisé pendant le processus de compilation. Ces fichiers peuvent être mis à jour pour personnaliser vos builds. Si fichiers sont supprimés du répertoire de compilation, les versions par défaut seront régénérées.
+
+Le nom du module par défaut dans `go.mod` est "changeme". Vous devriez changer cela pour quelque chose de plus approprié.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/installation.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/installation.mdx
new file mode 100644
index 00000000000..86ffde34bde
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/installation.mdx
@@ -0,0 +1,90 @@
+---
+sidebar_position: 1
+---
+
+# Installation
+
+## Plates-formes Prises en charge
+
+- Windows 10/11 AMD64/ARM64
+- MacOS 10.13+ AMD64
+- MacOS 11.0+ ARM64
+- Linux AMD64/ARM64
+
+## Dépendances
+
+Wails a un certain nombre de dépendances communes qui sont nécessaires avant l'installation :
+
+- Go 1.18+
+- NPM (Node 15+)
+
+### Go
+
+Télécharger Go à partir de la [Page de téléchargement](https://go.dev/dl/).
+
+Assurez-vous que vous suivez les instructions officielles de [l'installation de Go](https://go.dev/doc/install). Vous devrez également vous assurer que votre variable d'environnement `PATH` inclut également le chemin vers votre répertoire `~/go/bin`. Redémarrez votre terminal et effectuez les vérifications suivantes :
+
+- Vérifiez que Go est installé correctement : `go version`
+- Vérifiez que "~/go/bin" est dans votre variable PATH : `echo $PATH | grep go/bin`
+
+### NPM
+
+Téléchargez le NPM à partir de la [page de téléchargement de Node](https://nodejs.org/en/download/). Il est préférable d'utiliser la dernière version car c'est avec celle-là que nous effectuons nos tests.
+
+Exécutez `npm --version` pour vérifier.
+
+## Dépendances spécifiques aux plateformes
+
+Vous devrez également installer des dépendances spécifiques liés à la plateforme que vous utilisez :
+
+```mdx-code-block
+import Tabs from "@theme/Tabs";
+import TabItem from "@theme/TabItem";
+
+
+
+ Wails a besoin que les outils de command line xocde soient installés. Cela peut être fait
+ en exécutant xcode-select --install.
+
+
+ Wails a besoin que WebView2 runtime soit installé. Certaines installations de Windows auront déjà installé cette fonctionnalité. Vous pouvez vérifier en utilisant la commande wails doctor.
+
+
+ Linux a besoin de gcc comme outil de compilation en plus de libgtk3 et libwebkit. Plutôt que de lister une tonne de commandes pour différentes distributions, Wails peut essayer de déterminer ce que sont les commandes d'installation pour votre distribution. Exécutez wails doctor après l'installation pour voir de quelles dépendances vous avez besoin. Si votre gestionnaire de distribution/paquet n'est pas pris en charge, veuillez consulter le guide Ajouter une distribution Linux.
+
+
+```
+
+## Dépendances optionnelles
+
+- [UPX](https://upx.github.io/) pour compresser vos applications.
+- [NSIS](https://wails.io/docs/guides/windows-installer/) pour générer des installateurs Windows.
+
+## Installer Wails
+
+Exécutez `go go install github.com/wailsapp/wails/v2/cmd/wails@latest` pour installer le CLI.
+
+Note: Si vous obtenez une erreur similaire à ceci:
+
+```shell
+....\Go\pkg\mod\github.com\wailsapp\wails\v2@v2.1.0\pkg\templates\templates.go:28:12: pattern all:ides/*: no matching files found
+```
+vérifiez que vous avez installé Go 1.18+ :
+```shell
+go version
+```
+
+## Vérification du système
+
+Exécuter `wails doctor` qui vérifiera si vous avez les bonnes dépendances installées. Si ce n'est pas le cas, il vous conseillera sur ce qui manque et vous aidera à corriger tout problème.
+
+## La commande `wails` semble manquer ?
+
+Si votre système signale que la commande `wails` est manquante, assurez-vous que vous avez suivi le guide d'installation correctement. Normalement, cela signifie que le répertoire `go/bin` du répertoire racine de votre utilisateur n'est pas dans la variable d'environnement `PATH` . Vous devrez également normalement fermer et réouvrir toutes les commandes ouvertes afin que les modifications apportées à l'environnement par l'installateur soient reflétées dans l'invite de commande.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/angular.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/angular.mdx
new file mode 100644
index 00000000000..1fe2f199ffe
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/angular.mdx
@@ -0,0 +1,14 @@
+# Angular
+
+Bien que Wails n'ait pas de modèle Angular, il est possible d'utiliser Angular avec Wails.
+
+## Dev Mode
+
+Pour que le mode développeur fonctionne avec Angular, vous devez ajouter ce qui suit à votre fichier `wails.json`:
+
+```json
+ "frontend:build": "npx ng build",
+ "frontend:install": "npm install",
+ "frontend:dev:watcher": "npx ng serve",
+ "frontend:dev:serverUrl": "http://localhost:4200",
+```
\ No newline at end of file
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/application-development.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/application-development.mdx
new file mode 100644
index 00000000000..b638f6fc891
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/application-development.mdx
@@ -0,0 +1,194 @@
+# Développement d'applications
+
+Il n'y a pas de règles gravées dans le marbre pour le développement d'applications avec Wails, mais il y a quelques lignes directrices de base.
+
+## Configuration de l'application
+
+Le modèle utilisé par défaut défini que `main.go` est utilisé pour configurer et démarrer l'application, tandis que `app.go` est utilisé pour définir la logique de l'application.
+
+Le fichier `app.go` va définir une structure qui a 2 méthodes qui agissent comme crochets dans l'application principale:
+
+```go title="app.go"
+type App struct {
+ ctx context.Context
+}
+
+func NewApp() *App {
+ return &App{}
+}
+
+func (a *App) startup(ctx context.Context) {
+ a.ctx = ctx
+}
+
+func (a *App) shutdown(ctx context.Context) {
+}
+```
+
+- La méthode startup est appelée d-s que Wails a donné les ressources nécessaires et qu'il est dans un bon état pour créer les ressources, mettre en place les event listeners et tout ce dont l'application peut avoir besoin pour démarrer. Il est donné un `context.Context` qui est généralement sauvegardé dans un champ struct. Ce contexte est nécessaire pour appeler le [runtime](../reference/runtime/intro.mdx). Si cette méthode renvoie une erreur, l'application se fermera. En mode développement, l'erreur sera affichée dans la console.
+
+- La méthode d'arrêt sera appelée par Wails à la fin du processus d'arrêt. C'est un bon endroit pour vider la mémoire et effectuer toutes les tâches d'arrêt.
+
+Le fichier `main.go` consiste généralement en un seul appel à `wails.Run()`, qui accepte la configuration de l'application. Le modèle utilisé par les templates fait qu'avant l'appel à `wails.Run()`, une instance du struct que l'on a définie dans `app.go` est créée et instanciée dans une variable appelée `app`. Cette configuration est l'endroit où nous ajoutons nos callbacks :
+
+```go {3,9,10} title="main.go"
+func main() {
+
+ app := NewApp()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+```
+
+Plus d'informations sur les crochets du cycle de vie des applications peuvent être trouvées [ici](../howdoesitwork.mdx#application-lifecycle-callbacks).
+
+## Méthodes de liaison
+
+Il est probable que vous vouliez appeler les méthodes Go depuis le frontend. Cela se fait normalement en ajoutant des méthodes publiques à le struct déjà défini dans `app.go`:
+
+```go {16-18} title="app.go"
+type App struct {
+ ctx context.Context
+}
+
+func NewApp() *App {
+ return &App{}
+}
+
+func (a *App) startup(ctx context.Context) {
+ a.ctx = ctx
+}
+
+func (a *App) shutdown(ctx context.Context) {
+}
+
+func (a *App) Greet(name string) string {
+ return fmt.Sprintf("Hello %s!", name)
+}
+```
+
+Dans la configuration principale de l'application, le paramètre `Bind` est l'endroit où nous pouvons dire à Wails ce que nous voulons lier :
+
+```go {11-13} title="main.go"
+func main() {
+
+ app := NewApp()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ Bind: []interface{}{
+ app,
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+```
+
+Cela liera toutes les méthodes publiques de notre structure `App` (cela ne liera jamais les méthodes de démarrage et d'arrêt du système).
+
+### Traiter avec le contexte lors de la liaison de plusieurs structures
+
+Si vous voulez lier des méthodes pour des structures multiples, mais que vous voulez que chaque struct conserve une référence au contexte pour que vous puissiez utiliser les fonctions d'exécution... Un bon choix est de passer le contexte de la méthode `OnStartup` à vos instances struct :
+
+```go
+func main() {
+
+ app := NewApp()
+ otherStruct := NewOtherStruct()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: func(ctx context.Context){
+ app.SetContext(ctx)
+ otherStruct.SetContext(ctx)
+ },
+ OnShutdown: app.shutdown,
+ Bind: []interface{}{
+ app,
+ otherStruct
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+```
+
+Plus d'informations à sur Binding peuvent être trouvées [ici](../howdoesitwork.mdx#method-binding).
+
+## Menu de l’application
+
+Wails prend en charge l'ajout d'un menu à votre application. Ceci est fait en passant un [Menu](../reference/menus.mdx#menu) structuré à la configuration de l'application. Il est courant d'utiliser une méthode qui renvoie un Menu, et encore plus courant pour que cela soit une méthode sur la struct de l'`app` qui soit utilisée pour les hooks du cycle de vie.
+
+```go {11} title="main.go"
+func main() {
+
+ app := NewApp()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ Menu: app.menu(),
+ Bind: []interface{}{
+ app,
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+```
+
+## Ressources
+
+La grande chose à propos de la façon dont Wails v2 gère les ressources pour le frontend, est que ce n'est pas le cas! La seule chose que vous devez donner à Wails est un `embed.FS`. C'est à vous de décider comment vous y arrivez. Vous pouvez utiliser les fichiers html/css/js vanilla comme dans le modèle vanilla. Vous pourriez avoir un système de compilation compliqué, peu importe.
+
+Quand la commande `wails dev` est exécutée, elle vérifiera le fichier de projet `wails.json` à la racine du projet. Il y a 2 clés dans le fichier du projet qui sont lues :
+
+- "frontend:install"
+- "frontend:build"
+
+Le premier, si fourni, sera exécuté dans le répertoire `frontend` pour installer les modules. Le second, si fourni, sera exécuté dans le répertoire `frontend` pour construire le projet frontend.
+
+Si ces 2 clés ne sont pas fournies, alors Wails ne fait absolument rien avec le frontend. Il n'attend que `embed.FS`.
+
+### AssetsHandler
+
+Une application Wails v2 peut éventuellement définir un `http.Handler` dans `options.app`, qui permet de se connecter à l'AssetServer pour créer des fichiers à la volée ou traiter les requêtes POST/PUT. Les requêtes GET sont toujours traitées d'abord par le `assets` FS. Si le FS ne trouve pas le fichier demandé, la requête sera transmise au `http.Handler`. Toute requête autre que GET sera traitée directement par le `AssetsHandler` si spécifié. Il est également possible d'utiliser le `AssetsHandler` uniquement en spécifiant `nil` dans l'option `Assets`.
+
+## Serveur de développement embarqué
+
+Exécuter `wails dev` démarrera le serveur de développement intégré qui démarrera un observateur de fichiers dans votre répertoire de projet. Par par défaut, si un fichier change, wails vérifie s'il s'agit d'un fichier d'application (par défaut: `.go`, configurable avec l'option `-e`). Si c'est le cas, il reconstruira votre application et la relancera. Si le fichier modifié se trouvait dans les actifs, il lancera un rechargement après un court laps de temps.
+
+Le serveur de développement utilise une technique appelée "debouncing", ce qui signifie qu'il ne se recharge pas tout de suite, comme il peut y avoir plusieurs fichiers modifiés en un court laps de temps. Lorsqu'un déclencheur se produit, il attend un temps défini avant d'émettre un rechargement. Si un autre déclencheur se produit, le temps d'attente se réinitialise avant un prochain rechargement. Par défaut, cette période est définie à `100ms`. Si cette valeur ne fonctionne pas pour votre projet, elle peut être configurée en utilisant l'option `-debounce`. Si elle est utilisée, cette valeur sera enregistrée dans la configuration de votre projet et deviendra la valeur par défaut.
+
+## Serveur de développement externe
+
+Certains frameworks sont fournis avec leur propre serveur de rechargement en direct, cependant ils ne seront pas en mesure de tirer parti des liaisons Wails Go. Dans ce scénario, il est préférable d'exécuter un script qui va surveiller le projet dans dossier build, dossier que Wails surveille aussi. Pour un exemple, voir le modèle svelte par défaut qui utilise [rollup](https://rollupjs.org/guide/en/). Pour [create-react-app](https://create-react-app.dev/), il est possible d'utiliser [ce script](https://gist.github.com/int128/e0cdec598c5b3db728ff35758abdbafd) pour obtenir un résultat similaire.
+
+## Module Go
+
+Les modèles Wails par défaut génèrent un fichier `go.mod` qui contient le nom de module "changeme". Vous devriez changer ceci pour quelque chose de plus approprié après la génération du projet.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/dynamic-assets.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/dynamic-assets.mdx
new file mode 100644
index 00000000000..97f81432dc2
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/dynamic-assets.mdx
@@ -0,0 +1,136 @@
+# Ressources dynamiques
+
+Si vous voulez charger ou générer des ressources pour votre frontend de manière dynamique, vous pouvez y parvenir en utilisant l'option [AssetsHandler](../reference/options#assetshandler). Le AssetsHandler est un générique`http.Handler` qui sera appelé pour toute requête non GET sur le serveur d'assets et pour les requêtes GET qui ne peuvent pas être servies car l'asset n'est pas trouvé.
+
+En installant un AssetsHandler personnalisé, vous pouvez servir vos propres ressources en utilisant un serveur de ressources personnalisé.
+
+## Exemple
+
+Dans notre exemple de projet, nous allons créer un gestionnaire de ressources simple qui chargera les fichiers à partir du disque:
+
+```go title=main.go {17-36,49}
+package main
+
+import (
+ "embed"
+ "fmt"
+ "github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/options"
+ "github.com/wailsapp/wails/v2/pkg/options/assetserver"
+ "net/http"
+ "os"
+ "strings"
+)
+
+//go:embed all:frontend/dist
+var assets embed.FS
+
+type FileLoader struct {
+ http.Handler
+}
+
+func NewFileLoader() *FileLoader {
+ return &FileLoader{}
+}
+
+func (h *FileLoader) ServeHTTP(res http.ResponseWriter, req *http.Request) {
+ var err error
+ requestedFilename := strings.TrimPrefix(req.URL.Path, "/")
+ println("Requesting file:", requestedFilename)
+ fileData, err := os.ReadFile(requestedFilename)
+ if err != nil {
+ res.WriteHeader(http.StatusBadRequest)
+ res.Write([]byte(fmt.Sprintf("Could not load file %s", requestedFilename)))
+ }
+
+ res.Write(fileData)
+}
+
+func main() {
+ // Create an instance of the app structure
+ app := NewApp()
+
+ // Create application with options
+ err := wails.Run(&options.App{
+ Title: "helloworld",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ Handler: NewFileLoader(),
+ },
+ BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 255},
+ OnStartup: app.startup,
+ Bind: []interface{}{
+ app,
+ },
+ })
+
+ if err != nil {
+ println("Error:", err)
+ }
+}
+```
+
+Lorsque nous exécutons l'application en mode dev en utilisant `wails dev`, nous verrons la sortie suivante :
+
+```
+DEB | [ExternalAssetHandler] Loading 'http://localhost:3001/favicon.ico'
+DEB | [ExternalAssetHandler] Loading 'http://localhost:3001/favicon.ico' failed, using AssetHandler
+Requesting file: favicon.ico
+```
+
+Comme vous pouvez le voir, le gestionnaire d'actifs est appelé lorsque le serveur d'assets par défaut est incapable de servir le fichier `favicon.ico`.
+
+Si vous faites un clic droit sur l'application principale et sélectionnez "inspecter" pour afficher les devtools, vous pouvez tester cette fonctionnalité en tapant ce qui suit dans la console :
+
+```
+let response = await fetch('does-not-exist.txt');
+```
+
+Cela générera une erreur dans les devtools. Nous pouvons voir que l'erreur est ce que nous attendons est retourné par notre gestionnaire de ressources personnalisées :
+
+```mdx-code-block
+
+
+
+```
+
+Cependant, si nous demandons `go.mod`, nous verrons la sortie suivante :
+
+```mdx-code-block
+
+
+
+```
+
+Cette technique peut être utilisée pour charger des images directement dans la page. Si nous avons mis à jour notre modèle vanilla par défaut et a remplacé l'image du logo :
+
+```html
+
+```
+
+avec :
+
+```html
+
+```
+
+Nous verrions ensuite ce qui suit:
+
+```mdx-code-block
+
+
+
+```
+
+:::warning
+
+Exposer votre système de fichiers de cette manière est un risque de sécurité. Il est recommandé de gérer correctement l'accès à votre système de fichiers.
+
+:::
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/frameless.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/frameless.mdx
new file mode 100644
index 00000000000..bbeb338f1b6
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/frameless.mdx
@@ -0,0 +1,87 @@
+# Applications sans cadre
+
+Wails prend en charge la création d'applications qui n'ont pas de cadres. Ceci peut être réalisé en utilisant le champ [frameless](../reference/options.mdx#frameless) dans [Application Options](../reference/options.mdx#application-options).
+
+Wails offre une solution simple pour faire glisser la fenêtre: N'importe quel élément HTML qui a le style CSS `--wails-draggable:drag` agira comme une "poignée de glisser". Cette propriété s'applique à tous les éléments enfants. Si vous devez indiquer qu'un élément imbriqué ne doit pas glisser, alors utilisez l'attribut '--wails-draggable:no-drag' sur cet élément.
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+Pour certains projets, l'utilisation d'une variable CSS peut ne pas être possible en raison du style dynamique. Dans ce cas, vous pouvez utiliser les options `CSSDragProperty` et `CSSDragValue` pour définir une propriété et une valeur qui seront utilisées pour indiquer régions glissables :
+
+```go title=main.go
+package main
+
+import (
+ "embed"
+
+ "github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/options"
+ "github.com/wailsapp/wails/v2/pkg/options/assetserver"
+)
+
+//go:embed all:frontend/dist
+var assets embed.FS
+
+func main() {
+ // Create an instance of the app structure
+ app := NewApp()
+
+ // Create application with options
+ err := wails.Run(&options.App{
+ Title: "alwaysontop",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ Frameless: true,
+ CSSDragProperty: "widows",
+ CSSDragValue: "1",
+ Bind: []interface{}{
+ app,
+ },
+ })
+
+ if err != nil {
+ println("Error:", err)
+ }
+}
+```
+
+```html title=index.html
+
+
+
+
+
+ alwaysontop
+
+
+
+
+
+
+```
+
+:::info Plein écran
+
+Si vous autorisez votre application à être en plein écran, cette fonctionnalité de glissement sera désactivée.
+
+:::
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/frontend.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/frontend.mdx
new file mode 100644
index 00000000000..ea101019ad8
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/frontend.mdx
@@ -0,0 +1,72 @@
+# Frontend
+
+## Injection de script
+
+Quand Wails sert votre fichier `index.html`, par défaut, il injectera 2 entrées de script dans la balise `` pour charger `/wails/ipc.js` et `/wails/runtime.js`. Ces fichiers installent respectivement les bindings et les runtime.
+
+Le code ci-dessous montre où ils sont injectés par défaut :
+
+```html
+
+
+ injection example
+
+
+
+
+
+
+
+
Please enter your name below 👇
+
+
+
+
+
+
+
+
+```
+
+### Remplacer l'injection de script par défaut
+
+Pour fournir plus de flexibilité aux développeurs, il y a une balise meta qui peut être utilisée pour personnaliser ce comportement:
+
+```html
+
+```
+
+Les options sont les suivantes :
+
+| Valeur | Description |
+| ------------------- | -------------------------------------------------------------- |
+| noautoinjectruntime | Pour désactiver l'injection automatique de `/wails/runtime.js` |
+| noautoinjectipc | Pour désactiver l'injection automatique de `/wails/ipc.js` |
+| noautoinject | Pour désactiver l'injection automatique de tous les scripts |
+
+Plusieurs options peuvent être utilisées à condition qu'elles soient séparées par des virgules.
+
+Ce code est parfaitement valide et fonctionne de la même manière que la version avec l'auto-injection :
+
+```html
+
+
+ injection example
+
+
+
+
+
+
+
Please enter your name below 👇
+
+
+
+
+
+
+
+
+
+
+```
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/ides.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/ides.mdx
new file mode 100644
index 00000000000..f35b2f57f77
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/ides.mdx
@@ -0,0 +1,127 @@
+# IDEs
+
+Wails vise à fournir une grande expérience de développement. À cet effet, nous supportons maintenant la génération d'une configuration spécifique IDE pour fournir une configuration plus souple du projet.
+
+Actuellement, nous prenons en charge [Visual Studio Code](https://code.visualstudio.com/) mais nous visons à prendre en charge d'autres IDE comme Goland.
+
+## Visual Studio Code
+
+```mdx-code-block
+
+
+
+```
+
+Lors de la génération d'un projet en utilisant l'option `-ide vscode` , les fichiers IDE seront créés à côté des autres fichiers du projet. Ces fichiers sont placés dans le répertoire `.vscode` et fournissent la configuration correcte pour déboguer votre application.
+
+Les 2 fichiers générés sont `tasks.json` et `launch.json`. Ci-dessous se trouvent les fichiers générés par défaut :
+
+```json title="tasks.json"
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "build",
+ "type": "shell",
+ "options": {
+ "cwd": "${workspaceFolder}"
+ },
+ "command": "go",
+ "args": [
+ "build",
+ "-tags",
+ "dev",
+ "-gcflags",
+ "all=-N -l",
+ "-o",
+ "build/bin/myproject.exe"
+ ]
+ }
+ ]
+}
+```
+
+```json title="launch.json"
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Wails: Debug myproject",
+ "type": "go",
+ "request": "launch",
+ "mode": "exec",
+ "program": "${workspaceFolder}/build/bin/myproject.exe",
+ "preLaunchTask": "build",
+ "cwd": "${workspaceFolder}",
+ "env": {}
+ }
+ ]
+}
+```
+
+### Configuration des étapes d'installation et de construction
+
+Le fichier `tasks.json` est simple pour le projet par défaut car il n'y a pas d'étapes `npm install` ou `npm build` nécessaire. Pour les projets qui ont une étape de construction en frontend comme avec Svelte, nous devrions modifier `tasks.json` pour ajouter les étapes d'installation et de construction suivantes :
+
+```json title="tasks.json"
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "npm install",
+ "type": "npm",
+ "script": "install",
+ "options": {
+ "cwd": "${workspaceFolder}/frontend"
+ },
+ "presentation": {
+ "clear": true,
+ "panel": "shared",
+ "showReuseMessage": false
+ },
+ "problemMatcher": []
+ },
+ {
+ "label": "npm run build",
+ "type": "npm",
+ "script": "build",
+ "options": {
+ "cwd": "${workspaceFolder}/frontend"
+ },
+ "presentation": {
+ "clear": true,
+ "panel": "shared",
+ "showReuseMessage": false
+ },
+ "problemMatcher": []
+ },
+ {
+ "label": "build",
+ "type": "shell",
+ "options": {
+ "cwd": "${workspaceFolder}"
+ },
+ "command": "go",
+ "args": [
+ "build",
+ "-tags",
+ "dev",
+ "-gcflags",
+ "all=-N -l",
+ "-o",
+ "build/bin/vscode.exe"
+ ],
+ "dependsOn": ["npm install", "npm run build"]
+ }
+ ]
+}
+```
+
+:::info Améliorations futures
+
+Dans le futur, nous espérons générer un `tasks.json` qui inclut les étapes d'installation et de construction automatiquement.
+
+:::
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux-distro-support.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux-distro-support.mdx
new file mode 100644
index 00000000000..6bd2002fce7
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux-distro-support.mdx
@@ -0,0 +1,103 @@
+# Prise en charge des distributions Linux
+
+## Vue d'ensemble
+
+Wails offre le support de Linux, mais fournir des instructions d'installation pour toutes les distributions disponibles est une tâche impossible. À la place, Wails essaie de déterminer si les paquets dont vous avez besoin pour développer des applications sont disponibles via le gestionnaire de paquets de votre système. Actuellement, nous supportons les gestionnaires de paquets suivants :
+
+- apt
+- dnf
+- emerge
+- eopkg
+- nixpkgs
+- pacman
+- zypper
+
+## Ajout des noms de paquets
+
+Il peut y avoir des cas où votre distribution de linux utilise un des gestionnaires de paquets pris en charge mais le nom du paquet est différent. Par exemple, vous pouvez utiliser un dérivé Ubuntu, mais le nom du paquet pour gtk peut être différent. Wails tente de trouver le paquet correct en itérant une liste de noms de paquets. La liste des paquets est stockée dans un fichier spécifique dans le dossier `v2/internal/system/packagemanager` . Dans notre exemple, ce serait `v2/internal/system/packagemanager/apt.go`.
+
+Dans ce fichier, la liste des paquets est définie par la méthode `Packages()`:
+
+```go
+func (a *Apt) Packages() packagemap {
+ return packagemap{
+ "libgtk-3": []*Package{
+ {Name: "libgtk-3-dev", SystemPackage: true, Library: true},
+ },
+ "libwebkit": []*Package{
+ {Name: "libwebkit2gtk-4.0-dev", SystemPackage: true, Library: true},
+ },
+ "gcc": []*Package{
+ {Name: "build-essential", SystemPackage: true},
+ },
+ "pkg-config": []*Package{
+ {Name: "pkg-config", SystemPackage: true},
+ },
+ "npm": []*Package{
+ {Name: "npm", SystemPackage: true},
+ },
+ "docker": []*Package{
+ {Name: "docker.io", SystemPackage: true, Optional: true},
+ },
+ }
+}
+```
+
+Supposons que dans notre distribution linux, `libgtk-3` est empaqueté sous le nom `lib-gtk3-dev`. Nous pourrions ajouter le support de ce paquet en ajoutant la ligne suivante :
+
+```go {5}
+func (a *Apt) Packages() packagemap {
+ return packagemap{
+ "libgtk-3": []*Package{
+ {Name: "libgtk-3-dev", SystemPackage: true, Library: true},
+ {Name: "lib-gtk3-dev", SystemPackage: true, Library: true},
+ },
+ "libwebkit": []*Package{
+ {Name: "libwebkit2gtk-4.0-dev", SystemPackage: true, Library: true},
+ },
+ "gcc": []*Package{
+ {Name: "build-essential", SystemPackage: true},
+ },
+ "pkg-config": []*Package{
+ {Name: "pkg-config", SystemPackage: true},
+ },
+ "npm": []*Package{
+ {Name: "npm", SystemPackage: true},
+ },
+ "docker": []*Package{
+ {Name: "docker.io", SystemPackage: true, Optional: true},
+ },
+ }
+}
+```
+
+## Ajout de nouveaux gestionnaires de paquets
+
+Pour ajouter un nouveau gestionnaire de paquets, effectuez les étapes suivantes :
+
+- Créez un nouveau fichier dans `v2/internal/system/packagemanager` appelé `.go`, où `` est le nom du gestionnaire de paquets.
+- Définit une structure conforme à l'interface du gestionnaire de paquets définie dans `pm.go`:
+
+```go
+type PackageManager interface {
+ Name() string
+ Packages() packagemap
+ PackageInstalled(*Package) (bool, error)
+ PackageAvailable(*Package) (bool, error)
+ InstallCommand(*Package) string
+}
+```
+
+- `Name()` doit retourner le nom du gestionnaire de paquets
+- `Packages()` doit retourner une `packagemap`, qui fournit des noms de fichiers candidats pour les dépendances
+- `PackageInstalled()` devrait retourner `true` si le paquet donné est installé
+- `PackageAvailable()` devrait retourner `true` si le paquet donné n'est pas installé mais disponible pour l'installation
+- `InstallCommand()` doit retourner la commande exacte pour installer le nom du paquet donné
+
+Jetez un coup d'œil au code des autres gestionnaires de paquets pour avoir une idée de comment cela fonctionne.
+
+:::info Rappel
+
+Si vous ajoutez le support d'un nouveau gestionnaire de paquets, n'oubliez pas de mettre également à jour cette page !
+
+:::
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux.mdx
new file mode 100644
index 00000000000..19e45313a44
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux.mdx
@@ -0,0 +1,18 @@
+# Linux
+
+Cette page a divers guides liés au développement d'applications Wails pour Linux.
+
+## Le tag vidéo ne déclenche pas l'événement "terminé"
+
+Lorsque vous utilisez un tag vidéo, l'événement "terminé" n'est pas déclenché lorsque la vidéo est finie. Ceci est un bogue dans WebkitGTK, cependant vous pouvez utiliser le contournement suivant pour le corriger :
+
+```js
+videoTag.addEventListener("timeupdate", (event) => {
+ if (event.target.duration - event.target.currentTime < 0.2) {
+ let ended = new Event("ended");
+ event.target.dispatchEvent(ended);
+ }
+});
+```
+
+Source : [Lyimmi](https://github.com/Lyimmi) sur le [forum de discussion](https://github.com/wailsapp/wails/issues/1729#issuecomment-1212291275)
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/local-development.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/local-development.mdx
new file mode 100644
index 00000000000..0c3878d7888
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/local-development.mdx
@@ -0,0 +1,55 @@
+# Développement local
+
+## Vue d'ensemble
+
+Wails est en développement constant et les nouvelles versions sont régulièrement "tagguées". Cela se produit généralement lorsque tout le nouveau code sur `master` a été testé et confirmé fonctionnel. Si vous avez besoin d'un correctif ou d'une fonctionnalité qui ne l'a pas encore fait pour une version, il est possible d'utiliser la dernière version "non validée" en utilisant les étapes suivantes :
+
+- `git clone https://github.com/wailsapp/wails`
+- `cd wails/v2/cmd/wails`
+- `go install`
+
+REMARQUE : Le répertoire dans lequel vous avez cloné le projet sera maintenant appelé "clonedir".
+
+Le CLI de Wails sera maintenant à la dernière version.
+
+### Mise à jour du projet
+
+Pour mettre à jour vos projets pour utiliser la dernière version de la bibliothèque Wails, mettez à jour le fichier `go.mod` et assurez-vous que la ligne suivante est en bas du fichier :
+
+`replace github.com/wailsapp/wails/v2 => `
+
+Exemple:
+
+Sur Windows: `replace github.com/wailsapp/wails/v2 => C:\Users\leaan\Documents\wails-v2-beta\wails\v2`
+
+Sur 'nix: `replace github.com/wailsapp/wails/v2 => /home/me/projects/wails/v2`
+
+Pour revenir à une version stable, exécutez :
+
+`go install github.com/wailsapp/wails/v2/cmd/wails@latest`
+
+## Tester une branche
+
+Si vous voulez tester une branche, suivez les instructions ci-dessus, mais assurez-vous de bien vous mettre sur la branche que vous voulez tester avant d'installer :
+
+- `git clone https://github.com/wailsapp/wails`
+- `cd wails`
+- `git checkout -b branch-to-test --track origin/branch-to-test`
+- `cd v2/cmd/wails`
+- `go install`
+
+Assurez-vous de [mettre à jour votre projet](#updating-your-project) comme décrit ci-dessus.
+
+## Tester une PR
+
+Si vous voulez tester une PR, suivez les instructions ci-dessus, mais assurez-vous de récupérer la PR et d'être sur la branche de la PR avant de faire l'installation. Veuillez remplacer `[IDofThePR]` par l'ID de la PR affiché sur github.com:
+
+- `git clone https://github.com/wailsapp/wails`
+- `cd wails`
+- `git fetch -u origin pull/[IDofThePR]/head:test/pr-[IDofThePR]`
+- `git checkout test/pr-[IDofThePR]`
+- `git reset --hard HEAD`
+- `cd v2/cmd/wails`
+- `go install`
+
+Assurez-vous de [mettre à jour votre projet](#updating-your-project) comme décrit ci-dessus.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/mac-appstore.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/mac-appstore.mdx
new file mode 100644
index 00000000000..fe040591634
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/mac-appstore.mdx
@@ -0,0 +1,97 @@
+# Guide pour Mac App Store
+
+Cette page donne un bref aperçu de la façon de soumettre votre application Wails au Mac App Store.
+
+## Prérequis
+
+- Vous devrez avoir un compte développeur Apple. Veuillez trouver plus d'informations sur le site [Apple Developer Program](https://developer.apple.com/support/compare-memberships/)
+- Vous aurez besoin que vos certificats, identifiants et applications soient créés sur le portail développeur. Plus d'infos sur ce sujet ci-dessous
+- L'utilitaire Xcode devront être installés sur votre machine locale pour être utilisé en ligne de commandes
+
+#### Créer des certificats et des identifiants
+
+1. Allez sur votre [Compte Développeur Apple](https://developer.apple.com/account/)
+2. Sous `Certificats, Identificateurs & Profils`, cliquez sur `Identifiants` et Enregistrez un nouvel identifiant d'application. Utiliser le format (com.example.app)
+3. Sous la même page, cliquez sur `Certificats` et générez de nouveaux certificats pour la distribution de l'App Store Mac. Téléchargez-les et importez les certificats dans votre trousseau sur votre machine locale.
+
+#### Créer une soumission d'application
+
+1. Allez sur le [site de connexion de l'App Store](https://appstoreconnect.apple.com/apps)
+2. Enregistrez une nouvelle application et liez l'ID du lot que vous avez créé à l'étape précédente
+3. Remplissez votre application avec les bonnes captures d'écran, descriptions, etc. selon les besoins d'Apple
+4. Créer une nouvelle version de votre application
+
+#### 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.
+
+## Processus Mac App Store
+
+#### Activation du Sandbox Apple
+
+Les applications soumises au Mac App Store doivent tourner dans la [Sandbox](https://developer.apple.com/app-sandboxing/) Apple. Vous devez créer un fichier `entitlements.plist` pour que cela fonctionne. La recommandation est de créer ce fichier sous ce chemin `{PROJECT_DIR}/build/darwin/entitlements.plist`.
+
+**Example de fichier Entitlements**
+
+Ceci est un exemple du fichier entitlements de l'application [RiftShare](https://github.com/achhabra2/riftshare). Pour référence, veuillez mettre dans les droits requis par votre application. Reportez-vous à [ce site](https://developer.apple.com/documentation/bundleresources/entitlements) pour plus d'informations. You will need to replace the Team ID and Application Name with the ones you registered above.
+
+```xml title="entitlements.plist"
+
+
+
+
+ com.apple.security.app-sandbox
+
+ com.apple.security.network.client
+
+ com.apple.security.network.server
+
+ com.apple.security.files.user-selected.read-write
+
+ com.apple.security.files.downloads.read-write
+
+ com.apple.application-identifier
+ TEAM_ID.APP_NAME
+ com.apple.developer.team-identifier
+ TEAM_ID
+
+
+```
+
+**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.
+
+#### Construire et signer le package de l'application
+
+Ce qui suit est un exemple de script pour construire et signer votre application pour la soumission de l'App Store Mac. Il suppose que vous exécutez le script depuis la racine de votre projet.
+
+Notez que les certificats pour signer l'application et l'installateur sont différents. Veuillez vous assurer que les deux sont importés dans votre trousseau. Trouvez les chaînes de caractères dans Trousseau et insérez-les ci-dessous. Remplissez le nom de votre certificat et le nom de l'application ci-dessous. Exécuter le script suivant générera un fichier `app.pkg` signé à la racine de votre application.
+
+```bash title="macappstore-build.sh"
+#!/bin/bash
+
+APP_CERTIFICATE="3rd Party Mac Developer Application: YOUR NAME (CODE)"
+PKG_CERTIFICATE="3rd Party Mac Developer Installer: YOUR NAME (CODE)"
+APP_NAME="YourApp"
+
+wails build -platform darwin/universal -clean
+
+cp ./embedded.provisionprofile "./build/bin/$APP_NAME.app/Contents"
+
+codesign --timestamp --options=runtime -s "$APP_CERTIFICATE" -v --entitlements ./build/darwin/entitlements.plist ./build/bin/$APP_NAME.app
+
+productbuild --sign "$PKG_CERTIFICATE" --component ./build/bin/$APP_NAME.app /Applications ./$APP_NAME.pkg
+```
+
+#### Télécharger l'application
+
+Vous devrez télécharger le fichier de package généré et l'associer à votre application avant de pouvoir le soumettre pour vérification.
+
+1. Téléchargez l' [App Transporter](https://apps.apple.com/us/app/transporter/id1450874784) depuis le Mac App Store
+2. Ouvrez-le et connectez-vous avec votre identifiant Apple
+3. Cliquez sur le signe + et sélectionnez le fichier `APP_NAME.pkg` que vous avez généré à l'étape précédente. Télécharger le
+4. Retournez sur le site [App Store Connect](https://appstoreconnect.apple.com/apps) et retournez dans la soumission de votre application. Sélectionnez la version que vous êtes prêt à mettre à disposition sur l'App Store. Sous `Build` sélectionnez le package que vous avez téléchargé via Transporter.
+
+C'est terminé ! Vous pouvez maintenant utiliser le site pour soumettre votre application pour vérification. Après quelques jours ouvrables si tout se passe bien, vous devriez voir votre application en direct sur le Mac App Store.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/manual-builds.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/manual-builds.mdx
new file mode 100644
index 00000000000..e794ce4c310
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/manual-builds.mdx
@@ -0,0 +1,95 @@
+# Compilations manuelles
+
+Le CLI Wails fait beaucoup de travail pour le projet, mais il est parfois souhaitable de construire manuellement votre projet. Ce document discutera des différentes opérations que fait le CLI et des différentes façons d'y parvenir.
+
+## Processus de construction
+
+Lorsque `wails build` ou `wails dev` sont utilisés, le CLI Wails effectue un processus de construction commun:
+
+ - Installation des dépendances frontend
+ - Construire le projet frontend
+ - Générer des ressources de construction
+ - Compiler l'application
+ - [optionnel] Compresser l'application
+
+### Installation des dépendances frontend
+
+#### Étapes CLI
+
+- Si l'option `-s` est donné, cette étape est ignorée
+- Vérifie `wails.json` pour voir s'il y a une commande install dans `frontend:install`
+- S'il n'y en a pas, il saute cette étape
+- Si le fichier existe, vérifie si `package.json` existe dans le répertoire du frontend. S'il n'existe pas, il saute cette étape
+- Un hash MD5 est générée à partir du contenu du fichier `package.json`
+- It checks for the existence of `package.json.md5` and if it exists, will compare the contents of it (an MD5 sum) with the one generated to see if the contents have changed. If they are the same, this step is skipped
+- If `package.json.md5` does not exist, it creates it using the generated MD5 sum
+- If a build is now required, or `node_modules` does not exist, or the `-f` flag is given, the install command is executed in the frontend directory
+
+#### Manual Steps
+
+This step could be done from the command line or a script with `npm install`.
+
+### Construire le projet frontend
+
+#### Wails CLI
+
+- Si l'option `-s` est donné, cette étape est ignorée
+- Checks `wails.json` to see if there is a build command in the key `frontend:build`
+- S'il n'y en a pas, il saute cette étape
+- If there is, it is executed in the frontend directory
+
+#### Manual Steps
+
+This step could be done from the command line or a script with `npm run build` or whatever the frontend build script is.
+
+### Generate assets
+
+#### Wails CLI
+
+- If `-nopackage` flag is set, this stage is skipped
+- If the `build/appicon.png` file does not exist, a default one is created
+- For Windows, see [Bundling for Windows](#windows)
+- If `build/windows/icon.ico` does not exist, it will create it from the `build/appicon.png` image.
+
+##### Windows
+
+- If `build/windows/icon.ico` does not exist, it will create it from `build/appicon.png` using icon sizes of 256, 128, 64, 48, 32 and 16. This is done using [winicon](https://github.com/leaanthony/winicon).
+- If the `build/windows/.manifest` file does not exist, it creates it from a default version.
+- Compiles the application as a production build (above)
+- Uses [winres](https://github.com/tc-hib/winres) to bundle the icon and manifest into a `.syso` file ready for linking.
+
+#### Manual Steps
+
+- Create `icon.ico` using the [winicon](https://github.com/leaanthony/winicon) CLI tool (or any other tool).
+- Create / Update a `.manifest` file for your application
+- Use the [winres CLI](https://github.com/tc-hib/go-winres) to generate a `.syso` file.
+
+### Compiler l'application
+
+#### Wails CLI
+
+- If the `-clean` flag is provided, the `build` directory is deleted and recreated
+- For `wails dev`, the following default Go flags are used: `-tags dev -gcflags "all=-N -l"`
+- For `wails build`, the following default Go flags are used: `-tags desktop,production -ldflags "-w -s"`
+ - On Windows, `-ldflags "-w -h -H windowsgui"`
+- Additional tags passed to the CLI using `-tags` are added to the defaults
+- Additional ldflags passed to the CLI using `-ldflags` are added to the defaults
+- The `-o` flag is passed through
+- The Go compiler specified by `-compiler` will be used for compilation
+
+#### Manual steps
+
+- For dev build, the minimum command would be: `go build -tags dev -gcflags "all=-N -l"`
+- For production build, the minimum command would be: `go build -tags desktop,production -ldflags "-w -s -H windowsgui"`
+- Ensure that you compile in the same directory as the `.syso` file
+
+### Compress application
+
+#### Wails CLI
+
+- If the `-upx` flag has been given, the `upx` program will be run to compress the application with the default settings
+- If `-upxflags` is also passed, these flags are used instead of the default ones
+
+#### Manual steps
+
+- Run `upx [flags]` manually to compress the application.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/migrating.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/migrating.mdx
new file mode 100644
index 00000000000..7123cbe6b60
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/migrating.mdx
@@ -0,0 +1,191 @@
+# Migrating from v1
+
+## Overview
+
+Wails v2 is a significant change from v1. This document aims to highlight the changes and the steps in migrating an existing project.
+
+### Creating the Application
+
+In v1, the main application is created using `wails.CreateApp`, bindings are added with `app.Bind`, then the application is run using `app.Run()`.
+
+Example:
+
+```go title="v1"
+ app := wails.CreateApp(&wails.AppConfig{
+ Title: "MyApp",
+ Width: 1024,
+ Height: 768,
+ JS: js,
+ CSS: css,
+ Colour: "#131313",
+ })
+ app.Bind(basic)
+ app.Run()
+```
+
+In v2, there is just a single method, `wails.Run()`, that accepts [application options](../reference/options.mdx#application-options).
+
+```go title="v2"
+ err := wails.Run(&options.App{
+ Title: "MyApp",
+ Width: 800,
+ Height: 600,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ Bind: []interface{}{
+ basic,
+ },
+ })
+```
+
+### Binding
+
+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):
+
+```go title="v1"
+ app := wails.CreateApp(/* options */)
+ app.Bind(basic)
+```
+
+```go title="v2"
+ err := wails.Run(&options.App{
+ /* other options */
+ Bind: []interface{}{
+ basic,
+ },
+ })
+```
+
+In v1, bound methods were available to the frontend at `window.backend`. This has changed to `window.go`.``
+
+### Application Lifecycle
+
+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):
+
+- [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.
+
+These methods can be standard functions, but a common practice is to have them part of a struct:
+
+```go title="v2"
+ basic := NewBasicApp()
+ err := wails.Run(&options.App{
+ /* Other Options */
+ OnStartup: basic.startup,
+ OnShutdown: basic.shutdown,
+ OnDomReady: basic.domready,
+ })
+...
+type Basic struct {
+ ctx context.Context
+}
+func (b *Basic) startup(ctx context.Context) {
+ b.ctx = ctx
+}
+...
+```
+
+### Runtime
+
+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).
+
+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.
+
+```go title="Runtime Example"
+package main
+
+import "github.com/wailsapp/wails/v2/pkg/runtime"
+
+type Basic struct {
+ ctx context.Context
+}
+
+// startup is called at application startup
+func (a *App) startup(ctx context.Context) {
+ a.ctx = ctx
+ runtime.LogInfo(ctx, "Application Startup called!")
+}
+
+```
+
+### Assets
+
+The _biggest_ change in v2 is how assets are handled.
+
+In v1, assets were passed via 2 application options:
+
+- `JS` - The application's JavaScript
+- `CSS` - The application's CSS
+
+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.
+
+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`.
+
+**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**.
+
+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.
+
+Example: An application has the following project layout. All final assets are placed in the `frontend/dist` directory:
+
+```shell
+.
+├── build/
+├── frontend/
+│ └── dist/
+│ ├── index.html
+│ ├── main.js
+│ ├── main.css
+│ └── logo.svg
+├── main.go
+└── wails.json
+```
+
+Those assets may be used by the application by simply creating an `embed.FS`:
+
+```go title="Assets Example"
+//go:embed all:frontend/dist
+var assets embed.FS
+
+func main() {
+ err := wails.Run(&options.App{
+ /* Other Options */
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ })
+}
+```
+
+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).
+
+### Project Configuration
+
+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.
+
+The format of the file is slightly different. Here is a comparison:
+
+
+
+| v1 | v2 | Notes |
+| ------------------ | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| name | name | |
+| description | | Removed |
+| author / name | author / name | |
+| author / email | author / email | |
+| version | version | |
+| binaryname | outputfilename | Changed |
+| frontend / dir | | Removed |
+| frontend / install | frontend:install | Changed |
+| frontend / build | frontend:build | Changed |
+| frontend / bridge | | Removed |
+| 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. |
+
+
+```
+
+## Publishing Templates
+
+Publishing a template is simply pushing the files to GitHub. The following best practice is encouraged:
+
+- Remove any unwanted files and directories (such as `.git`) from your frontend directory
+- Ensure that `template.json` is complete, especially `helpurl`
+- Push the files to GitHub
+- Create a PR on the [Community Templates](../community/templates.mdx) page
+- Announce the template on the [Template Announcement](https://github.com/wailsapp/wails/discussions/825) discussion board
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/troubleshooting.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/troubleshooting.mdx
new file mode 100644
index 00000000000..a98e64ed467
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/troubleshooting.mdx
@@ -0,0 +1,166 @@
+# Troubleshooting
+
+An assortment of troubleshooting tips.
+
+## The `wails` command appears to be missing?
+
+If your system is reporting that the `wails` command is missing, make sure you have followed the Go installation guide correctly. Normally, it means that the `go/bin` directory in your User's home directory is not in the `PATH` environment variable. You will also normally need to close and reopen any open command prompts so that changes to the environment made by the installer are reflected at the command prompt.
+
+## My application is displaying a white/blank screen
+
+Check that your application includes the assets from the correct directory. In your `main.go` file, you will have something similar to the following code:
+
+```go
+//go:embed all:frontend/dist
+var assets embed.FS
+```
+
+Check that `frontend/dist` contains your application assets.
+
+### Mac
+
+If this happens on Mac, try adding the following to your `Info.plist`:
+
+```xml
+NSAppTransportSecurity
+
+ NSAllowsLocalNetworking
+
+
+```
+
+Reference: https://github.com/wailsapp/wails/issues/1504#issuecomment-1174317433
+
+## Mac application not valid
+
+If your built application looks like this in finder:
+
+```mdx-code-block
+
+
+
+```
+
+it's likely that your application's `info.plist` is invalid. Update the file in `build/.app/Contents/info.plist` and check if the data is valid, EG check the binary name is correct. To persist the changes, copy the file back to the `build/darwin` directory.
+
+## Cannot call backend method from frontend with variadic arguments
+
+If you have a backend method defined with variadic parameters, eg:
+
+```go
+func (a *App) TestFunc(msg string, args ...interface{}) error {
+ // Code
+}
+```
+
+calling this method from the frontend like this will fail:
+
+```js
+var msg = "Hello: ";
+var args = ["Go", "JS"];
+window.go.main.App.TestFunc(msg, ...args)
+ .then((result) => {
+ //do things here
+ })
+ .catch((error) => {
+ //handle error
+ });
+```
+
+Workaround:
+
+```js
+var msg = "Hello ";
+var args = ["Go", "JS"];
+window.go.main.App.TestFunc(msg, args)
+ .then((result) => {
+ //without the 3 dots
+ //do things here
+ })
+ .catch((error) => {
+ //handle error
+ });
+```
+
+Credit: https://github.com/wailsapp/wails/issues/1186
+
+## I'm having getting proxy errors when trying to install Wails
+
+If you are getting errors like this:
+
+```
+"https://proxy.golang.org/github.com/wailsapp/wails/cmd/wails/@v/list": dial tcp 172.217.163.49:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
+```
+
+it's probably because the official Go Proxy is being blocked (Users in China have reported this). The solution is to set up the proxy manually, eg:
+
+```
+go env -w GO111MODULE=on
+go env -w GOPROXY=https://goproxy.cn,direct
+```
+
+Source: https://github.com/wailsapp/wails/issues/1233
+
+## The generated TypeScript doesn't have the correct types
+
+Sometimes the generated TypeScript doesn't have the correct types. To mitigate this, it is possible to specify what types should be generated using the `ts_type` struct tag. For more details, please read [this](https://github.com/tkrajina/typescriptify-golang-structs#custom-types).
+
+## When I navigate away from `index.html`, I am unable to call methods on the frontend
+
+If you navigate away from `index.html` to a new html file, the context will be lost. This can be fixed by adding the following imports to the `` section of any new page you navigate to:
+
+```html
+
+
+
+
+```
+
+Source: https://github.com/wailsapp/wails/discussions/1512
+
+## I get `too many open files` errors on my Mac when I run `wails dev`
+
+By default, macOS will only allow you to open a maximum of 256 files. This can affect the `wails dev` command. This limit can be increased by running: `ulimit -n 1024` in the terminal.
+
+FSNotify is [looking to move to Apple's fsevents](https://github.com/fsnotify/fsnotify/issues/11) for Mac. If this isn't completed soon, we will create our own implementation, tracked [here](https://github.com/wailsapp/wails/issues/1733).
+
+## My Mac app gives me weird compilation errors
+
+A few users have reported seeing compilation errors such as the following:
+
+```shell
+# github.com/wailsapp/wails/v2/internal/frontend/desktop/darwin
+In file included from ../../pkg/mod/github.com/wailsapp/wails/v2@v2.0.0-beta.44.2/internal/frontend/desktop/darwin/callbacks.go:9:
+In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:12:
+/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSBundle.h:91:143: error: function does not return NSString
+- (NSAttributedString *)localizedAttributedStringForKey:(NSString *)key value:(nullable NSString *)value table:(nullable NSString *)tableName NS_FORMAT_ARGUMENT(1) NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0));
+ ~~~~~~~~~~~~~~ ^ ~
+/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:103:48: note: expanded from macro 'NS_FORMAT_ARGUMENT'
+ #define NS_FORMAT_ARGUMENT(A) __attribute__ ((format_arg(A)))
+```
+
+This is _normally_ due to a mismatch with the OS version you are running and the version of the XCode Command Line Tools installed. If you see an error like this, try upgrading your XCode Command Line Tools to the latest version.
+
+If reinstalling Xcode Command Tools still fails, you can check the path where the toolkit is located using:
+
+`xcode-select -p`
+
+If `/Applications/Xcode.app/Contents/Developer` is displayed, run `sudo xcode-select --switch /Library/Developer/CommandLineTools`
+
+Sources: https://github.com/wailsapp/wails/issues/1806 and https://github.com/wailsapp/wails/issues/1140#issuecomment-1290446496
+
+--
+
+## Cannot start service: Host version "x.x.x does not match binary version "x.x.x"
+
+It's preferable to add `frontend/node_modules` and `frontend/package-lock.json` to your `.gitignore`. Otherwise when opening your repository on another machine that may have different versions of Node installed, you may not be able to run your application.
+
+If this does happen, simply delete `frontend/node_modules` and `frontend/package-lock.json` and run your `wails build` or `wails dev` command again.
+
+## Build process stuck on "Generating bindings"
+
+Bindings generation process runs your application in a special mode. If application, intentionally or unintentionally, contains an endless loop (i.e. not exiting after `wails.Run()` finished), this can lead to build process stuck on the stage of bindings generation. Please make sure your code exits properly.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/vscode.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/vscode.mdx
new file mode 100644
index 00000000000..ed258656d63
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/vscode.mdx
@@ -0,0 +1,82 @@
+
+# Visual Studio Code
+
+This page is for miscellaneous tips and tricks when using Visual Studio Code with Wails.
+
+## Vetur Configuration
+
+Many thanks to [@Lyimmi](https://github.com/Lyimmi) for this tip. Originally posted [here](https://github.com/wailsapp/wails/issues/1791#issuecomment-1228158349).
+
+Vetur is a popular plugin for Visual Studio Code that provides syntax highlighting and code completion for Vue projects. When loading a Wails project in VSCode, Vetur will throw an error as it is expecting to find the frontend project in the root directory. To fix this, you can do the following:
+
+Create a file named `vetur.config.js` in the project's root.
+
+```javascript
+// vetur.config.js
+/** @type {import('vls').VeturConfig} */
+module.exports = {
+ // **optional** default: `{}`
+ // override vscode settings
+ // Notice: It only affects the settings used by Vetur.
+ settings: {
+ "vetur.useWorkspaceDependencies": true,
+ "vetur.experimental.templateInterpolationService": true
+ },
+ // **optional** default: `[{ root: './' }]`
+ // support monorepos
+ projects: [
+ {
+ // **required**
+ // Where is your project?
+ // It is relative to `vetur.config.js`.
+ // root: './packages/repo1',
+ root: './frontend',
+ // **optional** default: `'package.json'`
+ // Where is `package.json` in the project?
+ // We use it to determine the version of vue.
+ // It is relative to root property.
+ package: './package.json',
+ // **optional**
+ // Where is TypeScript config file in the project?
+ // It is relative to root property.
+ tsconfig: './tsconfig.json',
+ // **optional** default: `'./.vscode/vetur/snippets'`
+ // Where is vetur custom snippets folders?
+ snippetFolder: './.vscode/vetur/snippets',
+ // **optional** default: `[]`
+ // Register globally Vue component glob.
+ // If you set it, you can get completion by that components.
+ // It is relative to root property.
+ // Notice: It won't actually do it. You need to use `require.context` or `Vue.component`
+ globalComponents: [
+ './src/components/**/*.vue'
+ ]
+ }
+ ]
+}
+```
+
+Next, configure `frontend/tsconfig.json`:
+
+```javascript
+{
+ "compilerOptions": {
+ "module": "system",
+ "noImplicitAny": true,
+ "removeComments": true,
+ "preserveConstEnums": true,
+ "sourceMap": true,
+ "outFile": "../../built/local/tsc.js",
+ "allowJs": true
+ },
+ "exclude": [
+ "node_modules",
+ "**/*.spec.ts"
+ ],
+ "include": [
+ "src/**/*",
+ "wailsjs/**/*.ts"
+ ]
+}
+```
+This should enable you to now use Vetur as expected.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows-installer.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows-installer.mdx
new file mode 100644
index 00000000000..a819d070d3e
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows-installer.mdx
@@ -0,0 +1,58 @@
+# Installateur NSIS
+
+```mdx-code-block
+
+
+
+
+```
+
+Wails prend en charge la génération d'installateurs Windows en utilisant l'installateur [NSIS](https://nsis.sourceforge.io/).
+
+## Installation de NSIS
+
+### Windows
+
+L'installateur est disponible sur la page [de téléchargement NSIS](https://nsis.sourceforge.io/Download).
+
+Si vous utilisez le gestionnaire de paquets chocolatey, exécutez le script suivant :
+
+```
+choco install nsis
+```
+
+Si vous installez NSIS manuellement, vous devez ajouter le dossier _Bin_ , qui contient `makensis.exe`, dans la variable d'environnement PATH. [Cette page](https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/) est un bon tutoriel sur comment ajouter un dossier dans votre variable d'environnement PATH sur Windows.
+
+### Linux
+
+Le paquet `nsis` devrait être disponible via le gestionnaire de paquets de votre distribution.
+
+### MacOS
+
+NSIS est disponible via homebrew en utilisant : `brew install nsis`.
+
+## Génération de l'installateur
+
+Lorsqu'un nouveau projet est créé, Wails génère les fichiers de configuration NSIS dans `build/windows/installer`. La configuration est lue dans `installer/info.json`, et est configuré pour utiliser la section info du fichier `wails.json` :
+
+```json
+// ...
+ "Info": {
+ "companyName": "My Company Name",
+ "productName": "Wails Vite",
+ "productVersion": "1.0.0",
+ "copyright": "Copyright.........",
+ "comments": "Built using Wails (https://wails.io)"
+ },
+```
+
+Pour générer l'installateur de votre application, utilisez l'option `-nsis` avec la commande `wails build`:
+
+```
+wails build -nsis
+```
+
+L'installateur sera ensuite disponible dans le dossier `build/bin`.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows.mdx
new file mode 100644
index 00000000000..6b24979d741
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows.mdx
@@ -0,0 +1,61 @@
+# Windows
+
+This page has miscellaneous guides related to developing Wails applications for Windows.
+
+## Handling the WebView2 Runtime Dependency
+
+Wails applications built for Windows have a runtime requirement on the Microsoft [WebView2 Runtime](https://developer.microsoft.com/en-us/microsoft-edge/webview2/). Windows 11 will have this installed by default, but some machines won't. Wails offers an easy approach to dealing with this dependency.
+
+By using the `-webview2` flag when building, you can decide what your application will do when a suitable runtime is not detected (including if the installed runtime is too old). The four options are:
+
+1. Download
+2. Embed
+3. Navigateur
+4. Error
+
+### Download
+
+This option will prompt the user that no suitable runtime has been found and then offer to download and run the official bootstrapper from Microsoft's WebView2 site. If the user proceeds, the official bootstrapper will be downloaded and run.
+
+### Embed
+
+This option embeds the official bootstrapper within the application. If no suitable runtime has been found, the application will offer to run the bootstrapper. This adds ~150k to the binary size.
+
+### Navigateur
+
+This option will prompt the user that no suitable runtime has been found and then offer to open a browser to the official WebView2 page where the bootstrapper can be downloaded and installed. The application will then exit, leaving the installation up to the user.
+
+### Error
+
+If no suitable runtime is found, an error is given to the user and no further action taken.
+
+## Fixed version runtime
+
+Another way of dealing with webview2 dependency is shipping it yourself. You can download [fixed version runtime](https://developer.microsoft.com/microsoft-edge/webview2/#download-section) and bundle or download it with your application.
+
+Also, you should specify path to fixed version of webview2 runtime in the `windows.Options` structure when launching wails.
+
+```go
+ wails.Run(&options.App{
+ Windows: &windows.Options{
+ WebviewBrowserPath: "",
+ },
+ })
+```
+
+Note: When `WebviewBrowserPath` is specified, `error` strategy will be forced in case of minimal required version mismatch or invalid path to a runtime.
+
+## Spawning other programs
+
+When spawning other programs, such as scripts, you will see the window appear on the screen. To hide the window, you can use the following code:
+
+```go
+cmd := exec.Command("your_script.exe")
+cmd.SysProcAttr = &syscall.SysProcAttr{
+ HideWindow: true,
+ CreationFlags: 0x08000000,
+}
+cmd.Start()
+```
+
+Solution provided by [sithembiso](https://github.com/sithembiso) on the [discussions board](https://github.com/wailsapp/wails/discussions/1734#discussioncomment-3386172).
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/howdoesitwork.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/howdoesitwork.mdx
new file mode 100644
index 00000000000..0a57f585183
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/howdoesitwork.mdx
@@ -0,0 +1,369 @@
+---
+sidebar_position: 20
+---
+
+# Comment ça marche ?
+
+Une application Wails est une application Go standard, avec une interface graphique webkit. La partie Go de l'application se compose du code de l'application et d'une bibliothèque d'exécution qui fournit un certain nombre d'opérations utiles, comme le contrôle de la fenêtre de l'application. Le frontend est une fenêtre webkit qui affichera les ressources graphiques. Une version de la bibliothèque runtime de Javascript est aussi disponible depuis le frontend. Enfin, il est possible de lier les méthodes Go au frontend, et ceux-ci apparaîtront comme des méthodes Javascript qui peuvent être appelées, comme s'il s'agissait de méthodes locales Javascript.
+
+```mdx-code-block
+
+
+
+```
+
+## L'Application Principale
+
+### Vue d’ensemble
+
+L'application principale consiste en un seul appel à `wails.Run()`. Il accepte la configuration de l'application qui décrit la taille de la fenêtre d'application, le titre de la fenêtre, qu'elles sont les ressources à utiliser, etc. Une application de base pourrait ressembler à ceci :
+
+```go title="main.go"
+package main
+
+import (
+ "embed"
+ "log"
+
+ "github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/options"
+ "github.com/wailsapp/wails/v2/pkg/options/assetserver"
+)
+
+//go:embed all:frontend/dist
+var assets embed.FS
+
+func main() {
+
+ app := &App{}
+
+ err := wails.Run(&options.App{
+ Title: "Basic Demo",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ Bind: []interface{}{
+ app,
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+
+type App struct {
+ ctx context.Context
+}
+
+func (b *App) startup(ctx context.Context) {
+ b.ctx = ctx
+}
+
+func (b *App) shutdown(ctx context.Context) {}
+
+func (b *App) Greet(name string) string {
+ return fmt.Sprintf("Hello %s!", name)
+}
+```
+
+### Description des options
+
+Cet exemple a les options suivantes :
+
+- `Title` - Le texte qui devrait apparaître dans la barre de titre de la fenêtre
+- `Width` & `Height` - Les dimensions de la fenêtre
+- `Assets` - Les ressources du frontend de l'application
+- `OnStartup` - Nom de la fonction à appeler quand la fenêtre est créée et est sur le point de commencer à charger les ressources du frontend
+- `OnShutdown` - Nom de la fonction à appeler quand la fenêtre est sur le point d'être fermée
+- `Bind` - La liste des structures Go à exposer au frontend
+
+Une liste complète des options d'application peut être trouvée dans la [Référence d'options](reference/options).
+
+#### Ressources
+
+L'option `Assets` est obligatoire car vous ne pouvez pas avoir d'application Wails sans ressources en frontend. Ces ressources peuvent être n'importe quel fichier que vous attendriez à trouver dans une application web - html, js, css, svg, png, etc. **Il n'y a aucune obligation d'utiliser un générateur de code ou framework** - des fichiers bruts suffisent. Lorsque l'application démarre, elle tentera de charger le fichier `index.html` à partir de vos ressources et le frontend fonctionnera essentiellement comme un navigateur à partir de ce point. Il est intéressant de noter que il n'y a pas de condition sur l'emplacement de `embed.FS`. Il est probable que le chemin d'intégration utilise un répertoire imbriqué par rapport au code de votre application principale, comme `frontend/dist`:
+
+```go title="main.go"
+//go:embed all:frontend/dist
+var assets embed.FS
+```
+
+Au démarrage, Wails va itérer les fichiers embarqués à la recherche du répertoire contenant `index.html`. Tous les autres actifs seront chargés par rapport à à ce répertoire.
+
+Comme les binaires de production utilisent les fichiers contenus dans `embed.FS`, il n'y a aucun fichier externe requis pour être expédié avec l'application.
+
+Lorsque vous exécutez en mode développement en utilisant la commande `wails dev` , les assets sont chargés à partir du disque, et tous les changements résultent en un "rechargement en direct". L'emplacement des actifs sera déduit de la `embed.FS`.
+
+Plus de détails peuvent être trouvés dans le [Guide de développement d'applications](guides/application-development.mdx).
+
+#### Callbacks du cycle de vie de l'application
+
+Juste avant que le frontend ne soit sur le point de charger `index.html`, un callback est fait à la fonction fournie dans [OnStartup](reference/options.mdx#onstartup). Un contexte standard Go est passé à cette méthode. Ce contexte est requis lors de l'appel à l'exécution, donc une bonne pratique est de sauvegarder une référence dans cette méthode. Juste avant que l'application ne s'arrête, la fonction de rappel [OnShutdown](reference/options.mdx#onshutdown) est appelée de la même manière, à nouveau avec le contexte. Il y a aussi un callback [OnDomReady](reference/options.mdx#ondomready) pour quand le frontend a terminé le chargement de tous les assets de `index.html` et est équivalent à l'événement [`body onload`](https://www.w3schools.com/jsref/event_onload.asp) en JavaScript. Il est également possible de s'accrocher à l'événement de fermeture de la fenêtre (ou de quitter l'application) en définissant l'option [OnBeforeClose](reference/options.mdx#onbeforeclose).
+
+#### Binding de méthodes
+
+L'option `Bind` est l'une des options les plus importantes dans une application Wails. Il spécifie quelles méthodes de structs sont à exposer au frontend. Pensez à des "contrôleurs" dans une application web traditionnelle. Quand l'application démarre, elle examine les instances structurées listées dans l'option `Bind`, détermine quelles méthodes sont publiques (commence par une lettre majuscule) et générera des versions JavaScript de ces méthodes qui peuvent être appelées par le code en frontend.
+
+:::info Note
+
+Wails exige que vous passiez dans une _instance_ du struct pour qu'il le lie correctement
+
+:::
+
+Dans cet exemple, nous créons une nouvelle instance `App` puis ajoutons cette instance à l'option `Bind` dans `wails.Run`:
+
+```go {17,27} title="main.go"
+package main
+
+import (
+ "embed"
+ "log"
+
+ "github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/options"
+ "github.com/wailsapp/wails/v2/pkg/options/assetserver"
+)
+
+//go:embed all:frontend/dist
+var assets embed.FS
+
+func main() {
+
+ app := &App{}
+
+ err := wails.Run(&options.App{
+ Title: "Basic Demo",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ Bind: []interface{}{
+ app,
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+
+type App struct {
+ ctx context.Context
+}
+
+func (a *App) Greet(name string) string {
+ return fmt.Sprintf("Hello %s!", name)
+}
+```
+
+Vous pouvez lier autant de structures que vous le souhaitez. Assurez-vous juste de créer une instance de celle-ci et de la passer dans `Bind`:
+
+```go {10-12}
+ //...
+ err := wails.Run(&options.App{
+ Title: "Basic Demo",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ Bind: []interface{}{
+ app,
+ &mystruct1{},
+ &mystruct2{},
+ },
+ })
+
+```
+
+Lorsque vous exécutez `wails dev` (ou `wails generate module`), un module frontend sera généré contenant les éléments suivants :
+
+- JavaScript bindings pour toutes les méthodes liées
+- Déclarations TypeScript pour toutes les méthodes liées
+- Définitions TypeScript pour toutes les structures Go utilisées comme entrées ou sorties par les méthodes liées
+
+Cela rend incroyablement simple d'appeler le code Go depuis le frontend, en utilisant les mêmes structures de données.
+
+## Le frontend
+
+### Vue d’ensemble
+
+Le frontend est une collection de fichiers rendus par webkit. C'est comme un navigateur et un serveur web en un. Il y a virtuellement[^1] aucune limite vis à vis des frameworks ou des bibliothèques que vous pouvez utiliser. Les principaux points d'interaction entre le frontend et votre code Go sont:
+
+- L'appel des méthodes Go liées
+- L'appel des méthodes d'exécution
+
+### L'appel des méthodes Go liées
+
+Lorsque vous exécutez votre application avec `wails dev`, il générera automatiquement des liaisons JavaScript pour vos structures dans un répertoire appelé `wailsjs/go` (Vous pouvez aussi le faire en exécutant `wails generate module`). Les fichiers générés reflètent les noms de paquets dans votre application. Dans l'exemple ci-dessus, nous associons `app`, qui a une méthode publique `Greet`. Cela conduira à la génération des fichiers suivants :
+
+```bash
+wailsjs
+ └─go
+ └─main
+ ├─App.d.ts
+ └─App.js
+```
+
+Ici nous pouvons voir qu'il y a un dossier `main` qui contient les liaisons JavaScript pour la structure `App` liée, ainsi que que le fichier de déclaration TypeScript pour ces méthodes. Pour appeler `Greet` depuis notre frontend, nous importons simplement la méthode et l'appelons comme une fonction JavaScript régulière:
+
+```javascript
+// ...
+import { Greet } from "../wailsjs/go/main/App";
+
+function doGreeting(name) {
+ Greet(name).then((result) => {
+ // Do something with result
+ });
+}
+```
+
+La déclaration en TypeScript vous donne les bons types pour les méthodes paramètres et la valeur retournée :
+
+```ts
+export function Greet(arg1: string): Promise;
+```
+
+Les méthodes générées retournent une Promise. Un appel réussi entraînera la première valeur de retour de l'appel Go à passer au `resolve` handler. Un appel infructueux est quand une méthode Go qui a un type d'erreur comme valeur de deuxième retour, passe une erreur à l'appelant. Ceci est passé en arrière via le handler `reject`. Dans l'exemple ci-dessus, `Greet` ne retourne qu'un `string` donc l'appel JavaScript ne sera jamais rejeté - à moins que des données non valides ne lui soient passées.
+
+Tous les types de données sont correctement traduits entre Go et JavaScript. Même les structs. Si vous renvoyez un struct d'un appel Go, il sera retourné à votre frontend en tant que classe JavaScript.
+
+:::info Note
+
+Struct fields _must_ have a valid `json` tag to be included in the generated TypeScript.
+
+Les structures imbriquées anonymes ne sont pas supportées pour le moment.
+
+:::
+
+Il est possible d'envoyer des structures à Go. N'importe quelle map/classe JavaScript passée comme argument, sera convertie en son équivalent. Pour faciliter ce processus, en mode `dev` un module TypeScript est généré, définissant tous les types de structures utilisés dans les méthodes liées. En utilisant ce module, il est possible de construire et envoyer des objets JavaScript natifs au code Go.
+
+Il y a aussi le support des méthodes Go qui utilisent les structures dans leur signature. Toutes les structures Go spécifiées par une méthode liée (que ce soit en tant que paramètres ou types de retour) auront les versions TypeScript automatiques générées dans le module de gestion de code Go. En utilisant ceux-ci, il est possible de partager le même modèle de données entre Go et JavaScript.
+
+Exemple: Nous mettons à jour notre méthode `Greet` pour accepter une `Person` au lieu d'une chaîne de caractères :
+
+```go title="main.go"
+type Person struct {
+ Name string `json:"name"`
+ Age uint8 `json:"age"`
+ Address *Address `json:"address"`
+}
+
+type Address struct {
+ Street string `json:"street"`
+ Postcode string `json:"postcode"`
+}
+
+func (a *App) Greet(p Person) string {
+ return fmt.Sprintf("Hello %s (Age: %d)!", p.Name, p.Age)
+}
+```
+
+Le fichier `wailsjs/go/main/App.js` aura toujours le code suivant :
+
+```js title="App.js"
+export function Greet(arg1) {
+ return window["go"]["main"]["App"]["Greet"](arg1);
+}
+```
+
+Mais le fichier `wailsjs/go/main/App.d.ts` sera mis à jour avec le code suivant :
+
+```ts title="App.d.ts"
+import { main } from "../models";
+
+export function Greet(arg1: main.Person): Promise;
+```
+
+Comme nous pouvons le voir, le namespace "main" est importé à partir du nouveau fichier "models.ts". Ce fichier contient toutes les définitions de struct utilisées par nos méthodes liées. Dans cet exemple, c'est une struct `Person`. Si nous regardons `models.ts`, nous pouvons voir comment les modèles sont définis :
+
+```ts title="models.ts"
+export namespace main {
+ export class Address {
+ street: string;
+ postcode: string;
+
+ static createFrom(source: any = {}) {
+ return new Address(source);
+ }
+
+ constructor(source: any = {}) {
+ if ("string" === typeof source) source = JSON.parse(source);
+ this.street = source["street"];
+ this.postcode = source["postcode"];
+ }
+ }
+ export class Person {
+ name: string;
+ age: number;
+ address?: Address;
+
+ static createFrom(source: any = {}) {
+ return new Person(source);
+ }
+
+ constructor(source: any = {}) {
+ if ("string" === typeof source) source = JSON.parse(source);
+ this.name = source["name"];
+ this.age = source["age"];
+ this.address = this.convertValues(source["address"], Address);
+ }
+
+ convertValues(a: any, classs: any, asMap: boolean = false): any {
+ if (!a) {
+ return a;
+ }
+ if (a.slice) {
+ return (a as any[]).map((elem) => this.convertValues(elem, classs));
+ } else if ("object" === typeof a) {
+ if (asMap) {
+ for (const key of Object.keys(a)) {
+ a[key] = new classs(a[key]);
+ }
+ return a;
+ }
+ return new classs(a);
+ }
+ return a;
+ }
+ }
+}
+```
+
+Tant que vous avez TypeScript dans votre configuration de compilation en frontend, vous pouvez utiliser ces modèles de la manière suivante:
+
+```js title="mycode.js"
+import { Greet } from "../wailsjs/go/main/App";
+import { main } from "../wailsjs/go/models";
+
+function generate() {
+ let person = new main.Person();
+ person.name = "Peter";
+ person.age = 27;
+ Greet(person).then((result) => {
+ console.log(result);
+ });
+}
+```
+
+La combinaison des liaisons générées et des modèles TypeScript crée un environnement de développement puissant.
+
+Plus d'informations sur la liaison peuvent être trouvées dans la section [Méthodes de liaison](guides/application-development.mdx#binding-methods) de la [Guide de développement d'applications](guides/application-development.mdx).
+
+### Appeler les méthodes runtime
+
+Le runtime JavaScript se trouve dans `window.runtime` et contient de nombreuses méthodes pour faire diverses tâches telles qu'émettre un événement ou effectuer des opérations de journalisation :
+
+```js title="mycode.js"
+window.runtime.EventsEmit("my-event", 1);
+```
+
+Plus de détails sur l'exécutable JS peuvent être trouvés dans la [Référence d'exécution](reference/runtime/intro).
+
+[^1]: Il y a un très petit sous-ensemble de bibliothèques qui utilisent des fonctionnalités non prises en charge dans WebViews. Il y a souvent des alternatives et des solutions de contournement pour de tels cas.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/introduction.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/introduction.mdx
new file mode 100644
index 00000000000..724c24436b4
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/introduction.mdx
@@ -0,0 +1,75 @@
+---
+sidebar_position: 1
+---
+
+# Introduction
+
+Wails est un projet qui vous permet d'écrire des applications de bureau en utilisant les technologies Go et web.
+
+Considérez cela comme une alternative légère et rapide d'Electron pour Go. Vous pouvez facilement construire des applications avec la flexibilité et la puissance de Go, combinée à un frontend riche et moderne.
+
+### Fonctionnalités
+
+- Menus natifs, Boîtes de dialogues, Thèmes et Translucidité
+- Prise en charge de Windows, macOS et Linux
+- Modèles intégrés pour Svelte, React, Preact, Vue, Lit et Vanilla JS
+- Appeler facilement les méthodes Go depuis JavaScript
+- Génération automatique du modèle TypeScript à partir des struct Go
+- Aucun CGO ou DLL externe requis sous Windows
+- Mode développement en direct en utilisant la puissance de [Vite](https://vitejs.dev/)
+- CLI puissant pour créer, construire et empaqueter facilement des applications
+- Une riche bibliothèque [runtime](/docs/reference/runtime/intro)
+- Les applications construites avec Wails sont conformes aux Stores Apple & Microsoft
+
+Ceci est [varly](https://varly.app) - une application de bureau pour MacOS & Windows écrite à l'aide de Wails. Non seulement elle est belle, elle utilise les menus natifs et la translucidité - tout ce que vous pouvez attendre d'une application native moderne.
+
+```mdx-code-block
+
+
+```
+
+Lorsqu'il est cliqué, cela ouvrira la boîte de message "à propos" :
+
+```mdx-code-block
+
+
+
+
+```
+
+### Linux
+
+Ceci définit [les options spécifiques à Linux](#linux).
+
+Nom: Linux Type: `*linux.Options`
+
+#### Icon
+
+Définit l'icône représentant la fenêtre. Cette icône est utilisée lorsque la fenêtre est réduite (aussi appelée iconified).
+
+Nom: Icon Type: `[]byte`
+
+Certains gestionnaires de fenêtres ou environnements de bureau peuvent également le placer dans le cadre de la fenêtre, ou l'afficher dans d'autres contextes. Sur d'autres, l'icône n'est pas du tout utilisée, donc son utilisation peut varier.
+
+NOTE : Gnome sur Wayland n'affiche pas cette icône. Pour y avoir une icône d'application, un fichier `.desktop` doit être utilisé. Sous KDE, cela devrait fonctionner.
+
+L’icône doit être fournie dans la taille qu’elle a été dessinée naturellement, c’est-à-dire ne pas redimensionner l’image avant de la passer. La mise à l'échelle est reportée à la dernière minute, lorsque la taille finale désirée est connue, pour permettre une meilleure qualité.
+
+#### WindowIsTranslucent
+
+Définir ceci à `true` rendra l'arrière-plan de la fenêtre translucide. Certains gestionnaires de fenêtres peuvent l'ignorer, ou résulter en une fenêtre noire.
+
+Nom: WindowIsTranslucent Type: `bool`
+
+#### WebviewGpuPolicy
+
+This option is used for determining the webview's hardware acceleration policy.
+
+Name: WebviewGpuPolicy Type: [`options.WebviewGpuPolicy`](#webviewgpupolicy-type) Default: `WebviewGpuPolicyAlways`
+
+##### WebviewGpuPolicy type
+
+| Valeur | Description |
+| ------------------------ | -------------------------------------------------------------------- |
+| WebviewGpuPolicyAlways | Hardware acceleration is always enabled |
+| WebviewGpuPolicyOnDemand | Hardware acceleration is enabled/disabled as request by web contents |
+| WebviewGpuPolicyNever | Hardware acceleration is always disabled |
+
+### Debug
+
+Ceci définit [les options spécifiques au débogage](#Debug) qui s'appliquent aux compilations de débogage.
+
+Nom: Debug Type: `options.Debug`
+
+#### OpenInspectorOnStartup
+
+Définir cette option à `true` ouvrira l'inspecteur Web au démarrage de l'application.
+
+Nom: OpenInspectorOnStartup Type: `bool`
+
+[^1]: This requires WebKit2GTK 2.36+ support and your app needs to be build with the build tag `webkit2_36` to activate support for this feature. This also bumps the minimum requirement of WebKit2GTK to 2.36 for your app.
+[^2]: This requires WebKit2GTK 2.40+ support and your app needs to be build with the build tag `webkit2_40` to activate support for this feature. This also bumps the minimum requirement of WebKit2GTK to 2.40 for your app.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/project-config.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/project-config.mdx
new file mode 100644
index 00000000000..5c7d578b777
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/project-config.mdx
@@ -0,0 +1,92 @@
+---
+sidebar_position: 5
+---
+
+# Project Config
+
+The project config resides in the `wails.json` file in the project directory. The structure of the config is:
+
+```json
+{
+ // Project config version
+ "version": "",
+ // The project name
+ "name": "",
+ // Relative path to the directory containing the compiled assets, this is normally inferred and could be left empty
+ "assetdir": "",
+ // Additional directories to trigger reloads (comma separated), this is only used for some advanced asset configurations
+ "reloaddirs": "",
+ // The directory where the build files reside. Defaults to 'build'
+ "build:dir": "",
+ // Relative path to the frontend directory. Defaults to 'frontend'
+ "frontend:dir": "",
+ // The command to install node dependencies, run in the frontend directory - often `npm install`
+ "frontend:install": "",
+ // The command to build the assets, run in the frontend directory - often `npm run build`
+ "frontend:build": "",
+ // This command has been replaced by frontend:dev:build. If frontend:dev:build is not specified will falls back to this command. \nIf this command is also not specified will falls back to frontend:build
+ "frontend:dev": "",
+ // This command is the dev equivalent of frontend:build. If not specified falls back to frontend:dev
+ "frontend:dev:build": "",
+ // This command is the dev equivalent of frontend:install. If not specified falls back to frontend:install
+ "frontend:dev:install": "",
+ // This command is run in a separate process on `wails dev`. Useful for 3rd party watchers or starting 3d party dev servers
+ "frontend:dev:watcher": "",
+ // URL to a 3rd party dev server to be used to serve assets, EG Vite. \nIf this is set to 'auto' then the devServerUrl will be inferred from the Vite output
+ "frontend:dev:serverUrl": "",
+ // Relative path to the directory that the auto-generated JS modules will be created
+ "wailsjsdir": "",
+ // The name of the binary
+ "outputfilename": "",
+ // The default time the dev server waits to reload when it detects a change in assets
+ "debounceMS": 100,
+ // Address to bind the wails dev sever to. Default: localhost:34115
+ "devServer": "",
+ // Arguments passed to the application in shell style when in dev mode
+ "appargs": "",
+ // Defines if build hooks should be run though they are defined for an OS other than the host OS.
+ "runNonNativeBuildHooks": false,
+ "preBuildHooks": {
+ // The command that will be executed before a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.
+ "GOOS/GOARCH": "",
+ // The command that will be executed before a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/*" hook is executed before the "*/*" hook.
+ "GOOS/*": "",
+ // The command that will be executed before every build: ${platform} is replaced with the "GOOS/GOARCH".
+ "*/*": ""
+ },
+ "postBuildHooks": {
+ // The command that will be executed after a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.
+ "GOOS/GOARCH": "",
+ // The command that will be executed after a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/*" hook is executed before the "*/*" hook.
+ "GOOS/*": "",
+ // The command that will be executed after every build: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary.
+ "*/*": ""
+ },
+ // Data used to populate manifests and version info.
+ "info": {
+ // The company name. Default: [The project name]
+ "companyName": "",
+ // The product name. Default: [The project name]
+ "productName": "",
+ // The version of the product. Default: '1.0.0'
+ "productVersion": "",
+ // The copyright of the product. Default: 'Copyright.........'
+ "copyright": "",
+ // A short comment of the app. Default: 'Built using Wails (https://wails.app)'
+ "comments": ""
+ },
+ // 'multiple': One installer per architecture. 'single': Single universal installer for all architectures being built. Default: 'multiple'
+ "nsisType": "",
+ // Whether the app should be obfuscated. Default: false
+ "obfuscated": "",
+ // The arguments to pass to the garble command when using the obfuscated flag
+ "garbleargs": ""
+}
+```
+
+This file is read by the Wails CLI when running `wails build` or `wails dev`.
+
+The `assetdir`, `reloaddirs`, `wailsjsdir`, `debounceMS`, `devserver` and `frontenddevserverurl` flags in `wails build/dev` will update the project config
+and thus become defaults for subsequent runs.
+
+The JSON Schema for this file is located [here](https://wails.io/schemas/config.v2.json).
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/browser.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/browser.mdx
new file mode 100644
index 00000000000..ab2da957dd4
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/browser.mdx
@@ -0,0 +1,13 @@
+---
+sidebar_position: 7
+---
+
+# Navigateur
+
+Ces méthodes sont liées au navigateur du système.
+
+### BrowserOpenURL
+
+Ouvre l'URL donnée dans le navigateur système.
+
+Go: `BrowserOpenURL(ctx context.Context, url string)` JS: `BrowserOpenURL(url string)`
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/clipboard.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/clipboard.mdx
new file mode 100644
index 00000000000..805f68ed917
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/clipboard.mdx
@@ -0,0 +1,23 @@
+---
+sidebar_position: 8
+---
+
+# Clipboard
+
+This part of the runtime provides access to the operating system's clipboard. The current implementation only handles text.
+
+### ClipboardGetText
+
+This method reads the currently stored text from the clipboard.
+
+Go: `ClipboardGetText(ctx context.Context) (string, error)` Returns: a string (if the clipboard is empty an empty string will be returned) or an error.
+
+JS: `ClipboardGetText(): Promise` Returns: a promise with a string result (if the clipboard is empty an empty string will be returned).
+
+### ClipboardSetText
+
+This method writes a text to the clipboard.
+
+Go: `ClipboardSetText(ctx context.Context, text string) error` Returns: an error if there is any.
+
+JS: `ClipboardSetText(text: string): Promise` Returns: a promise with true result if the text was successfully set on the clipboard, false otherwise.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/dialog.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/dialog.mdx
new file mode 100644
index 00000000000..1bbc6522e0f
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/dialog.mdx
@@ -0,0 +1,302 @@
+---
+sidebar_position: 5
+---
+
+# Boîte de dialogue
+
+Cette partie du runtime fournit un accès aux boîtes de dialogue natives, telles que les sélecteurs de fichiers et les boîtes de messages.
+
+:::info JavaScript
+
+La boîte de dialogue n'est actuellement pas prise en charge dans l'exécuteur JS.
+
+:::
+
+### OpenDirectoryDialog
+
+Ouvre une boîte de dialogue qui invite l'utilisateur à sélectionner un répertoire. Peut être personnalisé en utilisant [OpenDialogOptions](#opendialogoptions).
+
+Go: `OpenDirectoryDialog(ctx context.Context, dialogOptions OpenDialogOptions) (string, error)`
+
+Renvoie : le répertoire sélectionné (vide si l'utilisateur a annulé) ou une erreur
+
+### OpenFileDialog
+
+Ouvre une boîte de dialogue qui invite l'utilisateur à sélectionner un fichier. Peut être personnalisé en utilisant [OpenDialogOptions](#opendialogoptions).
+
+Go: `OpenFileDialog(ctx context.Context, dialogOptions OpenDialogOptions) (string, error)`
+
+Renvoie : le fichier sélectionné (vide si l'utilisateur a annulé) ou une erreur
+
+### OpenFileDialog
+
+Ouvre une boîte de dialogue qui invite l'utilisateur à sélectionner plusieurs fichiers. Peut être personnalisé en utilisant [OpenDialogOptions](#opendialogoptions).
+
+Go: `OpenMultipleFilesDialog(ctx context.Context, dialogOptions OpenDialogOptions) ([]string, error)`
+
+Renvoie : les fichiers sélectionnés (nil si l'utilisateur a annulé) ou une erreur
+
+### SaveFileDialog
+
+Ouvre une boîte de dialogue qui invite l'utilisateur à saisir un nom pour le fichier à enregistrer. Peut être personnalisé en utilisant [SaveDialogOptions](#savedialogoptions).
+
+Go: `SaveFileDialog(ctx context.Context, dialogOptions SaveDialogOptions) (string, error)`
+
+Renvoie : le fichier sélectionné (vide si l'utilisateur a annulé) ou une erreur
+
+### MessageDialog
+
+Affiche un message en utilisant une boîte de dialogue. Peut être personnalisé en utilisant [MessageDialogOptions](#messagedialogoptions).
+
+Go: `MessageDialog(ctx context.Context, dialogOptions MessageDialogOptions) (string, error)`
+
+Renvoie : Le texte du bouton sélectionné ou une erreur
+
+## Options
+
+### OpenDialogOptions
+
+```go
+type OpenDialogOptions struct {
+ DefaultDirectory string
+ DefaultFilename string
+ Title string
+ Filters []FileFilter
+ ShowHiddenFiles bool
+ CanCreateDirectories bool
+ ResolvesAliases bool
+ TreatPackagesAsDirectories bool
+}
+```
+
+| Champ | Description | Win | Mac | Lin |
+| -------------------------- | -------------------------------------------------------------- | --- | --- | --- |
+| DefaultDirectory | Le répertoire que la boîte de dialogue affichera à l'ouverture | ✅ | ✅ | ✅ |
+| DefaultFilename | Le nom du fichier par défaut | ✅ | ✅ | ✅ |
+| Title | Titre pour la boite de dialogue | ✅ | ✅ | ✅ |
+| [Filters](#filefilter) | Une liste de filtres de fichiers | ✅ | ✅ | ✅ |
+| ShowHiddenFiles | Afficher les fichiers cachés par le système | | ✅ | ✅ |
+| CanCreateDirectories | Autoriser l'utilisateur de créer des dossiers | | ✅ | |
+| ResolvesAliases | Si vrai, retourne le fichier et non l'alias | | ✅ | |
+| TreatPackagesAsDirectories | Autoriser la navigation dans les dossiers | | ✅ | |
+
+### SaveDialogOptions
+
+```go
+type SaveDialogOptions struct {
+ DefaultDirectory string
+ DefaultFilename string
+ Title string
+ Filters []FileFilter
+ ShowHiddenFiles bool
+ CanCreateDirectories bool
+ TreatPackagesAsDirectories bool
+}
+```
+
+| Champ | Description | Win | Mac | Lin |
+| -------------------------- | -------------------------------------------------------------- | --- | --- | --- |
+| DefaultDirectory | Le répertoire que la boîte de dialogue affichera à l'ouverture | ✅ | ✅ | ✅ |
+| DefaultFilename | Le nom du fichier par défaut | ✅ | ✅ | ✅ |
+| Title | Titre pour la boite de dialogue | ✅ | ✅ | ✅ |
+| [Filters](#filefilter) | Une liste de filtres de fichiers | ✅ | ✅ | ✅ |
+| ShowHiddenFiles | Afficher les fichiers cachés par le système | | ✅ | ✅ |
+| CanCreateDirectories | Autoriser l'utilisateur de créer des dossiers | | ✅ | |
+| TreatPackagesAsDirectories | Autoriser la navigation dans les dossiers | | ✅ | |
+
+### MessageDialogOptions
+
+```go
+type MessageDialogOptions struct {
+ Type DialogType
+ Title string
+ Message string
+ Buttons []string
+ DefaultButton string
+ CancelButton string
+}
+```
+
+| Champ | Description | Win | Mac | Lin |
+| ------------- | ---------------------------------------------------------------------------------------------- | -------------- | --- | --- |
+| Type | Le type de boîte de dialogue de message: question, info... | ✅ | ✅ | ✅ |
+| Title | Titre pour la boite de dialogue | ✅ | ✅ | ✅ |
+| Message | Le message à afficher à l'utilisateur | ✅ | ✅ | ✅ |
+| Buttons | La liste des noms des boutons | | ✅ | |
+| DefaultButton | Le bouton avec ce texte doit être traité comme le bouton par défaut. Lié à la touche `entrée`. | ✅[*](#windows) | ✅ | |
+| CancelButton | Le bouton avec ce texte doit être traité permettant d'annuler. Lié à la touche `echap` | | ✅ | |
+
+#### Windows
+
+Windows a des boites de dialogue standard dans lesquels les boutons ne sont pas personnalisables. La valeur retournée sera une des valeurs suivantes : "Ok", "Cancel", "Abort", "Retry", "Ignore", "Yes", "No", "Try Again" ou "Continue".
+
+Pour les boites de dialogues pour les questions, le bouton par défaut est "Oui" et le bouton d'annulation est "Non". Cela peut être modifié en définissant la valeur `DefaultButton` à `"No"`.
+
+Exemple:
+```go
+ result, err := runtime.MessageDialog(a.ctx, runtime.MessageDialogOptions{
+ Type: runtime.QuestionDialog,
+ Title: "Question",
+ Message: "Do you want to continue?",
+ DefaultButton: "No",
+ })
+```
+
+#### Linux
+
+Linux a des boites de dialogue standard dans lesquels les boutons ne sont pas personnalisables. La valeur retournée sera de :"Ok", "Cancel", "Yes", "No"
+
+#### Mac
+
+Une boîte de dialogue sur Mac peut avoir jusqu'à 4 boutons. Si aucun `DefaultButton` ou `CancelButton` n'est donné, le premier bouton est considéré comme par défaut et est lié à la touche `entrée`.
+
+Pour le code suivant :
+
+```go
+selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
+ Title: "C'est ton tour",
+ Message: "Choisi un nombre",
+ Buttons: []string{"un", "deux", "trois", "quatre"},
+})
+```
+
+le premier bouton est affiché comme étant celui par défaut :
+
+```mdx-code-block
+
+
+
+
+```
+
+Et si nous spécifions que le `DefaultButton` est "deux":
+
+```go
+selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
+ Title: "It's your turn!",
+ Message: "Select a number",
+ Buttons: []string{"one", "two", "three", "four"},
+ DefaultButton: "two",
+})
+```
+
+le deuxième bouton est affiché comme étant la réponse par défaut. Lorsque la touche `entrée` est appuyée, la valeur "deux" est retournée.
+
+```mdx-code-block
+
+
+
+
+```
+
+Si nous spécifions maintenant `CancelButton` à "trois":
+
+```go
+selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
+ Title: "It's your turn!",
+ Message: "Select a number",
+ Buttons: []string{"one", "two", "three", "four"},
+ DefaultButton: "two",
+ CancelButton: "three",
+})
+```
+
+le bouton avec "trois" est affiché en bas de la boîte de dialogue. Si la touche `echap` est appuyée, la valeur "trois" est retournée:
+
+```mdx-code-block
+
+
+
+
+
+
+```
+
+#### DialogType
+
+```go
+const (
+ InfoDialog DialogType = "info"
+ WarningDialog DialogType = "warning"
+ ErrorDialog DialogType = "error"
+ QuestionDialog DialogType = "question"
+ )
+```
+
+### FileFilter
+
+```go
+type FileFilter struct {
+ DisplayName string // Filter information EG: "Image Files (*.jpg, *.png)"
+ Pattern string // semi-colon separated list of extensions, EG: "*.jpg;*.png"
+}
+```
+
+#### Windows
+
+Windows vous permet d'utiliser plusieurs filtres de fichiers dans les boîtes de dialogue. Chaque FileFilter s'affichera comme une entrée séparée dans la boîte de dialogue :
+
+```mdx-code-block
+
+
+
+
+
+
+```
+
+#### Linux
+
+Linux vous permet d'utiliser plusieurs filtres de fichiers dans les boîtes de dialogue. Chaque FileFilter s'affichera comme une entrée séparée dans la boîte de dialogue :
+
+```mdx-code-block
+
+
+
+
+
+
+```
+
+#### Mac
+
+Les dialogues Mac n'ont qu'un ensemble unique de motifs pour filtrer les fichiers. Si plusieurs filtres de fichiers sont fournis, Wails utilisera tous les modèles définis.
+
+Exemple:
+
+```go
+ selection, err := runtime.OpenFileDialog(b.ctx, runtime.OpenDialogOptions{
+ Title: "Select File",
+ Filters: []runtime.FileFilter{
+ {
+ DisplayName: "Images (*.png;*.jpg)",
+ Pattern: "*.png;*.jpg",
+ }, {
+ DisplayName: "Videos (*.mov;*.mp4)",
+ Pattern: "*.mov;*.mp4",
+ },
+ },
+ })
+```
+
+Cela se traduira par l'ouverture de la boîte de dialogue "Ouvrir un fichier" en utilisant `*.png,*.jpg,*.mov,*.mp4` comme filtres.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/events.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/events.mdx
new file mode 100644
index 00000000000..43d72885ea7
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/events.mdx
@@ -0,0 +1,37 @@
+---
+sidebar_position: 2
+---
+
+# Événements
+
+Le runtime Wails fournit un système d'événements unifiés, où les événements peuvent être émis ou reçus par Go ou JavaScript. En option, des données peuvent être transmises avec les événements. Les écouteurs vont recevoir les données dans les types de donnée du langage correspondant.
+
+### EventsOn
+
+Cette méthode définit un listener pour le nom d'événement donné. Lorsqu'un événement de type `eventName` est [émis](#EventsEmit), la méthode définie en callback est déclenchée. Toutes les données supplémentaires envoyées avec l'événement émis seront passées en paramètre à la méthode définie en callback. Il renvoie une fonction pour annuler l'écouteur.
+
+Go: `EventsOn(ctx context.Context, eventName string, callback func(optionalData ...interface{})) func()` JS: `EventsOn(eventName string, callback function(optionalData?: any)): () => void`
+
+### EventsOff
+
+Cette méthode désactive l'évènement correspondant au nom donné, éventuellement plusieurs évènements peuvent être désinscrits via `additionalEventNames`.
+
+Go: `EventsOff(ctx context.Context, eventName string, additionalEventNames ...string)` JS: `EventsOff(eventName string, ...additionalEventNames)`
+
+### EventsOnce
+
+Cette méthode définit un évènement pour le nom donné, mais ne se déclenchera qu'une seule fois. Il renvoie une fonction pour annuler l'évènement.
+
+Go: `EventsOnce(ctx context.Context, eventName string, callback func(optionalData ...interface{})) func()` JS: `EventsOnce(eventName string, callback function(optionalData?: any)): () => void`
+
+### EventsOnMultiple
+
+Cette méthode définit un évènement pour le nom donné, mais ne se déclenchera au maximum qu'un certain nombre de fois, définit avec le paramètre `counter`. Il renvoie une fonction pour annuler l'écouteur.
+
+Go: `EventsOnMultiple(ctx context.Context, eventName string, callback func(optionalData ...interface{}), counter int) func()` JS: `EventsOnMultiple(eventName string, callback function(optionalData?: any), counter int): () => void`
+
+### EventsEmit
+
+Cette méthode émet l'événement donné. En option, des données peuvent être transmises avec l'événement. Cela déclenchera tous les événements.
+
+Go: `EventsEmit(ctx context.Context, eventName string, optionalData ...interface{})` JS: `EventsEmit(eventName: string, ...optionalData: any)`
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/intro.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/intro.mdx
new file mode 100644
index 00000000000..915ebc4ec9c
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/intro.mdx
@@ -0,0 +1,85 @@
+---
+sidebar_position: 1
+---
+
+# Introduction
+
+Le runtime est une bibliothèque qui fournit des méthodes utilitaires pour votre application. Il y a à la fois un runtime Go et JavaScript et le but est d'essayer de les maintenir à parité dans la mesure du possible.
+
+Il a des méthodes utilitaires pour :
+
+- [Fenêtre](window.mdx)
+- [Menu](menu.mdx)
+- [Boîte de dialogue](dialog.mdx)
+- [Événements](events.mdx)
+- [Navigateur](browser.mdx)
+- [Log](log.mdx)
+- [Clipboard](clipboard.mdx)
+
+Le Go Runtime est disponible en important `github.com/wailsapp/wails/v2/pkg/runtime`. Toutes les méthodes de ce paquet prennent un contexte comme premier paramètre. Ce contexte doit être obtenu à partir des méthodes [OnStartup](../options.mdx#onstartup) ou [OnDomReady](../options.mdx#ondomready).
+
+:::info Note
+
+Alors que le contexte sera fourni à la méthode [OnStartup](../options.mdx#onstartup) , il n'y a aucune garantie que l'exécution fonctionnera dans cette méthode car la fenêtre s'initialise dans un autre thread. Si vous souhaitez appeler des méthodes d'exécution au démarrage, utilisez [OnDomReady](../options.mdx#ondomready).
+
+:::
+
+La bibliothèque JavaScript est disponible sur le frontend via la carte `window.runtime`. Il y a un package d'exécution généré lors de l'utilisation du mode `dev` qui fournit des déclarations TypeScript pour l'exécution. Ceci devrait être situé dans le répertoire `wailsjs` dans votre répertoire frontend.
+
+### Cacher
+
+Go: `Hide(ctx context.Context)` JS: `Hide()`
+
+Cache l'application.
+
+:::info Note
+
+Sur Mac, cela masquera l'application de la même manière que le bouton `Masquer` du menu des applications Mac standard. C'est une manière différente de cacher l'application, mais elle sera toujours au premier plan. Pour Windows et Linux, c'est actuellement la même chose que `WindowHide`.
+
+:::
+
+### Afficher
+
+Affiche l'application.
+
+:::info Note
+
+Sur Mac, cela va ramener l'application au premier plan. Pour Windows et Linux, c'est actuellement la même chose que `WindowShow`.
+
+:::
+
+Go: `Show(ctx context.Context)` JS: `Show()`
+
+### Quitter
+
+Quitte l'application.
+
+Go: `Quit(ctx context.Context)` JS: `Quit()`
+
+### Environnement
+
+Renvoie les détails de l'environnement actuel.
+
+Go: `Environment(ctx context.Context) EnvironmentInfo` JS: `Environment(): Promise`
+
+#### EnvironmentInfo
+
+Go:
+
+```go
+type EnvironmentInfo struct {
+ BuildType string
+ Platform string
+ Arch string
+}
+```
+
+JS:
+
+```ts
+interface EnvironmentInfo {
+ buildType: string;
+ platform: string;
+ arch: string;
+}
+```
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/log.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/log.mdx
new file mode 100644
index 00000000000..45b7a07ed27
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/log.mdx
@@ -0,0 +1,130 @@
+---
+sidebar_position: 3
+---
+
+# Log
+
+Le runtime Wails fournit un mécanisme de journalisation qui peut être appelé depuis Go ou JavaScript. Comme la plupart des loggers, il y a un certain nombre de niveaux de log :
+
+- Trace
+- Debug
+- Info
+- Warning
+- Error
+- Fatal
+
+Le logger affichera tous les messages de log au niveau actuel ou supérieur. Exemple : Le niveau `Debug` affichera tous les messages sauf ceux du niveau `Trace`.
+
+### LogPrint
+
+Ajoute le message donné dans les logs en tant que message brut.
+
+Go: `LogPrint(ctx context.Context, message string)` JS: `LogPrint(message: string)`
+
+### LogPrintf
+
+Ajoute le message donné dans les logs en tant que message brut.
+
+Go: `LogPrintf(ctx context.Context, format string, args ...interface{})`
+
+### LogTrace
+
+Ajoute le message donné dans les logs avec le niveau de log `Trace`.
+
+Go: `LogTrace(ctx context.Context, message string)` JS: `LogTrace(message: string)`
+
+### LogTracef
+
+Ajoute le message donné dans les logs avec le niveau de log `Trace`.
+
+Go: `LogTracef(ctx context.Context, format string, args ...interface{})`
+
+### LogDebug
+
+Ajoute le message donné dans les logs avec le niveau de log `Debug`.
+
+Go: `LogDebug(ctx context.Context, message string)` JS: `LogDebug(message: string)`
+
+### LogDebugf
+
+Ajoute le message donné dans les logs avec le niveau de log `Debug`.
+
+Go: `LogDebugf(ctx context.Context, format string, args ...interface{})`
+
+### LogInfo
+
+Ajoute le message donné dans les logs avec le niveau de log `Info`.
+
+Go: `LogInfo(ctx context.Context, message string)` JS: `LogInfo(message: string)`
+
+### LogInfof
+
+Ajoute le message donné dans les logs avec le niveau de log `Info`.
+
+Go: `LogInfof(ctx context.Context, format string, args ...interface{})`
+
+### LogWarning
+
+Ajoute le message donné dans les logs avec le niveau de log `Warning`.
+
+Go: `LogWarning(ctx context.Context, message string)` JS: `LogWarning(message: string)`
+
+### LogWarningf
+
+Ajoute le message donné dans les logs avec le niveau de log `Warning`.
+
+Go: `LogWarningf(ctx context.Context, format string, args ...interface{})`
+
+### LogError
+
+Ajoute le message donné dans les logs avec le niveau de log `Error`.
+
+Go: `LogError(ctx context.Context, message string)` JS: `LogError(message: string)`
+
+### LogErrorf
+
+Ajoute le message donné dans les logs avec le niveau de log `Error`.
+
+Go: `LogErrorf(ctx context.Context, format string, args ...interface{})`
+
+### LogFatal
+
+Ajoute le message donné dans les logs avec le niveau de log `Fatal`.
+
+Go: `LogFatal(ctx context.Context, message string)` JS: `LogFatal(message: string)`
+
+### LogFatalf
+
+Ajoute le message donné dans les logs avec le niveau de log `Fatal`.
+
+Go: `LogFatalf(ctx context.Context, format string, args ...interface{})`
+
+### LogSetLogLevel
+
+Définit le niveau des logs. En JavaScript, le nombre se rapporte aux niveaux de log suivants :
+
+| Valeur | Niveau de log |
+| ------ | ------------- |
+| 1 | Trace |
+| 2 | Debug |
+| 3 | Info |
+| 4 | Warning |
+| 5 | Error |
+
+Go: `LogSetLogLevel(ctx context.Context, level logger.LogLevel)` JS: `LogSetLogLevel(level: number)`
+
+## Utiliser un Logger Personnalisé
+
+Un logger personnalisé peut être utilisé en le définissant dans l'option de l'application [Logger](../options.mdx#logger) . La seule condition est que le logger implémente l'interface `logger.Logger` définie dans `github.com/wailsapp/wails/v2/pkg/logger`:
+
+```go title="logger.go"
+type Logger interface {
+ Print(message string)
+ Trace(message string)
+ Debug(message string)
+ Info(message string)
+ Warning(message string)
+ Error(message string)
+ Fatal(message string)
+}
+```
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/menu.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/menu.mdx
new file mode 100644
index 00000000000..cd78d31aa31
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/menu.mdx
@@ -0,0 +1,25 @@
+---
+sidebar_position: 6
+---
+
+# Menu
+
+Ces méthodes sont liées au menu de l'application.
+
+:::info JavaScript
+
+Le menu n'est actuellement pas pris en charge lors de l'exécution de JS.
+
+:::
+
+### MenuSetApplicationMenu
+
+Définit le menu de l'application dans le [menu](../menus.mdx) donné.
+
+Go: `MenuSetApplicationMenu(ctx context.Context, menu *menu.Menu)`
+
+### MenuUpdateApplicationMenu
+
+Met à jour le menu de l'application, avec toutes les autres modifications déjà appliquées via `MenuSetApplicationMenu`.
+
+Go: `MenuUpdateApplicationMenu(ctx context.Context)`
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/window.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/window.mdx
new file mode 100644
index 00000000000..03313236e4e
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/window.mdx
@@ -0,0 +1,221 @@
+---
+sidebar_position: 4
+---
+
+# Fenêtre
+
+Ces méthodes donnent le contrôle de la fenêtre de l'application.
+
+### WindowSetTitle
+
+Définit le texte dans la barre de titre de la fenêtre.
+
+Go: `WindowSetTitle(ctx context.Context, title string)` JS: `WindowSetTitle(title: string)`
+
+### WindowFullscreen
+
+Mets la fenêtre en plein écran.
+
+Go: `WindowFullscreen(ctx context.Context)` JS: `WindowFullscreen()`
+
+### WindowUnfullscreen
+
+Restaure les dimensions et la position de la fenêtre avant le plein écran.
+
+Go: `WindowUnfullscreen(ctx context.Context)` JS: `WindowUnfullscreen()`
+
+### WindowIsFullscreen
+
+Renvoie vrai si la fenêtre est en plein écran.
+
+Go: `WindowIsFullscreen(ctx context.Context) bool` JS: `WindowIsFullscreen() bool`
+
+### WindowCenter
+
+Centre la fenêtre sur le moniteur sur laquelle la fenêtre est actuellement ouverte.
+
+Go: `WindowCenter(ctx context.Context)` JS: `WindowCenter()`
+
+### WindowExecJS
+
+Exécute du code JS dans la fenêtre.
+
+Cette méthode exécute le code dans le navigateur de manière asynchrone et retourne immédiatement le résultat. Si le script cause des erreurs, elles ne seront disponibles que dans la console du navigateur.
+
+Go: `WindowExecJS(ctx context.Context, js string)`
+
+### WindowReload
+
+Effectue un "rechargement" (Recharge la page courante).
+
+Go: `WindowReload(ctx context.Context)` JS: `WindowReload()`
+
+### WindowReloadApp
+
+Recharge le frontend de l'application.
+
+Go: `WindowReloadApp(ctx context.Context)` JS: `WindowReloadApp()`
+
+### WindowSetSystemDefaultTheme
+
+Windows seulement.
+
+Go: `WindowSetSystemDefaultTheme(ctx context.Context)` JS: `WindowSetSystemDefaultTheme()`
+
+Définit le thème de fenêtre à la valeur par défaut du système (sombre/clair).
+
+### WindowSetLightTheme
+
+Windows seulement.
+
+Go: `WindowSetLightTheme(ctx context.Context)` JS: `WindowSetLightTheme()`
+
+Définit le thème clair à la fenêtre.
+
+### WindowSetDarkTheme
+
+Windows seulement.
+
+Go: `WindowSetDarkTheme(ctx context.Context)` JS: `WindowSetDarkTheme()`
+
+Définit le thème sombre à la fenêtre.
+
+### WindowShow
+
+Affiche la fenêtre, si elle est actuellement masquée.
+
+Go: `WindowShow(ctx context.Context)` JS: `WindowShow()`
+
+### WindowHide
+
+Masque la fenêtre, si elle est actuellement visible.
+
+Go: `WindowHide(ctx context.Context)` JS: `WindowHide()`
+
+### WindowIsNormal
+
+Renvoie vrai si la fenêtre n'est pas minimisée, maximisée ou plein écran.
+
+Go: `WindowIsNormal(ctx context.Context) bool` JS: `WindowIsNormal() bool`
+
+### WindowSetSize
+
+Définit la largeur et la hauteur de la fenêtre.
+
+Go: `WindowSetSize(ctx context.Context, width int, height int)` JS: `WindowSetSize(size: Size)`
+
+### WindowGetSize
+
+Retourne la largeur et la hauteur de la fenêtre.
+
+Go: `WindowGetSize(ctx context.Context) (width int, height int)` JS: `WindowGetSize() : Size`
+
+### WindowSetMinSize
+
+Définit la taille minimale de la fenêtre. Redimensionnera la fenêtre si la fenêtre est actuellement plus petite que les dimensions données.
+
+Définir une taille de `0,0` désactivera cette contrainte.
+
+Go: `WindowSetMinSize(ctx context.Context, width int, height int)` JS: `WindowSetMinSize(size: Size)`
+
+### WindowSetMaxSize
+
+Définit la taille maximale de la fenêtre. Redimensionnera la fenêtre si la fenêtre est actuellement plus grande que les dimensions données.
+
+Définir une taille de `0,0` désactivera cette contrainte.
+
+Go: `WindowSetMaxSize(ctx context.Context, width int, height int)` JS: `WindowSetMaxSize(size: Size)`
+
+### WindowSetAlwaysOnTop
+
+Paramètre pour faire en sorte que la fenêtre soit toujours au dessus des autres ou non.
+
+Go: `WindowSetAlwaysOnTop(ctx context.Context, b bool)` JS: `WindowSetAlwaysOnTop(b: Boolen)`
+
+### WindowSetPosition
+
+Définit la position de la fenêtre par rapport au moniteur sur lequel la fenêtre est activée.
+
+Go: `WindowSetPosition(ctx context.Context, x int, y int)` JS: `WindowSetPosition(position: Position)`
+
+### WindowGetPosition
+
+Récupère la position de la fenêtre relative au moniteur sur lequel la fenêtre est activée.
+
+Go: `WindowGetPosition(ctx context.Context) (x int, y int)` JS: `WindowGetPosition() : Position`
+
+### WindowMaximiseWindowMaximise
+
+Maximise la fenêtre pour remplir l'écran.
+
+Go: `WindowMaximise(ctx context.Context)` JS: `WindowMaximise()`
+
+### WindowUnmaximise
+
+Restaure la fenêtre aux dimensions et à la position avant qu'elle soit maximisée.
+
+Go: `WindowUnmaximise(ctx context.Context)` JS: `WindowUnmaximise()`
+
+### WindowIsMaximised
+
+Renvoie vrai si la fenêtre est maximisée.
+
+Go: `WindowIsMaximised(ctx context.Context) bool` JS: `WindowIsMaximised() bool`
+
+### WindowToggleMaximise
+
+Option permettant de basculer entre la maximisation de la fenêtre et sa non maximisation.
+
+Go: `WindowToggleMaximise(ctx context.Context)` JS: `WindowToggleMaximise()`
+
+### WindowMinimise
+
+Minimise la fenêtre.
+
+Go: `WindowMinimise(ctx context.Context)` JS: `WindowMinimise()`
+
+### WindowUnminimise
+
+Restaure la fenêtre aux dimensions et à la position avant qu'elle soit minimisée.
+
+Go: `WindowUnminimise(ctx context.Context)` JS: `WindowUnminimise()`
+
+### WindowIsMinimised
+
+Renvoie vrai si la fenêtre est minimisée.
+
+Go: `WindowIsMinimised(ctx context.Context) bool` JS: `WindowIsMinimised() bool`
+
+### WindowSetBackgroundColour
+
+Définit la couleur de fond de la fenêtre avec la couleur RGBA donnée. Cette couleur sera visible au travers de tous les pixels transparents.
+
+Les valeurs valides pour R, G, B et A sont entre 0 et 255 inclus.
+
+:::info Windows
+
+Sous Windows, seules les valeurs 0 et 255 sont prises en charge pour A. Toute valeur qui n'est pas 0 sera considérée comme 255.
+
+:::
+
+Go: `WindowSetBackgroundColour(ctx context.Context, R, G, B, A uint8)` JS: `WindowSetBackgroundColour(R, G, B, A)`
+
+## Définitions d'objets TypeScript
+
+### Position
+
+```ts
+interface Position {
+ x: number;
+ y: number;
+}
+```
+
+### Size (taille)
+
+```ts
+interface Size {
+ w: number;
+ h: number;
+}
+```
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/dogsapi.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/dogsapi.mdx
new file mode 100644
index 00000000000..cb2b780b665
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/dogsapi.mdx
@@ -0,0 +1,245 @@
+---
+sidebar_position: 20
+---
+
+# API Chiens
+
+```mdx-code-block
+
+
+
+
+```
+
+:::note
+
+Ce tutoriel a été gracieusement fourni par [@tatadan](https://twitter.com/tatadan) et fait partie de leur [dépôt d'exemples Wails](https://github.com/tataDan/wails-v2-examples).
+
+:::
+
+Dans ce tutoriel, nous allons développer une application qui récupère des photos de chiens du web et les affiche.
+
+### Créer le projet
+
+Créons l'application. Depuis un terminal saisissez : `wails init -n dogs-api -t svelte`
+
+Note: Nous pouvons ajouter l'une des options suivantes `-ide vscode` ou `-ide goland` à la fin de la commande si vous voulez ajouter le support d'un IDE.
+
+Maintenant, exécutons `cd dogs-api` et commençons à éditer les fichiers du projet.
+
+### Retirer le code inutilisé
+
+Nous allons commencer par supprimer certains éléments que nous savons que nous n'utiliserons pas :
+
+- Ouvrez `app.go` et supprimez les lignes suivantes :
+
+```go
+// Greet returns a greeting for the given name
+func (a *App) Greet(name string) string {
+ return fmt.Sprintf("Hello %s, It's show time!", name)
+}
+```
+
+- Ouvrez `frontend/src/App.svelte` et supprimez toutes les lignes.
+- Supprimer le fichier `frontend/src/assets/images/logo-universal.png`
+
+### Créer notre application
+
+Ajoutons maintenant notre nouveau code Go.
+
+Ajoutez les déclarations struct suivantes dans `app.go` avant la déclaration des fonctions:
+
+```go
+type RandomImage struct {
+ Message string
+ Status string
+}
+
+type AllBreeds struct {
+ Message map[string]map[string][]string
+ Status string
+}
+
+type ImagesByBreed struct {
+ Message []string
+ Status string
+}
+```
+
+Ajouter les fonctions suivantes dans `app.go` (après la déclaration de la fonction déjà existante):
+
+```go
+func (a *App) GetRandomImageUrl() string {
+ response, err := http.Get("https://dog.ceo/api/breeds/image/random")
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ responseData, err := ioutil.ReadAll(response.Body)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ var data RandomImage
+ json.Unmarshal(responseData, &data)
+
+ return data.Message
+}
+
+func (a *App) GetBreedList() []string {
+ var breeds []string
+
+ response, err := http.Get("https://dog.ceo/api/breeds/list/all")
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ responseData, err := ioutil.ReadAll(response.Body)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ var data AllBreeds
+ json.Unmarshal(responseData, &data)
+
+ for k := range data.Message {
+ breeds = append(breeds, k)
+ }
+
+ sort.Strings(breeds)
+
+ return breeds
+}
+
+func (a *App) GetImageUrlsByBreed(breed string) []string {
+
+ url := fmt.Sprintf("%s%s%s%s", "https://dog.ceo/api/", "breed/", breed, "/images")
+ response, err := http.Get(url)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ responseData, err := ioutil.ReadAll(response.Body)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ var data ImagesByBreed
+ json.Unmarshal(responseData, &data)
+
+ return data.Message
+}
+```
+
+Modifiez la section `import` de `app.go` pour ressembler à ceci :
+
+```go
+import (
+ "context"
+ "fmt"
+ "encoding/json"
+ "io/ioutil"
+ "log"
+ "net/http"
+ "sort"
+)
+```
+
+Ajouter les lignes suivantes dans `frontend/src/App.svelte`:
+
+
+```html
+
+
+
Dogs API
+
+
+ Click on down arrow to select a breed
+
+
+
+
+{#if showRandomPhoto}
+
+{/if}
+{#if showBreedPhotos}
+ {#each photos as photo}
+
+ {/each}
+{/if}
+
+
+```
+
+
+### Tester l'application
+
+Pour générer les liaisons et tester l'application, exécutez `wails dev`.
+
+### Compiler l'application
+
+Pour compiler l'application en un seul binaire, exécutez `wails build`.
diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/helloworld.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/helloworld.mdx
new file mode 100644
index 00000000000..8618dbef87f
--- /dev/null
+++ b/website/i18n/fr/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/helloworld.mdx
@@ -0,0 +1,122 @@
+---
+sidebar_position: 10
+---
+
+# Hello World
+
+Le but de ce tutoriel est de vous faire créer l'application la plus basique en utilisant Wails. Vous serez capables de :
+
+- Créer une nouvelle application Wails
+- Compiler l'application
+- Démarrer l'application
+
+:::note
+
+Ce tutoriel utilise Windows comme plate-forme cible. La sortie variera légèrement selon votre système d'exploitation.
+
+:::
+
+## Créer une nouvelle application Wails
+
+Pour créer une nouvelle application Wails utilisant le template Vanilla JS par défaut, vous devez exécuter la commande suivante :
+
+```bash
+wails init -n helloworld
+```
+
+Vous devriez voir quelque chose de similaire à ce qui suit :
+
+```
+Wails CLI v2.0.0
+
+Initialising Project 'helloworld'
+---------------------------------
+
+Project Name: helloworld
+Project Directory: C:\Users\leaan\tutorial\helloworld
+Project Template: vanilla
+Template Support: https://wails.io
+
+Initialised project 'helloworld' in 232ms.
+```
+
+Cela va créer un nouveau dossier nommé `helloworld` dans le dossier actuel. Dans ce dossier, vous trouverez un certain nombre de fichiers :
+
+```
+build/ - Contains the build files + compiled application
+frontend/ - Contains the frontend files
+app.go - Contains the application code
+main.go - The main program with the application configuration
+wails.json - The project configuration file
+go.mod - The go module file
+go.sum - The go module checksum file
+```
+
+## Compiler l'application
+
+Pour compiler l'application, déplacez-vous dans le dossier du nouveau projet `helloworld` et exécutez la commande suivante :
+
+```bash
+wails build
+```
+
+Vous devriez voir quelque chose comme ça :
+
+```
+Wails CLI v2.0.0
+
+App Type: desktop
+Platforms: windows/amd64
+Compiler: C:\Users\leaan\go\go1.18.3\bin\go.exe
+Build Mode: Production
+Skip Frontend: false
+Compress: false
+Package: true
+Clean Build Dir: false
+LDFlags: ""
+Tags: []
+Race Detector: false
+
+Building target: windows/amd64
+------------------------------
+ - Installing frontend dependencies: Done.
+ - Compiling frontend: Done.
+ - Generating bundle assets: Done.
+ - Compiling application: Done.
+Built 'C:\Users\leaan\tutorial\helloworld\build\bin\helloworld.exe' in 10.616s.
+```
+
+Cela a compilé l'application et l'a enregistré dans le dossier `build/bin`.
+
+## Démarrer l'application
+
+Si on voit le dossier `build/bin` dans l'explorateur Windows, nous devrions voir le binaire de notre projet :
+
+```mdx-code-block
+
+
+
+
+```
+
+On peut l'exécuter en simplement double-cliquant sur le fichier `helloworld.exe`.
+
+Sur Max, Wails va générer un fichier `helloworld.app` qui peut être exécuté en simplement double-cliquant dessus.
+
+Sur Linux, vous pouvez exécuter l'application en utilisant `./helloworld` depuis le répertoire `build/bin`.
+
+Vous devriez voir l'application fonctionner comme prévu :
+
+```mdx-code-block
+
+
+
+
+```
diff --git a/website/versioned_docs/version-v2.3.1/appendix/_category_.json b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/appendix/_category_.json
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/appendix/_category_.json
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/appendix/_category_.json
diff --git a/website/versioned_docs/version-v2.3.1/community/_category_.json b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/_category_.json
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/community/_category_.json
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/_category_.json
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/links.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/links.mdx
new file mode 100644
index 00000000000..b7b80b83939
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/links.mdx
@@ -0,0 +1,26 @@
+---
+sidebar_position: 2
+---
+
+# リンク
+
+このページは、コミュニティ関連のリンクの一覧です。 リンクを追加したい場合は、プルリクエストを送信(ページ下部の`このページを編集`をクリック) してください。
+
+## Awesome Wails
+
+Wailsに関する[最高のリンク一覧](https://github.com/wailsapp/awesome-wails)です。
+
+## サポートチャネル
+
+- [Wails Discordサーバ](https://discord.gg/JDdSxwjhGf)
+- [Github Issues](https://github.com/wailsapp/wails/issues)
+- [v2ベータディスカッションボード](https://github.com/wailsapp/wails/discussions/828)
+
+## ソーシャルメディア
+
+- [Twitter](https://twitter.com/wailsapp)
+- [Wails中国語コミュニティQQグループ](https://qm.qq.com/cgi-bin/qm/qr?k=PmIURne5hFGNd7QWzW5qd6FV-INEjNJv&jump_from=webapi) - グループナンバー: 1067173054
+
+## その他のチュートリアルや記事
+
+- [掲示板を作ってみる](https://blog.customct.com/building-bulletin-board)
diff --git a/website/versioned_docs/version-v2.3.1/community/showcase/_category_.json b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/_category_.json
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/community/showcase/_category_.json
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/_category_.json
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/bulletinboard.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/bulletinboard.mdx
new file mode 100644
index 00000000000..7cf3d52b5a6
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/bulletinboard.mdx
@@ -0,0 +1,10 @@
+# BulletinBoard
+
+```mdx-code-block
+
+```
+
+[FileHound Export Utility](https://www.filehound.co.uk/) FileHound is a cloud document management platform made for secure file retention, business process automation and SmartCapture capabilities.
+
+The FileHound Export Utility allows FileHound Administrators the ability to run a secure document and data extraction tasks for alternative back-up and recovery purposes. This application will download all documents and/or meta data saved in FileHound based on the filters you choose. The metadata will be exported in both JSON and XML formats.
+
+Backend built with: 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
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/hiposter.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/hiposter.mdx
new file mode 100644
index 00000000000..87e5837d32f
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/hiposter.mdx
@@ -0,0 +1,10 @@
+# hiposter
+
+```mdx-code-block
+
+
+
+
+```
+
+[hiposter](https://github.com/obity/hiposter) is a simple and efficient http API testing client tool. Based on Wails, Go and sveltejs.
diff --git a/website/versioned_docs/version-v2.3.1/community/showcase/minecraftupdater.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/minecraftupdater.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/community/showcase/minecraftupdater.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/minecraftupdater.mdx
diff --git a/website/versioned_docs/version-v2.3.1/community/showcase/modalfilemanager.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/modalfilemanager.mdx
similarity index 74%
rename from website/versioned_docs/version-v2.3.1/community/showcase/modalfilemanager.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/modalfilemanager.mdx
index f8e2bcd6645..bcd21239607 100644
--- a/website/versioned_docs/version-v2.3.1/community/showcase/modalfilemanager.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/modalfilemanager.mdx
@@ -9,6 +9,6 @@
```
-[Modal File Manager](https://github.com/raguay/ModalFileManager) is a dual pane file manager using web technologies. My original design was based on NW.js and can be found [here](https://github.com/raguay/ModalFileManager-NWjs). This version uses the same Svelte based frontend code (but it has be greatly modified since the departure from NW.js), but the backend is a [Wails 2](https://wails.io/) implementation. By using this implementation, I no longer use command line `rm`, `cp`, etc. commands. It is fully coded using Go and runs much faster than the previous versions.
+[Modal File Manager](https://github.com/raguay/ModalFileManager) is a dual pane file manager using web technologies. My original design was based on NW.js and can be found [here](https://github.com/raguay/ModalFileManager-NWjs). This version uses the same Svelte based frontend code (but it has be greatly modified since the departure from NW.js), but the backend is a [Wails 2](https://wails.io/) implementation. 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. It is fully coded using Go and runs much faster than the previous versions.
-This file manager is designed around the same principle as Vim: a state controlled keyboard actions. The number of states isn't fixed, but very programmable. Therefore, an infinite number of keyboard configurations can be created and used. This is the main difference from other file managers.
+This file manager is designed around the same principle as Vim: a state controlled keyboard actions. The number of states isn't fixed, but very programmable. Therefore, an infinite number of keyboard configurations can be created and used. This is the main difference from other file managers. There are themes and extensions available to download from GitHub.
diff --git a/website/versioned_docs/version-v2.3.1/community/showcase/mollywallet.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/mollywallet.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/community/showcase/mollywallet.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/mollywallet.mdx
diff --git a/website/versioned_docs/version-v2.3.1/community/showcase/october.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/october.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/community/showcase/october.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/october.mdx
diff --git a/website/versioned_docs/version-v2.3.1/community/showcase/optimus.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/optimus.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/community/showcase/optimus.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/optimus.mdx
diff --git a/website/versioned_docs/version-v2.3.1/community/showcase/portfall.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/portfall.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/community/showcase/portfall.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/portfall.mdx
diff --git a/website/versioned_docs/version-v2.3.1/community/showcase/restic-browser.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/restic-browser.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/community/showcase/restic-browser.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/restic-browser.mdx
diff --git a/website/versioned_docs/version-v2.3.1/community/showcase/riftshare.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/riftshare.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/community/showcase/riftshare.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/riftshare.mdx
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/scriptbar.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/scriptbar.mdx
new file mode 100644
index 00000000000..3e41eb32abf
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/scriptbar.mdx
@@ -0,0 +1,10 @@
+# ScriptBar
+
+```mdx-code-block
+
+
+
+
+```
+
+[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. It also displays the output of scripts on your system. ScriptBar doesn't put them in the menubar, but has them all in a convient window for easy viewing. You can have multiple tabs to have many different things show. You can also keep the links to your most visited web sites.
diff --git a/website/versioned_docs/version-v2.3.1/community/showcase/surge.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/surge.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/community/showcase/surge.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/surge.mdx
diff --git a/website/versioned_docs/version-v2.3.1/community/showcase/wally.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wally.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/community/showcase/wally.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wally.mdx
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/warmine.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/warmine.mdx
new file mode 100644
index 00000000000..950dc3f3db1
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/warmine.mdx
@@ -0,0 +1,19 @@
+# Minecraft launcher for 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.
+
+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.
+
+Frontend is written in Svelte, whole launcher fits in 9MB and supports Windows 7-11.
diff --git a/website/versioned_docs/version-v2.3.1/community/showcase/wombat.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wombat.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/community/showcase/wombat.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wombat.mdx
diff --git a/website/versioned_docs/version-v2.3.1/community/showcase/ytd.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/ytd.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/community/showcase/ytd.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/ytd.mdx
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/templates.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/templates.mdx
new file mode 100644
index 00000000000..7baf3ecd566
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/community/templates.mdx
@@ -0,0 +1,63 @@
+---
+sidebar_position: 1
+---
+
+# テンプレート
+
+このページでは、コミュニティがサポートしているテンプレートを紹介しています。 このページに新たにテンプレートを含めたい場合は、このページの下側にある`このページを編集`をクリックして、プルリクエストを出してください。 独自テンプレートの作成方法については、[テンプレート](../guides/templates.mdx)ガイドをご覧ください。
+
+これらのテンプレートを使用するには、`wails init -n "プロジェクト名" -t [テンプレートのリンク[@バージョン]]`コマンドを実行してください。
+
+バージョンサフィックスが無い場合は、デフォルトで、メインブランチのコードテンプレートが使用されます。 バージョンサフィックスがある場合は、当該バージョンのタグに対応するコードテンプレートが使用されます。
+
+例: `wails init -n "プロジェクト名" -t https://github.com/misitebao/wails-template-vue`
+
+:::warning 注意
+
+**Wailsプロジェクトでは、サードパーティ製テンプレートのメンテナンスは行っておらず、責任も負いません!**
+
+テンプレートについてよく分からない場合は、`package.json`および`wails.json`を確認し、どのようなスクリプトが実行されるのかや、どのようなパッケージがインストールされるのかを調べてください。
+
+:::
+
+## Vue
+
+- [wails-template-vue](https://github.com/misitebao/wails-template-vue) - VueのエコシステムをベースにしたWailsテンプレート (TypeScript、ダークテーマ、i18n、シングルページルーティング、TailwindCSSを統合)
+- [wails-vite-vue-ts](https://github.com/codydbentley/wails-vite-vue-ts) - Viteを使用したVue 3 TypeScript (および機能を追加する手順)
+- [wails-vite-vue-the-works](https://github.com/codydbentley/wails-vite-vue-the-works) - Vite、Vuex、Vue Router、SaaS、ESLint + Prettier を使用した Vue 3 TypeScript
+- [wails-template-quasar-js](https://github.com/sgosiaco/wails-template-quasar-js) - JavaScript + Quasar V2 (Vue 3, Vite, Sass, Pinia, ESLint, Prettier) を使用したテンプレート
+- [wails-template-quasar-ts](https://github.com/sgosiaco/wails-template-quasar-ts) - TypeScript + Quasar V2 (Vue 3, Vite, Sass, Pinia, ESLint, Prettier, <script setup>によるComposition API) を使用したテンプレート
+- [wails-template-naive](https://github.com/tk103331/wails-template-naive) - Naive UI(Vue3のコンポーネントライブラリ)をベースにしたWailsテンプレート
+
+## Angular
+
+- [wails-template-angular](https://github.com/mateothegreat/wails-template-angular) - Angular 15+ action packed & ready to roll to production.
+- [wails-angular-template](https://github.com/TAINCER/wails-angular-template) - TypeScript、Sass、ホットリロード、コード分割、i18n を使用した Angular
+
+## React
+
+- [wails-react-template](https://github.com/AlienRecall/wails-react-template) - reactjsを使用したテンプレート
+- [wails-react-template](https://github.com/flin7/wails-react-template) - ライブ開発をサポートしたReactの最小テンプレート
+- [wails-template-nextjs](https://github.com/LGiki/wails-template-nextjs) - Next.js、TypeScript を使用したテンプレート
+- [wails-vite-react-ts-tailwind-template](https://github.com/hotafrika/wails-vite-react-ts-tailwind-template) - React + TypeScript + Vite + TailwindCSSを使用したテンプレート
+
+## Svelte
+
+- [wails-svelte-template](https://github.com/raitonoberu/wails-svelte-template) - Svelteを使用したテンプレート
+- [wails-vite-svelte-template](https://github.com/BillBuilt/wails-vite-svelte-template) - SvelteおよびViteを使用したテンプレート
+- [wails-vite-svelte-tailwind-template](https://github.com/BillBuilt/wails-vite-svelte-tailwind-template) - TailwindCSS v3を含んだ、SvelteおよびViteを使用したテンプレート
+- [wails-sveltekit-template](https://github.com/h8gi/wails-sveltekit-template) - SvelteKitを使用したテンプレート
+
+## Solid
+
+- [wails-template-vite-solid-ts](https://github.com/xijaja/wails-template-solid-ts) - Solid + Ts + Viteを使用したテンプレート
+- [wails-template-vite-solid-js](https://github.com/xijaja/wails-template-solid-js) - Solid + Js + Viteを使用したテンプレート
+
+## Elm
+
+- [wails-elm-template](https://github.com/benjamin-thomas/wails-elm-template) - 関数型プログラミングと**高速な**ホットリロードを使ったGUIアプリ開発 :tada: :rocket:
+- [wails-template-elm-tailwind](https://github.com/rnice01/wails-template-elm-tailwind) - Elm + Tailwind CSS + Wailsのパワー:muscle:を組み合わせたテンプレート (ホットリロードサポートあり)
+
+## ピュアJavaScript (バニラ)
+
+- [wails-pure-js-template](https://github.com/KiddoV/wails-pure-js-template) - 基本的なJavaScript、HTML、CSSのみを含むテンプレート
diff --git a/website/versioned_docs/version-v2.3.1/gettingstarted/_category_.json b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/_category_.json
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/gettingstarted/_category_.json
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/_category_.json
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/building.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/building.mdx
new file mode 100644
index 00000000000..dfab958b4e8
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/building.mdx
@@ -0,0 +1,22 @@
+---
+sidebar_position: 6
+---
+
+# プロジェクトのコンパイル
+
+プロジェクトディレクトリ上で、`wails build`コマンドを実行しましょう。 そうすることで、プロジェクトがコンパイルされ、`build/bin`ディレクトリ内に本番配布用のバイナリが出力されます。
+
+バイナリを起動すると、デフォルト仕様のアプリを確認することができます:
+
+```mdx-code-block
+
+
+```
+
+### Linux
+
+[Linux固有のオプション](#linux)を定義します。
+
+名前: Linux データ型: `*linux.Options`
+
+#### Icon
+
+ウィンドウを示すアイコンを設定します。 このアイコンは、ウィンドウが最小化されたときに使用されます(iconifiedと呼ばれます)。
+
+名前: Icon データ型: `[]byte`
+
+一部のウィンドウマネージャやデスクトップ環境では、ウィンドウフレームに配置されたり、他のコンテキストで表示される場合もあります。 反対に、環境によっては全くアイコンが使用されないこともありますのでご注意ください。
+
+注意: 少なくともWayland上のGnomeでは、このアイコンは表示されません。 アプリケーションアイコンを表示させるには、`.desktop`ファイルを使用する必要があります。 KDEの場合は正常に表示されるはずです。
+
+アイコンは、何の加工もされていないサイズで用意してください。つまり、拡大/縮小された画像は使用しないでください。 最高品質を確保するために、拡大/縮小は、最終的な目的サイズがはっきりするまで待ってください。
+
+#### WindowIsTranslucent
+
+この値を`true`に設定すると、ウィンドウの背景が半透明になります。 ウィンドウマネージャによっては、この設定を無視したり、ブラックウィンドウになる場合があります。
+
+名前: WindowIsTranslucent データ型: `bool`
+
+#### WebviewGpuPolicy
+
+このオプションでは、webviewのハードウェアアクセラレーションポリシーを指定することができます。
+
+名前: WebviewGpuPolicy データ型: [`options.WebviewGpuPolicy`](#webviewgpupolicy-type) デフォルト値: `WebviewGpuPolicyAlways`
+
+##### WebviewGpuPolicy型
+
+| 値 | 説明 |
+| ------------------------ | --------------------------------------------- |
+| WebviewGpuPolicyAlways | ハードウェアアクセラレーションを常に有効にする |
+| WebviewGpuPolicyOnDemand | Webコンテンツからの要求に応じて、ハードウェアアクセラレーションの有効/無効を切り替える |
+| WebviewGpuPolicyNever | ハードウェアアクセラレーションを常に無効にする |
+
+### Debug
+
+デバッグビルド時に適用される[デバッグ固有のオプション](#Debug)を定義します。
+
+名前: Debug データ型: `options.Debug`
+
+#### OpenInspectorOnStartup
+
+このオプションを`true`に設定すると、アプリケーション起動時にWeb開発者ツールが表示されます。
+
+名前: OpenInspectorOnStartup データ型: `bool`
+
+[^1]: この機能の動作には、WebKit2GTK 2.36以上が必要となるため、機能を確実に対応させたい場合は、アプリビルド時にビルドタグ`webkit2_36`を付与してください。 これにより、アプリに必要なWebKit2GTKの最小バージョン要件が2.36に引き上げられます。
+[^2]: この機能の動作には、WebKit2GTK 2.40以上が必要となるため、機能を確実に対応させたい場合は、アプリビルド時にビルドタグ`webkit2_40`を付与してください。 これにより、アプリに必要なWebKit2GTKの最小バージョン要件が2.40に引き上げられます。
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/reference/project-config.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/reference/project-config.mdx
new file mode 100644
index 00000000000..f768d1c4795
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/reference/project-config.mdx
@@ -0,0 +1,91 @@
+---
+sidebar_position: 5
+---
+
+# プロジェクト構成
+
+プロジェクト構成は、プロジェクトディレクトリ内の`wails.json`ファイルで設定します。 ファイルの構造は次のとおりです:
+
+```json
+{
+ // Project config version
+ "version": "",
+ // The project name
+ "name": "",
+ // Relative path to the directory containing the compiled assets, this is normally inferred and could be left empty
+ "assetdir": "",
+ // Additional directories to trigger reloads (comma separated), this is only used for some advanced asset configurations
+ "reloaddirs": "",
+ // The directory where the build files reside. Defaults to 'build'
+ "build:dir": "",
+ // Relative path to the frontend directory. Defaults to 'frontend'
+ "frontend:dir": "",
+ // The command to install node dependencies, run in the frontend directory - often `npm install`
+ "frontend:install": "",
+ // The command to build the assets, run in the frontend directory - often `npm run build`
+ "frontend:build": "",
+ // This command has been replaced by frontend:dev:build. If frontend:dev:build is not specified will falls back to this command. \nIf this command is also not specified will falls back to frontend:build
+ "frontend:dev": "",
+ // This command is the dev equivalent of frontend:build. If not specified falls back to frontend:dev
+ "frontend:dev:build": "",
+ // This command is the dev equivalent of frontend:install. If not specified falls back to frontend:install
+ "frontend:dev:install": "",
+ // This command is run in a separate process on `wails dev`. Useful for 3rd party watchers or starting 3d party dev servers
+ "frontend:dev:watcher": "",
+ // URL to a 3rd party dev server to be used to serve assets, EG Vite. \nIf this is set to 'auto' then the devServerUrl will be inferred from the Vite output
+ "frontend:dev:serverUrl": "",
+ // Relative path to the directory that the auto-generated JS modules will be created
+ "wailsjsdir": "",
+ // The name of the binary
+ "outputfilename": "",
+ // The default time the dev server waits to reload when it detects a change in assets
+ "debounceMS": 100,
+ // Address to bind the wails dev sever to. Default: localhost:34115
+ "devServer": "",
+ // Arguments passed to the application in shell style when in dev mode
+ "appargs": "",
+ // Defines if build hooks should be run though they are defined for an OS other than the host OS.
+ "runNonNativeBuildHooks": false,
+ "preBuildHooks": {
+ // The command that will be executed before a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.
+ "GOOS/GOARCH": "",
+ // The command that will be executed before a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/*" hook is executed before the "*/*" hook.
+ "GOOS/*": "",
+ // The command that will be executed before every build: ${platform} is replaced with the "GOOS/GOARCH".
+ "*/*": ""
+ },
+ "postBuildHooks": {
+ // The command that will be executed after a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.
+ "GOOS/GOARCH": "",
+ // The command that will be executed after a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/*" hook is executed before the "*/*" hook.
+ "GOOS/*": "",
+ // The command that will be executed after every build: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary.
+ "*/*": ""
+ },
+ // Data used to populate manifests and version info.
+ "info": {
+ // The company name. Default: [The project name]
+ "companyName": "",
+ // The product name. Default: [The project name]
+ "productName": "",
+ // The version of the product. Default: '1.0.0'
+ "productVersion": "",
+ // The copyright of the product. Default: 'Copyright.........'
+ "copyright": "",
+ // A short comment of the app. Default: 'Built using Wails (https://wails.app)'
+ "comments": ""
+ },
+ // 'multiple': One installer per architecture. 'single': Single universal installer for all architectures being built. Default: 'multiple'
+ "nsisType": "",
+ // Whether the app should be obfuscated. Default: false
+ "obfuscated": "",
+ // The arguments to pass to the garble command when using the obfuscated flag
+ "garbleargs": ""
+}
+```
+
+このファイルは、Wails CLIで `wails build` コマンドまたは `wails dev` コマンドを実行した際に読み込まれます。
+
+`wails build/dev` コマンドを実行時に、`assetdir`、`reloaddirs`、`wailsjsdir`、`debounceMS`、`devserver`、`frontenddevserverurl`フラグを使用すると、プロジェクト構成が更新され、次回以降コマンドを実行する際のデフォルト値となります。
+
+このファイルのJSONスキーマは、[こちら](https://wails.io/schemas/config.v2.json)にあります。
diff --git a/website/versioned_docs/version-v2.3.1/reference/runtime/_category_.json b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/_category_.json
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/reference/runtime/_category_.json
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/_category_.json
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/browser.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/browser.mdx
new file mode 100644
index 00000000000..9e146a3da00
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/browser.mdx
@@ -0,0 +1,13 @@
+---
+sidebar_position: 7
+---
+
+# ブラウザ
+
+これらは、システムブラウザに関連したメソッドです。
+
+### BrowserOpenURL
+
+指定されたURLをシステムブラウザで開きます。
+
+Go: `BrowserOpenURL(ctx context.Context, url string)` JS: `BrowserOpenURL(url string)`
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/clipboard.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/clipboard.mdx
new file mode 100644
index 00000000000..9e632294ba2
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/clipboard.mdx
@@ -0,0 +1,23 @@
+---
+sidebar_position: 8
+---
+
+# クリップボード
+
+ランタイム機能の一部として、オペレーティングシステムのクリップボードへのアクセスを提供します。 現在は、テキストの処理のみに対応しています。
+
+### ClipboardGetText
+
+このメソッドは、クリップボードに現在保存されているテキストを読み込みます。
+
+Go: `ClipboardGetText(ctx context.Context) (string, error)` 返り値: 文字列(クリップボードが空の場合は、空文字)またはエラー。
+
+JS: `ClipboardGetText(): Promise` 返り値: 文字列を待機するPromise(クリップボードが空の場合は、空文字)。
+
+### ClipboardSetText
+
+このメソッドは、クリップボードにテキストを書き込みます。
+
+Go: `ClipboardSetText(ctx context.Context, text string) error` 返り値: anyの場合はエラー。
+
+JS: `ClipboardSetText(text: string): Promise` 返り値: クリップボードにテキストが正常に書き込まれた場合はtrue、そうでない場合はfalseを返すようなPromise。
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/dialog.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/dialog.mdx
new file mode 100644
index 00000000000..721ba5f31d4
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/dialog.mdx
@@ -0,0 +1,302 @@
+---
+sidebar_position: 5
+---
+
+# ダイアログ
+
+ランタイムでは、ファイルセレクターやメッセージボックスといったネイティブダイアログへのアクセスを提供しています。
+
+:::info JavaScript
+
+現在、Javascriptランタイムではダイアログをサポートしていません。
+
+:::
+
+### OpenDirectoryDialog
+
+ユーザにディレクトリの選択を求めるダイアログを開きます。 [OpenDialogOptions](#opendialogoptions)を使用してカスタマイズできます。
+
+Go: `OpenDirectoryDialog(ctx context.Context, dialogOptions OpenDialogOptions) (string, error)`
+
+返り値: 選択されたディレクトリ(キャンセルされた場合は空) またはエラー
+
+### OpenFileDialog
+
+ユーザにファイルの選択を求めるダイアログを開きます。 [OpenDialogOptions](#opendialogoptions)を使用してカスタマイズできます。
+
+Go: `OpenFileDialog(ctx context.Context, dialogOptions OpenDialogOptions) (string, error)`
+
+返り値: 選択されたファイル(キャンセルされた場合は空) またはエラー
+
+### OpenMultipleFilesDialog
+
+ユーザに複数ファイルの選択を求めるダイアログを開きます。 [OpenDialogOptions](#opendialogoptions)を使用してカスタマイズできます。
+
+Go: `OpenMultipleFilesDialog(ctx context.Context, dialogOptions OpenDialogOptions) ([]string, error)`
+
+返り値: 選択された複数ファイル(キャンセルされた場合はnil) またはエラー
+
+### SaveFileDialog
+
+保存の目的でユーザにファイル名を入力選択させるダイアログを開きます。 [SaveDialogOptions](#savedialogoptions)を使用してカスタマイズできます。
+
+Go: `SaveFileDialog(ctx context.Context, dialogOptions SaveDialogOptions) (string, error)`
+
+返り値: 入力選択されたファイル(キャンセルされた場合は空) またはエラー
+
+### MessageDialog
+
+メッセージダイアログを使用してメッセージを表示します。 [MessageDialogOptions](#messagedialogoptions)を使用してカスタマイズできます。
+
+Go: `MessageDialog(ctx context.Context, dialogOptions MessageDialogOptions) (string, error)`
+
+返り値: 選択されたボタンのテキストまたはエラー
+
+## オプション
+
+### OpenDialogOptions
+
+```go
+type OpenDialogOptions struct {
+ DefaultDirectory string
+ DefaultFilename string
+ Title string
+ Filters []FileFilter
+ ShowHiddenFiles bool
+ CanCreateDirectories bool
+ ResolvesAliases bool
+ TreatPackagesAsDirectories bool
+}
+```
+
+| フィールド | 説明 | Win | Mac | Lin |
+| -------------------------- | ------------------------- | --- | --- | --- |
+| DefaultDirectory | ダイアログが開かれたときに初期表示するディレクトリ | ✅ | ✅ | ✅ |
+| DefaultFilename | デフォルトファイル名 | ✅ | ✅ | ✅ |
+| Title | ダイアログのタイトル | ✅ | ✅ | ✅ |
+| [Filters](#filefilter) | ファイルフィルタのリスト | ✅ | ✅ | ✅ |
+| ShowHiddenFiles | システムの隠しファイルを表示 | | ✅ | ✅ |
+| CanCreateDirectories | ユーザによるディレクトリの作成を許可する | | ✅ | |
+| ResolvesAliases | エイリアスではなくファイルパスを返す | | ✅ | |
+| TreatPackagesAsDirectories | パッケージへのナビゲーションを許可 | | ✅ | |
+
+### SaveDialogOptions
+
+```go
+type SaveDialogOptions struct {
+ DefaultDirectory string
+ DefaultFilename string
+ Title string
+ Filters []FileFilter
+ ShowHiddenFiles bool
+ CanCreateDirectories bool
+ TreatPackagesAsDirectories bool
+}
+```
+
+| フィールド | 説明 | Win | Mac | Lin |
+| -------------------------- | ------------------------- | --- | --- | --- |
+| DefaultDirectory | ダイアログが開かれたときに初期表示するディレクトリ | ✅ | ✅ | ✅ |
+| DefaultFilename | デフォルトファイル名 | ✅ | ✅ | ✅ |
+| Title | ダイアログのタイトル | ✅ | ✅ | ✅ |
+| [Filters](#filefilter) | ファイルフィルタのリスト | ✅ | ✅ | ✅ |
+| ShowHiddenFiles | システムの隠しファイルを表示 | | ✅ | ✅ |
+| CanCreateDirectories | ユーザによるディレクトリの作成を許可する | | ✅ | |
+| TreatPackagesAsDirectories | パッケージへのナビゲーションを許可 | | ✅ | |
+
+### MessageDialogOptions
+
+```go
+type MessageDialogOptions struct {
+ Type DialogType
+ Title string
+ Message string
+ Buttons []string
+ DefaultButton string
+ CancelButton string
+}
+```
+
+| フィールド | 説明 | Win | Mac | Lin |
+| ------------- | ------------------------------------------------- | -------------- | --- | --- |
+| Type | メッセージダイアログの種類 (質問、情報など) | ✅ | ✅ | ✅ |
+| Title | ダイアログのタイトル | ✅ | ✅ | ✅ |
+| Message | ユーザに表示するメッセージ | ✅ | ✅ | ✅ |
+| Buttons | ボタンテキストのリスト | | ✅ | |
+| DefaultButton | 指定されたテキストのボタンをデフォルトボタンとして扱う。 `return`キーにバインドされます。 | ✅[*](#windows) | ✅ | |
+| CancelButton | 指定されたテキストのボタンをキャンセルボタンとして扱う。 `escape`キーにバインドされます。 | | ✅ | |
+
+#### Windows
+
+Windowsでは、ボタンのカスタマイズができない標準ダイアログタイプがあります。 返却される値は次のいずれかとなります: "Ok"、"Cancel"、"Abort"、"Retry"、"Ignore"、"Yes"、"No"、"Try Again"、"Continue"。
+
+質問ダイアログの場合、デフォルトボタンは"Yes"、キャンセルボタンは"No"となります。 この設定は、`DefaultButton`の値を`"No"`にすることで、変更できます。
+
+例:
+```go
+ result, err := runtime.MessageDialog(a.ctx, runtime.MessageDialogOptions{
+ Type: runtime.QuestionDialog,
+ Title: "Question",
+ Message: "Do you want to continue?",
+ DefaultButton: "No",
+ })
+```
+
+#### Linux
+
+Linuxでは、ボタンのカスタマイズができない標準ダイアログタイプがあります。 返り値は次のいずれかになります: "Ok"、"Cancel"、"Yes"、"No"
+
+#### Mac
+
+Macのメッセージダイアログでは、最大4つまでのボタンを指定できます。 `DefaultButton`や`CancelButton`が指定されていない場合、1番目のボタンがデフォルトボタンとして扱われ、`return`キーにバインドされます。
+
+例えば次のようなコードの場合:
+
+```go
+selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
+ Title: "It's your turn!",
+ Message: "Select a number",
+ Buttons: []string{"one", "two", "three", "four"},
+})
+```
+
+1番目のボタンがデフォルトになります:
+
+```mdx-code-block
+
+
+```
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/links.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/links.mdx
new file mode 100644
index 00000000000..e36a6edfe8c
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/links.mdx
@@ -0,0 +1,26 @@
+---
+sidebar_position: 2
+---
+
+# Links
+
+This page serves as a list for community related links. Please submit a PR (click `Edit this page` at the bottom) to submit links.
+
+## Awesome Wails
+
+The [definitive list](https://github.com/wailsapp/awesome-wails) of links related to Wails.
+
+## Support Channels
+
+- [Wails Discord Server](https://discord.gg/JDdSxwjhGf)
+- [Github Issues](https://github.com/wailsapp/wails/issues)
+- [v2 Beta Discussion Board](https://github.com/wailsapp/wails/discussions/828)
+
+## Social Media
+
+- [Twitter](https://twitter.com/wailsapp)
+- [Wails Chinese Community QQ Group](https://qm.qq.com/cgi-bin/qm/qr?k=PmIURne5hFGNd7QWzW5qd6FV-INEjNJv&jump_from=webapi) - Group number: 1067173054
+
+## Other Tutorials and Articles
+
+- [Building of Bulletin Board](https://blog.customct.com/building-bulletin-board)
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/bulletinboard.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/bulletinboard.mdx
new file mode 100644
index 00000000000..37be75135ed
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/bulletinboard.mdx
@@ -0,0 +1,10 @@
+# BulletinBoard
+
+```mdx-code-block
+
+
+
+
+```
+
+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).
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/emailit.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/emailit.mdx
new file mode 100644
index 00000000000..c1817b70fff
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/emailit.mdx
@@ -0,0 +1,10 @@
+# EmailIt
+
+```mdx-code-block
+
+
+
+
+```
+
+[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.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/encrypteasy.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/encrypteasy.mdx
new file mode 100644
index 00000000000..4c8cac235a3
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/encrypteasy.mdx
@@ -0,0 +1,12 @@
+# EncryptEasy
+
+```mdx-code-block
+
+
+
+
+```
+
+**[EncryptEasy](https://www.encrypteasy.app)는 간단하고 사용하기 쉬운 PGP 암호화 도구로 모든 키들을 관리합니다. 암호화는 간단해야 합니다. 그리고 Wails로 개발되었습니다.**
+
+PGP를 사용한 메시지 암호화는 업계 표준입니다. 모두 개인 키와 공개 키를 가지고 있습니다. 귀하의 개인 키는 귀하만 메시지를 읽을 수 있도록 비공개로 유지되어야 합니다. 귀하의 공개 키는 귀하에게 암호화된 비밀 메시지를 보내려는 모든 사람에게 배포됩니다. 키 관리, 메시지 암호화 및 메시지 해독은 매끄러운 경험이어야 합니다. EncryptEasy는 모든 것을 쉽게 만드는 것입니다. EncryptEasy는 모든 것을 쉽게 만듭니다.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/filehound.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/filehound.mdx
new file mode 100644
index 00000000000..0881bfe9e1e
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/filehound.mdx
@@ -0,0 +1,16 @@
+# FileHound Export Utility
+
+```mdx-code-block
+
+
+
+
+```
+
+[FileHound Export Utility](https://www.filehound.co.uk/) FileHound는 안전한 파일 보존, 비즈니스 프로세스 자동화 및 SmartCapture 기능을 위해 만들어진 클라우드 문서 관리 플랫폼입니다.
+
+FileHound Export Utility를 사용하면 FileHound 관리자가 대체 백업 및 복구 목적으로 보안 문서 및 데이터 추출 작업을 실행할 수 있습니다. 이 응용 프로그램은 선택한 필터를 기반으로 FileHound에 저장된 모든 문서 및/또는 메타 데이터를 다운로드합니다. 메타데이터는 JSON 및 XML 형식으로 내보낼 수 있습니다.
+
+백엔드의 구성은 다음과 같습니다: Go 1.15 Wails 1.11.0 go-sqlite3 1.14.6 go-linq 3.2
+
+사용된 프론트엔드: Vue 2.6.11 Vuex 3.4.0 TypeScript Tailwind 1.9.6
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/hiposter.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/hiposter.mdx
new file mode 100644
index 00000000000..87e5837d32f
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/hiposter.mdx
@@ -0,0 +1,10 @@
+# hiposter
+
+```mdx-code-block
+
+
+
+
+```
+
+[hiposter](https://github.com/obity/hiposter) is a simple and efficient http API testing client tool. Based on Wails, Go and sveltejs.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/minecraftupdater.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/minecraftupdater.mdx
new file mode 100644
index 00000000000..d31eac0d5f8
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/minecraftupdater.mdx
@@ -0,0 +1,14 @@
+# Minecraft Updater
+
+```mdx-code-block
+
+
+
+
+```
+
+[Minecraft Updater](https://github.com/Gurkengewuerz/MinecraftModUpdater)는 사용자 기반의 Minecraft 모드를 업데이트하고 동기화하는 유틸리티 도구입니다. Wails2와 [antd](https://ant.design/)를 프런트엔드 프레임워크로 사용한 React를 사용하여 구축되었습니다.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/modalfilemanager.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/modalfilemanager.mdx
new file mode 100644
index 00000000000..9c98dc86473
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/modalfilemanager.mdx
@@ -0,0 +1,14 @@
+# Modal File Manager
+
+```mdx-code-block
+
+
+
+
+```
+
+[Modal File Manager](https://github.com/raguay/ModalFileManager) 는 웹 기술을 사용하는 이중 창 모양의 파일 관리자입니다. 나의 원래 디자인은 NW.js를 기반으로 했으며 [여기](https://github.com/raguay/ModalFileManager-NWjs)에서 찾을 수 있습니다. 이 버전은 동일한 Svelte 기반 프론트엔드 코드를 사용하지만(그러나 NW.js에서 출발한 이후 크게 수정됨) 백엔드는 [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. Go를 사용하여 코딩되었으며, 이전 버전보다 훨씬 빠르게 실행됩니다.
+
+이 파일 관리자는 Vim과 동일한 원칙, 즉 상태 제어 키보드 동작을 기반으로 설계되었습니다. 상태의 수는 고정이 안되어 있지만, 그러나 매우 프로그래머블합니다. 그러므로, 키보드 설정들의 무한한 수는 생성 될 수 있고 사용될 수 있습니다. 이것은 다른 파일 매니저들과 다른 주요점입니다. There are themes and extensions available to download from GitHub.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/mollywallet.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/mollywallet.mdx
new file mode 100644
index 00000000000..57eda38f981
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/mollywallet.mdx
@@ -0,0 +1,10 @@
+# Molley Wallet
+
+```mdx-code-block
+
+
+
+
+```
+
+[Molly Wallet](https://github.com/grvlle/constellation_wallet/) 은 Constellation Network의 공식 $DAG 지갑입니다. 이를 통해 사용자는 $DAG 트랜잭션 생성에 국한되지 않고 다양한 방식으로 Hypergraph Network와 상호 작용할 수 있습니다.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/october.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/october.mdx
new file mode 100644
index 00000000000..66d634dc519
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/october.mdx
@@ -0,0 +1,14 @@
+# October
+
+```mdx-code-block
+
+
+
+
+```
+
+[October](https://october.utf9k.net) is a small Wails application that makes it really easy to extract highlights from [Kobo eReaders](https://en.wikipedia.org/wiki/Kobo_eReader) and then forward them to [Readwise](https://readwise.io).
+
+It has a relatively small scope with all platform versions weighing in under 10MB, and that's without enabling [UPX compression](https://upx.github.io/)!
+
+In contrast, the author's previous attempts with Electron quickly bloated to several hundred megabytes.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/optimus.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/optimus.mdx
new file mode 100644
index 00000000000..6bc28218bc5
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/optimus.mdx
@@ -0,0 +1,10 @@
+# 옵티머스(Optimus)
+
+```mdx-code-block
+
+
+
+
+```
+
+[Optimus](https://github.com/splode/optimus) 데스크탑 이미지 최적화 애플리케이션입니다. WebP, JPEG, PNG 이미지 포맷 형식간의 변환 및 압축을 지원합니다.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/portfall.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/portfall.mdx
new file mode 100644
index 00000000000..f174364c13d
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/portfall.mdx
@@ -0,0 +1,10 @@
+# 포트폴(Portfall)
+
+```mdx-code-block
+
+
+
+
+```
+
+[Portfall](https://github.com/rekon-oss/portfall) - 모든 클러스터 UI에 쉽게 액세스할 수 있는 데스크탑 k8s 포트 포워딩 포털입니다.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/restic-browser.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/restic-browser.mdx
new file mode 100644
index 00000000000..3646384ecad
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/restic-browser.mdx
@@ -0,0 +1,12 @@
+# Restic Browser
+
+```mdx-code-block
+
+
+
+
+```
+
+[Restic-Browser](https://github.com/emuell/restic-browser) - A simple, cross-platform [restic](https://github.com/restic/restic) backup GUI for browsing and restoring restic repositories.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/riftshare.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/riftshare.mdx
new file mode 100644
index 00000000000..9928b478576
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/riftshare.mdx
@@ -0,0 +1,21 @@
+# RiftShare
+
+```mdx-code-block
+
+
+
+
+```
+
+Easy, Secure, and Free file sharing for everyone. Learn more at [Riftshare.app](https://riftshare.app)
+
+## Features
+
+- Easy secure file sharing between computers both in the local network and through the internet
+- Supports sending files or directories securely through the [magic wormhole protocol](https://magic-wormhole.readthedocs.io/en/latest/)
+- Compatible with all other apps using magic wormhole (magic-wormhole or wormhole-william CLI, wormhole-gui, etc.)
+- Automatic zipping of multiple selected files to send at once
+- Full animations, progress bar, and cancellation support for sending and receiving
+- Native OS File Selection
+- Open files in one click once received
+- Auto Update - don't worry about having the latest release!
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/scriptbar.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/scriptbar.mdx
new file mode 100644
index 00000000000..3e41eb32abf
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/scriptbar.mdx
@@ -0,0 +1,10 @@
+# ScriptBar
+
+```mdx-code-block
+
+
+
+
+```
+
+[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. It also displays the output of scripts on your system. ScriptBar doesn't put them in the menubar, but has them all in a convient window for easy viewing. You can have multiple tabs to have many different things show. You can also keep the links to your most visited web sites.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/surge.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/surge.mdx
new file mode 100644
index 00000000000..c3b3fb4c06d
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/surge.mdx
@@ -0,0 +1,10 @@
+# Surge
+
+```mdx-code-block
+
+
+
+
+```
+
+[Surge](https://getsurge.io/) is a p2p filesharing app designed to utilize blockchain technologies to enable 100% anonymous file transfers. Surge is end-to-end encrypted, decentralized and open source.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wally.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wally.mdx
new file mode 100644
index 00000000000..7408aa5854f
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wally.mdx
@@ -0,0 +1,10 @@
+# Wally
+
+```mdx-code-block
+
+
+
+
+```
+
+[Wally](https://ergodox-ez.com/pages/wally) is the official firmware flasher for [Ergodox](https://ergodox-ez.com/) keyboards. It looks great and is a fantastic example of what you can achieve with Wails: the ability to combine the power of Go and the rich graphical tools of the web development world.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/warmine.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/warmine.mdx
new file mode 100644
index 00000000000..950dc3f3db1
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/warmine.mdx
@@ -0,0 +1,19 @@
+# Minecraft launcher for 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.
+
+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.
+
+Frontend is written in Svelte, whole launcher fits in 9MB and supports Windows 7-11.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wombat.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wombat.mdx
new file mode 100644
index 00000000000..b2dc9302a9c
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wombat.mdx
@@ -0,0 +1,10 @@
+# 웜뱃(Wombat)
+
+```mdx-code-block
+
+
+
+
+```
+
+[Wombat](https://github.com/rogchap/wombat) 은 크로스 플랫폼인 gRPC 클라이언트 입니다.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/ytd.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/ytd.mdx
new file mode 100644
index 00000000000..5db428f722c
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/ytd.mdx
@@ -0,0 +1,10 @@
+# Ytd
+
+```mdx-code-block
+
+
+
+
+```
+
+[Ytd](https://github.com/marcio199226/ytd/tree/v2-wails) is an app for downloading tracks from youtube, creating offline playlists and share them with your friends, your friends will be able to playback your playlists or download them for offline listening, has an built-in player.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/templates.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/templates.mdx
new file mode 100644
index 00000000000..5b57cd60455
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/community/templates.mdx
@@ -0,0 +1,63 @@
+---
+sidebar_position: 1
+---
+
+# Templates
+
+This page serves as a list for community supported templates. Please submit a PR (click `Edit this page` at the bottom) to include your templates. To build your own template, please see the [Templates](../guides/templates.mdx) guide.
+
+To use these templates, run `wails init -n "Your Project Name" -t [the link below[@version]]`
+
+If there is no version suffix, the main branch code template is used by default. If there is a version suffix, the code template corresponding to the tag of this version is used.
+
+Example: `wails init -n "Your Project Name" -t https://github.com/misitebao/wails-template-vue`
+
+:::warning Attention
+
+**The Wails project does not maintain, is not responsible nor liable for 3rd party templates!**
+
+If you are unsure about a template, inspect `package.json` and `wails.json` for what scripts are run and what packages are installed.
+
+:::
+
+## Vue
+
+- [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)
+
+## Angular
+
+- [wails-template-angular](https://github.com/mateothegreat/wails-template-angular) - Angular 15+ action packed & ready to roll to production.
+- [wails-angular-template](https://github.com/TAINCER/wails-angular-template) - Angular with TypeScript, Sass, Hot-Reload, Code-Splitting and i18n
+
+## React
+
+- [wails-react-template](https://github.com/AlienRecall/wails-react-template) - A template using reactjs
+- [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
+
+## 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-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
+
+## 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.
+
+## 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/ko/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/building.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/building.mdx
new file mode 100644
index 00000000000..57d509dfef7
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/building.mdx
@@ -0,0 +1,22 @@
+---
+sidebar_position: 6
+---
+
+# 프로젝트 컴파일
+
+프로젝트 디렉토리에서 `wails build` 명령을 실행합니다. 이것은 프로젝트를 컴파일하고 `build/bin` 디렉토리에 프로덕션-준비(production-ready) 바이너리를 저장합니다.
+
+바이너리를 실행하면 기본 애플리케이션이 표시되어야 합니다:
+
+```mdx-code-block
+
+
+
+
+```
+
+컴파일 옵션에 대한 자세한 내용은 [CLI Reference](../reference/cli.mdx#build)를 참조하세요.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/development.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/development.mdx
new file mode 100644
index 00000000000..5d0d9185cf4
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/development.mdx
@@ -0,0 +1,16 @@
+---
+sidebar_position: 5
+---
+
+# 애플리케이션 개발하기
+
+프로젝트 디렉토리에서 `wails dev` 명령을 실행하여 개발 모드에서 애플리케이션을 실행할 수 있습니다. 이렇게 하면 다음 작업이 수행됩니다.
+
+- 애플리케이션 빌드 및 실행
+- JavaScript에서 호출할 수 있도록 Go 코드를 프론트엔드에 바인딩
+- [Vite](https://vitejs.dev/)의 기능을 사용하여 Go 파일의 수정 사항을 감시하고 변경 시 다시 빌드/재실행 합니다.
+- 브라우저를 통해 애플리케이션을 제공할 [Webserver](http://localhost:34115) 를 설정합니다. 이렇게 하면 브라우저 확장을 사용할 수 있습니다. 콘솔에서 Go 코드를 호출할 수도 있습니다.
+
+시작하려면, 프로젝트 디렉토리 내에서 `wails dev` 명령을 실행하세요. 더많은 정보는 [here](../reference/cli.mdx#dev) 에서 찾을 수 있습니다.
+
+출시 예정: 튜토리얼
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/firstproject.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/firstproject.mdx
new file mode 100644
index 00000000000..45f2aa8a57e
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/firstproject.mdx
@@ -0,0 +1,130 @@
+---
+sidebar_position: 2
+---
+
+# 프로젝트 생성하기
+
+## 프로젝트 생성
+
+이제 CLI가 설치되었습니다, `wails init` 명령을 사용하여 새로운 프로젝트를 생성할 수 있습니다.
+
+원하는 프레임워크를 선택하세요:
+
+```mdx-code-block
+import Tabs from "@theme/Tabs";
+import TabItem from "@theme/TabItem";
+
+
+
+ Generate a Svelte project using JavaScript with:
+
+ wails init -n myproject -t svelte
+
+If you would rather use TypeScript:
+
+ wails init -n myproject -t svelte-ts
+
+
+
+ Generate a React project using JavaScript with:
+
+ wails init -n myproject -t react
+
+If you would rather use TypeScript:
+
+ wails init -n myproject -t react-ts
+
+
+
+ Generate a Vue project using JavaScript with:
+
+ wails init -n myproject -t vue
+
+If you would rather use TypeScript:
+
+ wails init -n myproject -t vue-ts
+
+
+
+ Generate a Preact project using JavaScript with:
+
+ wails init -n myproject -t preact
+
+If you would rather use TypeScript:
+
+ wails init -n myproject -t preact-ts
+
+
+
+ Generate a Lit project using JavaScript with:
+
+ wails init -n myproject -t lit
+
+If you would rather use TypeScript:
+
+ wails init -n myproject -t lit-ts
+
+
+
+ Generate a Vanilla project using JavaScript with:
+
+ wails init -n myproject -t vanilla
+
+If you would rather use TypeScript:
+
+ wails init -n myproject -t vanilla-ts
+
+
+
+```
+
+
+
+다양한 기능과 프레임워크를 제공하는 [커뮤니티 템플릿](../community/templates.mdx)도 있습니다.
+
+사용 가능한 다른 옵션을 보려면 `wails init -help` 명령을 실행할 수 있습니다. 자세한 내용은 [CLI Reference](../reference/cli.mdx#init)에서 찾을 수 있습니다.
+
+## 프로젝트 레이아웃
+
+Wails 프로젝트는 다음 레이아웃을 따릅니다:
+
+```
+.
+├── build/
+│ ├── appicon.png
+│ ├── darwin/
+│ └── windows/
+├── frontend/
+├── go.mod
+├── go.sum
+├── main.go
+└── wails.json
+```
+
+### 프로젝트 구조 개요
+
+- `/main.go` - 메인 애플리케이션
+- `/frontend/` - Frontend 프로젝트 파일들
+- `/build/` - 프로젝트 빌드 디렉토리
+- `/build/appicon.png` - 애플리케이션 아이콘
+- `/build/darwin/` - Mac 특정 프로젝트 파일
+- `/build/windows/` - Windows 특정 프로젝트 파일
+- `/wails.json` - 프로젝트 구성 파일
+- `/go.mod` - Go 모듈 파일
+- `/go.sum` - Go 모듈 체크섬 파일
+
+`frontend` 프론트엔드 디렉토리에는 Wails와 관련된 것이 없으며 선택한 모든 프론트엔드 프로젝트가 될 수 있습니다.
+
+`build` 디렉토리는 빌드가 진행되는 동안 사용됩니다. 이 파일들을 업데이트 하여 빌드를 커스텀마이징할 수 있습니다. 만약 빌드 디렉토리에서 파일이 제거되면 기본 버전이 재생성됩니다.
+
+`go.mod`의 기본 모듈 이름은 "changeme" 입니다. 이것을 더 적절한 것으로 변경해야 합니다.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/installation.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/installation.mdx
new file mode 100644
index 00000000000..1d911d11802
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/installation.mdx
@@ -0,0 +1,89 @@
+---
+sidebar_position: 1
+---
+
+# 설치하기
+
+## 지원되는 플랫폼
+
+- Windows 10/11 AMD64/ARM64
+- MacOS 10.13+ AMD64
+- MacOS 11.0+ ARM64
+- Linux AMD64/ARM64
+
+## 의존성
+
+Wails는 설치 전에 아래와 같은 몇 가지 공통적인 의존성이 필요합니다.
+
+- Go 1.18+
+- NPM (Node 15+)
+
+### Go
+
+[Go 다운로드 페이지](https://go.dev/dl/)에서 Go를 다운로드 합니다.
+
+공식 [Go 설치 지침](https://go.dev/doc/install)에 따라 진행하세요. 또한 `PATH` 환경 변수에 `~/go/bin` 디렉토리에 대한 경로도 포함되어 있는지 확인해야 합니다. 터미널을 다시 시작하고 아래 내용을 확인하세요.
+
+- Go가 정상적으로 설치되었는지 확인: `go version`
+- PATH 변수에 "~/go/bin" 확인: `echo $PATH | grep go/bin`
+
+### NPM
+
+[Node 다운로드 페이지](https://nodejs.org/en/download/)에서 NPM을 다운로드 합니다. 우리는 일반적으로 최신 버전에서 테스트를 진행하기 때문에 최신 버전 사용을 권장합니다.
+
+정상적으로 설치된 것을 확인하기 위해 `npm --version`을 실행합니다.
+
+## 플랫폼에 따른 의존성
+
+플랫폼별 의존 항목도 설치해야 합니다:
+
+```mdx-code-block
+import Tabs from "@theme/Tabs";
+import TabItem from "@theme/TabItem";
+
+
+
+ Wails 는 xcode line tools 설치를 필요로 합니다. xcode-select --install. 를 실행하여 수행할 수 있습니다.
+
+
+ Wails 는 WebView2 런타임 설치를 필요로 합니다. 몇몇 Windows는 이미 설치되어 있습니다. wails doctor 명령을 사용하여 확인할 수 있습니다.
+
+
+ Linux requires the standard gcc build tools plus libgtk3 and libwebkit. 다양한 배포판에 대한 수 많은 명령을 나열하는 대신 Wail는 특정 배포판에 대한 설치 명령이 무엇인지 결정할 수 있습니다. wails doctor 명령을 실행하면 설치 후 종속성을 설치하는 방법을 보여줍니다. 만약 배포판/패키지 매니저가 지원하지 않는다면, 를 통해 문의하세요. 리눅스 배포판 추가 가이드
+
+
+```
+
+## 선택 설치
+
+- [UPX](https://upx.github.io/) 는 애플리케이션 압축을 위함.
+- [NSIS](https://wails.io/docs/guides/windows-installer/) 는 윈도우 인스톨러를 생성하기 위함.
+
+## Wails 설치
+
+`go install github.com/wailsapp/wails/v2/cmd/wails@latest` 명령을 실행하여 Wails CLI를 설치합니다.
+
+참고: 다음과 비슷한 오류가 발생하는 경우:
+
+```shell
+....\Go\pkg\mod\github.com\wailsapp\wails\v2@v2.1.0\pkg\templates\templates.go:28:12: pattern all:ides/*: no matching files found
+```
+Go 1.18 이상의 버전이 설치되어 있는지 확인하세요:
+```shell
+go version
+```
+
+## 시스템 점검
+
+`wails doctor`를 실행하면 의존성이 올바르게 설치되어 있는지 점검할 수 있습니다. 문제가 있는 의존성에 대해서는 문제 해결을 위한 도움을 줄 수 있습니다.
+
+## `wails` 명령이 사라졌다고 나오나요?
+
+시스템에서 `wails` 명령이 누락되었다고 뜨는 경우 Go 설치 가이드를 바르게 따랐는지 확인하세요. 일반적으로, 사용자의 홈 디렉토리에 있는 `go/bin` 디렉토리가 `PATH` 환경 변수에 없음을 의미합니다. 또한, 설치 프로그램이 수행한 환경 변경 사항이 명령 프롬프트에 반영되도록 일반적으로 열려 있는 모든 명령 프롬프트를 닫았다가 다시 열어야합니다.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/angular.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/angular.mdx
new file mode 100644
index 00000000000..1b21f9daa7a
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/angular.mdx
@@ -0,0 +1,14 @@
+# Angular
+
+Wails에는 Angular 템플릿이 없지만 Wails와 함께 Angular를 사용할 수 있습니다.
+
+## 개발자 모드
+
+Angular에서 작동하는 개발 모드를 사용하려면 `wails.json`에 다음을 추가해야 합니다.
+
+```json
+ "frontend:build": "npx ng build",
+ "frontend:install": "npm install",
+ "frontend:dev:watcher": "npx ng serve",
+ "frontend:dev:serverUrl": "http://localhost:4200",
+```
\ No newline at end of file
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/application-development.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/application-development.mdx
new file mode 100644
index 00000000000..0625ddb7b6a
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/application-development.mdx
@@ -0,0 +1,194 @@
+# 애플리케이션 개발
+
+Wails로 애플리케이션을 개발하기 위한 엄격한 규칙은 없으나 몇 가지의 기본 가이드가 있습니다.
+
+## 애플리케이션 셋업
+
+기본 템플릿에서 사용되는 패턴은 `main.go`가 애플리케이션 구성 및 실행에 사용되는 반면 `app.go`는 애플리케이션 로직 정의에 사용된다는 것입니다.
+
+`app.go` 파일은 기본 애플리케이션에 hook 역할을 하는 2개의 메소드가 있는 구조체를 정의합니다.
+
+```go title="app.go"
+type App struct {
+ ctx context.Context
+}
+
+func NewApp() *App {
+ return &App{}
+}
+
+func (a *App) startup(ctx context.Context) {
+ a.ctx = ctx
+}
+
+func (a *App) shutdown(ctx context.Context) {
+}
+```
+
+- 시작 메서드는 Wails가 필요한 리소스를 할당하는 즉시 호출되며 리소스 생성, 이벤트 리스너 설정 및 시작 시 응용 프로그램에 필요한 모든 것을 설정하기에 좋은 위치입니다. 일반적으로 구조체 필드에 저장되는 `context.Context`가 제공됩니다. 이 컨텍스트는 [런타임](../reference/runtime/intro.mdx)을 호출하는 데 필요합니다. 이 메서드가 오류를 반환하면 응용 프로그램이 종료됩니다. 개발 모드에서는 오류가 콘솔에 출력됩니다.
+
+- Shutdown 메소드는 shutdown 프로세스가 끝날 때 바로 Wails에 의해 호출됩니다. 이것은 메모리 할당을 해제하고 모든 shutodown 작업을 수행하기에 좋은 위치입니다.
+
+`main.go` 파일은 일반적으로 애플리케이션 구성을 허용하는 `wails.Run()`에 대한 단일 호출로 구성됩니다. 템플릿에서 사용하는 패턴은 `wails.Run()`을 호출하기 전에 `app.go`에서 정의한 구조체의 인스턴스가 생성되어 변수에 저장된다는 것입니다. 이것은 `app`이라고 합니다. 이 configuration 은 콜백을 추가하는 위치입니다:
+
+```go {3,9,10} title="main.go"
+func main() {
+
+ app := NewApp()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+```
+
+애플리케이션 lifecycle hook에 대한 자세한 내용은 [여기](../howdoesitwork.mdx#application-lifecycle-callbacks)에서 확인할 수 있습니다.
+
+## 바인딩 메소드
+
+프론트엔드에서 Go 메서드를 호출할 가능성이 높습니다. 이는 일반적으로 `app.go`에서 이미 정의된 구조체에 public method를 추가하여 수행됩니다.
+
+```go {16-18} title="app.go"
+type App struct {
+ ctx context.Context
+}
+
+func NewApp() *App {
+ return &App{}
+}
+
+func (a *App) startup(ctx context.Context) {
+ a.ctx = ctx
+}
+
+func (a *App) shutdown(ctx context.Context) {
+}
+
+func (a *App) Greet(name string) string {
+ return fmt.Sprintf("Hello %s!", name)
+}
+```
+
+메인 어플리케이션 구성에서, `Bind` 키는 Wails에 무엇을 바인딩할지 알릴 수 있는 부분입니다.
+
+```go {11-13} title="main.go"
+func main() {
+
+ app := NewApp()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ Bind: []interface{}{
+ app,
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+```
+
+이렇게 하면 `App` 구조체의 모든 공개 메서드가 바인딩됩니다(시작 및 종료 메서드는 바인딩되지 않음).
+
+### 여러 구조체를 바인딩할 때의 컨텍스트 처리
+
+여러 구조체에 대한 메서드를 바인딩하고 싶지만 런타임을 사용할 수 있도록 각 구조체가 컨텍스트에 대한 참조를 유지하기를 원하는 경우, 함수에서 좋은 패턴은 `OnStartup` 메서드에서 구조체 인스턴스로 컨텍스트를 전달하는 것입니다.
+
+```go
+func main() {
+
+ app := NewApp()
+ otherStruct := NewOtherStruct()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: func(ctx context.Context){
+ app.SetContext(ctx)
+ otherStruct.SetContext(ctx)
+ },
+ OnShutdown: app.shutdown,
+ Bind: []interface{}{
+ app,
+ otherStruct
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+```
+
+바인딩에 대한 더 많은 정보는 [여기](../howdoesitwork.mdx#method-binding)에서 확인할 수 있습니다.
+
+## Application Menu
+
+Wails는 당신의 애플리케이션에 메뉴 추가를 지원합니다. 이것은 [Menu](../reference/menus.mdx#menu) 구조체를 애플리케이션 구성에 전달하여 수행됩니다. Menu를 반환하는 메서드를 사용하는 것이 일반적이며 lifecycle hooks에 사용되는 `App` 구조체의 메서드인 경우에는 훨씬 더 일반적입니다.
+
+```go {11} title="main.go"
+func main() {
+
+ app := NewApp()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ Menu: app.menu(),
+ Bind: []interface{}{
+ app,
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+```
+
+## Assets
+
+Wails v2가 assets을 처리하는 방식의 장점은 그렇지 않다는 것입니다! Wails에 제공해야 하는 유일한 것은 `embed.FS`입니다. 당신이 어떻게 얻어내는가는 전적으로 당신에게 달렸습니다. 바닐라 템플릿과 같은 바닐라 html/css/js를 사용할 수 있습니다. 복잡한 빌드 시스템을 가질 수 있으나, 중요하지 않습니다.
+
+`wails build`가 실행되면 프로젝트 최상위에서 `wails.json` 프로젝트 파일을 확인합니다. 프로젝트 파일에는 2개의 키가 있습니다.
+
+- "frontend:install"
+- "frontend:build"
+
+첫 번째는 노드 모듈을 설치하기 위해 `frontend` 디렉토리에서 실행됩니다. 두 번째는 프런트엔드 프로젝트를 빌드하기 위해 `frontend` 디렉토리에서 실행됩니다.
+
+이 2개의 키가 주어지지 않으면 Wails는 프런트엔드에서 아무 작업도 수행하지 않습니다. 그것은 `embed.FS`에서만 기대합니다.
+
+### AssetsHandler
+
+Wails v2 앱은 선택적으로 `options.App`에서 `http.Handler`를 정의할 수 있습니다. 즉석에서 파일을 생성하거나 POST/PUT 요청을 처리합니다. GET 요청은 항상 `assets` FS에서 먼저 처리됩니다. FS가 요청된 파일을 찾지 못하면 요청은 제공을 위해 `http.Handler`로 전달됩니다. GET 이외의 모든 요청은 지정된 경우 `AssetsHandler`에서 직접 처리됩니다. `Assets` 옵션으로 `nil`을 지정하여 `AssetsHandler`만 사용할 수도 있습니다.
+
+## Built in Dev Server
+
+`wails dev`를 실행하면 내장된 dev 서버가 시작되어 프로젝트 디렉토리에서 file watcher를 시작합니다. 기본적으로 파일이 변경되면 wails는 응용 프로그램 파일인지 확인합니다(기본값: `.go`, `-e` 플래그로 구성 가능). 그렇다면 응용 프로그램을 다시 빌드하고 다시 시작합니다. 변경된 파일이 assets에 있는 경우 짧은 시간 후에 다시 로드를 발행합니다.
+
+개발 서버는 "debouncing"이라는 기술을 사용합니다. 즉, 짧은 시간에 여러 파일이 변경될 수 있으므로 바로 다시 로드되지 않습니다. 트리거가 발생하면 다시 로드하기 전에 설정된 시간 동안 기다립니다. 다른 트리거가 발생하면 다시 대기 시간으로 재설정됩니다. 기본 값은 `100ms` 입니다. 이 값이 프로젝트에서 작동하지 않는 경우 `-debounce` 플래그를 사용하여 구성할 수 있습니다. 사용하는 경우 이 값은 프로젝트 구성에 저장되고 기본값이 됩니다.
+
+## External Dev Server
+
+일부 프레임워크는 자체 라이브 리로딩 서버와 함께 제공되지만 Wails Go 바인딩을 활용할 수 없습니다. 이 시나리오에서는 Wails가 감시할 빌드 디렉토리에 프로젝트를 다시 빌드하는 watcher script를 실행하는 것이 가장 좋습니다. 예를 보려면 [rollup](https://rollupjs.org/guide/en/)을 사용하는 기본 svelte 템플릿을 참조하세요. [create-react-app](https://create-react-app.dev/)의 경우 다음을 사용할 수 있습니다. [this script](https://gist.github.com/int128/e0cdec598c5b3db728ff35758abdbafd)를 사용하여 유사한 결과를 얻을 수 있습니다.
+
+## Go Module
+
+기본 Wails 템플릿은 "changeme"라는 모듈 이름이 포함된 `go.mod` 파일을 생성합니다. 프로젝트 생성 후에 이 파일의 이름을 변경해야 합니다.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/dynamic-assets.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/dynamic-assets.mdx
new file mode 100644
index 00000000000..989202e27a6
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/dynamic-assets.mdx
@@ -0,0 +1,136 @@
+# Dynamic Assets
+
+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.
+
+By installing a custom AssetsHandler, you can serve your own assets using a custom asset server.
+
+## Example
+
+In our example project, we will create a simple assets handler which will load files off disk:
+
+```go title=main.go {17-36,49}
+package main
+
+import (
+ "embed"
+ "fmt"
+ "github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/options"
+ "github.com/wailsapp/wails/v2/pkg/options/assetserver"
+ "net/http"
+ "os"
+ "strings"
+)
+
+//go:embed all:frontend/dist
+var assets embed.FS
+
+type FileLoader struct {
+ http.Handler
+}
+
+func NewFileLoader() *FileLoader {
+ return &FileLoader{}
+}
+
+func (h *FileLoader) ServeHTTP(res http.ResponseWriter, req *http.Request) {
+ var err error
+ requestedFilename := strings.TrimPrefix(req.URL.Path, "/")
+ println("Requesting file:", requestedFilename)
+ fileData, err := os.ReadFile(requestedFilename)
+ if err != nil {
+ res.WriteHeader(http.StatusBadRequest)
+ res.Write([]byte(fmt.Sprintf("Could not load file %s", requestedFilename)))
+ }
+
+ res.Write(fileData)
+}
+
+func main() {
+ // Create an instance of the app structure
+ app := NewApp()
+
+ // Create application with options
+ err := wails.Run(&options.App{
+ Title: "helloworld",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ Handler: NewFileLoader(),
+ },
+ BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 255},
+ OnStartup: app.startup,
+ Bind: []interface{}{
+ app,
+ },
+ })
+
+ if err != nil {
+ println("Error:", err)
+ }
+}
+```
+
+When we run the application in dev mode using `wails dev`, we will see the following output:
+
+```
+DEB | [ExternalAssetHandler] Loading 'http://localhost:3001/favicon.ico'
+DEB | [ExternalAssetHandler] Loading 'http://localhost:3001/favicon.ico' failed, using AssetHandler
+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.
+
+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:
+
+```
+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:
+
+```mdx-code-block
+
+
+
+```
+
+However, if we request `go.mod`, we will see the following output:
+
+```mdx-code-block
+
+
+
+```
+
+This technique can be used to load images directly into the page. If we updated our default vanilla template and replaced the logo image:
+
+```html
+
+```
+
+with:
+
+```html
+
+```
+
+Then we would see the following:
+
+```mdx-code-block
+
+
+
+```
+
+:::warning
+
+Exposing your filesystem in this way is a security risk. It is recommended that you properly manage access to your filesystem.
+
+:::
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/frameless.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/frameless.mdx
new file mode 100644
index 00000000000..3845736f427
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/frameless.mdx
@@ -0,0 +1,87 @@
+# Frameless Applications
+
+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).
+
+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.
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+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:
+
+```go title=main.go
+package main
+
+import (
+ "embed"
+
+ "github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/options"
+ "github.com/wailsapp/wails/v2/pkg/options/assetserver"
+)
+
+//go:embed all:frontend/dist
+var assets embed.FS
+
+func main() {
+ // Create an instance of the app structure
+ app := NewApp()
+
+ // Create application with options
+ err := wails.Run(&options.App{
+ Title: "alwaysontop",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ Frameless: true,
+ CSSDragProperty: "widows",
+ CSSDragValue: "1",
+ Bind: []interface{}{
+ app,
+ },
+ })
+
+ if err != nil {
+ println("Error:", err)
+ }
+}
+```
+
+```html title=index.html
+
+
+
+
+
+ alwaysontop
+
+
+
+
+
+
+```
+
+:::info Fullscreen
+
+If you allow your application to go fullscreen, this drag functionality will be disabled.
+
+:::
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/frontend.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/frontend.mdx
new file mode 100644
index 00000000000..ac087ee4514
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/frontend.mdx
@@ -0,0 +1,72 @@
+# Frontend
+
+## Script Injection
+
+When Wails serves your `index.html`, by default, it will inject 2 script entries into the `` tag to load `/wails/ipc.js` and `/wails/runtime.js`. These files install the bindings and runtime respectively.
+
+The code below shows where these are injected by default:
+
+```html
+
+
+ injection example
+
+
+
+
+
+
+
+
Please enter your name below 👇
+
+
+
+
+
+
+
+
+```
+
+### Overriding Default Script Injection
+
+To provide more flexibility to developers, there is a meta tag that may be used to customise this behaviour:
+
+```html
+
+```
+
+The options are as follows:
+
+| Value | Description |
+| ------------------- | ------------------------------------------------ |
+| noautoinjectruntime | Disable the autoinjection of `/wails/runtime.js` |
+| noautoinjectipc | Disable the autoinjection of `/wails/ipc.js` |
+| noautoinject | Disable all autoinjection of scripts |
+
+Multiple options may be used provided they are comma seperated.
+
+This code is perfectly valid and operates the same as the autoinjection version:
+
+```html
+
+
+ injection example
+
+
+
+
+
+
+
Please enter your name below 👇
+
+
+
+
+
+
+
+
+
+
+```
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/ides.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/ides.mdx
new file mode 100644
index 00000000000..f742822832a
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/ides.mdx
@@ -0,0 +1,127 @@
+# IDEs
+
+Wails aims to provide a great development experience. To that aim, we now support generating IDE specific configuration to provide smoother project setup.
+
+Currently, we support [Visual Studio Code](https://code.visualstudio.com/) but aim to support other IDEs such as Goland.
+
+## Visual Studio Code
+
+```mdx-code-block
+
+
+
+```
+
+When generating a project using the `-ide vscode` flags, IDE files will be created alongside the other project files. These files are placed into the `.vscode` directory and provide the correct configuration for debugging your application.
+
+The 2 files generated are `tasks.json` and `launch.json`. Below are the files generated for the default vanilla project:
+
+```json title="tasks.json"
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "build",
+ "type": "shell",
+ "options": {
+ "cwd": "${workspaceFolder}"
+ },
+ "command": "go",
+ "args": [
+ "build",
+ "-tags",
+ "dev",
+ "-gcflags",
+ "all=-N -l",
+ "-o",
+ "build/bin/myproject.exe"
+ ]
+ }
+ ]
+}
+```
+
+```json title="launch.json"
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Wails: Debug myproject",
+ "type": "go",
+ "request": "launch",
+ "mode": "exec",
+ "program": "${workspaceFolder}/build/bin/myproject.exe",
+ "preLaunchTask": "build",
+ "cwd": "${workspaceFolder}",
+ "env": {}
+ }
+ ]
+}
+```
+
+### Configuring the install and build steps
+
+The `tasks.json` file is simple for the default project as there is no `npm install` or `npm run build` step needed. For projects that have a frontend build step, such as the svelte template, we would need to edit `tasks.json` to add the install and build steps:
+
+```json title="tasks.json"
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "npm install",
+ "type": "npm",
+ "script": "install",
+ "options": {
+ "cwd": "${workspaceFolder}/frontend"
+ },
+ "presentation": {
+ "clear": true,
+ "panel": "shared",
+ "showReuseMessage": false
+ },
+ "problemMatcher": []
+ },
+ {
+ "label": "npm run build",
+ "type": "npm",
+ "script": "build",
+ "options": {
+ "cwd": "${workspaceFolder}/frontend"
+ },
+ "presentation": {
+ "clear": true,
+ "panel": "shared",
+ "showReuseMessage": false
+ },
+ "problemMatcher": []
+ },
+ {
+ "label": "build",
+ "type": "shell",
+ "options": {
+ "cwd": "${workspaceFolder}"
+ },
+ "command": "go",
+ "args": [
+ "build",
+ "-tags",
+ "dev",
+ "-gcflags",
+ "all=-N -l",
+ "-o",
+ "build/bin/vscode.exe"
+ ],
+ "dependsOn": ["npm install", "npm run build"]
+ }
+ ]
+}
+```
+
+:::info Future Enhancement
+
+In the future, we hope to generate a `tasks.json` that includes the install and build steps automatically.
+
+:::
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux-distro-support.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux-distro-support.mdx
new file mode 100644
index 00000000000..8b25c15754a
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux-distro-support.mdx
@@ -0,0 +1,103 @@
+# Linux Distro Support
+
+## Overview
+
+Wails offers Linux support but providing installation instructions for all available distributions is an impossible task. Instead, Wails tries to determine if the packages you need to develop applications are available via your system's package manager. Currently, we support the following package managers:
+
+- apt
+- dnf
+- emerge
+- eopkg
+- nixpkgs
+- pacman
+- zypper
+
+## Adding package names
+
+There may be circumstances where your distro uses one of the supported package managers but the package name is different. For example, you may use an Ubuntu derivative, but the package name for gtk may be different. Wails attempts to find the correct package by iterating through a list of package names. The list of packages are stored in the packagemanager specific file in the `v2/internal/system/packagemanager` directory. In our example, this would be `v2/internal/system/packagemanager/apt.go`.
+
+In this file, the list of packages are defined by the `Packages()` method:
+
+```go
+func (a *Apt) Packages() packagemap {
+ return packagemap{
+ "libgtk-3": []*Package{
+ {Name: "libgtk-3-dev", SystemPackage: true, Library: true},
+ },
+ "libwebkit": []*Package{
+ {Name: "libwebkit2gtk-4.0-dev", SystemPackage: true, Library: true},
+ },
+ "gcc": []*Package{
+ {Name: "build-essential", SystemPackage: true},
+ },
+ "pkg-config": []*Package{
+ {Name: "pkg-config", SystemPackage: true},
+ },
+ "npm": []*Package{
+ {Name: "npm", SystemPackage: true},
+ },
+ "docker": []*Package{
+ {Name: "docker.io", SystemPackage: true, Optional: true},
+ },
+ }
+}
+```
+
+Let's assume that in our linux distro, `libgtk-3` is packaged under the name `lib-gtk3-dev`. We could add support for this by adding the following line:
+
+```go {5}
+func (a *Apt) Packages() packagemap {
+ return packagemap{
+ "libgtk-3": []*Package{
+ {Name: "libgtk-3-dev", SystemPackage: true, Library: true},
+ {Name: "lib-gtk3-dev", SystemPackage: true, Library: true},
+ },
+ "libwebkit": []*Package{
+ {Name: "libwebkit2gtk-4.0-dev", SystemPackage: true, Library: true},
+ },
+ "gcc": []*Package{
+ {Name: "build-essential", SystemPackage: true},
+ },
+ "pkg-config": []*Package{
+ {Name: "pkg-config", SystemPackage: true},
+ },
+ "npm": []*Package{
+ {Name: "npm", SystemPackage: true},
+ },
+ "docker": []*Package{
+ {Name: "docker.io", SystemPackage: true, Optional: true},
+ },
+ }
+}
+```
+
+## Adding new package managers
+
+To add a new package manager, perform the following steps:
+
+- Create a new file in `v2/internal/system/packagemanager` called `.go`, where `` is the name of the package manager.
+- Define a struct that conforms to the package manager interface defined in `pm.go`:
+
+```go
+type PackageManager interface {
+ Name() string
+ Packages() packagemap
+ PackageInstalled(*Package) (bool, error)
+ PackageAvailable(*Package) (bool, error)
+ InstallCommand(*Package) string
+}
+```
+
+- `Name()` should return the name of the package manager
+- `Packages()` should return a `packagemap`, that provides candidate filenames for dependencies
+- `PackageInstalled()` should return `true` if the given package is installed
+- `PackageAvailable()` should return `true` if the given package is not installed but available for installation
+- `InstallCommand()` should return the exact command to install the given package name
+
+Take a look at the other package managers code to get an idea how this works.
+
+:::info Remember
+
+If you add support for a new package manager, don't forget to also update this page!
+
+:::
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux.mdx
new file mode 100644
index 00000000000..229c282bf55
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux.mdx
@@ -0,0 +1,18 @@
+# Linux
+
+This page has miscellaneous guides related to developing Wails applications for Linux.
+
+## Video tag doesn't fire "ended" event
+
+When using a video tag, the "ended" event is not fired when the video is finished playing. This is a bug in WebkitGTK, however you can use the following workaround to fix it:
+
+```js
+videoTag.addEventListener("timeupdate", (event) => {
+ if (event.target.duration - event.target.currentTime < 0.2) {
+ let ended = new Event("ended");
+ event.target.dispatchEvent(ended);
+ }
+});
+```
+
+Source: [Lyimmi](https://github.com/Lyimmi) on the [discussions board](https://github.com/wailsapp/wails/issues/1729#issuecomment-1212291275)
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/local-development.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/local-development.mdx
new file mode 100644
index 00000000000..4ba1f34c37d
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/local-development.mdx
@@ -0,0 +1,55 @@
+# Local Development
+
+## Overview
+
+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:
+
+- `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".
+
+The Wails CLI will now be at the very latest version.
+
+### Updating your project
+
+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:
+
+`replace github.com/wailsapp/wails/v2 => `
+
+Example:
+
+On Windows: `replace 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`
+
+To revert to a stable version, run:
+
+`go install github.com/wailsapp/wails/v2/cmd/wails@latest`
+
+## Testing a Branch
+
+If you want to test a branch, follow the instructions above, but ensure you switch the branch you want to test before installing:
+
+- `git clone https://github.com/wailsapp/wails`
+- `cd wails`
+- `git checkout -b branch-to-test --track origin/branch-to-test`
+- `cd v2/cmd/wails`
+- `go install`
+
+Make sure you [update your project](#updating-your-project) as described above.
+
+## Testing a 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:
+
+- `git clone https://github.com/wailsapp/wails`
+- `cd wails`
+- `git fetch -u origin pull/[IDofThePR]/head:test/pr-[IDofThePR]`
+- `git checkout test/pr-[IDofThePR]`
+- `git reset --hard HEAD`
+- `cd v2/cmd/wails`
+- `go install`
+
+Make sure you [update your project](#updating-your-project) as described above.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/mac-appstore.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/mac-appstore.mdx
new file mode 100644
index 00000000000..961595711c7
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/mac-appstore.mdx
@@ -0,0 +1,97 @@
+# Mac App Store Guide
+
+This page gives a brief overview of how to submit your Wails App to the Mac App Store.
+
+## Prerequisites
+
+- 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
+
+#### Create Certificates and Identifiers
+
+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.
+
+#### Create App Submission
+
+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
+
+#### 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.
+
+## Mac App Store Process
+
+#### Enable Apple's App Sandbox
+
+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`.
+
+**Example Entitlements File**
+
+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.
+
+```xml title="entitlements.plist"
+
+
+
+
+ com.apple.security.app-sandbox
+
+ com.apple.security.network.client
+
+ com.apple.security.network.server
+
+ com.apple.security.files.user-selected.read-write
+
+ com.apple.security.files.downloads.read-write
+
+ com.apple.application-identifier
+ TEAM_ID.APP_NAME
+ com.apple.developer.team-identifier
+ TEAM_ID
+
+
+```
+
+**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.
+
+#### Build and Sign the App Package
+
+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.
+
+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.
+
+```bash title="macappstore-build.sh"
+#!/bin/bash
+
+APP_CERTIFICATE="3rd Party Mac Developer Application: YOUR NAME (CODE)"
+PKG_CERTIFICATE="3rd Party Mac Developer Installer: YOUR NAME (CODE)"
+APP_NAME="YourApp"
+
+wails build -platform darwin/universal -clean
+
+cp ./embedded.provisionprofile "./build/bin/$APP_NAME.app/Contents"
+
+codesign --timestamp --options=runtime -s "$APP_CERTIFICATE" -v --entitlements ./build/darwin/entitlements.plist ./build/bin/$APP_NAME.app
+
+productbuild --sign "$PKG_CERTIFICATE" --component ./build/bin/$APP_NAME.app /Applications ./$APP_NAME.pkg
+```
+
+#### Upload App Bundle
+
+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.
+
+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.
+
+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.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/manual-builds.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/manual-builds.mdx
new file mode 100644
index 00000000000..dcf192d337f
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/manual-builds.mdx
@@ -0,0 +1,95 @@
+# Manual Builds
+
+The Wails CLI does a lot of heavy lifting for the project, but sometimes it's desirable to manually build your project. This document will discuss the different operations the CLI does and how this may be achieved in different ways.
+
+## Build Process
+
+When either `wails build` or `wails dev` are used, the Wails CLI performs a common build process:
+
+ - Install frontend dependencies
+ - Build frontend project
+ - Generate build assets
+ - Compile application
+ - [optional] Compress application
+
+### Install frontend dependencies
+
+#### CLI Steps
+
+- If the `-s` flag is given, this step is skipped
+- Checks `wails.json` to see if there is an install command in the key `frontend:install`
+- If there isn't, it skips this step
+- If there is, it checks if `package.json` exists in the frontend directory. If it doesn't exist, it skips this step
+- An MD5 sum is generated from the `package.json` file contents
+- It checks for the existence of `package.json.md5` and if it exists, will compare the contents of it (an MD5 sum) with the one generated to see if the contents have changed. If they are the same, this step is skipped
+- If `package.json.md5` does not exist, it creates it using the generated MD5 sum
+- If a build is now required, or `node_modules` does not exist, or the `-f` flag is given, the install command is executed in the frontend directory
+
+#### Manual Steps
+
+This step could be done from the command line or a script with `npm install`.
+
+### Build frontend project
+
+#### Wails CLI
+
+- If the `-s` flag is given, this step is skipped
+- Checks `wails.json` to see if there is a build command in the key `frontend:build`
+- If there isn't, it skips this step
+- If there is, it is executed in the frontend directory
+
+#### Manual Steps
+
+This step could be done from the command line or a script with `npm run build` or whatever the frontend build script is.
+
+### Generate assets
+
+#### Wails CLI
+
+- If `-nopackage` flag is set, this stage is skipped
+- If the `build/appicon.png` file does not exist, a default one is created
+- For Windows, see [Bundling for Windows](#windows)
+- If `build/windows/icon.ico` does not exist, it will create it from the `build/appicon.png` image.
+
+##### Windows
+
+- If `build/windows/icon.ico` does not exist, it will create it from `build/appicon.png` using icon sizes of 256, 128, 64, 48, 32 and 16. This is done using [winicon](https://github.com/leaanthony/winicon).
+- If the `build/windows/.manifest` file does not exist, it creates it from a default version.
+- Compiles the application as a production build (above)
+- Uses [winres](https://github.com/tc-hib/winres) to bundle the icon and manifest into a `.syso` file ready for linking.
+
+#### Manual Steps
+
+- Create `icon.ico` using the [winicon](https://github.com/leaanthony/winicon) CLI tool (or any other tool).
+- Create / Update a `.manifest` file for your application
+- Use the [winres CLI](https://github.com/tc-hib/go-winres) to generate a `.syso` file.
+
+### Compile application
+
+#### Wails CLI
+
+- If the `-clean` flag is provided, the `build` directory is deleted and recreated
+- For `wails dev`, the following default Go flags are used: `-tags dev -gcflags "all=-N -l"`
+- For `wails build`, the following default Go flags are used: `-tags desktop,production -ldflags "-w -s"`
+ - On Windows, `-ldflags "-w -h -H windowsgui"`
+- Additional tags passed to the CLI using `-tags` are added to the defaults
+- Additional ldflags passed to the CLI using `-ldflags` are added to the defaults
+- The `-o` flag is passed through
+- The Go compiler specified by `-compiler` will be used for compilation
+
+#### Manual steps
+
+- For dev build, the minimum command would be: `go build -tags dev -gcflags "all=-N -l"`
+- For production build, the minimum command would be: `go build -tags desktop,production -ldflags "-w -s -H windowsgui"`
+- Ensure that you compile in the same directory as the `.syso` file
+
+### Compress application
+
+#### Wails CLI
+
+- If the `-upx` flag has been given, the `upx` program will be run to compress the application with the default settings
+- If `-upxflags` is also passed, these flags are used instead of the default ones
+
+#### Manual steps
+
+- Run `upx [flags]` manually to compress the application.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/migrating.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/migrating.mdx
new file mode 100644
index 00000000000..7123cbe6b60
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/migrating.mdx
@@ -0,0 +1,191 @@
+# Migrating from v1
+
+## Overview
+
+Wails v2 is a significant change from v1. This document aims to highlight the changes and the steps in migrating an existing project.
+
+### Creating the Application
+
+In v1, the main application is created using `wails.CreateApp`, bindings are added with `app.Bind`, then the application is run using `app.Run()`.
+
+Example:
+
+```go title="v1"
+ app := wails.CreateApp(&wails.AppConfig{
+ Title: "MyApp",
+ Width: 1024,
+ Height: 768,
+ JS: js,
+ CSS: css,
+ Colour: "#131313",
+ })
+ app.Bind(basic)
+ app.Run()
+```
+
+In v2, there is just a single method, `wails.Run()`, that accepts [application options](../reference/options.mdx#application-options).
+
+```go title="v2"
+ err := wails.Run(&options.App{
+ Title: "MyApp",
+ Width: 800,
+ Height: 600,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ Bind: []interface{}{
+ basic,
+ },
+ })
+```
+
+### Binding
+
+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):
+
+```go title="v1"
+ app := wails.CreateApp(/* options */)
+ app.Bind(basic)
+```
+
+```go title="v2"
+ err := wails.Run(&options.App{
+ /* other options */
+ Bind: []interface{}{
+ basic,
+ },
+ })
+```
+
+In v1, bound methods were available to the frontend at `window.backend`. This has changed to `window.go`.``
+
+### Application Lifecycle
+
+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):
+
+- [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.
+
+These methods can be standard functions, but a common practice is to have them part of a struct:
+
+```go title="v2"
+ basic := NewBasicApp()
+ err := wails.Run(&options.App{
+ /* Other Options */
+ OnStartup: basic.startup,
+ OnShutdown: basic.shutdown,
+ OnDomReady: basic.domready,
+ })
+...
+type Basic struct {
+ ctx context.Context
+}
+func (b *Basic) startup(ctx context.Context) {
+ b.ctx = ctx
+}
+...
+```
+
+### Runtime
+
+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).
+
+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.
+
+```go title="Runtime Example"
+package main
+
+import "github.com/wailsapp/wails/v2/pkg/runtime"
+
+type Basic struct {
+ ctx context.Context
+}
+
+// startup is called at application startup
+func (a *App) startup(ctx context.Context) {
+ a.ctx = ctx
+ runtime.LogInfo(ctx, "Application Startup called!")
+}
+
+```
+
+### Assets
+
+The _biggest_ change in v2 is how assets are handled.
+
+In v1, assets were passed via 2 application options:
+
+- `JS` - The application's JavaScript
+- `CSS` - The application's CSS
+
+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.
+
+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`.
+
+**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**.
+
+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.
+
+Example: An application has the following project layout. All final assets are placed in the `frontend/dist` directory:
+
+```shell
+.
+├── build/
+├── frontend/
+│ └── dist/
+│ ├── index.html
+│ ├── main.js
+│ ├── main.css
+│ └── logo.svg
+├── main.go
+└── wails.json
+```
+
+Those assets may be used by the application by simply creating an `embed.FS`:
+
+```go title="Assets Example"
+//go:embed all:frontend/dist
+var assets embed.FS
+
+func main() {
+ err := wails.Run(&options.App{
+ /* Other Options */
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ })
+}
+```
+
+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).
+
+### Project Configuration
+
+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.
+
+The format of the file is slightly different. Here is a comparison:
+
+
+
+| v1 | v2 | Notes |
+| ------------------ | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| name | name | |
+| description | | Removed |
+| author / name | author / name | |
+| author / email | author / email | |
+| version | version | |
+| binaryname | outputfilename | Changed |
+| frontend / dir | | Removed |
+| frontend / install | frontend:install | Changed |
+| frontend / build | frontend:build | Changed |
+| frontend / bridge | | Removed |
+| 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. |
+
+
+```
+
+## Publishing Templates
+
+Publishing a template is simply pushing the files to GitHub. The following best practice is encouraged:
+
+- Remove any unwanted files and directories (such as `.git`) from your frontend directory
+- Ensure that `template.json` is complete, especially `helpurl`
+- Push the files to GitHub
+- Create a PR on the [Community Templates](../community/templates.mdx) page
+- Announce the template on the [Template Announcement](https://github.com/wailsapp/wails/discussions/825) discussion board
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/troubleshooting.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/troubleshooting.mdx
new file mode 100644
index 00000000000..1bb8e4d2100
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/troubleshooting.mdx
@@ -0,0 +1,166 @@
+# Troubleshooting
+
+An assortment of troubleshooting tips.
+
+## `wails` 명령어를 찾을 수 없나요?
+
+시스템에서 `wails` 명령어를 찾을 수 없는 경우 Go 설치 지침을 잘 따라했는지 확인해보세요. Normally, it means that the `go/bin` directory in your User's home directory is not in the `PATH` environment variable. You will also normally need to close and reopen any open command prompts so that changes to the environment made by the installer are reflected at the command prompt.
+
+## My application is displaying a white/blank screen
+
+Check that your application includes the assets from the correct directory. In your `main.go` file, you will have something similar to the following code:
+
+```go
+//go:embed all:frontend/dist
+var assets embed.FS
+```
+
+Check that `frontend/dist` contains your application assets.
+
+### Mac
+
+If this happens on Mac, try adding the following to your `Info.plist`:
+
+```xml
+NSAppTransportSecurity
+
+ NSAllowsLocalNetworking
+
+
+```
+
+Reference: https://github.com/wailsapp/wails/issues/1504#issuecomment-1174317433
+
+## Mac application not valid
+
+If your built application looks like this in finder:
+
+```mdx-code-block
+
+
+
+```
+
+it's likely that your application's `info.plist` is invalid. Update the file in `build/.app/Contents/info.plist` and check if the data is valid, EG check the binary name is correct. To persist the changes, copy the file back to the `build/darwin` directory.
+
+## Cannot call backend method from frontend with variadic arguments
+
+If you have a backend method defined with variadic parameters, eg:
+
+```go
+func (a *App) TestFunc(msg string, args ...interface{}) error {
+ // Code
+}
+```
+
+calling this method from the frontend like this will fail:
+
+```js
+var msg = "Hello: ";
+var args = ["Go", "JS"];
+window.go.main.App.TestFunc(msg, ...args)
+ .then((result) => {
+ //do things here
+ })
+ .catch((error) => {
+ //handle error
+ });
+```
+
+Workaround:
+
+```js
+var msg = "Hello ";
+var args = ["Go", "JS"];
+window.go.main.App.TestFunc(msg, args)
+ .then((result) => {
+ //without the 3 dots
+ //do things here
+ })
+ .catch((error) => {
+ //handle error
+ });
+```
+
+Credit: https://github.com/wailsapp/wails/issues/1186
+
+## I'm having getting proxy errors when trying to install Wails
+
+If you are getting errors like this:
+
+```
+"https://proxy.golang.org/github.com/wailsapp/wails/cmd/wails/@v/list": dial tcp 172.217.163.49:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
+```
+
+it's probably because the official Go Proxy is being blocked (Users in China have reported this). The solution is to set up the proxy manually, eg:
+
+```
+go env -w GO111MODULE=on
+go env -w GOPROXY=https://goproxy.cn,direct
+```
+
+Source: https://github.com/wailsapp/wails/issues/1233
+
+## The generated TypeScript doesn't have the correct types
+
+Sometimes the generated TypeScript doesn't have the correct types. To mitigate this, it is possible to specify what types should be generated using the `ts_type` struct tag. For more details, please read [this](https://github.com/tkrajina/typescriptify-golang-structs#custom-types).
+
+## When I navigate away from `index.html`, I am unable to call methods on the frontend
+
+If you navigate away from `index.html` to a new html file, the context will be lost. This can be fixed by adding the following imports to the `` section of any new page you navigate to:
+
+```html
+
+
+
+
+```
+
+Source: https://github.com/wailsapp/wails/discussions/1512
+
+## I get `too many open files` errors on my Mac when I run `wails dev`
+
+By default, macOS will only allow you to open a maximum of 256 files. This can affect the `wails dev` command. This limit can be increased by running: `ulimit -n 1024` in the terminal.
+
+FSNotify is [looking to move to Apple's fsevents](https://github.com/fsnotify/fsnotify/issues/11) for Mac. If this isn't completed soon, we will create our own implementation, tracked [here](https://github.com/wailsapp/wails/issues/1733).
+
+## My Mac app gives me weird compilation errors
+
+A few users have reported seeing compilation errors such as the following:
+
+```shell
+# github.com/wailsapp/wails/v2/internal/frontend/desktop/darwin
+In file included from ../../pkg/mod/github.com/wailsapp/wails/v2@v2.0.0-beta.44.2/internal/frontend/desktop/darwin/callbacks.go:9:
+In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:12:
+/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSBundle.h:91:143: error: function does not return NSString
+- (NSAttributedString *)localizedAttributedStringForKey:(NSString *)key value:(nullable NSString *)value table:(nullable NSString *)tableName NS_FORMAT_ARGUMENT(1) NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0));
+ ~~~~~~~~~~~~~~ ^ ~
+/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:103:48: note: expanded from macro 'NS_FORMAT_ARGUMENT'
+ #define NS_FORMAT_ARGUMENT(A) __attribute__ ((format_arg(A)))
+```
+
+This is _normally_ due to a mismatch with the OS version you are running and the version of the XCode Command Line Tools installed. If you see an error like this, try upgrading your XCode Command Line Tools to the latest version.
+
+If reinstalling Xcode Command Tools still fails, you can check the path where the toolkit is located using:
+
+`xcode-select -p`
+
+If `/Applications/Xcode.app/Contents/Developer` is displayed, run `sudo xcode-select --switch /Library/Developer/CommandLineTools`
+
+Sources: https://github.com/wailsapp/wails/issues/1806 and https://github.com/wailsapp/wails/issues/1140#issuecomment-1290446496
+
+--
+
+## Cannot start service: Host version "x.x.x does not match binary version "x.x.x"
+
+It's preferable to add `frontend/node_modules` and `frontend/package-lock.json` to your `.gitignore`. Otherwise when opening your repository on another machine that may have different versions of Node installed, you may not be able to run your application.
+
+If this does happen, simply delete `frontend/node_modules` and `frontend/package-lock.json` and run your `wails build` or `wails dev` command again.
+
+## Build process stuck on "Generating bindings"
+
+Bindings generation process runs your application in a special mode. If application, intentionally or unintentionally, contains an endless loop (i.e. not exiting after `wails.Run()` finished), this can lead to build process stuck on the stage of bindings generation. Please make sure your code exits properly.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/vscode.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/vscode.mdx
new file mode 100644
index 00000000000..ed258656d63
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/vscode.mdx
@@ -0,0 +1,82 @@
+
+# Visual Studio Code
+
+This page is for miscellaneous tips and tricks when using Visual Studio Code with Wails.
+
+## Vetur Configuration
+
+Many thanks to [@Lyimmi](https://github.com/Lyimmi) for this tip. Originally posted [here](https://github.com/wailsapp/wails/issues/1791#issuecomment-1228158349).
+
+Vetur is a popular plugin for Visual Studio Code that provides syntax highlighting and code completion for Vue projects. When loading a Wails project in VSCode, Vetur will throw an error as it is expecting to find the frontend project in the root directory. To fix this, you can do the following:
+
+Create a file named `vetur.config.js` in the project's root.
+
+```javascript
+// vetur.config.js
+/** @type {import('vls').VeturConfig} */
+module.exports = {
+ // **optional** default: `{}`
+ // override vscode settings
+ // Notice: It only affects the settings used by Vetur.
+ settings: {
+ "vetur.useWorkspaceDependencies": true,
+ "vetur.experimental.templateInterpolationService": true
+ },
+ // **optional** default: `[{ root: './' }]`
+ // support monorepos
+ projects: [
+ {
+ // **required**
+ // Where is your project?
+ // It is relative to `vetur.config.js`.
+ // root: './packages/repo1',
+ root: './frontend',
+ // **optional** default: `'package.json'`
+ // Where is `package.json` in the project?
+ // We use it to determine the version of vue.
+ // It is relative to root property.
+ package: './package.json',
+ // **optional**
+ // Where is TypeScript config file in the project?
+ // It is relative to root property.
+ tsconfig: './tsconfig.json',
+ // **optional** default: `'./.vscode/vetur/snippets'`
+ // Where is vetur custom snippets folders?
+ snippetFolder: './.vscode/vetur/snippets',
+ // **optional** default: `[]`
+ // Register globally Vue component glob.
+ // If you set it, you can get completion by that components.
+ // It is relative to root property.
+ // Notice: It won't actually do it. You need to use `require.context` or `Vue.component`
+ globalComponents: [
+ './src/components/**/*.vue'
+ ]
+ }
+ ]
+}
+```
+
+Next, configure `frontend/tsconfig.json`:
+
+```javascript
+{
+ "compilerOptions": {
+ "module": "system",
+ "noImplicitAny": true,
+ "removeComments": true,
+ "preserveConstEnums": true,
+ "sourceMap": true,
+ "outFile": "../../built/local/tsc.js",
+ "allowJs": true
+ },
+ "exclude": [
+ "node_modules",
+ "**/*.spec.ts"
+ ],
+ "include": [
+ "src/**/*",
+ "wailsjs/**/*.ts"
+ ]
+}
+```
+This should enable you to now use Vetur as expected.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows-installer.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows-installer.mdx
new file mode 100644
index 00000000000..22d3aec7078
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows-installer.mdx
@@ -0,0 +1,58 @@
+# NSIS installer
+
+```mdx-code-block
+
+
+
+
+```
+
+Wails는 [NSIS installer](https://nsis.sourceforge.io/)를 사용하여 Windows 인스톨러 생성을 지원합니다.
+
+## NSIS 설치하기
+
+### Windows
+
+인스톨러는 [NSIS Download](https://nsis.sourceforge.io/Download) 페이지에서 사용이 가능합니다.
+
+만약 chocolatey 패키지 매니저를 사용한다면, 다음 스크립트를 실행하세요:
+
+```
+choco install nsis
+```
+
+만약 NSIS를 수동으로 설치하기 원한다면, NSIS가 설치된 경로에서 `makensis.exe`가 포함된 _Bin_ 폴더를 추가 해야합니다. [여기](https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/) Windows에서 어떻게 경로를 추가하는지에 대한 튜토리얼이 있습니다.
+
+### Linux
+
+`nsis` 패키지는 사용자의 배포판 패키지 매니저를 통해 이용이 가능합니다.
+
+### MacOS
+
+NSIS는 homebrew를 통해 설치가 가능합니다: `brew install nsis`.
+
+## 인스톨러 생성하기
+
+새로운 프로젝트가 생성되었을때, Wails는 NSIS 설정 파일을 `build/windows/installer`에 생성합니다. 설정 데이터는 `installer/info.json`로 부터 읽어오며 이 데이터는 이 프로젝트의 `wails.json` Info 섹션에서 설정되어 사용됩니다:
+
+```json
+// ...
+ "Info": {
+ "companyName": "My Company Name",
+ "productName": "Wails Vite",
+ "productVersion": "1.0.0",
+ "copyright": "Copyright.........",
+ "comments": "Built using Wails (https://wails.io)"
+ },
+```
+
+애플리케이션을 위한 인스톨러를 생성하기 위해 `-nsis` 플래그를 `wails build`와 함께 사용하세요:
+
+```
+wails build -nsis
+```
+
+이제 인스톨러는 `build/bin` 디렉토리에서 이용이 가능합니다.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows.mdx
new file mode 100644
index 00000000000..821808c0b8d
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows.mdx
@@ -0,0 +1,61 @@
+# Windows
+
+This page has miscellaneous guides related to developing Wails applications for Windows.
+
+## Handling the WebView2 Runtime Dependency
+
+Wails applications built for Windows have a runtime requirement on the Microsoft [WebView2 Runtime](https://developer.microsoft.com/en-us/microsoft-edge/webview2/). Windows 11 will have this installed by default, but some machines won't. Wails offers an easy approach to dealing with this dependency.
+
+By using the `-webview2` flag when building, you can decide what your application will do when a suitable runtime is not detected (including if the installed runtime is too old). The four options are:
+
+1. Download
+2. Embed
+3. Browser
+4. Error
+
+### Download
+
+This option will prompt the user that no suitable runtime has been found and then offer to download and run the official bootstrapper from Microsoft's WebView2 site. If the user proceeds, the official bootstrapper will be downloaded and run.
+
+### Embed
+
+This option embeds the official bootstrapper within the application. If no suitable runtime has been found, the application will offer to run the bootstrapper. This adds ~150k to the binary size.
+
+### Browser
+
+This option will prompt the user that no suitable runtime has been found and then offer to open a browser to the official WebView2 page where the bootstrapper can be downloaded and installed. The application will then exit, leaving the installation up to the user.
+
+### Error
+
+If no suitable runtime is found, an error is given to the user and no further action taken.
+
+## Fixed version runtime
+
+Another way of dealing with webview2 dependency is shipping it yourself. You can download [fixed version runtime](https://developer.microsoft.com/microsoft-edge/webview2/#download-section) and bundle or download it with your application.
+
+Also, you should specify path to fixed version of webview2 runtime in the `windows.Options` structure when launching wails.
+
+```go
+ wails.Run(&options.App{
+ Windows: &windows.Options{
+ WebviewBrowserPath: "",
+ },
+ })
+```
+
+Note: When `WebviewBrowserPath` is specified, `error` strategy will be forced in case of minimal required version mismatch or invalid path to a runtime.
+
+## Spawning other programs
+
+When spawning other programs, such as scripts, you will see the window appear on the screen. To hide the window, you can use the following code:
+
+```go
+cmd := exec.Command("your_script.exe")
+cmd.SysProcAttr = &syscall.SysProcAttr{
+ HideWindow: true,
+ CreationFlags: 0x08000000,
+}
+cmd.Start()
+```
+
+Solution provided by [sithembiso](https://github.com/sithembiso) on the [discussions board](https://github.com/wailsapp/wails/discussions/1734#discussioncomment-3386172).
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/howdoesitwork.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/howdoesitwork.mdx
new file mode 100644
index 00000000000..44fa130cc74
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/howdoesitwork.mdx
@@ -0,0 +1,369 @@
+---
+sidebar_position: 20
+---
+
+# How does it work?
+
+A Wails application is a standard Go application, with a webkit frontend. The Go part of the application consists of the application code and a runtime library that provides a number of useful operations, like controlling the application window. The frontend is a webkit window that will display the frontend assets. Also available to the frontend is a JavaScript version of the runtime library. Finally, it is possible to bind Go methods to the frontend, and these will appear as JavaScript methods that can be called, just as if they were local JavaScript methods.
+
+```mdx-code-block
+
+
+
+```
+
+## The Main Application
+
+### Overview
+
+The main application consists of a single call to `wails.Run()`. It accepts the application configuration which describes the size of the application window, the window title, what assets to use, etc. A basic application might look like this:
+
+```go title="main.go"
+package main
+
+import (
+ "embed"
+ "log"
+
+ "github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/options"
+ "github.com/wailsapp/wails/v2/pkg/options/assetserver"
+)
+
+//go:embed all:frontend/dist
+var assets embed.FS
+
+func main() {
+
+ app := &App{}
+
+ err := wails.Run(&options.App{
+ Title: "Basic Demo",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ Bind: []interface{}{
+ app,
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+
+type App struct {
+ ctx context.Context
+}
+
+func (b *App) startup(ctx context.Context) {
+ b.ctx = ctx
+}
+
+func (b *App) shutdown(ctx context.Context) {}
+
+func (b *App) Greet(name string) string {
+ return fmt.Sprintf("Hello %s!", name)
+}
+```
+
+### Options rundown
+
+This example has the following options set:
+
+- `Title` - The text that should appear in the window's title bar
+- `Width` & `Height` - The dimensions of the window
+- `Assets` - The application's frontend assets
+- `OnStartup` - A callback for when the window is created and is about to start loading the frontend assets
+- `OnShutdown` - A callback for when the application is about to quit
+- `Bind` - A slice of struct instances that we wish to expose to the frontend
+
+A full list of application options can be found in the [Options Reference](reference/options).
+
+#### Assets
+
+The `Assets` option is mandatory as you can't have a Wails application without frontend assets. Those assets can be any files you would expect to find in a web application - html, js, css, svg, png, etc. **There is no requirement to generate asset bundles** - plain files will do. When the application starts, it will attempt to load `index.html` from your assets and the frontend will essentially work as a browser from that point on. It is worth noting that there is no requirement on where in the `embed.FS` the files live. It is likely that the embed path uses a nested directory relative to your main application code, such as `frontend/dist`:
+
+```go title="main.go"
+//go:embed all:frontend/dist
+var assets embed.FS
+```
+
+At startup, Wails will iterate the embedded files looking for the directory containing `index.html`. All other assets will be loaded relative to this directory.
+
+As production binaries use the files contained in `embed.FS`, there are no external files required to be shipped with the application.
+
+When running in development mode using the `wails dev` command, the assets are loaded off disk, and any changes result in a "live reload". The location of the assets will be inferred from the `embed.FS`.
+
+More details can be found in the [Application Development Guide](guides/application-development.mdx).
+
+#### Application Lifecycle Callbacks
+
+Just before the frontend is about to load `index.html`, a callback is made to the function provided in [OnStartup](reference/options.mdx#onstartup). A standard Go context is passed to this method. This context is required when calling the runtime so a standard pattern is to save a reference to in this method. Just before the application shuts down, the [OnShutdown](reference/options.mdx#onshutdown) callback is called in the same way, again with the context. There is also an [OnDomReady](reference/options.mdx#ondomready) callback for when the frontend has completed loading all assets in `index.html` and is equivalent of the [`body onload`](https://www.w3schools.com/jsref/event_onload.asp) event in JavaScript. It is also possible to hook into the window close (or application quit) event by setting the option [OnBeforeClose](reference/options.mdx#onbeforeclose).
+
+#### Method Binding
+
+The `Bind` option is one of the most important options in a Wails application. It specifies which struct methods to expose to the frontend. Think of structs like "controllers" in a traditional web application. When the application starts, it examines the struct instances listed in the `Bind` field in the options, determines which methods are public (starts with an uppercase letter) and will generate JavaScript versions of those methods that can be called by the frontend code.
+
+:::info Note
+
+Wails requires that you pass in an _instance_ of the struct for it to bind it correctly
+
+:::
+
+In this example, we create a new `App` instance and then add this instance to the `Bind` option in `wails.Run`:
+
+```go {17,27} title="main.go"
+package main
+
+import (
+ "embed"
+ "log"
+
+ "github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/options"
+ "github.com/wailsapp/wails/v2/pkg/options/assetserver"
+)
+
+//go:embed all:frontend/dist
+var assets embed.FS
+
+func main() {
+
+ app := &App{}
+
+ err := wails.Run(&options.App{
+ Title: "Basic Demo",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ Bind: []interface{}{
+ app,
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+
+type App struct {
+ ctx context.Context
+}
+
+func (a *App) Greet(name string) string {
+ return fmt.Sprintf("Hello %s!", name)
+}
+```
+
+You may bind as many structs as you like. Just make sure you create an instance of it and pass it in `Bind`:
+
+```go {10-12}
+ //...
+ err := wails.Run(&options.App{
+ Title: "Basic Demo",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ Bind: []interface{}{
+ app,
+ &mystruct1{},
+ &mystruct2{},
+ },
+ })
+
+```
+
+When you run `wails dev` (or `wails generate module`), a frontend module will be generated containing the following:
+
+- JavaScript bindings for all bound methods
+- TypeScript declarations for all bound methods
+- TypeScript definitions for all Go structs used as inputs or outputs by the bound methods
+
+This makes it incredibly simple to call Go code from the frontend, using the same strongly typed datastructures.
+
+## The Frontend
+
+### Overview
+
+The frontend is a collection of files rendered by webkit. It's like a browser and webserver in one. There is virtually[^1] no limit to which frameworks or libraries you can use. The main points of interaction between the frontend and your Go code are:
+
+- Calling bound Go methods
+- Calling runtime methods
+
+### Calling bound Go methods
+
+When you run your application with `wails dev`, it will automatically generate JavaScript bindings for your structs in a directory called `wailsjs/go` (You can also do this by running `wails generate module`). The generated files mirror the package names in your application. In the example above, we bind `app`, which has one public method `Greet`. This will lead to the generation of the following files:
+
+```bash
+wailsjs
+ └─go
+ └─main
+ ├─App.d.ts
+ └─App.js
+```
+
+Here we can see that there is a `main` package that contains the JavaScript bindings for the bound `App` struct, as well as the TypeScript declaration file for those methods. To call `Greet` from our frontend, we simply import the method and call it like a regular JavaScript function:
+
+```javascript
+// ...
+import { Greet } from "../wailsjs/go/main/App";
+
+function doGreeting(name) {
+ Greet(name).then((result) => {
+ // Do something with result
+ });
+}
+```
+
+The TypeScript declaration file gives you the correct types for the bound methods:
+
+```ts
+export function Greet(arg1: string): Promise;
+```
+
+The generated methods return a Promise. A successful call will result in the first return value from the Go call to be passed to the `resolve` handler. An unsuccessful call is when a Go method that has an error type as it's second return value, passes an error instance back to the caller. This is passed back via the `reject` handler. In the example above, `Greet` only returns a `string` so the JavaScript call will never reject - unless invalid data is passed to it.
+
+All data types are correctly translated between Go and JavaScript. Even structs. If you return a struct from a Go call, it will be returned to your frontend as a JavaScript class.
+
+:::info Note
+
+Struct fields _must_ have a valid `json` tag to be included in the generated TypeScript.
+
+Anonymous nested structs are not supported at this time.
+
+:::
+
+It is possible to send structs back to Go. Any JavaScript map/class passed as an argument that is expecting a struct, will be converted to that struct type. To make this process a lot easier, in `dev` mode, a TypeScript module is generated, defining all the struct types used in bound methods. Using this module, it's possible to construct and send native JavaScript objects to the Go code.
+
+There is also support for Go methods that use structs in their signature. All Go structs specified by a bound method (either as parameters or return types) will have TypeScript versions auto generated as part of the Go code wrapper module. Using these, it's possible to share the same data model between Go and JavaScript.
+
+Example: We update our `Greet` method to accept a `Person` instead of a string:
+
+```go title="main.go"
+type Person struct {
+ Name string `json:"name"`
+ Age uint8 `json:"age"`
+ Address *Address `json:"address"`
+}
+
+type Address struct {
+ Street string `json:"street"`
+ Postcode string `json:"postcode"`
+}
+
+func (a *App) Greet(p Person) string {
+ return fmt.Sprintf("Hello %s (Age: %d)!", p.Name, p.Age)
+}
+```
+
+The `wailsjs/go/main/App.js` file will still have the following code:
+
+```js title="App.js"
+export function Greet(arg1) {
+ return window["go"]["main"]["App"]["Greet"](arg1);
+}
+```
+
+But the `wailsjs/go/main/App.d.ts` file will be updated with the following code:
+
+```ts title="App.d.ts"
+import { main } from "../models";
+
+export function Greet(arg1: main.Person): Promise;
+```
+
+As we can see, the "main" namespace is imported from a new "models.ts" file. This file contains all the struct definitions used by our bound methods. In this example, this is a `Person` struct. If we look at `models.ts`, we can see how the models are defined:
+
+```ts title="models.ts"
+export namespace main {
+ export class Address {
+ street: string;
+ postcode: string;
+
+ static createFrom(source: any = {}) {
+ return new Address(source);
+ }
+
+ constructor(source: any = {}) {
+ if ("string" === typeof source) source = JSON.parse(source);
+ this.street = source["street"];
+ this.postcode = source["postcode"];
+ }
+ }
+ export class Person {
+ name: string;
+ age: number;
+ address?: Address;
+
+ static createFrom(source: any = {}) {
+ return new Person(source);
+ }
+
+ constructor(source: any = {}) {
+ if ("string" === typeof source) source = JSON.parse(source);
+ this.name = source["name"];
+ this.age = source["age"];
+ this.address = this.convertValues(source["address"], Address);
+ }
+
+ convertValues(a: any, classs: any, asMap: boolean = false): any {
+ if (!a) {
+ return a;
+ }
+ if (a.slice) {
+ return (a as any[]).map((elem) => this.convertValues(elem, classs));
+ } else if ("object" === typeof a) {
+ if (asMap) {
+ for (const key of Object.keys(a)) {
+ a[key] = new classs(a[key]);
+ }
+ return a;
+ }
+ return new classs(a);
+ }
+ return a;
+ }
+ }
+}
+```
+
+So long as you have TypeScript as part of your frontend build configuration, you can use these models in the following way:
+
+```js title="mycode.js"
+import { Greet } from "../wailsjs/go/main/App";
+import { main } from "../wailsjs/go/models";
+
+function generate() {
+ let person = new main.Person();
+ person.name = "Peter";
+ person.age = 27;
+ Greet(person).then((result) => {
+ console.log(result);
+ });
+}
+```
+
+The combination of generated bindings and TypeScript models makes for a powerful development environment.
+
+More information on Binding can be found in the [Binding Methods](guides/application-development.mdx#binding-methods) section of the [Application Development Guide](guides/application-development.mdx).
+
+### Calling runtime methods
+
+The JavaScript runtime is located at `window.runtime` and contains many methods to do various tasks such as emit an event or perform logging operations:
+
+```js title="mycode.js"
+window.runtime.EventsEmit("my-event", 1);
+```
+
+More details about the JS runtime can be found in the [Runtime Reference](reference/runtime/intro).
+
+[^1]: There is a very small subset of libraries that use features unsupported in WebViews. There are often alternatives and workarounds for such cases.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/introduction.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/introduction.mdx
new file mode 100644
index 00000000000..222a0ae9846
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/introduction.mdx
@@ -0,0 +1,75 @@
+---
+sidebar_position: 1
+---
+
+# 소개
+
+Wails is a project that enables you to write desktop apps using Go and web technologies.
+
+Consider it a lightweight and fast Electron alternative for Go. You can easily build applications with the flexibility and power of Go, combined with a rich, modern frontend.
+
+### Features
+
+- Native Menus, Dialogs, Theming and Translucency
+- Windows, macOS and linux support
+- Built in templates for Svelte, React, Preact, Vue, Lit and Vanilla JS
+- Easily call Go methods from JavaScript
+- Automatic Go struct to TypeScript model generation
+- No CGO or external DLLs required on Windows
+- Live development mode using the power of [Vite](https://vitejs.dev/)
+- Powerful CLI to easily Create, Build and Package applications
+- A rich [runtime library](/docs/reference/runtime/intro)
+- Applications built with Wails are Apple & Microsoft Store compliant
+
+This is [varly](https://varly.app) - a desktop application for MacOS & Windows written using Wails. Not only does it look great, it uses native menus and translucency - everything you'd expect from a modern native app.
+
+```mdx-code-block
+
+
+```
+
+When clicked, that will open an about message box:
+
+```mdx-code-block
+
+
+
+
+```
+
+### Linux
+
+This defines [Linux specific options](#linux).
+
+Name: Linux Type: `*linux.Options`
+
+#### Icon
+
+Sets up the icon representing the window. This icon is used when the window is minimized (also known as iconified).
+
+Name: Icon Type: `[]byte`
+
+Some window managers or desktop environments may also place it in the window frame, or display it in other contexts. On others, the icon is not used at all, so your mileage may vary.
+
+NOTE: Gnome on Wayland at least does not display this icon. To have a application icon there, a `.desktop` file has to be used. On KDE it should work.
+
+The icon should be provided in whatever size it was naturally drawn; that is, don’t scale the image before passing it. Scaling is postponed until the last minute, when the desired final size is known, to allow best quality.
+
+#### WindowIsTranslucent
+
+Setting this to `true` will make the window background translucent. Some window managers may ignore it, or result in a black window.
+
+Name: WindowIsTranslucent Type: `bool`
+
+#### WebviewGpuPolicy
+
+This option is used for determining the webview's hardware acceleration policy.
+
+Name: WebviewGpuPolicy Type: [`options.WebviewGpuPolicy`](#webviewgpupolicy-type) Default: `WebviewGpuPolicyAlways`
+
+##### WebviewGpuPolicy type
+
+| Value | Description |
+| ------------------------ | -------------------------------------------------------------------- |
+| WebviewGpuPolicyAlways | Hardware acceleration is always enabled |
+| WebviewGpuPolicyOnDemand | Hardware acceleration is enabled/disabled as request by web contents |
+| WebviewGpuPolicyNever | Hardware acceleration is always disabled |
+
+### Debug
+
+This defines [Debug specific options](#Debug) that apply to debug builds.
+
+Name: Debug Type: `options.Debug`
+
+#### OpenInspectorOnStartup
+
+Setting this to `true` will open the WebInspector on startup of the application.
+
+Name: OpenInspectorOnStartup Type: `bool`
+
+[^1]: This requires WebKit2GTK 2.36+ support and your app needs to be build with the build tag `webkit2_36` to activate support for this feature. This also bumps the minimum requirement of WebKit2GTK to 2.36 for your app.
+[^2]: This requires WebKit2GTK 2.40+ support and your app needs to be build with the build tag `webkit2_40` to activate support for this feature. This also bumps the minimum requirement of WebKit2GTK to 2.40 for your app.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/project-config.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/project-config.mdx
new file mode 100644
index 00000000000..5c7d578b777
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/project-config.mdx
@@ -0,0 +1,92 @@
+---
+sidebar_position: 5
+---
+
+# Project Config
+
+The project config resides in the `wails.json` file in the project directory. The structure of the config is:
+
+```json
+{
+ // Project config version
+ "version": "",
+ // The project name
+ "name": "",
+ // Relative path to the directory containing the compiled assets, this is normally inferred and could be left empty
+ "assetdir": "",
+ // Additional directories to trigger reloads (comma separated), this is only used for some advanced asset configurations
+ "reloaddirs": "",
+ // The directory where the build files reside. Defaults to 'build'
+ "build:dir": "",
+ // Relative path to the frontend directory. Defaults to 'frontend'
+ "frontend:dir": "",
+ // The command to install node dependencies, run in the frontend directory - often `npm install`
+ "frontend:install": "",
+ // The command to build the assets, run in the frontend directory - often `npm run build`
+ "frontend:build": "",
+ // This command has been replaced by frontend:dev:build. If frontend:dev:build is not specified will falls back to this command. \nIf this command is also not specified will falls back to frontend:build
+ "frontend:dev": "",
+ // This command is the dev equivalent of frontend:build. If not specified falls back to frontend:dev
+ "frontend:dev:build": "",
+ // This command is the dev equivalent of frontend:install. If not specified falls back to frontend:install
+ "frontend:dev:install": "",
+ // This command is run in a separate process on `wails dev`. Useful for 3rd party watchers or starting 3d party dev servers
+ "frontend:dev:watcher": "",
+ // URL to a 3rd party dev server to be used to serve assets, EG Vite. \nIf this is set to 'auto' then the devServerUrl will be inferred from the Vite output
+ "frontend:dev:serverUrl": "",
+ // Relative path to the directory that the auto-generated JS modules will be created
+ "wailsjsdir": "",
+ // The name of the binary
+ "outputfilename": "",
+ // The default time the dev server waits to reload when it detects a change in assets
+ "debounceMS": 100,
+ // Address to bind the wails dev sever to. Default: localhost:34115
+ "devServer": "",
+ // Arguments passed to the application in shell style when in dev mode
+ "appargs": "",
+ // Defines if build hooks should be run though they are defined for an OS other than the host OS.
+ "runNonNativeBuildHooks": false,
+ "preBuildHooks": {
+ // The command that will be executed before a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.
+ "GOOS/GOARCH": "",
+ // The command that will be executed before a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/*" hook is executed before the "*/*" hook.
+ "GOOS/*": "",
+ // The command that will be executed before every build: ${platform} is replaced with the "GOOS/GOARCH".
+ "*/*": ""
+ },
+ "postBuildHooks": {
+ // The command that will be executed after a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.
+ "GOOS/GOARCH": "",
+ // The command that will be executed after a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/*" hook is executed before the "*/*" hook.
+ "GOOS/*": "",
+ // The command that will be executed after every build: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary.
+ "*/*": ""
+ },
+ // Data used to populate manifests and version info.
+ "info": {
+ // The company name. Default: [The project name]
+ "companyName": "",
+ // The product name. Default: [The project name]
+ "productName": "",
+ // The version of the product. Default: '1.0.0'
+ "productVersion": "",
+ // The copyright of the product. Default: 'Copyright.........'
+ "copyright": "",
+ // A short comment of the app. Default: 'Built using Wails (https://wails.app)'
+ "comments": ""
+ },
+ // 'multiple': One installer per architecture. 'single': Single universal installer for all architectures being built. Default: 'multiple'
+ "nsisType": "",
+ // Whether the app should be obfuscated. Default: false
+ "obfuscated": "",
+ // The arguments to pass to the garble command when using the obfuscated flag
+ "garbleargs": ""
+}
+```
+
+This file is read by the Wails CLI when running `wails build` or `wails dev`.
+
+The `assetdir`, `reloaddirs`, `wailsjsdir`, `debounceMS`, `devserver` and `frontenddevserverurl` flags in `wails build/dev` will update the project config
+and thus become defaults for subsequent runs.
+
+The JSON Schema for this file is located [here](https://wails.io/schemas/config.v2.json).
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/browser.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/browser.mdx
new file mode 100644
index 00000000000..b8eef677b92
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/browser.mdx
@@ -0,0 +1,13 @@
+---
+sidebar_position: 7
+---
+
+# 브라우저
+
+이 메소드들은 시스템 브라우저와 관련 있습니다.
+
+### BrowserOpenURL
+
+시스템 브라우저에서 URL을 엽니다.
+
+Go: `BrowserOpenURL(ctx context.Context, url string)` JS: `BrowserOpenURL(url string)`
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/clipboard.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/clipboard.mdx
new file mode 100644
index 00000000000..805f68ed917
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/clipboard.mdx
@@ -0,0 +1,23 @@
+---
+sidebar_position: 8
+---
+
+# Clipboard
+
+This part of the runtime provides access to the operating system's clipboard. The current implementation only handles text.
+
+### ClipboardGetText
+
+This method reads the currently stored text from the clipboard.
+
+Go: `ClipboardGetText(ctx context.Context) (string, error)` Returns: a string (if the clipboard is empty an empty string will be returned) or an error.
+
+JS: `ClipboardGetText(): Promise` Returns: a promise with a string result (if the clipboard is empty an empty string will be returned).
+
+### ClipboardSetText
+
+This method writes a text to the clipboard.
+
+Go: `ClipboardSetText(ctx context.Context, text string) error` Returns: an error if there is any.
+
+JS: `ClipboardSetText(text: string): Promise` Returns: a promise with true result if the text was successfully set on the clipboard, false otherwise.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/dialog.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/dialog.mdx
new file mode 100644
index 00000000000..9b3e6cf145c
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/dialog.mdx
@@ -0,0 +1,302 @@
+---
+sidebar_position: 5
+---
+
+# Dialog
+
+This part of the runtime provides access to native dialogs, such as File Selectors and Message boxes.
+
+:::info JavaScript
+
+Dialog is currently unsupported in the JS runtime.
+
+:::
+
+### OpenDirectoryDialog
+
+Opens a dialog that prompts the user to select a directory. Can be customised using [OpenDialogOptions](#opendialogoptions).
+
+Go: `OpenDirectoryDialog(ctx context.Context, dialogOptions OpenDialogOptions) (string, error)`
+
+Returns: Selected directory (blank if the user cancelled) or an error
+
+### OpenFileDialog
+
+Opens a dialog that prompts the user to select a file. Can be customised using [OpenDialogOptions](#opendialogoptions).
+
+Go: `OpenFileDialog(ctx context.Context, dialogOptions OpenDialogOptions) (string, error)`
+
+Returns: Selected file (blank if the user cancelled) or an error
+
+### OpenMultipleFilesDialog
+
+Opens a dialog that prompts the user to select multiple files. Can be customised using [OpenDialogOptions](#opendialogoptions).
+
+Go: `OpenMultipleFilesDialog(ctx context.Context, dialogOptions OpenDialogOptions) ([]string, error)`
+
+Returns: Selected files (nil if the user cancelled) or an error
+
+### SaveFileDialog
+
+Opens a dialog that prompts the user to select a filename for the purposes of saving. Can be customised using [SaveDialogOptions](#savedialogoptions).
+
+Go: `SaveFileDialog(ctx context.Context, dialogOptions SaveDialogOptions) (string, error)`
+
+Returns: The selected file (blank if the user cancelled) or an error
+
+### MessageDialog
+
+Displays a message using a message dialog. Can be customised using [MessageDialogOptions](#messagedialogoptions).
+
+Go: `MessageDialog(ctx context.Context, dialogOptions MessageDialogOptions) (string, error)`
+
+Returns: The text of the selected button or an error
+
+## Options
+
+### OpenDialogOptions
+
+```go
+type OpenDialogOptions struct {
+ DefaultDirectory string
+ DefaultFilename string
+ Title string
+ Filters []FileFilter
+ ShowHiddenFiles bool
+ CanCreateDirectories bool
+ ResolvesAliases bool
+ TreatPackagesAsDirectories bool
+}
+```
+
+| Field | Description | Win | Mac | Lin |
+| -------------------------- | ---------------------------------------------- | --- | --- | --- |
+| DefaultDirectory | The directory the dialog will show when opened | ✅ | ✅ | ✅ |
+| DefaultFilename | The default filename | ✅ | ✅ | ✅ |
+| Title | Title for the dialog | ✅ | ✅ | ✅ |
+| [Filters](#filefilter) | A list of file filters | ✅ | ✅ | ✅ |
+| ShowHiddenFiles | Show files hidden by the system | | ✅ | ✅ |
+| CanCreateDirectories | Allow user to create directories | | ✅ | |
+| ResolvesAliases | If true, returns the file not the alias | | ✅ | |
+| TreatPackagesAsDirectories | Allow navigating into packages | | ✅ | |
+
+### SaveDialogOptions
+
+```go
+type SaveDialogOptions struct {
+ DefaultDirectory string
+ DefaultFilename string
+ Title string
+ Filters []FileFilter
+ ShowHiddenFiles bool
+ CanCreateDirectories bool
+ TreatPackagesAsDirectories bool
+}
+```
+
+| Field | Description | Win | Mac | Lin |
+| -------------------------- | ---------------------------------------------- | --- | --- | --- |
+| DefaultDirectory | The directory the dialog will show when opened | ✅ | ✅ | ✅ |
+| DefaultFilename | The default filename | ✅ | ✅ | ✅ |
+| Title | Title for the dialog | ✅ | ✅ | ✅ |
+| [Filters](#filefilter) | A list of file filters | ✅ | ✅ | ✅ |
+| ShowHiddenFiles | Show files hidden by the system | | ✅ | ✅ |
+| CanCreateDirectories | Allow user to create directories | | ✅ | |
+| TreatPackagesAsDirectories | Allow navigating into packages | | ✅ | |
+
+### MessageDialogOptions
+
+```go
+type MessageDialogOptions struct {
+ Type DialogType
+ Title string
+ Message string
+ Buttons []string
+ DefaultButton string
+ CancelButton string
+}
+```
+
+| Field | Description | Win | Mac | Lin |
+| ------------- | -------------------------------------------------------------------------- | -------------- | --- | --- |
+| Type | The type of message dialog, eg question, info... | ✅ | ✅ | ✅ |
+| Title | Title for the dialog | ✅ | ✅ | ✅ |
+| Message | The message to show the user | ✅ | ✅ | ✅ |
+| Buttons | A list of button titles | | ✅ | |
+| DefaultButton | The button with this text should be treated as default. Bound to `return`. | ✅[*](#windows) | ✅ | |
+| CancelButton | The button with this text should be treated as cancel. Bound to `escape` | | ✅ | |
+
+#### Windows
+
+Windows has standard dialog types in which the buttons are not customisable. The value returned will be one of: "Ok", "Cancel", "Abort", "Retry", "Ignore", "Yes", "No", "Try Again" or "Continue".
+
+For Question dialogs, the default button is "Yes" and the cancel button is "No". This can be changed by setting the `DefaultButton` value to `"No"`.
+
+Example:
+```go
+ result, err := runtime.MessageDialog(a.ctx, runtime.MessageDialogOptions{
+ Type: runtime.QuestionDialog,
+ Title: "Question",
+ Message: "Do you want to continue?",
+ DefaultButton: "No",
+ })
+```
+
+#### Linux
+
+Linux has standard dialog types in which the buttons are not customisable. The value returned will be one of: "Ok", "Cancel", "Yes", "No"
+
+#### Mac
+
+A message dialog on Mac may specify up to 4 buttons. If no `DefaultButton` or `CancelButton` is given, the first button is considered default and is bound to the `return` key.
+
+For the following code:
+
+```go
+selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
+ Title: "It's your turn!",
+ Message: "Select a number",
+ Buttons: []string{"one", "two", "three", "four"},
+})
+```
+
+the first button is shown as default:
+
+```mdx-code-block
+
+
+
+
+```
+
+And if we specify `DefaultButton` to be "two":
+
+```go
+selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
+ Title: "It's your turn!",
+ Message: "Select a number",
+ Buttons: []string{"one", "two", "three", "four"},
+ DefaultButton: "two",
+})
+```
+
+the second button is shown as default. When `return` is pressed, the value "two" is returned.
+
+```mdx-code-block
+
+
+
+
+```
+
+If we now specify `CancelButton` to be "three":
+
+```go
+selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
+ Title: "It's your turn!",
+ Message: "Select a number",
+ Buttons: []string{"one", "two", "three", "four"},
+ DefaultButton: "two",
+ CancelButton: "three",
+})
+```
+
+the button with "three" is shown at the bottom of the dialog. When `escape` is pressed, the value "three" is returned:
+
+```mdx-code-block
+
+
+
+
+
+
+```
+
+#### DialogType
+
+```go
+const (
+ InfoDialog DialogType = "info"
+ WarningDialog DialogType = "warning"
+ ErrorDialog DialogType = "error"
+ QuestionDialog DialogType = "question"
+ )
+```
+
+### FileFilter
+
+```go
+type FileFilter struct {
+ DisplayName string // Filter information EG: "Image Files (*.jpg, *.png)"
+ Pattern string // semi-colon separated list of extensions, EG: "*.jpg;*.png"
+}
+```
+
+#### Windows
+
+Windows allows you to use multiple file filters in dialog boxes. Each FileFilter will show up as a separate entry in the dialog:
+
+```mdx-code-block
+
+
+
+
+
+
+```
+
+#### Linux
+
+Linux allows you to use multiple file filters in dialog boxes. Each FileFilter will show up as a separate entry in the dialog:
+
+```mdx-code-block
+
+
+
+
+
+
+```
+
+#### Mac
+
+Mac dialogs only have the concept of a single set of patterns to filter files. If multiple FileFilters are provided, Wails will use all the Patterns defined.
+
+Example:
+
+```go
+ selection, err := runtime.OpenFileDialog(b.ctx, runtime.OpenDialogOptions{
+ Title: "Select File",
+ Filters: []runtime.FileFilter{
+ {
+ DisplayName: "Images (*.png;*.jpg)",
+ Pattern: "*.png;*.jpg",
+ }, {
+ DisplayName: "Videos (*.mov;*.mp4)",
+ Pattern: "*.mov;*.mp4",
+ },
+ },
+ })
+```
+
+This will result in the Open File dialog using `*.png,*.jpg,*.mov,*.mp4` as a filter.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/events.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/events.mdx
new file mode 100644
index 00000000000..856ba6f0c26
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/events.mdx
@@ -0,0 +1,37 @@
+---
+sidebar_position: 2
+---
+
+# Events
+
+The Wails runtime provides a unified events system, where events can be emitted or received by either Go or JavaScript. Optionally, data may be passed with the events. Listeners will receive the data in the local data types.
+
+### EventsOn
+
+This method sets up a listener for the given event name. When an event of type `eventName` is [emitted](#EventsEmit), the callback is triggered. Any additional data sent with the emitted event will be passed to the callback. It returns a function to cancel the listener.
+
+Go: `EventsOn(ctx context.Context, eventName string, callback func(optionalData ...interface{})) func()` JS: `EventsOn(eventName string, callback function(optionalData?: any)): () => void`
+
+### EventsOff
+
+This method unregisters the listener for the given event name, optionally multiple listeneres can be unregistered via `additionalEventNames`.
+
+Go: `EventsOff(ctx context.Context, eventName string, additionalEventNames ...string)` JS: `EventsOff(eventName string, ...additionalEventNames)`
+
+### EventsOnce
+
+This method sets up a listener for the given event name, but will only trigger once. It returns a function to cancel the listener.
+
+Go: `EventsOnce(ctx context.Context, eventName string, callback func(optionalData ...interface{})) func()` JS: `EventsOnce(eventName string, callback function(optionalData?: any)): () => void`
+
+### EventsOnMultiple
+
+This method sets up a listener for the given event name, but will only trigger a maximum of `counter` times. It returns a function to cancel the listener.
+
+Go: `EventsOnMultiple(ctx context.Context, eventName string, callback func(optionalData ...interface{}), counter int) func()` JS: `EventsOnMultiple(eventName string, callback function(optionalData?: any), counter int): () => void`
+
+### EventsEmit
+
+This method emits the given event. Optional data may be passed with the event. This will trigger any event listeners.
+
+Go: `EventsEmit(ctx context.Context, eventName string, optionalData ...interface{})` JS: `EventsEmit(eventName: string, ...optionalData: any)`
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/intro.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/intro.mdx
new file mode 100644
index 00000000000..3cacb6ba9a7
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/intro.mdx
@@ -0,0 +1,85 @@
+---
+sidebar_position: 1
+---
+
+# 소개
+
+런타임은 애플리케이션에 유틸리티 메서드를 제공하는 라이브러리입니다. There is both a Go and JavaScript runtime and the aim is to try and keep them at parity where possible.
+
+다음에 대한 유틸리티 메서드가 있습니다:
+
+- [Window](window.mdx)
+- [Menu](menu.mdx)
+- [Dialog](dialog.mdx)
+- [Events](events.mdx)
+- [Browser](browser.mdx)
+- [Log](log.mdx)
+- [Clipboard](clipboard.mdx)
+
+Go 런타임은 `github.com/wailsapp/wails/v2/pkg/runtime` 가져오기를 통해 사용할 수 있습니다. 이 패키지의 모든 메소드는 컨텍스트를 첫 번째 매개변수로 사용합니다. 이 컨텍스트는 [OnStartup](../options.mdx#onstartup) 또는 [OnDomReady](../options.mdx#ondomready) 후크에서 가져와야 합니다.
+
+:::참고
+
+컨텍스트는 [OnStartup](../options.mdx#onstartup) 메서드를 사용할 경우 런타임이 이 메서드에서 다음과 같이 작동할 것이라는 보장은 없습니다. 창이 다른 스레드에서 초기화되고 있습니다. 시작 시 런타임 메서드를 호출하려면 [OnDomReady](../options.mdx#ondomready)를 사용하세요.
+
+:::
+
+The JavaScript library is available to the frontend via the `window.runtime` map. There is a runtime package generated when using `dev` mode that provides TypeScript declarations for the runtime. 이것은 프론트엔드 디렉토리의 `wailsjs` 디렉토리에 있어야 합니다.
+
+### Hide
+
+Go: `Hide(ctx context.Context)` JS: `Hide()`
+
+애플리케이션을 숨깁니다.
+
+:::참고
+
+On Mac, this will hide the application in the same way as the `Hide` menu item in standard Mac applications. This is different to hiding the window, but the application still being in the foreground. For Windows and Linux, this is currently the same as `WindowHide`.
+
+:::
+
+### Show
+
+Shows the application.
+
+:::참고
+
+On Mac, this will bring the application back into the foreground. For Windows and Linux, this is currently the same as `WindowShow`.
+
+:::
+
+Go: `Show(ctx context.Context)` JS: `Show()`
+
+### Quit
+
+Quits the application.
+
+Go: `Quit(ctx context.Context)` JS: `Quit()`
+
+### Environment
+
+Returns details of the current environment.
+
+Go: `Environment(ctx context.Context) EnvironmentInfo` JS: `Environment(): Promise`
+
+#### EnvironmentInfo
+
+Go:
+
+```go
+type EnvironmentInfo struct {
+ BuildType string
+ Platform string
+ Arch string
+}
+```
+
+JS:
+
+```ts
+interface EnvironmentInfo {
+ buildType: string;
+ platform: string;
+ arch: string;
+}
+```
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/log.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/log.mdx
new file mode 100644
index 00000000000..2112e1c9e4f
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/log.mdx
@@ -0,0 +1,130 @@
+---
+sidebar_position: 3
+---
+
+# Log
+
+The Wails runtime provides a logging mechanism that may be called from Go or JavaScript. 대부분처럼 loggers 에는 다양한 로그 수준이 있습니다:
+
+- Trace
+- Debug
+- Info
+- Warning
+- Error
+- Fatal
+
+Logger는 현재 이상의 로그 수준에서 모든 로그 메시지를 출력합니다. Example: `Debug` 로그 level은 `Trace` 메시지를 제외한 모든 메시지를 출력합니다.
+
+### LogPrint
+
+주어진 메시지를 원본 메시지로 기록합니다.
+
+Go: `LogPrint(ctx context.Context, message string)` JS: `LogPrint(message: string)`
+
+### LogPrintf
+
+주어진 메시지를 원본 메시지로 기록합니다.
+
+Go: `LogPrintf(ctx context.Context, format string, args ...interface{})`
+
+### LogTrace
+
+`Trace` 로그 수준에서 지정된 메시지를 기록합니다.
+
+Go: `LogTrace(ctx context.Context, message string)` JS: `LogTrace(message: string)`
+
+### LogTracef
+
+`Trace` 로그 수준에서 지정된 메시지를 기록합니다.
+
+Go: `LogTracef(ctx context.Context, format string, args ...interface{})`
+
+### LogDebug
+
+`Debug` 로그 수준에서 지정된 메시지를 기록합니다.
+
+Go: `LogDebug(ctx context.Context, message string)` JS: `LogDebug(message: string)`
+
+### LogDebugf
+
+`Debug` 로그 수준에서 지정된 메시지를 기록합니다.
+
+Go: `LogDebugf(ctx context.Context, format string, args ...interface{})`
+
+### LogInfo
+
+`Info` 로그 수준에서 지정된 메시지를 기록합니다.
+
+Go: `LogInfo(ctx context.Context, message string)` JS: `LogInfo(message: string)`
+
+### LogInfof
+
+`Info` 로그 수준에서 지정된 메시지를 기록합니다.
+
+Go: `LogInfof(ctx context.Context, format string, args ...interface{})`
+
+### LogWarning
+
+`Warning` 로그 수준에서 지정된 메시지를 기록합니다.
+
+Go: `LogWarning(ctx context.Context, message string)` JS: `LogWarning(message: string)`
+
+### LogWarningf
+
+`Warning` 로그 수준에서 지정된 메시지를 기록합니다.
+
+Go: `LogWarningf(ctx context.Context, format string, args ...interface{})`
+
+### LogError
+
+`Error` 로그 수준에서 지정된 메시지를 기록합니다.
+
+Go: `LogError(ctx context.Context, message string)` JS: `LogError(message: string)`
+
+### LogErrorf
+
+`Error` 로그 수준에서 지정된 메시지를 기록합니다.
+
+Go: `LogErrorf(ctx context.Context, format string, args ...interface{})`
+
+### LogFatal
+
+`Fatal` 로그 수준에서 지정된 메시지를 기록합니다.
+
+Go: `LogFatal(ctx context.Context, message string)` JS: `LogFatal(message: string)`
+
+### LogFatalf
+
+`Fatal` 로그 수준에서 지정된 메시지를 기록합니다.
+
+Go: `LogFatalf(ctx context.Context, format string, args ...interface{})`
+
+### LogSetLogLevel
+
+로그 레벨을 설정합니다. In JavaScript, the number relates to the following log levels:
+
+| 값 | 로그 레벨 |
+| - | ------- |
+| 1 | Trace |
+| 2 | Debug |
+| 3 | Info |
+| 4 | Warning |
+| 5 | Error |
+
+Go: `LogSetLogLevel(ctx context.Context, level logger.LogLevel)` JS: `LogSetLogLevel(level: number)`
+
+## 커스텀 Logger 사용하기
+
+사용자 커스텀 logger는 [Logger](../options.mdx#logger)를 사용하여 제공하여 사용할 수 있습니다. 응용 프로그램 옵션. 유일한 요구 사항은 logger가 `logger.Logger` 인터페이스를 구현한다는 것입니다. 이는 `github.com/wailsapp/wails/v2/pkg/logger`에 정의되어 있습니다:
+
+```go title="logger.go"
+type Logger interface {
+ Print(message string)
+ Trace(message string)
+ Debug(message string)
+ Info(message string)
+ Warning(message string)
+ Error(message string)
+ Fatal(message string)
+}
+```
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/menu.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/menu.mdx
new file mode 100644
index 00000000000..0eab71c0162
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/menu.mdx
@@ -0,0 +1,25 @@
+---
+sidebar_position: 6
+---
+
+# 메뉴
+
+애플리케이션 메뉴는 이 메소드들과 관련 있습니다.
+
+:::info JavaScript
+
+현재 메뉴는 JS runtime을 지원하지 않습니다.
+
+:::
+
+### MenuSetApplicationMenu
+
+애플리케이션 메뉴는 [menu](../menus.mdx)를 통해 설정하세요.
+
+Go: `MenuSetApplicationMenu(ctx context.Context, menu *menu.Menu)`
+
+### MenuUpdateApplicationMenu
+
+애플리케이션 메뉴를 업데이트하여 `MenuSetApplicationMenu`에 전달된 메뉴에 대한 모든 변경 사항을 선택합니다.
+
+Go: `MenuUpdateApplicationMenu(ctx context.Context)`
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/window.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/window.mdx
new file mode 100644
index 00000000000..07aa654f922
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/window.mdx
@@ -0,0 +1,221 @@
+---
+sidebar_position: 4
+---
+
+# Window
+
+이러한 메서드는 응용 프로그램 창을 제어합니다.
+
+### WindowSetTitle
+
+창 제목 표시줄의 텍스트를 설정합니다.
+
+Go: `WindowSetTitle(ctx context.Context, title string)` JS: `WindowSetTitle(title: string)`
+
+### WindowFullscreen
+
+창을 전체화면으로 만듭니다.
+
+Go: `WindowFullscreen(ctx context.Context)` JS: `WindowFullscreen()`
+
+### WindowUnfullscreen
+
+전체 화면 이전의 이전 창 크기와 위치를 복원합니다.
+
+Go: `WindowUnfullscreen(ctx context.Context)` JS: `WindowUnfullscreen()`
+
+### WindowIsFullscreen
+
+창이 전체 화면이면 true를 반환합니다.
+
+Go: `WindowIsFullscreen(ctx context.Context) bool` JS: `WindowIsFullscreen() bool`
+
+### WindowCenter
+
+창이 현재 켜져 있는 모니터의 중앙에 창을 맞춥니다.
+
+Go: `WindowCenter(ctx context.Context)` JS: `WindowCenter()`
+
+### WindowExecJS
+
+창에서 임의의 JS 코드를 실행합니다.
+
+이 메서드는 브라우저에서 코드를 비동기적으로 실행하고 즉시 반환합니다. 만약 스크립트에서 오류가 발생하면 브라우저 콘솔에서만 사용할 수 있습니다.
+
+Go: `WindowExecJS(ctx context.Context, js string)`
+
+### WindowReload
+
+"새로고침"을 수행합니다(현재 페이지 새로고침).
+
+Go: `WindowReload(ctx context.Context)` JS: `WindowReload()`
+
+### WindowReloadApp
+
+프론트엔드 애플리케이션을 새로고침합니다.
+
+Go: `WindowReloadApp(ctx context.Context)` JS: `WindowReloadApp()`
+
+### WindowSetSystemDefaultTheme
+
+윈도우 전용.
+
+Go: `WindowSetSystemDefaultTheme(ctx context.Context)` JS: `WindowSetSystemDefaultTheme()`
+
+창의 테마를 시스템 기본값으로 설정합니다(다크/라이트).
+
+### WindowSetLightTheme
+
+윈도우 전용.
+
+Go: `WindowSetLightTheme(ctx context.Context)` JS: `WindowSetLightTheme()`
+
+창 테마를 라이트 모드로 설정합니다.
+
+### WindowSetDarkTheme
+
+윈도우 전용.
+
+Go: `WindowSetDarkTheme(ctx context.Context)` JS: `WindowSetDarkTheme()`
+
+윈도우 테마를 다크로 설정합니다.
+
+### WindowShow
+
+만약 현재 창의 상태가 숨기기로 되어 있다면, 창을 보여줍니다.
+
+Go: `WindowShow(ctx context.Context)` JS: `WindowShow()`
+
+### WindowHide
+
+현재 창이 표시되어 있는 경우 창을 숨깁니다.
+
+Go: `WindowHide(ctx context.Context)` JS: `WindowHide()`
+
+### WindowIsNormal
+
+창이 최소화, 최대화 또는 전체 화면이 아닌 경우 true를 반환합니다.
+
+Go: `WindowIsNormal(ctx context.Context) bool` JS: `WindowIsNormal() bool`
+
+### WindowSetSize
+
+창의 너비와 높이를 설정합니다.
+
+Go: `WindowSetSize(ctx context.Context, width int, height int)` JS: `WindowSetSize(size: Size)`
+
+### WindowGetSize
+
+창의 너비와 높이를 가져옵니다.
+
+Go: `WindowGetSize(ctx context.Context) (width int, height int)` JS: `WindowGetSize() : Size`
+
+### WindowSetMinSize
+
+최소 창 크기를 설정합니다. 창이 현재 지정된 크기보다 작은 경우 창 크기를 조정합니다.
+
+`0,0`의 크기를 설정하면 이 제약 조건이 비활성화됩니다.
+
+Go: `WindowSetMinSize(ctx context.Context, width int, height int)` JS: `WindowSetMinSize(size: Size)`
+
+### WindowSetMaxSize
+
+최대 창 크기를 설정합니다. 창이 현재 지정된 크기보다 큰 경우 창 크기를 조정합니다.
+
+`0,0`의 크기를 설정하면 이 제약 조건이 비활성화됩니다.
+
+Go: `WindowSetMaxSize(ctx context.Context, width int, height int)` JS: `WindowSetMaxSize(size: Size)`
+
+### WindowSetAlwaysOnTop
+
+창을 항상위 또는 맨 위에 놓지 않도록 설정합니다.
+
+Go: `WindowSetAlwaysOnTop(ctx context.Context, b bool)` JS: `WindowSetAlwaysOnTop(b: Boolen)`
+
+### WindowSetPosition
+
+창이 현재 켜져 있는 모니터를 기준으로 창 위치를 설정합니다.
+
+Go: `WindowSetPosition(ctx context.Context, x int, y int)` JS: `WindowSetPosition(position: Position)`
+
+### WindowGetPosition
+
+창이 현재 있는 모니터에 상대적인 창 위치를 가져옵니다.
+
+Go: `WindowGetPosition(ctx context.Context) (x int, y int)` JS: `WindowGetPosition() : Position`
+
+### WindowMaximise
+
+창을 최대화하여 화면을 채웁니다.
+
+Go: `WindowMaximise(ctx context.Context)` JS: `WindowMaximise()`
+
+### WindowUnmaximise
+
+창을 최대화하기 전의 크기와 위치로 복원합니다.
+
+Go: `WindowUnmaximise(ctx context.Context)` JS: `WindowUnmaximise()`
+
+### WindowIsMaximised
+
+창이 최대화되면 true를 반환합니다.
+
+Go: `WindowIsMaximised(ctx context.Context) bool` JS: `WindowIsMaximised() bool`
+
+### WindowToggleMaximise
+
+최대화와 최대화 해제 사이를 전환합니다.
+
+Go: `WindowToggleMaximise(ctx context.Context)` JS: `WindowToggleMaximise()`
+
+### WindowMinimise
+
+창을 최소화합니다.
+
+Go: `WindowMinimise(ctx context.Context)` JS: `WindowMinimise()`
+
+### WindowUnminimise
+
+최소화하기 전의 크기와 위치로 창을 복원합니다.
+
+Go: `WindowUnminimise(ctx context.Context)` JS: `WindowUnminimise()`
+
+### WindowIsMinimised
+
+창이 최소화된 경우 true를 반환합니다.
+
+Go: `WindowIsMinimised(ctx context.Context) bool` JS: `WindowIsMinimised() bool`
+
+### WindowSetBackgroundColour
+
+창의 배경색을 지정된 RGBA 색상 정의로 설정합니다. 이 색상은 모든 투명 픽셀에 대해 표시됩니다.
+
+R, G, B 및 A의 유효한 값은 0-255입니다.
+
+:::info Windows
+
+Windows에서는 0 또는 255의 알파 값만 지원됩니다. 0이 아닌 모든 값은 255로 간주됩니다.
+
+:::
+
+Go: `WindowSetBackgroundColour(ctx context.Context, R, G, B, A uint8)` JS: `WindowSetBackgroundColour(R, G, B, A)`
+
+## TypeScript Object Definitions
+
+### 위치
+
+```ts
+interface Position {
+ x: number;
+ y: number;
+}
+```
+
+### 크기
+
+```ts
+interface Size {
+ w: number;
+ h: number;
+}
+```
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/dogsapi.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/dogsapi.mdx
new file mode 100644
index 00000000000..98129e5b753
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/dogsapi.mdx
@@ -0,0 +1,245 @@
+---
+sidebar_position: 20
+---
+
+# Dogs API
+
+```mdx-code-block
+
+
+
+
+```
+
+:::note
+
+이 튜토리얼은 [@tatadan](https://twitter.com/tatadan)에 의해 제공되었습니다. 그리고 [ Wails 예시 리포지토리](https://github.com/tataDan/wails-v2-examples)에서 예시를 확인할 수 있습니다.
+
+:::
+
+이 튜토리얼에서는 웹에서 개 사진을 검색한 다음 표시하는 애플리케이션을 개발할 것입니다.
+
+### 프로젝트 생성
+
+애플리케이션을 생성합니다. 터미널에 다음과 같이 입력합니다: `wails init -n dogs-api -t svelte`
+
+참고: 원하는 경우 선택적으로 이 명령의 끝에 `-ide vscode` 또는 `-ide goland`를 추가할 수 있습니다. IDE 지원을 추가합니다.
+
+이제 `cd dogs-api`를 만들고 프로젝트 파일 편집을 시작합니다.
+
+### 사용하지 않는 코드 제거
+
+사용하지 않는 몇가지 요소를 제거합니다.
+
+- `app.go`를 열고 다음 줄을 제거합니다.
+
+```go
+// Greet returns a greeting for the given name
+func (a *App) Greet(name string) string {
+ return fmt.Sprintf("Hello %s, It's show time!", name)
+}
+```
+
+- `frontend/src/App.svelte`를 열고 모든 줄을 삭제합니다.
+- `frontend/src/assets/images/logo-universal.png` 파일을 삭제합니다.
+
+### 우리만의 애플리케이션 생성하기
+
+이제 새로운 Go 코드를 추가합니다.
+
+함수 정의 앞에 다음 구조체 선언을 `app.go`에 추가합니다.
+
+```go
+type RandomImage struct {
+ Message string
+ Status string
+}
+
+type AllBreeds struct {
+ Message map[string]map[string][]string
+ Status string
+}
+
+type ImagesByBreed struct {
+ Message []string
+ Status string
+}
+```
+
+`app.go`에 다음 함수를 추가합니다(함수 정의 뒤쪽에 존재):
+
+```go
+func (a *App) GetRandomImageUrl() string {
+ response, err := http.Get("https://dog.ceo/api/breeds/image/random")
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ responseData, err := ioutil.ReadAll(response.Body)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ var data RandomImage
+ json.Unmarshal(responseData, &data)
+
+ return data.Message
+}
+
+func (a *App) GetBreedList() []string {
+ var breeds []string
+
+ response, err := http.Get("https://dog.ceo/api/breeds/list/all")
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ responseData, err := ioutil.ReadAll(response.Body)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ var data AllBreeds
+ json.Unmarshal(responseData, &data)
+
+ for k := range data.Message {
+ breeds = append(breeds, k)
+ }
+
+ sort.Strings(breeds)
+
+ return breeds
+}
+
+func (a *App) GetImageUrlsByBreed(breed string) []string {
+
+ url := fmt.Sprintf("%s%s%s%s", "https://dog.ceo/api/", "breed/", breed, "/images")
+ response, err := http.Get(url)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ responseData, err := ioutil.ReadAll(response.Body)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ var data ImagesByBreed
+ json.Unmarshal(responseData, &data)
+
+ return data.Message
+}
+```
+
+`app.go`의 `import` 섹션을 다음과 같이 수정합니다.
+
+```go
+import (
+ "context"
+ "fmt"
+ "encoding/json"
+ "io/ioutil"
+ "log"
+ "net/http"
+ "sort"
+)
+```
+
+`frontend/src/App.svelte`에 다음 줄을 추가합니다.
+
+
+```html
+
+
+
Dogs API
+
+
+ Click on down arrow to select a breed
+
+
+
+
+{#if showRandomPhoto}
+
+{/if}
+{#if showBreedPhotos}
+ {#each photos as photo}
+
+ {/each}
+{/if}
+
+
+```
+
+
+### 애플리케이션 테스트하기
+
+바인딩을 생성하고 애플리케이션을 테스트하려면 `wails dev`를 실행합니다.
+
+### 애플리케이션 컴파일하기
+
+응용 프로그램을 단일 바이너리로 컴파일하려면 `wails build`를 실행합니다.
diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/helloworld.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/helloworld.mdx
new file mode 100644
index 00000000000..8eceef4897c
--- /dev/null
+++ b/website/i18n/ko/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/helloworld.mdx
@@ -0,0 +1,122 @@
+---
+sidebar_position: 10
+---
+
+# Hello World
+
+이 튜토리얼의 목표는 Wails를 사용하여 가장 기본적인 애플리케이션을 시작하고 실행하는 것입니다. 튜토리얼을 통해 다음과 같은 것들을 할 수있습니다.
+
+- 새로운 Wails 애플리케이션 생성
+- 애플리케이션 빌드
+- 애플리케이션 실행
+
+:::note
+
+이 튜토리얼에서는 Windows를 대상 플랫폼으로 사용합니다. 출력이 약간 다를 수 있습니다. 운영체제에 따라 다릅니다.
+
+:::
+
+## 새로운 Wails 애플리케이션 생성
+
+기본 바닐라 JS 템플릿을 사용하여 새 Wails 애플리케이션을 만들려면, 다음 명령을 실행해야 합니다:
+
+```bash
+wails init -n helloworld
+```
+
+실행 결과로 다음과 유사한 결과가 반환됩니다.
+
+```
+Wails CLI v2.0.0
+
+Initialising Project 'helloworld'
+---------------------------------
+
+Project Name: helloworld
+Project Directory: C:\Users\leaan\tutorial\helloworld
+Project Template: vanilla
+Template Support: https://wails.io
+
+Initialised project 'helloworld' in 232ms.
+```
+
+이렇게 하면 현재 디렉터리에 `helloworld`라는 새 디렉터리가 생성됩니다. 이 디렉토리에는 여러 파일이 있습니다:
+
+```
+build/ - Contains the build files + compiled application
+frontend/ - Contains the frontend files
+app.go - Contains the application code
+main.go - The main program with the application configuration
+wails.json - The project configuration file
+go.mod - The go module file
+go.sum - The go module checksum file
+```
+
+## 애플리케이션 빌드
+
+애플리케이션을 빌드하려면 새 `helloworld` 프로젝트 디렉토리로 변경하고 다음 명령을 실행하십시오.
+
+```bash
+wails build
+```
+
+다음과 같은 내용이 표시되어야 합니다:
+
+```
+Wails CLI v2.0.0
+
+App Type: desktop
+Platforms: windows/amd64
+Compiler: C:\Users\leaan\go\go1.18.3\bin\go.exe
+Build Mode: Production
+Skip Frontend: false
+Compress: false
+Package: true
+Clean Build Dir: false
+LDFlags: ""
+Tags: []
+Race Detector: false
+
+Building target: windows/amd64
+------------------------------
+ - Installing frontend dependencies: Done.
+ - Compiling frontend: Done.
+ - Generating bundle assets: Done.
+ - Compiling application: Done.
+Built 'C:\Users\leaan\tutorial\helloworld\build\bin\helloworld.exe' in 10.616s.
+```
+
+이것은 애플리케이션을 컴파일하고 `build/bin` 디렉토리에 결과 실행파일을 저장합니다.
+
+## 애플리케이션 실행
+
+Windows 탐색기에서 `build/bin` 디렉토리를 보면 프로젝트 바이너리가 표시되어야 합니다.
+
+```mdx-code-block
+
+
+
+
+```
+
+`helloworld.exe` 파일을 두 번 클릭하면 실행됩니다.
+
+Mac에서 Wails는 두 번 클릭하여 실행할 수 있는 `helloworld.app` 파일을 생성합니다.
+
+Linux에서는 `build/bin` 디렉토리에서 `./helloworld`를 사용하여 애플리케이션을 실행할 수 있습니다.
+
+애플리케이션이 예상대로 동작하는지 확인해야 합니다.
+
+```mdx-code-block
+
+
+
+
+```
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/links.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/links.mdx
new file mode 100644
index 00000000000..58bc9761afd
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/links.mdx
@@ -0,0 +1,26 @@
+---
+sidebar_position: 2
+---
+
+# Links
+
+Esta página serve como uma lista para links da comunidade relacionados. Envie um PR (clique `Editar esta página` na parte inferior) para enviar links.
+
+## Awesome Wails
+
+A [lista definitiva](https://github.com/wailsapp/awesome-wails) dos links relacionados à Wails.
+
+## Canais de Suporte
+
+- [Wails Discord Server](https://discord.gg/JDdSxwjhGf)
+- [Github Issues](https://github.com/wailsapp/wails/issues)
+- [v2 Beta Discussion Board](https://github.com/wailsapp/wails/discussions/828)
+
+## Redes Sociais
+
+- [Twitter](https://twitter.com/wailsapp)
+- [Wails Chinese Community QQ Group](https://qm.qq.com/cgi-bin/qm/qr?k=PmIURne5hFGNd7QWzW5qd6FV-INEjNJv&jump_from=webapi) - Group number: 1067173054
+
+## Outros tutoriais e Artigos
+
+- [Building of Bulletin Board](https://blog.customct.com/building-bulletin-board)
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/bulletinboard.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/bulletinboard.mdx
new file mode 100644
index 00000000000..37be75135ed
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/bulletinboard.mdx
@@ -0,0 +1,10 @@
+# BulletinBoard
+
+```mdx-code-block
+
+
+
+
+```
+
+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).
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/emailit.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/emailit.mdx
new file mode 100644
index 00000000000..c1817b70fff
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/emailit.mdx
@@ -0,0 +1,10 @@
+# EmailIt
+
+```mdx-code-block
+
+
+
+
+```
+
+[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.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/encrypteasy.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/encrypteasy.mdx
new file mode 100644
index 00000000000..a5692d35388
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/encrypteasy.mdx
@@ -0,0 +1,12 @@
+# EncryptEasy
+
+```mdx-code-block
+
+
+
+
+```
+
+**[EncryptEasy](https://www.encrypteasy.app) é uma ferramenta simples e fácil de usar de criptografia PGP, gerenciando todas as suas chaves de contato e suas chaves. A criptografia deve ser simples. Desenvolvido com Wails.**
+
+Criptografar mensagens usando PGP é o padrão da indústria. Todos têm uma chave privada e pública. A sua chave privada precisa ser privada para que apenas você possa ler as mensagens. Sua chave pública é distribuída para qualquer pessoa que queira lhe enviar o segredo, mensagens criptografadas. Gerenciar chaves, criptografar mensagens e descriptografar mensagens devem ser uma experiência suave. EncryptEasy é sobre facilitar o processo.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/filehound.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/filehound.mdx
new file mode 100644
index 00000000000..b8ee7fdf38f
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/filehound.mdx
@@ -0,0 +1,16 @@
+# Utilitário de Exportação FileHound
+
+```mdx-code-block
+
+
+
+
+```
+
+[Utilitário de exportação de FileHound](https://www.filehound.co.uk/) FileHound é uma plataforma de gerenciamento de documentos em nuvem feita para retenção segura de arquivos, automação de processos de negócio e recursos de SmartCaptura.
+
+O Utilitário de Exportação FileHound permite os admnistradores FileHound a capacidade de executar um documento seguro e extração de tarefas para um backup alternativo. Esta aplicação irá baixar todos os documentos e/ou meta dados salvos no FileHound com base nos filtros que você escolher. Os metadados serão exportados em ambos os formatos JSON e XML.
+
+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
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/hiposter.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/hiposter.mdx
new file mode 100644
index 00000000000..87e5837d32f
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/hiposter.mdx
@@ -0,0 +1,10 @@
+# hiposter
+
+```mdx-code-block
+
+
+
+
+```
+
+[hiposter](https://github.com/obity/hiposter) is a simple and efficient http API testing client tool. Based on Wails, Go and sveltejs.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/minecraftupdater.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/minecraftupdater.mdx
new file mode 100644
index 00000000000..d606f87f961
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/minecraftupdater.mdx
@@ -0,0 +1,14 @@
+# Atualizador do Minecraft
+
+```mdx-code-block
+
+
+
+
+```
+
+[O atualziador do Minecraft](https://github.com/Gurkengewuerz/MinecraftModUpdater) é uma ferramenta utilitária para atualizar e sincronizar mods do Minecraft para sua base de usuários. Ele é construído usando Wails2 e React com [antd](https://ant.design/) como framework frontend.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/modalfilemanager.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/modalfilemanager.mdx
new file mode 100644
index 00000000000..8a075d19c8a
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/modalfilemanager.mdx
@@ -0,0 +1,14 @@
+# Gerenciador de arquivos Modal
+
+```mdx-code-block
+
+
+
+
+```
+
+[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.
+
+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.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/mollywallet.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/mollywallet.mdx
new file mode 100644
index 00000000000..a0570d03546
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/mollywallet.mdx
@@ -0,0 +1,10 @@
+# Molley Wallet
+
+```mdx-code-block
+
+
+
+
+```
+
+[Molley Wallet](https://github.com/grvlle/constellation_wallet/) a carteira oficial $DAG da rede Constellation. Ele permitirá que os usuários interajam com a Rede Hypergraph de várias maneiras, não limitado à produção de $DAG transações.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/october.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/october.mdx
new file mode 100644
index 00000000000..0069bae7230
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/october.mdx
@@ -0,0 +1,14 @@
+# October
+
+```mdx-code-block
+
+
+
+
+```
+
+[Constellation ](https://october.utf9k.net) é uma pequena aplicação de Wails que facilita muito a extração de destaques de [Kobo eReaders](https://en.wikipedia.org/wiki/Kobo_eReader) e então os encaminha para [Readwise](https://readwise.io).
+
+Tem um escopo relativamente pequeno com todas as versões de plataforma pesando abaixo de 10MB, e isso é sem habilitar [a compressão UPX](https://upx.github.io/)!
+
+Em contraste, as tentativas anteriores do autor com o Electron rapidamente incharam várias centenas de megabytes.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/optimus.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/optimus.mdx
new file mode 100644
index 00000000000..606d5c4a87f
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/optimus.mdx
@@ -0,0 +1,10 @@
+# Optimus
+
+```mdx-code-block
+
+
+
+
+```
+
+[Optimus](https://github.com/splode/optimus) é uma aplicação de otimização de imagem para área de trabalho. Ele suporta conversão e compressão entre formatos de imagem WebP, JPEG e PNG.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/portfall.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/portfall.mdx
new file mode 100644
index 00000000000..4db08021efe
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/portfall.mdx
@@ -0,0 +1,10 @@
+# Portfall
+
+```mdx-code-block
+
+
+
+
+```
+
+[Portfall](https://github.com/rekon-oss/portfall) - Um portal de encaminhamento de porta para desktop para fácil acesso a todas as suas interfaces
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/restic-browser.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/restic-browser.mdx
new file mode 100644
index 00000000000..fbe86fd6db5
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/restic-browser.mdx
@@ -0,0 +1,12 @@
+# Restic Browser
+
+```mdx-code-block
+
+
+
+
+```
+
+[Restic-Browser](https://github.com/emuell/restic-browser) - Uma GUI de backup simples e multiplataforma [restica](https://github.com/restic/restic) para navegação e restauração de repositórios resóticos.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/riftshare.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/riftshare.mdx
new file mode 100644
index 00000000000..961debade5f
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/riftshare.mdx
@@ -0,0 +1,21 @@
+# RiftShare
+
+```mdx-code-block
+
+
+
+
+```
+
+Compartilhamento de arquivos fácil, seguro e gratuito para todos. Saiba mais em [Riftshare.app](https://riftshare.app)
+
+## Funcionalidades
+
+- Compartilhamento fácil e seguro de arquivos entre computadores tanto na rede local quanto através da internet
+- Suporta o envio de arquivos ou diretórios de forma segura através do [magic wormhole protocol](https://magic-wormhole.readthedocs.io/en/latest/)
+- Compatível com todos os outros aplicativos que usam magic wormhole (magic-wormhole ou wormhole-william CLI, wormhole-gui, etc.)
+- Compactação automática de vários arquivos selecionados para enviar de uma vez
+- Animações completas, barra de progresso e cancelamento do suporte para envio e recebimento
+- Seleção de arquivo Native OS
+- Abrir arquivos em um clique uma vez recebido
+- Atualização Automática - não se preocupe em ter a versão mais recente!
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/scriptbar.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/scriptbar.mdx
new file mode 100644
index 00000000000..066086458b0
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/scriptbar.mdx
@@ -0,0 +1,10 @@
+# ScriptBar
+
+```mdx-code-block
+
+
+
+
+```
+
+[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.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/surge.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/surge.mdx
new file mode 100644
index 00000000000..78db0e7b460
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/surge.mdx
@@ -0,0 +1,10 @@
+# Surge
+
+```mdx-code-block
+
+
+
+
+```
+
+[Surge](https://getsurge.io/) é um aplicativo de compartilhamento de arquivos p2p projetado para utilizar tecnologias blockchain para habilitar transferências de arquivos 100% anônimas. O Surgeé criptografado, descentralizado e de código aberto.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wally.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wally.mdx
new file mode 100644
index 00000000000..8b2f2c6c4fb
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wally.mdx
@@ -0,0 +1,10 @@
+# Wally
+
+```mdx-code-block
+
+
+
+
+```
+
+[Wally](https://ergodox-ez.com/pages/wally) é o flasher oficial para os teclados [Ergodox](https://ergodox-ez.com/). Parece excelente e é um exemplo fantástico do que você pode conseguir com o Wails: a capacidade de combinar o poder do Go e as ricas ferramentas gráficas do mundo de desenvolvimento web.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/warmine.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/warmine.mdx
new file mode 100644
index 00000000000..950dc3f3db1
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/warmine.mdx
@@ -0,0 +1,19 @@
+# Minecraft launcher for 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.
+
+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.
+
+Frontend is written in Svelte, whole launcher fits in 9MB and supports Windows 7-11.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wombat.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wombat.mdx
new file mode 100644
index 00000000000..d2e5eaf3ee6
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wombat.mdx
@@ -0,0 +1,10 @@
+# Wombat
+
+```mdx-code-block
+
+
+
+
+```
+
+[Wombat](https://github.com/rogchap/wombat) é um cliente gRPC multiplataforma.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/ytd.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/ytd.mdx
new file mode 100644
index 00000000000..01a56449817
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/ytd.mdx
@@ -0,0 +1,10 @@
+# Ytd
+
+```mdx-code-block
+
+
+
+
+```
+
+[Ytd](https://github.com/marcio199226/ytd/tree/v2-wails) é um aplicativo para baixar faixas do youtube, criar listas de reprodução offline e compartilhar com seus amigos, seus amigos poderão reproduzir suas playlists ou baixá-las para escuta offline, tem um player embutido.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/templates.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/templates.mdx
new file mode 100644
index 00000000000..00d82e74eb7
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/community/templates.mdx
@@ -0,0 +1,63 @@
+---
+sidebar_position: 1
+---
+
+# Templates
+
+Esta página serve como uma lista para modelos suportados pela comunidade. Por favor, envie um PR (clique `Editar esta página` na parte inferior) para incluir seus modelos. Para construir seu próprio modelo, consulte o guia de [Modelos](../guides/templates.mdx).
+
+Para usar estes templates, execute `wails init -n "Seu Nome do Projeto" -t [o link abaixo[@version]]`
+
+Se não houver nenhum sufixo de versão, o modelo de código principal da branch é usado por padrão. Se houver um sufixo de versão, o template de código correspondente à tag desta versão é usado.
+
+Exemplo: `wails init -n "Seu Nome do Projeto" -t https://github.com/misitebao/wails-template-vue`
+
+:::warning Atenção
+
+**O projeto Wails não é mantido, não é responsável nem responsável por modelos de terceiros!**
+
+Se você não tiver certeza sobre um template, inspecione `package.json` e `wails.json` para quais scripts são executados e quais pacotes estão instalados.
+
+:::
+
+## Vue
+
+- [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)
+
+## Angular
+
+- [wails-template-angular](https://github.com/mateothegreat/wails-template-angular) - Angular 15+ action packed & ready to roll to production.
+- [wails-angular-template](https://github.com/TAINCER/wails-angular-template) - Angular with TypeScript, Sass, Hot-Reload, Code-Splitting and i18n
+
+## React
+
+- [wails-react-template](https://github.com/AlienRecall/wails-react-template) - A template using reactjs
+- [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
+
+## 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-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
+
+## 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.
+
+## 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/version-v2.5.0/gettingstarted/building.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/building.mdx
new file mode 100644
index 00000000000..d06faa9eab2
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/building.mdx
@@ -0,0 +1,22 @@
+---
+sidebar_position: 6
+---
+
+# Compilando seu projeto
+
+No diretório do projeto, execute `wails builds`. Isso compilará seu projeto e salvará o binário pronto para produção no diretório `build/bin`.
+
+Se você executar o binário, você verá a aplicação padrão:
+
+```mdx-code-block
+
+
+
+
+```
+
+Para mais detalhes sobre as opções de compilação, consulte a [Referência do CLI](../reference/cli.mdx#build).
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/development.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/development.mdx
new file mode 100644
index 00000000000..de8bebe77b3
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/development.mdx
@@ -0,0 +1,16 @@
+---
+sidebar_position: 5
+---
+
+# Desenvolvendo sua aplicação
+
+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
+- 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
+
+Para começar, execute `wails dev` no diretório do projeto. Mais informações sobre isso podem ser encontradas [aqui](../reference/cli.mdx#dev).
+
+Em breve: Tutorial
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/firstproject.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/firstproject.mdx
new file mode 100644
index 00000000000..f98b71ee493
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/firstproject.mdx
@@ -0,0 +1,130 @@
+---
+sidebar_position: 2
+---
+
+# Criando um projeto
+
+## Geração de Projeto
+
+Agora que o CLI está instalado, você pode gerar um novo projeto usando o comando `wails init`.
+
+Escolha seu framework favorito:
+
+```mdx-code-block
+import Tabs from "@theme/Tabs";
+import TabItem from "@theme/TabItem";
+
+
+
+ Generate a Svelte project using JavaScript with:
+
+ wails init -n myproject -t svelte
+
+If you would rather use TypeScript:
+
+ wails init -n myproject -t svelte-ts
+
+
+
+ Generate a React project using JavaScript with:
+
+ wails init -n myproject -t react
+
+If you would rather use TypeScript:
+
+ wails init -n myproject -t react-ts
+
+
+
+ Generate a Vue project using JavaScript with:
+
+ wails init -n myproject -t vue
+
+If you would rather use TypeScript:
+
+ wails init -n myproject -t vue-ts
+
+
+
+ Generate a Preact project using JavaScript with:
+
+ wails init -n myproject -t preact
+
+If you would rather use TypeScript:
+
+ wails init -n myproject -t preact-ts
+
+
+
+ Generate a Lit project using JavaScript with:
+
+ wails init -n myproject -t lit
+
+If you would rather use TypeScript:
+
+ wails init -n myproject -t lit-ts
+
+
+
+ Generate a Vanilla project using JavaScript with:
+
+ wails init -n myproject -t vanilla
+
+If you would rather use TypeScript:
+
+ wails init -n myproject -t vanilla-ts
+
+
+
+```
+
+
+
+Há também [templates da comunidade](../community/templates.mdx) disponíveis que oferecem diferentes recursos e frameworks.
+
+Para ver as outras opções disponíveis, você pode executar `wails init -help`. Mais detalhes podem ser encontrados na [Referência da CLI](../reference/cli.mdx#init).
+
+## Layout do Projeto
+
+Os projetos Wails possuem o seguinte layout:
+
+```
+.
+├── build/
+│ ├── appicon.png
+│ ├── darwin/
+│ └── windows/
+├── frontend/
+├── go.mod
+├── go.sum
+├── main.go
+└── wails.json
+```
+
+### Estrutura do projeto em execução
+
+- `/main.go` - A aplicação principal
+- `/frontend/` - Arquivos do Frontend do projeto
+- `/build/` - Diretório de compilação do projeto
+- `/build/appicon.png` - O ícone da aplicação
+- `/build/darwin/` - Arquivos do projeto específicos do Mac
+- `/build/windows/` - Arquivos de projeto específicos do Windows
+- `/wails.json` - A configuração do projeto
+- `/go.mod` - O arquivo de módulos do Go
+- `/go.sum` - O arquivo de checagem dos módulos do Go
+
+O diretório `frontend` não tem nada específico para o Wails e pode ser qualquer projeto frontend de sua escolha.
+
+O diretório `build` é usado durante o processo de compilação. Esses arquivos podem ser atualizados para personalizar suas compilações. Se arquivos forem removidos do diretório de compilação, as versões padrão serão restauradas.
+
+O nome do módulo padrão em `go.mod` é "changeme". Você deveria mudar isso para algo mais apropriado.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/installation.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/installation.mdx
new file mode 100644
index 00000000000..33400cdfdbf
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/installation.mdx
@@ -0,0 +1,90 @@
+---
+sidebar_position: 1
+---
+
+# Instalação
+
+## Plataformas Suportadas
+
+- Windows 10/11 AMD64/ARM64
+- MacOS 10.13+ AMD64
+- MacOS 11.0+ ARM64
+- Linux AMD64/ARM64
+
+## Dependências
+
+O Wails tem várias dependências comuns que são necessárias antes da instalação:
+
+- Go 1.18+
+- NPM (Node 15+)
+
+### Go
+
+Baixe o Go direto da [página de download do Go](https://go.dev/dl/).
+
+Certifique-se de seguir as [instruções oficiais de instalação do Go](https://go.dev/doc/install). Você também precisará garantir que sua `variável de ambiente PATH` também inclua o caminho para o seu diretório `~/go/bin`. Reinicie seu terminal e faça as seguintes verificações:
+
+- Verificar se o Go está instalado corretamente: `go version`
+- Cheque se `~/go/bin` está nas suas variáveis de ambiente `echo $PATH | grep go/bin`
+
+### NPM
+
+Baixe o NPM da [Página de downloads do Node](https://nodejs.org/en/download/). É melhor usar o último lançamento, pois é isso que costumamos testar.
+
+Execute `npm --version` para verificar.
+
+## Dependências específicas da plataforma
+
+Você também precisará instalar as dependências específicas da plataforma:
+
+```mdx-code-block
+import Tabs from "@theme/Tabs";
+import TabItem from "@theme/TabItem";
+
+
+
+ Wails requires that the xcode command line tools are installed. This can be
+ done by running xcode-select --install.
+
+
+ Wails requires that the WebView2 runtime is installed. Algumas instalações do Windows já terão isto instalado. Você pode conferir usando o comando do wails doctor.
+
+
+ Linux requires the standard gcc build tools plus libgtk3 and libwebkit. Ao invés de listar uma tonelada de comandos para diferentes distros, os Wails podem tentar determinar quais são os comandos de instalação para sua distribuição específica. Execute o wails doctor após a instalação para ser mostrado como instalar as dependencias. Se o seu gerenciador de destro/pacote não for suportado, por favor, consulte o guia Adicionar Distro do Linux.
+
+
+```
+
+## Dependências opcionais
+
+- [UPX](https://upx.github.io/) para comprimir suas aplicações.
+- [NSIS](https://wails.io/docs/guides/windows-installer/) for generating Windows installers.
+
+## Instalando Wails
+
+Execute `instale github.com/wailsapp/wails/v2/cmd/wails@latest` para instalar a CLI do Wails.
+
+Note: If you get an error similar to this:
+
+```shell
+....\Go\pkg\mod\github.com\wailsapp\wails\v2@v2.1.0\pkg\templates\templates.go:28:12: pattern all:ides/*: no matching files found
+```
+please check you have Go 1.18+ installed:
+```shell
+go version
+```
+
+## Verificação do sistema
+
+Ao executar `wails doctor ` verificará quais dependências estão instaladas corretamente. Caso contrário, aconselhará sobre o que está em falta e ajudará a corrigir quaisquer problemas.
+
+## O comando `wail` parece estar faltando?
+
+Se o sistema está relatando que o comando `wail` está faltando, certifique-se de ter seguido o guia de instalação corretamente. Normalmente, isso significa que o diretório `go/bin` no diretório do seu usuário não está na variável do ambiente `PATH`. Você normalmente também precisará fechar e reabrir qualquer prompt de comando aberto para que as alterações no ambiente feitas pelo instalador sejam refletidas no prompt de comando.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/angular.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/angular.mdx
new file mode 100644
index 00000000000..2b6c5a84571
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/angular.mdx
@@ -0,0 +1,14 @@
+# Angular
+
+Whilst Wails does not have an Angular template, it is possible to use Angular with Wails.
+
+## Dev Mode
+
+To get dev mode working with Angular, you need to add the following to your `wails.json`:
+
+```json
+ "frontend:build": "npx ng build",
+ "frontend:install": "npm install",
+ "frontend:dev:watcher": "npx ng serve",
+ "frontend:dev:serverUrl": "http://localhost:4200",
+```
\ No newline at end of file
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/application-development.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/application-development.mdx
new file mode 100644
index 00000000000..d03f38f8569
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/application-development.mdx
@@ -0,0 +1,194 @@
+# Desenvolvimento de Aplicações
+
+Não existem regras rígidas e rápidas para o desenvolvimento das aplicações com o "Wails”, mas existem algumas orientações básicas.
+
+## Configurar Aplicação
+
+O padrão usado pelos templates padrão é que `main.go` é usado para configurar e executar a aplicação, enquanto `app.go` é usado para definir a lógica da aplicação.
+
+O arquivo `app.go` definirá uma struct que tem 2 métodos que funcionam como hooks na aplicação principal:
+
+```go title="app.go"
+type App struct {
+ ctx context.Context
+}
+
+func NewApp() *App {
+ return &App{}
+}
+
+func (a *App) startup(ctx context.Context) {
+ a.ctx = ctx
+}
+
+func (a *App) shutdown(ctx context.Context) {
+}
+```
+
+- O método `startup` é chamado assim que as Wails alocam os recursos de que precisa e é um bom lugar para a criação de recursos configurando ouvintes de eventos e qualquer outra coisa que o aplicativo precise na inicialização. É dado a ele um `context.Context` que é geralmente salvo em um campo struct. Este contexto é necessário para chamar o [runtime](../reference/runtime/intro.mdx). Se este método retornar um erro, o aplicativo será encerrado. No modo de desenvolvimento, o erro será exibido no console.
+
+- O método de `shutdown` será chamado pelo Wails logo no final do processo de encerramento. Este é um bom lugar para limpar memória e executar qualquer tarefa encerrada.
+
+O arquivo `main.go` geralmente consiste de uma única chamada para `wails.Run()`, que aceita a configuração da aplicação. O padrão usado pelos templates é o antes da chamada para `wails.Run()`, uma instância do struct definido no aplicativo `app. o` é criado e salvo em uma variável chamada `app`. Essa configuração é onde adicionamos os nossos callbacks:
+
+```go {3,9,10} title="main.go"
+func main() {
+
+ app := NewApp()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+```
+
+Mais informações sobre os hooks do ciclo de vida da aplicação podem ser encontradas [aqui](../howdoesitwork.mdx#application-lifecycle-callbacks).
+
+## Métodos de vínculo
+
+É provável que você queira chamar métodos Go do frontend. Isso normalmente é feito adicionando métodos públicos ao a struct já definida no `app.go`:
+
+```go {16-18} title="app.go"
+type App struct {
+ ctx context.Context
+}
+
+func NewApp() *App {
+ return &App{}
+}
+
+func (a *App) startup(ctx context.Context) {
+ a.ctx = ctx
+}
+
+func (a *App) shutdown(ctx context.Context) {
+}
+
+func (a *App) Greet(name string) string {
+ return fmt.Sprintf("Hello %s!", name)
+}
+```
+
+Na configuração principal do aplicativo, a tecla `Bind` é onde podemos dizer aos Wails o que queremos vincular:
+
+```go {11-13} title="main.go"
+func main() {
+
+ app := NewApp()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ Bind: []interface{}{
+ app,
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+```
+
+Isso vinculará todos os métodos públicos em nosso `App` de construção (isso nunca vinculará os métodos de inicialização e desligação).
+
+### Lidando com contexto quando vincular várias structs
+
+Se você quiser vincular métodos para várias structs , mas deseja que cada structs mantenha uma referência ao contexto para que você possa usar as funções de tempo de execução, um bom padrão é passar o contexto do método `OnStartup` para suas instâncias de construção :
+
+```go
+func main() {
+
+ app := NewApp()
+ otherStruct := NewOtherStruct()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: func(ctx context.Context){
+ app.SetContext(ctx)
+ otherStruct.SetContext(ctx)
+ },
+ OnShutdown: app.shutdown,
+ Bind: []interface{}{
+ app,
+ otherStruct
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+```
+
+Mais informações sobre isso podem ser encontradas [aqui](../howdoesitwork.mdx#method-binding).
+
+## Menu da aplicação
+
+O Wails suporta adicionar um menu à sua aplicação. Isso é feito passando uma [struct](../reference/menus.mdx#menu) de menu para a configuração da aplicação. É comum o uso de um método que retorna um Menu, e ainda mais comum que seja um método na struct `App` usada para hooks de ciclo de vida.
+
+```go {11} title="main.go"
+func main() {
+
+ app := NewApp()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ Menu: app.menu(),
+ Bind: []interface{}{
+ app,
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+```
+
+## Assets
+
+A grande coisa do jeito que o Wails v2 lida com assets é que não o faz! A única coisa que você precisa fazer no Wails é um `embed.FS`. A forma como se chega a isso depende inteiramente de você. Você pode usar arquivos html/css/js como o modelo vanilla. Você pode ter um sistema de compilação complicado, isso não importa.
+
+Quando `wails build` é executado, ele vai verificar o arquivo do projeto `wails.json` na raiz do projeto. Há duas chaves no arquivo do projeto que são lidas:
+
+- "frontend:install"
+- "frontend:build"
+
+O primeiro, se dado, será executado no diretório `frontend` para instalar os módulos do Node. O segundo, se dado, será executado no diretório `frontend` para realizar o build do projeto frontend.
+
+Se essas duas chaves não são dadas, então as Wails não faz absolutamente nada com a frontend. É apenas esperando o `embed.FS`.
+
+### AssetsHandler
+
+Um aplicativo Wails v2 pode opcionalmente definir um `http.Handler` nas opções `options.App`, que permite o gancho do AssetServer criar arquivos em tempo real ou processe solicitações POST/PUT. Solicitações GET sempre são tratadas primeiramente pelos `assets` FS. Se o FS não encontrar o arquivo solicitado, a solicitação será encaminhada para `http.Handler` para servir. Qualquer requisição que não seja o GET será diretamente processada pelo `AssetsHandler` se especificado. Também é usar apenas o `AssetsHandler` por especificação é `nil` como a opção `Assets`.
+
+## Servidor de Desenvolvedor nativo
+
+Executar `wails dev` iniciará o servidor de desenvolvimento que também iniciará um observador de arquivos no seu diretório de projeto. Por padrão, se qualquer arquivo for alterado, verifica-se se era um arquivo da aplicação (padrão: `.go`, configurável com `-e` flag). Se foi, então ele irá reconstruir sua aplicação e reiniciá-la. Se o arquivo alterado estiver nos assets, emitirá uma recarga após um curto período de tempo.
+
+O servidor de desenvolvimento utiliza uma técnica chamada "debwaring" que significa que não recarrega imediatamente, como pode haver vários arquivos alterados em um curto período de tempo. Quando um gatilho ocorre, ele espera por uma quantidade de tempo definida antes de emitir um recarregamento. Se outro gatilho acontecer, ele será redefinido para esperar novamente. Por padrão, esse valor é de `100ms`. Se este valor não funcionar para o seu projeto, ele pode ser configurado usando a flag `-debounce`. Se usado, este valor será salvo na configuração do seu projeto e se tornará o padrão.
+
+## Servidor de Desenvolvedor Externo
+
+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/). Para [create-react-app](https://create-react-app.dev/), é possível usar [este script](https://gist.github.com/int128/e0cdec598c5b3db728ff35758abdbafd) para alcançar um resultado similar.
+
+## Go Module
+
+Os modelos padrão do Wails geram um arquivo `go.mod` que contém o nome do módulo "changeme". Você deve alterar isto para algo mais apropriado após a geração do projeto.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/dynamic-assets.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/dynamic-assets.mdx
new file mode 100644
index 00000000000..989202e27a6
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/dynamic-assets.mdx
@@ -0,0 +1,136 @@
+# Dynamic Assets
+
+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.
+
+By installing a custom AssetsHandler, you can serve your own assets using a custom asset server.
+
+## Example
+
+In our example project, we will create a simple assets handler which will load files off disk:
+
+```go title=main.go {17-36,49}
+package main
+
+import (
+ "embed"
+ "fmt"
+ "github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/options"
+ "github.com/wailsapp/wails/v2/pkg/options/assetserver"
+ "net/http"
+ "os"
+ "strings"
+)
+
+//go:embed all:frontend/dist
+var assets embed.FS
+
+type FileLoader struct {
+ http.Handler
+}
+
+func NewFileLoader() *FileLoader {
+ return &FileLoader{}
+}
+
+func (h *FileLoader) ServeHTTP(res http.ResponseWriter, req *http.Request) {
+ var err error
+ requestedFilename := strings.TrimPrefix(req.URL.Path, "/")
+ println("Requesting file:", requestedFilename)
+ fileData, err := os.ReadFile(requestedFilename)
+ if err != nil {
+ res.WriteHeader(http.StatusBadRequest)
+ res.Write([]byte(fmt.Sprintf("Could not load file %s", requestedFilename)))
+ }
+
+ res.Write(fileData)
+}
+
+func main() {
+ // Create an instance of the app structure
+ app := NewApp()
+
+ // Create application with options
+ err := wails.Run(&options.App{
+ Title: "helloworld",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ Handler: NewFileLoader(),
+ },
+ BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 255},
+ OnStartup: app.startup,
+ Bind: []interface{}{
+ app,
+ },
+ })
+
+ if err != nil {
+ println("Error:", err)
+ }
+}
+```
+
+When we run the application in dev mode using `wails dev`, we will see the following output:
+
+```
+DEB | [ExternalAssetHandler] Loading 'http://localhost:3001/favicon.ico'
+DEB | [ExternalAssetHandler] Loading 'http://localhost:3001/favicon.ico' failed, using AssetHandler
+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.
+
+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:
+
+```
+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:
+
+```mdx-code-block
+
+
+
+```
+
+However, if we request `go.mod`, we will see the following output:
+
+```mdx-code-block
+
+
+
+```
+
+This technique can be used to load images directly into the page. If we updated our default vanilla template and replaced the logo image:
+
+```html
+
+```
+
+with:
+
+```html
+
+```
+
+Then we would see the following:
+
+```mdx-code-block
+
+
+
+```
+
+:::warning
+
+Exposing your filesystem in this way is a security risk. It is recommended that you properly manage access to your filesystem.
+
+:::
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/frameless.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/frameless.mdx
new file mode 100644
index 00000000000..3845736f427
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/frameless.mdx
@@ -0,0 +1,87 @@
+# Frameless Applications
+
+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).
+
+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.
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+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:
+
+```go title=main.go
+package main
+
+import (
+ "embed"
+
+ "github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/options"
+ "github.com/wailsapp/wails/v2/pkg/options/assetserver"
+)
+
+//go:embed all:frontend/dist
+var assets embed.FS
+
+func main() {
+ // Create an instance of the app structure
+ app := NewApp()
+
+ // Create application with options
+ err := wails.Run(&options.App{
+ Title: "alwaysontop",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ Frameless: true,
+ CSSDragProperty: "widows",
+ CSSDragValue: "1",
+ Bind: []interface{}{
+ app,
+ },
+ })
+
+ if err != nil {
+ println("Error:", err)
+ }
+}
+```
+
+```html title=index.html
+
+
+
+
+
+ alwaysontop
+
+
+
+
+
+
+```
+
+:::info Fullscreen
+
+If you allow your application to go fullscreen, this drag functionality will be disabled.
+
+:::
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/frontend.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/frontend.mdx
new file mode 100644
index 00000000000..aade2b7f4cc
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/frontend.mdx
@@ -0,0 +1,72 @@
+# Frontend
+
+## Injeção de script
+
+Quando Wails serve a página `index.html`, por padrão injetará duas entradas de escript na ``tag para carregar `/wails/ipc.js` e `/wails/runtime.js`. Esses arquivos instalam o bindings e o tempo de execução, respectivamente.
+
+O código abaixo mostra onde estas são injetadas por padrão:
+
+```html
+
+
+ injection example
+
+
+
+
+
+
+
+
Please enter your name below 👇
+
+
+
+
+
+
+
+
+```
+
+### Sobrescrevendo a injeção de script padrão
+
+Para oferecer mais flexibilidade aos desenvolvedores, há uma meta tag que pode ser usada para personalizar este comportamento:
+
+```html
+
+```
+
+As configurações são as seguintes:
+
+| Valor | Descrição |
+| ------------------- | ---------------------------------------------- |
+| noautoinjectruntime | Desativa a auto-injeção no `/wails/runtime.js` |
+| noautoinjectipc | Desativa a autoinjeção no `/wails/ipc.js` |
+| noautoinject | Desativa todas as autoinjeções de scripts |
+
+Várias opções podem ser usadas, desde que sejam separadas por vírgulas.
+
+Este código é perfeitamente válido e opera o mesmo que a versão da auto-injeção:
+
+```html
+
+
+ injection example
+
+
+
+
+
+
+
Please enter your name below 👇
+
+
+
+
+
+
+
+
+
+
+```
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/ides.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/ides.mdx
new file mode 100644
index 00000000000..fdb83a6adf3
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/ides.mdx
@@ -0,0 +1,127 @@
+# IDEs
+
+O Wails pretende proporcionar uma grande experiência de desenvolvimento. Para atingir isso, agora suportamos a geração de configuração específica de IDE para fornecer uma configuração de projeto mais suave.
+
+Atualmente, nós suportamos o [Visual Studio Code](https://code.visualstudio.com/) mas buscamos oferecer suporte a outros IDEs, como o Goland.
+
+## Visual Studio Code
+
+```mdx-code-block
+
+
+
+```
+
+Ao gerar um projeto usando a `-ide vscode` flag, arquivos IDE serão criados juntamente com os outros arquivos do projeto. Estes arquivos são colocados no diretório `.vscode` e fornecem a configuração correta para depurar seu aplicativo.
+
+Os 2 arquivos gerados são `tasks.json` e `launch.json`. Abaixo estão os arquivos gerados para o projeto vanilla padrão:
+
+```json title="tasks.json"
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "build",
+ "type": "shell",
+ "options": {
+ "cwd": "${workspaceFolder}"
+ },
+ "command": "go",
+ "args": [
+ "build",
+ "-tags",
+ "dev",
+ "-gcflags",
+ "all=-N -l",
+ "-o",
+ "build/bin/myproject.exe"
+ ]
+ }
+ ]
+}
+```
+
+```json title="launch.json"
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Wails: Debug myproject",
+ "type": "go",
+ "request": "launch",
+ "mode": "exec",
+ "program": "${workspaceFolder}/build/bin/myproject.exe",
+ "preLaunchTask": "build",
+ "cwd": "${workspaceFolder}",
+ "env": {}
+ }
+ ]
+}
+```
+
+### Configurando os passos de instalação e compilação
+
+O arquivo `tasks.json` é simples para o projeto padrão, já que não há nenhuma etapa de instalação em que `npm` ou `npm run build` seja necessário. Para projetos que tenham uma etapa de build de front-end, como o modelo do Svelte, precisaríamos editar `tasks.json` e adicionar os passos de instalação e compilação:
+
+```json title="tasks.json"
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "npm install",
+ "type": "npm",
+ "script": "install",
+ "options": {
+ "cwd": "${workspaceFolder}/frontend"
+ },
+ "presentation": {
+ "clear": true,
+ "panel": "shared",
+ "showReuseMessage": false
+ },
+ "problemMatcher": []
+ },
+ {
+ "label": "npm run build",
+ "type": "npm",
+ "script": "build",
+ "options": {
+ "cwd": "${workspaceFolder}/frontend"
+ },
+ "presentation": {
+ "clear": true,
+ "panel": "shared",
+ "showReuseMessage": false
+ },
+ "problemMatcher": []
+ },
+ {
+ "label": "build",
+ "type": "shell",
+ "options": {
+ "cwd": "${workspaceFolder}"
+ },
+ "command": "go",
+ "args": [
+ "build",
+ "-tags",
+ "dev",
+ "-gcflags",
+ "all=-N -l",
+ "-o",
+ "build/bin/vscode.exe"
+ ],
+ "dependsOn": ["npm install", "npm run build"]
+ }
+ ]
+}
+```
+
+:::info Melhoria Futura
+
+No futuro, esperamos gerar um `tasks.json` que inclui os passos de instalação e compilação automaticamente.
+
+:::
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux-distro-support.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux-distro-support.mdx
new file mode 100644
index 00000000000..0241bdb5a65
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux-distro-support.mdx
@@ -0,0 +1,103 @@
+# Suporte a Distros Linux
+
+## Visão geral
+
+O Wails oferece suporte Linux, mas fornecer instruções de instalação para todas as distribuições disponíveis é uma tarefa impossível. Em vez disso, a Wails tenta determinar se os pacotes que você precisa para desenvolver aplicações estão disponíveis através do gerenciador de pacote do seu sistema. Atualmente, suportamos os seguintes gestores de pacotes:
+
+- apt
+- dnf
+- emerge
+- eopkg
+- nixpkgs
+- pacman
+- zypper
+
+## Adicionando nomes de pacotes
+
+Pode haver circunstâncias em que sua distro use um dos gerentes de pacote suportados, mas o nome do pacote é diferente. Por exemplo, você pode usar um derivado de Ubuntu, mas o nome do pacote para gtk pode ser diferente. Wails tenta encontrar o pacote correto iterando por meio de uma lista de nomes de pacotes. A lista de pacotes é armazenada no arquivo específico do gerenciador de pacotes no diretório `v2/internal/system/packagemanager`. No nosso exemplo, isso seria `v2/internal/system/packagemanager/apt.go`.
+
+Neste arquivo, a lista de pacotes são definidos pelo método `Packages()`:
+
+```go
+func (a *Apt) Packages() packagemap {
+ return packagemap{
+ "libgtk-3": []*Package{
+ {Name: "libgtk-3-dev", SystemPackage: true, Library: true},
+ },
+ "libwebkit": []*Package{
+ {Name: "libwebkit2gtk-4.0-dev", SystemPackage: true, Library: true},
+ },
+ "gcc": []*Package{
+ {Name: "build-essential", SystemPackage: true},
+ },
+ "pkg-config": []*Package{
+ {Name: "pkg-config", SystemPackage: true},
+ },
+ "npm": []*Package{
+ {Name: "npm", SystemPackage: true},
+ },
+ "docker": []*Package{
+ {Name: "docker.io", SystemPackage: true, Optional: true},
+ },
+ }
+}
+```
+
+Vamos supor que na nossa distração em linux, a `libgtk-3` é empacotada com o nome `lib-gtk3-dev`. Podemos adicionar suporte para isso adicionando a seguinte linha:
+
+```go {5}
+func (a *Apt) Packages() packagemap {
+ return packagemap{
+ "libgtk-3": []*Package{
+ {Name: "libgtk-3-dev", SystemPackage: true, Library: true},
+ {Name: "lib-gtk3-dev", SystemPackage: true, Library: true},
+ },
+ "libwebkit": []*Package{
+ {Name: "libwebkit2gtk-4.0-dev", SystemPackage: true, Library: true},
+ },
+ "gcc": []*Package{
+ {Name: "build-essential", SystemPackage: true},
+ },
+ "pkg-config": []*Package{
+ {Name: "pkg-config", SystemPackage: true},
+ },
+ "npm": []*Package{
+ {Name: "npm", SystemPackage: true},
+ },
+ "docker": []*Package{
+ {Name: "docker.io", SystemPackage: true, Optional: true},
+ },
+ }
+}
+```
+
+## Adicionando novos gerenciadores de pacotes
+
+Para adicionar um novo gerenciador de pacotes, execute os seguintes passos:
+
+- Crie um novo arquivo em `v2/internal/system/packagemanager` chamado `.go`, onde `` é o nome do gerenciador de pacote.
+- Defina uma struct que esteja em conformidade com a interface de gerenciador de pacotes definida em `pm.go`:
+
+```go
+type PackageManager interface {
+ Name() string
+ Packages() packagemap
+ PackageInstalled(*Package) (bool, error)
+ PackageAvailable(*Package) (bool, error)
+ InstallCommand(*Package) string
+}
+```
+
+- `Name()` deve retornar o nome do gerenciador de pacotes
+- `Packages()` deve retornar um `packagemap`, que fornece nomes de arquivo de candidatos para dependências
+- `PackageInstalled()` deve retornar `true` se o pacote for instalado
+- `PackageAvailable()` deve retornar `true` se o pacote fornecido não estiver instalado, mas disponível para instalação
+- `InstallCommand()` deve retornar o comando exato para instalar o nome do pacote dado
+
+Dê uma olhada no código de outros gerenciadores de pacotes para ter uma ideia de como isto funciona.
+
+:::info Lembre-se
+
+Se você adicionar suporte para um novo gerenciador de pacotes, não se esqueça de também atualizar esta página!
+
+:::
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux.mdx
new file mode 100644
index 00000000000..a975968f316
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux.mdx
@@ -0,0 +1,18 @@
+# Linux
+
+Esta página possui vários guias relacionados ao desenvolvimento de aplicativos Wails para Linux.
+
+## A tag de vídeo não ativa o evento "ended"
+
+Ao usar uma tag de vídeo, o evento "ended" não é acionado quando o vídeo terminar de ser reproduzido. Este é um erro no WebkitGTK, no entanto, você pode usar a seguinte solução alternativa para corrigi-lo:
+
+```js
+videoTag.addEventListener("timeupdate", (event) => {
+ if (event.target.duration - event.target.currentTime < 0.2) {
+ let ended = new Event("ended");
+ event.target.dispatchEvent(ended);
+ }
+});
+```
+
+Fonte: [Lyimmi](https://github.com/Lyimmi) no [fórum de discussões](https://github.com/wailsapp/wails/issues/1729#issuecomment-1212291275)
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/local-development.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/local-development.mdx
new file mode 100644
index 00000000000..4ba1f34c37d
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/local-development.mdx
@@ -0,0 +1,55 @@
+# Local Development
+
+## Overview
+
+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:
+
+- `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".
+
+The Wails CLI will now be at the very latest version.
+
+### Updating your project
+
+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:
+
+`replace github.com/wailsapp/wails/v2 => `
+
+Example:
+
+On Windows: `replace 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`
+
+To revert to a stable version, run:
+
+`go install github.com/wailsapp/wails/v2/cmd/wails@latest`
+
+## Testing a Branch
+
+If you want to test a branch, follow the instructions above, but ensure you switch the branch you want to test before installing:
+
+- `git clone https://github.com/wailsapp/wails`
+- `cd wails`
+- `git checkout -b branch-to-test --track origin/branch-to-test`
+- `cd v2/cmd/wails`
+- `go install`
+
+Make sure you [update your project](#updating-your-project) as described above.
+
+## Testing a 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:
+
+- `git clone https://github.com/wailsapp/wails`
+- `cd wails`
+- `git fetch -u origin pull/[IDofThePR]/head:test/pr-[IDofThePR]`
+- `git checkout test/pr-[IDofThePR]`
+- `git reset --hard HEAD`
+- `cd v2/cmd/wails`
+- `go install`
+
+Make sure you [update your project](#updating-your-project) as described above.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/mac-appstore.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/mac-appstore.mdx
new file mode 100644
index 00000000000..961595711c7
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/mac-appstore.mdx
@@ -0,0 +1,97 @@
+# Mac App Store Guide
+
+This page gives a brief overview of how to submit your Wails App to the Mac App Store.
+
+## Prerequisites
+
+- 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
+
+#### Create Certificates and Identifiers
+
+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.
+
+#### Create App Submission
+
+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
+
+#### 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.
+
+## Mac App Store Process
+
+#### Enable Apple's App Sandbox
+
+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`.
+
+**Example Entitlements File**
+
+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.
+
+```xml title="entitlements.plist"
+
+
+
+
+ com.apple.security.app-sandbox
+
+ com.apple.security.network.client
+
+ com.apple.security.network.server
+
+ com.apple.security.files.user-selected.read-write
+
+ com.apple.security.files.downloads.read-write
+
+ com.apple.application-identifier
+ TEAM_ID.APP_NAME
+ com.apple.developer.team-identifier
+ TEAM_ID
+
+
+```
+
+**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.
+
+#### Build and Sign the App Package
+
+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.
+
+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.
+
+```bash title="macappstore-build.sh"
+#!/bin/bash
+
+APP_CERTIFICATE="3rd Party Mac Developer Application: YOUR NAME (CODE)"
+PKG_CERTIFICATE="3rd Party Mac Developer Installer: YOUR NAME (CODE)"
+APP_NAME="YourApp"
+
+wails build -platform darwin/universal -clean
+
+cp ./embedded.provisionprofile "./build/bin/$APP_NAME.app/Contents"
+
+codesign --timestamp --options=runtime -s "$APP_CERTIFICATE" -v --entitlements ./build/darwin/entitlements.plist ./build/bin/$APP_NAME.app
+
+productbuild --sign "$PKG_CERTIFICATE" --component ./build/bin/$APP_NAME.app /Applications ./$APP_NAME.pkg
+```
+
+#### Upload App Bundle
+
+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.
+
+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.
+
+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.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/manual-builds.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/manual-builds.mdx
new file mode 100644
index 00000000000..f3142438d76
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/manual-builds.mdx
@@ -0,0 +1,95 @@
+# Compilações manuais
+
+O CLI Wails faz um trabalho pesado pelo projeto, mas às vezes é desejável construir o seu projeto manualmente. Este documento discutirá as diferentes operações da CLI e a forma como isso pode ser conseguido de diferentes maneiras.
+
+## Processo de compilação
+
+Quando `wails build` ou `wails dev` são usados, o Wails CLI executa um processo de compilação comum:
+
+ - Instalar dependências frontend
+ - Construir projeto frontend
+ - Gerar mídias de construção
+ - Compilar aplicação
+ - [optional] Comprimir o aplicativo
+
+### Instalar dependências frontend
+
+#### Passos CLI
+
+- Se a flag `-s` for dada, esta etapa é ignorada
+- Verifica `wails.json` para ver se há um comando de instalação na chave `frontend:install`
+- Se não houver, ela pula esta etapa
+- Se houver, ele verifica se `package.json` existe no diretório do frontend. Se não existir, pula esta etapa
+- Uma soma MD5 é gerada a partir do conteúdo do arquivo `package.json`
+- Verifica a existência de `package.json.md5` e, se existir, irá comparar o conteúdo dele (uma soma MD5) com o gerado para ver se o conteúdo mudou. Se eles forem iguais, este passo é ignorado
+- Se `package.json.md5` não existir, será criado usando a soma MD5 gerada
+- Se uma compilação é necessária agora, ou a `node_modules` não existe, ou a flag `-f` é dada, o comando de instalação é executado no diretório frontend
+
+#### Passos manuais
+
+Esta etapa pode ser feita na linha de comando ou um script com o `npm install`.
+
+### Construir projeto frontend
+
+#### Wails CLI
+
+- Se a flag `-s` for dada, esta etapa é ignorada
+- Verifica `wails.json` para ver se há um comando de compilação na chave `frontend:build`
+- Se não houver, ela pula esta etapa
+- Se houver, ele é executado no diretório frontend
+
+#### Passos manuais
+
+Esta etapa poderia ser feita a partir da linha de comando ou um script com `npm run build` ou qualquer que seja o script de compilação do frontend.
+
+### Gerar mídias
+
+#### Wails CLI
+
+- Se a flag `-nopackage` estiver definida, este estágio será ignorado
+- Se o arquivo `build/appicon.png` não existir, um arquivo padrão será criado
+- Para Windows, consulte [Conjuntos para Windows](#windows)
+- Se `build/windows/icon.ico` não existir, ele será criado a partir da imagem `build/appicon.png`.
+
+##### Windows
+
+- Se `build/windows/icon.ico` não existir, irá criá-lo a partir de `build/appicon. ng` usando tamanhos de ícones de 256, 128, 64, 48, 32 e 16. Isso é feito usando o [winicon](https://github.com/leaanthony/winicon).
+- Se o arquivo `build/windows/.manifest` não existir, será criado a partir de uma versão padrão.
+- Compila a aplicação como uma compilação de produção (acima)
+- Usa [winres](https://github.com/tc-hib/winres) para empacotar o ícone e manifestar em um arquivo `.syso` pronto para vincular.
+
+#### Passos manuais
+
+- Crie `icon.ico` usando o [winicon](https://github.com/leaanthony/winicon) Ferramenta de CLI (ou qualquer outra ferramenta).
+- Criar / Atualizar o arquivo de `.manifest` para sua aplicação
+- Use o [winres CLI](https://github.com/tc-hib/go-winres) para gerar um arquivo `.syso`.
+
+### Compilar aplicação
+
+#### Wails CLI
+
+- Se o sinalizador `-clean` for fornecido, o diretório `build` é excluído e recriado
+- Para `wails dev`, as seguintes bandeiras Go padrão são usadas: `-tags dev -gcflags "all=-N -l"`
+- Para `wails build`, as seguintes flags padrão do Go são usadas: `-tags desktop,production -ldflags "-w -s"`
+ - No Windows, `-ldflags "-w -h -H windowsgui"`
+- Tags adicionais passadas para o CLI usando `-tags` são adicionadas aos padrões
+- Ldflags adicionais passadas para a CLI usando `-ldflags` são adicionados aos padrões
+- A bandeira `-o` é passada
+- O compilador Go especificado por `-compiler` será usado para compilação
+
+#### Passos manuais
+
+- Para compilação de desenvolvedores, o comando mínimo seria: `go build -tags dev -gcflags "all=-N -l"`
+- Para a compilação de produção, o comando mínimo seria: `go build -tags desktop,production -ldflags "-w -s -H windowsgui"`
+- Certifique-se de compilar no mesmo diretório que o arquivo `.syso`
+
+### Comprimir aplicativo
+
+#### Wails CLI
+
+- Se a flag `-upx` tiver sido dada, o programa `upx` será executado para comprimir o aplicativo com as configurações padrão
+- Se `-upxflags` também for colado, essas flags são usadas em vez das padrão
+
+#### Passos manuais
+
+- Execute `upx [flags]` manualmente para comprimir o aplicativo.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/migrating.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/migrating.mdx
new file mode 100644
index 00000000000..7123cbe6b60
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/migrating.mdx
@@ -0,0 +1,191 @@
+# Migrating from v1
+
+## Overview
+
+Wails v2 is a significant change from v1. This document aims to highlight the changes and the steps in migrating an existing project.
+
+### Creating the Application
+
+In v1, the main application is created using `wails.CreateApp`, bindings are added with `app.Bind`, then the application is run using `app.Run()`.
+
+Example:
+
+```go title="v1"
+ app := wails.CreateApp(&wails.AppConfig{
+ Title: "MyApp",
+ Width: 1024,
+ Height: 768,
+ JS: js,
+ CSS: css,
+ Colour: "#131313",
+ })
+ app.Bind(basic)
+ app.Run()
+```
+
+In v2, there is just a single method, `wails.Run()`, that accepts [application options](../reference/options.mdx#application-options).
+
+```go title="v2"
+ err := wails.Run(&options.App{
+ Title: "MyApp",
+ Width: 800,
+ Height: 600,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ Bind: []interface{}{
+ basic,
+ },
+ })
+```
+
+### Binding
+
+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):
+
+```go title="v1"
+ app := wails.CreateApp(/* options */)
+ app.Bind(basic)
+```
+
+```go title="v2"
+ err := wails.Run(&options.App{
+ /* other options */
+ Bind: []interface{}{
+ basic,
+ },
+ })
+```
+
+In v1, bound methods were available to the frontend at `window.backend`. This has changed to `window.go`.``
+
+### Application Lifecycle
+
+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):
+
+- [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.
+
+These methods can be standard functions, but a common practice is to have them part of a struct:
+
+```go title="v2"
+ basic := NewBasicApp()
+ err := wails.Run(&options.App{
+ /* Other Options */
+ OnStartup: basic.startup,
+ OnShutdown: basic.shutdown,
+ OnDomReady: basic.domready,
+ })
+...
+type Basic struct {
+ ctx context.Context
+}
+func (b *Basic) startup(ctx context.Context) {
+ b.ctx = ctx
+}
+...
+```
+
+### Runtime
+
+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).
+
+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.
+
+```go title="Runtime Example"
+package main
+
+import "github.com/wailsapp/wails/v2/pkg/runtime"
+
+type Basic struct {
+ ctx context.Context
+}
+
+// startup is called at application startup
+func (a *App) startup(ctx context.Context) {
+ a.ctx = ctx
+ runtime.LogInfo(ctx, "Application Startup called!")
+}
+
+```
+
+### Assets
+
+The _biggest_ change in v2 is how assets are handled.
+
+In v1, assets were passed via 2 application options:
+
+- `JS` - The application's JavaScript
+- `CSS` - The application's CSS
+
+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.
+
+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`.
+
+**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**.
+
+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.
+
+Example: An application has the following project layout. All final assets are placed in the `frontend/dist` directory:
+
+```shell
+.
+├── build/
+├── frontend/
+│ └── dist/
+│ ├── index.html
+│ ├── main.js
+│ ├── main.css
+│ └── logo.svg
+├── main.go
+└── wails.json
+```
+
+Those assets may be used by the application by simply creating an `embed.FS`:
+
+```go title="Assets Example"
+//go:embed all:frontend/dist
+var assets embed.FS
+
+func main() {
+ err := wails.Run(&options.App{
+ /* Other Options */
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ })
+}
+```
+
+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).
+
+### Project Configuration
+
+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.
+
+The format of the file is slightly different. Here is a comparison:
+
+
+
+| v1 | v2 | Notes |
+| ------------------ | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| name | name | |
+| description | | Removed |
+| author / name | author / name | |
+| author / email | author / email | |
+| version | version | |
+| binaryname | outputfilename | Changed |
+| frontend / dir | | Removed |
+| frontend / install | frontend:install | Changed |
+| frontend / build | frontend:build | Changed |
+| frontend / bridge | | Removed |
+| 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. |
+
+
+```
+
+## Publishing Templates
+
+Publishing a template is simply pushing the files to GitHub. The following best practice is encouraged:
+
+- Remove any unwanted files and directories (such as `.git`) from your frontend directory
+- Ensure that `template.json` is complete, especially `helpurl`
+- Push the files to GitHub
+- Create a PR on the [Community Templates](../community/templates.mdx) page
+- Announce the template on the [Template Announcement](https://github.com/wailsapp/wails/discussions/825) discussion board
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/troubleshooting.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/troubleshooting.mdx
new file mode 100644
index 00000000000..a98e64ed467
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/troubleshooting.mdx
@@ -0,0 +1,166 @@
+# Troubleshooting
+
+An assortment of troubleshooting tips.
+
+## The `wails` command appears to be missing?
+
+If your system is reporting that the `wails` command is missing, make sure you have followed the Go installation guide correctly. Normally, it means that the `go/bin` directory in your User's home directory is not in the `PATH` environment variable. You will also normally need to close and reopen any open command prompts so that changes to the environment made by the installer are reflected at the command prompt.
+
+## My application is displaying a white/blank screen
+
+Check that your application includes the assets from the correct directory. In your `main.go` file, you will have something similar to the following code:
+
+```go
+//go:embed all:frontend/dist
+var assets embed.FS
+```
+
+Check that `frontend/dist` contains your application assets.
+
+### Mac
+
+If this happens on Mac, try adding the following to your `Info.plist`:
+
+```xml
+NSAppTransportSecurity
+
+ NSAllowsLocalNetworking
+
+
+```
+
+Reference: https://github.com/wailsapp/wails/issues/1504#issuecomment-1174317433
+
+## Mac application not valid
+
+If your built application looks like this in finder:
+
+```mdx-code-block
+
+
+
+```
+
+it's likely that your application's `info.plist` is invalid. Update the file in `build/.app/Contents/info.plist` and check if the data is valid, EG check the binary name is correct. To persist the changes, copy the file back to the `build/darwin` directory.
+
+## Cannot call backend method from frontend with variadic arguments
+
+If you have a backend method defined with variadic parameters, eg:
+
+```go
+func (a *App) TestFunc(msg string, args ...interface{}) error {
+ // Code
+}
+```
+
+calling this method from the frontend like this will fail:
+
+```js
+var msg = "Hello: ";
+var args = ["Go", "JS"];
+window.go.main.App.TestFunc(msg, ...args)
+ .then((result) => {
+ //do things here
+ })
+ .catch((error) => {
+ //handle error
+ });
+```
+
+Workaround:
+
+```js
+var msg = "Hello ";
+var args = ["Go", "JS"];
+window.go.main.App.TestFunc(msg, args)
+ .then((result) => {
+ //without the 3 dots
+ //do things here
+ })
+ .catch((error) => {
+ //handle error
+ });
+```
+
+Credit: https://github.com/wailsapp/wails/issues/1186
+
+## I'm having getting proxy errors when trying to install Wails
+
+If you are getting errors like this:
+
+```
+"https://proxy.golang.org/github.com/wailsapp/wails/cmd/wails/@v/list": dial tcp 172.217.163.49:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
+```
+
+it's probably because the official Go Proxy is being blocked (Users in China have reported this). The solution is to set up the proxy manually, eg:
+
+```
+go env -w GO111MODULE=on
+go env -w GOPROXY=https://goproxy.cn,direct
+```
+
+Source: https://github.com/wailsapp/wails/issues/1233
+
+## The generated TypeScript doesn't have the correct types
+
+Sometimes the generated TypeScript doesn't have the correct types. To mitigate this, it is possible to specify what types should be generated using the `ts_type` struct tag. For more details, please read [this](https://github.com/tkrajina/typescriptify-golang-structs#custom-types).
+
+## When I navigate away from `index.html`, I am unable to call methods on the frontend
+
+If you navigate away from `index.html` to a new html file, the context will be lost. This can be fixed by adding the following imports to the `` section of any new page you navigate to:
+
+```html
+
+
+
+
+```
+
+Source: https://github.com/wailsapp/wails/discussions/1512
+
+## I get `too many open files` errors on my Mac when I run `wails dev`
+
+By default, macOS will only allow you to open a maximum of 256 files. This can affect the `wails dev` command. This limit can be increased by running: `ulimit -n 1024` in the terminal.
+
+FSNotify is [looking to move to Apple's fsevents](https://github.com/fsnotify/fsnotify/issues/11) for Mac. If this isn't completed soon, we will create our own implementation, tracked [here](https://github.com/wailsapp/wails/issues/1733).
+
+## My Mac app gives me weird compilation errors
+
+A few users have reported seeing compilation errors such as the following:
+
+```shell
+# github.com/wailsapp/wails/v2/internal/frontend/desktop/darwin
+In file included from ../../pkg/mod/github.com/wailsapp/wails/v2@v2.0.0-beta.44.2/internal/frontend/desktop/darwin/callbacks.go:9:
+In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:12:
+/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSBundle.h:91:143: error: function does not return NSString
+- (NSAttributedString *)localizedAttributedStringForKey:(NSString *)key value:(nullable NSString *)value table:(nullable NSString *)tableName NS_FORMAT_ARGUMENT(1) NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0));
+ ~~~~~~~~~~~~~~ ^ ~
+/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:103:48: note: expanded from macro 'NS_FORMAT_ARGUMENT'
+ #define NS_FORMAT_ARGUMENT(A) __attribute__ ((format_arg(A)))
+```
+
+This is _normally_ due to a mismatch with the OS version you are running and the version of the XCode Command Line Tools installed. If you see an error like this, try upgrading your XCode Command Line Tools to the latest version.
+
+If reinstalling Xcode Command Tools still fails, you can check the path where the toolkit is located using:
+
+`xcode-select -p`
+
+If `/Applications/Xcode.app/Contents/Developer` is displayed, run `sudo xcode-select --switch /Library/Developer/CommandLineTools`
+
+Sources: https://github.com/wailsapp/wails/issues/1806 and https://github.com/wailsapp/wails/issues/1140#issuecomment-1290446496
+
+--
+
+## Cannot start service: Host version "x.x.x does not match binary version "x.x.x"
+
+It's preferable to add `frontend/node_modules` and `frontend/package-lock.json` to your `.gitignore`. Otherwise when opening your repository on another machine that may have different versions of Node installed, you may not be able to run your application.
+
+If this does happen, simply delete `frontend/node_modules` and `frontend/package-lock.json` and run your `wails build` or `wails dev` command again.
+
+## Build process stuck on "Generating bindings"
+
+Bindings generation process runs your application in a special mode. If application, intentionally or unintentionally, contains an endless loop (i.e. not exiting after `wails.Run()` finished), this can lead to build process stuck on the stage of bindings generation. Please make sure your code exits properly.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/vscode.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/vscode.mdx
new file mode 100644
index 00000000000..03962a2184c
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/vscode.mdx
@@ -0,0 +1,82 @@
+
+# Visual Studio Code
+
+Esta página é para dicas e truques diversos ao usar o Visual Studio Code com Wails.
+
+## Configuração do Vetur
+
+Muito obrigado [@Lyimmi](https://github.com/Lyimmi) por esta dica. Originalmente publicada [aqui](https://github.com/wailsapp/wails/issues/1791#issuecomment-1228158349).
+
+Vetur é um popular plugin para o Visual Studio Code que fornece realce de sintaxe e conclusão de código para projetos Vue. Ao carregar um projeto Wails no VSCode, Vetur lançará um erro já que está esperando para encontrar o projeto frontend no diretório raiz. Para consertar isso, você pode fazer o seguinte:
+
+Crie um arquivo chamado `vetur.config.js` na raiz do projeto.
+
+```javascript
+// vetur.config.js
+/** @type {import('vls').VeturConfig} */
+module.exports = {
+ // **optional** default: `{}`
+ // override vscode settings
+ // Notice: It only affects the settings used by Vetur.
+ settings: {
+ "vetur.useWorkspaceDependencies": true,
+ "vetur.experimental.templateInterpolationService": true
+ },
+ // **optional** default: `[{ root: './' }]`
+ // support monorepos
+ projects: [
+ {
+ // **required**
+ // Where is your project?
+ // It is relative to `vetur.config.js`.
+ // root: './packages/repo1',
+ root: './frontend',
+ // **optional** default: `'package.json'`
+ // Where is `package.json` in the project?
+ // We use it to determine the version of vue.
+ // It is relative to root property.
+ package: './package.json',
+ // **optional**
+ // Where is TypeScript config file in the project?
+ // It is relative to root property.
+ tsconfig: './tsconfig.json',
+ // **optional** default: `'./.vscode/vetur/snippets'`
+ // Where is vetur custom snippets folders?
+ snippetFolder: './.vscode/vetur/snippets',
+ // **optional** default: `[]`
+ // Register globally Vue component glob.
+ // If you set it, you can get completion by that components.
+ // It is relative to root property.
+ // Notice: It won't actually do it. You need to use `require.context` or `Vue.component`
+ globalComponents: [
+ './src/components/**/*.vue'
+ ]
+ }
+ ]
+}
+```
+
+Agora, configure `frontend/tsconfig.json`:
+
+```javascript
+{
+ "compilerOptions": {
+ "module": "system",
+ "noImplicitAny": true,
+ "removeComments": true,
+ "preserveConstEnums": true,
+ "sourceMap": true,
+ "outFile": "../../built/local/tsc.js",
+ "allowJs": true
+ },
+ "exclude": [
+ "node_modules",
+ "**/*.spec.ts"
+ ],
+ "include": [
+ "src/**/*",
+ "wailsjs/**/*.ts"
+ ]
+}
+```
+Isso deve permitir que você use Vetur como esperado.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows-installer.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows-installer.mdx
new file mode 100644
index 00000000000..40a4256d3f9
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows-installer.mdx
@@ -0,0 +1,58 @@
+# Instalador NSIS
+
+```mdx-code-block
+
+
+
+
+```
+
+O Wails suporta a geração de instaladores do Windows usando o [instalador do NSIS](https://nsis.sourceforge.io/).
+
+## Installing NSIS
+
+### Windows
+
+O instalador está disponível na página de [Download do NSIS](https://nsis.sourceforge.io/Download).
+
+Se você usar o gerenciador de pacotes de chocolatey, execute o seguinte script:
+
+```
+choco install nsis
+```
+
+Se você instalar o NSIS manualmente, você precisará adicionar a pasta _Bin_, que contém `makensis.exe`, e sua instalação NSIS ao seu PATH. [Aqui](https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/) está um bom tutorial sobre como adicionar ao PATH no Windows.
+
+### Linux
+
+O pacote `nsis` deve estar disponível através do gerenciador de pacotes da sua distribuição.
+
+### MacOS
+
+O NSIS está disponível para instalação através de homebrew: `brew install nsis`.
+
+## Gerando o instalador
+
+Quando um novo projeto é criado, o Wails gera os arquivos de configuração do NSIS em `build/windows/installer`. Os dados de configuração são lidos do `installer/info.json` e estão configurados para usar a seção de informação do projeto `wails.json`:
+
+```json
+// ...
+ "Info": {
+ "companyName": "My Company Name",
+ "productName": "Wails Vite",
+ "productVersion": "1.0.0",
+ "copyright": "Copyright.........",
+ "comments": "Built using Wails (https://wails.io)"
+ },
+```
+
+Para gerar um instalador para o seu aplicativo, use a flag `-nsis` com o comando `wails build`:
+
+```
+wails build -nsis
+```
+
+O instalador agora estará disponível no diretório `build/bin`.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows.mdx
new file mode 100644
index 00000000000..dd76db15adb
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows.mdx
@@ -0,0 +1,61 @@
+# Windows
+
+Esta página tem guias diversos relacionados ao desenvolvimento de aplicativos Wails para Windows.
+
+## Manipulando a dependência de runtime WebView2,
+
+Aplicativos de Wails feitos para Windows possuem uma exigência de tempo de execução na Microsoft [Runtime WebView2](https://developer.microsoft.com/en-us/microsoft-edge/webview2/). Windows 11 terá isto instalado por padrão, mas algumas máquinas não. O Wails oferece uma abordagem fácil para lidar com esta dependência.
+
+Usando a flag `-webview2` ao realizar o build, você pode decidir o que sua aplicação fará quando não for detectado um tempo de execução adequado (incluindo se o tempo de execução instalado for muito antigo). As quatro opções são:
+
+1. Baixar
+2. Incorporar
+3. Navegador
+4. Erro
+
+### Baixar
+
+Esta opção irá solicitar ao usuário que nenhum tempo de execução adequado foi encontrado e, em seguida, oferecer para baixar e executar o bootstrapper oficial no site WebView2 da Microsoft. Se o usuário continuar, o bootstrapper oficial será baixado e executado.
+
+### Incorporar
+
+Esta opção incorpora o bootstrapper oficial dentro do aplicativo. Se nenhum tempo de execução adequado for encontrado, o aplicativo oferecerá para executar o bootstrapper. Isto adiciona ~150k ao tamanho do binário.
+
+### Navegador
+
+Esta opção pedirá ao usuário que nenhum tempo de execução adequado foi encontrado e, em seguida, oferecerá para abrir um navegador na página oficial WebView2, onde o bootstrapper pode ser baixado e instalado. O aplicativo irá então sair, deixando a instalação para o usuário.
+
+### Erro
+
+Se não for encontrado um tempo de execução adequado, um erro é dado ao usuário e nenhuma ação foi feita.
+
+## Execução da versão fixa
+
+Outra forma de lidar com a dependência webview2 é enviando-a você mesmo. Você pode baixar [versão fixa em tempo de execução](https://developer.microsoft.com/microsoft-edge/webview2/#download-section) e empacotar ou baixá-lo com seu aplicativo.
+
+Além disso, você deve especificar o caminho para a versão fixa do tempo de execução webview2 nas `windows.Options` structure ao iniciar wails.
+
+```go
+ wails.Run(&options.App{
+ Windows: &windows.Options{
+ WebviewBrowserPath: "",
+ },
+ })
+```
+
+Observação: Quando `WebviewBrowserPath` é especificado a estratégia `error` seráforçada em caso de exigência de versão mínima ou erros na busca do runtime.
+
+## Gerando outros programas
+
+Ao gerar outros programas, tais como scripts, você verá a janela aparecer na tela. Para ocultar a janela, você pode usar o seguinte código:
+
+```go
+cmd := exec.Command("your_script.exe")
+cmd.SysProcAttr = &syscall.SysProcAttr{
+ HideWindow: true,
+ CreationFlags: 0x08000000,
+}
+cmd.Start()
+```
+
+Solução fornecida pelo [sithembiso](https://github.com/sithembiso) no [quadro de discussões](https://github.com/wailsapp/wails/discussions/1734#discussioncomment-3386172).
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/howdoesitwork.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/howdoesitwork.mdx
new file mode 100644
index 00000000000..44fa130cc74
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/howdoesitwork.mdx
@@ -0,0 +1,369 @@
+---
+sidebar_position: 20
+---
+
+# How does it work?
+
+A Wails application is a standard Go application, with a webkit frontend. The Go part of the application consists of the application code and a runtime library that provides a number of useful operations, like controlling the application window. The frontend is a webkit window that will display the frontend assets. Also available to the frontend is a JavaScript version of the runtime library. Finally, it is possible to bind Go methods to the frontend, and these will appear as JavaScript methods that can be called, just as if they were local JavaScript methods.
+
+```mdx-code-block
+
+
+
+```
+
+## The Main Application
+
+### Overview
+
+The main application consists of a single call to `wails.Run()`. It accepts the application configuration which describes the size of the application window, the window title, what assets to use, etc. A basic application might look like this:
+
+```go title="main.go"
+package main
+
+import (
+ "embed"
+ "log"
+
+ "github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/options"
+ "github.com/wailsapp/wails/v2/pkg/options/assetserver"
+)
+
+//go:embed all:frontend/dist
+var assets embed.FS
+
+func main() {
+
+ app := &App{}
+
+ err := wails.Run(&options.App{
+ Title: "Basic Demo",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ Bind: []interface{}{
+ app,
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+
+type App struct {
+ ctx context.Context
+}
+
+func (b *App) startup(ctx context.Context) {
+ b.ctx = ctx
+}
+
+func (b *App) shutdown(ctx context.Context) {}
+
+func (b *App) Greet(name string) string {
+ return fmt.Sprintf("Hello %s!", name)
+}
+```
+
+### Options rundown
+
+This example has the following options set:
+
+- `Title` - The text that should appear in the window's title bar
+- `Width` & `Height` - The dimensions of the window
+- `Assets` - The application's frontend assets
+- `OnStartup` - A callback for when the window is created and is about to start loading the frontend assets
+- `OnShutdown` - A callback for when the application is about to quit
+- `Bind` - A slice of struct instances that we wish to expose to the frontend
+
+A full list of application options can be found in the [Options Reference](reference/options).
+
+#### Assets
+
+The `Assets` option is mandatory as you can't have a Wails application without frontend assets. Those assets can be any files you would expect to find in a web application - html, js, css, svg, png, etc. **There is no requirement to generate asset bundles** - plain files will do. When the application starts, it will attempt to load `index.html` from your assets and the frontend will essentially work as a browser from that point on. It is worth noting that there is no requirement on where in the `embed.FS` the files live. It is likely that the embed path uses a nested directory relative to your main application code, such as `frontend/dist`:
+
+```go title="main.go"
+//go:embed all:frontend/dist
+var assets embed.FS
+```
+
+At startup, Wails will iterate the embedded files looking for the directory containing `index.html`. All other assets will be loaded relative to this directory.
+
+As production binaries use the files contained in `embed.FS`, there are no external files required to be shipped with the application.
+
+When running in development mode using the `wails dev` command, the assets are loaded off disk, and any changes result in a "live reload". The location of the assets will be inferred from the `embed.FS`.
+
+More details can be found in the [Application Development Guide](guides/application-development.mdx).
+
+#### Application Lifecycle Callbacks
+
+Just before the frontend is about to load `index.html`, a callback is made to the function provided in [OnStartup](reference/options.mdx#onstartup). A standard Go context is passed to this method. This context is required when calling the runtime so a standard pattern is to save a reference to in this method. Just before the application shuts down, the [OnShutdown](reference/options.mdx#onshutdown) callback is called in the same way, again with the context. There is also an [OnDomReady](reference/options.mdx#ondomready) callback for when the frontend has completed loading all assets in `index.html` and is equivalent of the [`body onload`](https://www.w3schools.com/jsref/event_onload.asp) event in JavaScript. It is also possible to hook into the window close (or application quit) event by setting the option [OnBeforeClose](reference/options.mdx#onbeforeclose).
+
+#### Method Binding
+
+The `Bind` option is one of the most important options in a Wails application. It specifies which struct methods to expose to the frontend. Think of structs like "controllers" in a traditional web application. When the application starts, it examines the struct instances listed in the `Bind` field in the options, determines which methods are public (starts with an uppercase letter) and will generate JavaScript versions of those methods that can be called by the frontend code.
+
+:::info Note
+
+Wails requires that you pass in an _instance_ of the struct for it to bind it correctly
+
+:::
+
+In this example, we create a new `App` instance and then add this instance to the `Bind` option in `wails.Run`:
+
+```go {17,27} title="main.go"
+package main
+
+import (
+ "embed"
+ "log"
+
+ "github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/options"
+ "github.com/wailsapp/wails/v2/pkg/options/assetserver"
+)
+
+//go:embed all:frontend/dist
+var assets embed.FS
+
+func main() {
+
+ app := &App{}
+
+ err := wails.Run(&options.App{
+ Title: "Basic Demo",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ Bind: []interface{}{
+ app,
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+
+type App struct {
+ ctx context.Context
+}
+
+func (a *App) Greet(name string) string {
+ return fmt.Sprintf("Hello %s!", name)
+}
+```
+
+You may bind as many structs as you like. Just make sure you create an instance of it and pass it in `Bind`:
+
+```go {10-12}
+ //...
+ err := wails.Run(&options.App{
+ Title: "Basic Demo",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ Bind: []interface{}{
+ app,
+ &mystruct1{},
+ &mystruct2{},
+ },
+ })
+
+```
+
+When you run `wails dev` (or `wails generate module`), a frontend module will be generated containing the following:
+
+- JavaScript bindings for all bound methods
+- TypeScript declarations for all bound methods
+- TypeScript definitions for all Go structs used as inputs or outputs by the bound methods
+
+This makes it incredibly simple to call Go code from the frontend, using the same strongly typed datastructures.
+
+## The Frontend
+
+### Overview
+
+The frontend is a collection of files rendered by webkit. It's like a browser and webserver in one. There is virtually[^1] no limit to which frameworks or libraries you can use. The main points of interaction between the frontend and your Go code are:
+
+- Calling bound Go methods
+- Calling runtime methods
+
+### Calling bound Go methods
+
+When you run your application with `wails dev`, it will automatically generate JavaScript bindings for your structs in a directory called `wailsjs/go` (You can also do this by running `wails generate module`). The generated files mirror the package names in your application. In the example above, we bind `app`, which has one public method `Greet`. This will lead to the generation of the following files:
+
+```bash
+wailsjs
+ └─go
+ └─main
+ ├─App.d.ts
+ └─App.js
+```
+
+Here we can see that there is a `main` package that contains the JavaScript bindings for the bound `App` struct, as well as the TypeScript declaration file for those methods. To call `Greet` from our frontend, we simply import the method and call it like a regular JavaScript function:
+
+```javascript
+// ...
+import { Greet } from "../wailsjs/go/main/App";
+
+function doGreeting(name) {
+ Greet(name).then((result) => {
+ // Do something with result
+ });
+}
+```
+
+The TypeScript declaration file gives you the correct types for the bound methods:
+
+```ts
+export function Greet(arg1: string): Promise;
+```
+
+The generated methods return a Promise. A successful call will result in the first return value from the Go call to be passed to the `resolve` handler. An unsuccessful call is when a Go method that has an error type as it's second return value, passes an error instance back to the caller. This is passed back via the `reject` handler. In the example above, `Greet` only returns a `string` so the JavaScript call will never reject - unless invalid data is passed to it.
+
+All data types are correctly translated between Go and JavaScript. Even structs. If you return a struct from a Go call, it will be returned to your frontend as a JavaScript class.
+
+:::info Note
+
+Struct fields _must_ have a valid `json` tag to be included in the generated TypeScript.
+
+Anonymous nested structs are not supported at this time.
+
+:::
+
+It is possible to send structs back to Go. Any JavaScript map/class passed as an argument that is expecting a struct, will be converted to that struct type. To make this process a lot easier, in `dev` mode, a TypeScript module is generated, defining all the struct types used in bound methods. Using this module, it's possible to construct and send native JavaScript objects to the Go code.
+
+There is also support for Go methods that use structs in their signature. All Go structs specified by a bound method (either as parameters or return types) will have TypeScript versions auto generated as part of the Go code wrapper module. Using these, it's possible to share the same data model between Go and JavaScript.
+
+Example: We update our `Greet` method to accept a `Person` instead of a string:
+
+```go title="main.go"
+type Person struct {
+ Name string `json:"name"`
+ Age uint8 `json:"age"`
+ Address *Address `json:"address"`
+}
+
+type Address struct {
+ Street string `json:"street"`
+ Postcode string `json:"postcode"`
+}
+
+func (a *App) Greet(p Person) string {
+ return fmt.Sprintf("Hello %s (Age: %d)!", p.Name, p.Age)
+}
+```
+
+The `wailsjs/go/main/App.js` file will still have the following code:
+
+```js title="App.js"
+export function Greet(arg1) {
+ return window["go"]["main"]["App"]["Greet"](arg1);
+}
+```
+
+But the `wailsjs/go/main/App.d.ts` file will be updated with the following code:
+
+```ts title="App.d.ts"
+import { main } from "../models";
+
+export function Greet(arg1: main.Person): Promise;
+```
+
+As we can see, the "main" namespace is imported from a new "models.ts" file. This file contains all the struct definitions used by our bound methods. In this example, this is a `Person` struct. If we look at `models.ts`, we can see how the models are defined:
+
+```ts title="models.ts"
+export namespace main {
+ export class Address {
+ street: string;
+ postcode: string;
+
+ static createFrom(source: any = {}) {
+ return new Address(source);
+ }
+
+ constructor(source: any = {}) {
+ if ("string" === typeof source) source = JSON.parse(source);
+ this.street = source["street"];
+ this.postcode = source["postcode"];
+ }
+ }
+ export class Person {
+ name: string;
+ age: number;
+ address?: Address;
+
+ static createFrom(source: any = {}) {
+ return new Person(source);
+ }
+
+ constructor(source: any = {}) {
+ if ("string" === typeof source) source = JSON.parse(source);
+ this.name = source["name"];
+ this.age = source["age"];
+ this.address = this.convertValues(source["address"], Address);
+ }
+
+ convertValues(a: any, classs: any, asMap: boolean = false): any {
+ if (!a) {
+ return a;
+ }
+ if (a.slice) {
+ return (a as any[]).map((elem) => this.convertValues(elem, classs));
+ } else if ("object" === typeof a) {
+ if (asMap) {
+ for (const key of Object.keys(a)) {
+ a[key] = new classs(a[key]);
+ }
+ return a;
+ }
+ return new classs(a);
+ }
+ return a;
+ }
+ }
+}
+```
+
+So long as you have TypeScript as part of your frontend build configuration, you can use these models in the following way:
+
+```js title="mycode.js"
+import { Greet } from "../wailsjs/go/main/App";
+import { main } from "../wailsjs/go/models";
+
+function generate() {
+ let person = new main.Person();
+ person.name = "Peter";
+ person.age = 27;
+ Greet(person).then((result) => {
+ console.log(result);
+ });
+}
+```
+
+The combination of generated bindings and TypeScript models makes for a powerful development environment.
+
+More information on Binding can be found in the [Binding Methods](guides/application-development.mdx#binding-methods) section of the [Application Development Guide](guides/application-development.mdx).
+
+### Calling runtime methods
+
+The JavaScript runtime is located at `window.runtime` and contains many methods to do various tasks such as emit an event or perform logging operations:
+
+```js title="mycode.js"
+window.runtime.EventsEmit("my-event", 1);
+```
+
+More details about the JS runtime can be found in the [Runtime Reference](reference/runtime/intro).
+
+[^1]: There is a very small subset of libraries that use features unsupported in WebViews. There are often alternatives and workarounds for such cases.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/introduction.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/introduction.mdx
new file mode 100644
index 00000000000..e03250e3b3a
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/introduction.mdx
@@ -0,0 +1,75 @@
+---
+sidebar_position: 1
+---
+
+# Introdução
+
+Wails é um projeto que permite a você escrever aplicativos de desktop usando Go e web.
+
+Considere uma alternativa leve e rápida do Electron para o Go. Você pode facilmente construir aplicativos com a flexibilidade e o poder do Go, combinados com um frontend rico e moderno.
+
+### Funcionalidades
+
+- Menus Nativos, Dialogs, Temas e Transparência
+- Suporte a Windows, macOS e Linux
+- Modelos embutidos para Svelte, React, Preact, Vue, Lit e Vanilla JS
+- Easily call Go methods from JavaScript
+- Automatic Go struct to TypeScript model generation
+- Não são necessárias DLLs externas ou CGO no Windows
+- Modo de desenvolvimento ao vivo usando o poder do [Vite](https://vitejs.dev/)
+- Poderoso CLI para criar, Construir e Empacotar facilmente
+- Uma rica [biblioteca de tempo de execução](/docs/reference/runtime/intro)
+- Aplicativos construídos com Wails são compatíveis com Apple & Microsoft Store
+
+Este é [vago](https://varly.app) - um aplicativo para desktop para MacOS & Windows escrito usando Wails. Não só parece ótimo, como também usa menus nativos e translucidez - tudo o que você esperaria de um aplicativo nativo moderno.
+
+```mdx-code-block
+
+
+```
+
+When clicked, that will open an about message box:
+
+```mdx-code-block
+
+
+
+
+```
+
+### Linux
+
+This defines [Linux specific options](#linux).
+
+Name: Linux Type: `*linux.Options`
+
+#### Icon
+
+Sets up the icon representing the window. This icon is used when the window is minimized (also known as iconified).
+
+Name: Icon Type: `[]byte`
+
+Some window managers or desktop environments may also place it in the window frame, or display it in other contexts. On others, the icon is not used at all, so your mileage may vary.
+
+NOTE: Gnome on Wayland at least does not display this icon. To have a application icon there, a `.desktop` file has to be used. On KDE it should work.
+
+The icon should be provided in whatever size it was naturally drawn; that is, don’t scale the image before passing it. Scaling is postponed until the last minute, when the desired final size is known, to allow best quality.
+
+#### WindowIsTranslucent
+
+Setting this to `true` will make the window background translucent. Some window managers may ignore it, or result in a black window.
+
+Name: WindowIsTranslucent Type: `bool`
+
+#### WebviewGpuPolicy
+
+This option is used for determining the webview's hardware acceleration policy.
+
+Name: WebviewGpuPolicy Type: [`options.WebviewGpuPolicy`](#webviewgpupolicy-type) Default: `WebviewGpuPolicyAlways`
+
+##### WebviewGpuPolicy type
+
+| Value | Description |
+| ------------------------ | -------------------------------------------------------------------- |
+| WebviewGpuPolicyAlways | Hardware acceleration is always enabled |
+| WebviewGpuPolicyOnDemand | Hardware acceleration is enabled/disabled as request by web contents |
+| WebviewGpuPolicyNever | Hardware acceleration is always disabled |
+
+### Debug
+
+This defines [Debug specific options](#Debug) that apply to debug builds.
+
+Name: Debug Type: `options.Debug`
+
+#### OpenInspectorOnStartup
+
+Setting this to `true` will open the WebInspector on startup of the application.
+
+Name: OpenInspectorOnStartup Type: `bool`
+
+[^1]: This requires WebKit2GTK 2.36+ support and your app needs to be build with the build tag `webkit2_36` to activate support for this feature. This also bumps the minimum requirement of WebKit2GTK to 2.36 for your app.
+[^2]: This requires WebKit2GTK 2.40+ support and your app needs to be build with the build tag `webkit2_40` to activate support for this feature. This also bumps the minimum requirement of WebKit2GTK to 2.40 for your app.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/project-config.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/project-config.mdx
new file mode 100644
index 00000000000..5c7d578b777
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/project-config.mdx
@@ -0,0 +1,92 @@
+---
+sidebar_position: 5
+---
+
+# Project Config
+
+The project config resides in the `wails.json` file in the project directory. The structure of the config is:
+
+```json
+{
+ // Project config version
+ "version": "",
+ // The project name
+ "name": "",
+ // Relative path to the directory containing the compiled assets, this is normally inferred and could be left empty
+ "assetdir": "",
+ // Additional directories to trigger reloads (comma separated), this is only used for some advanced asset configurations
+ "reloaddirs": "",
+ // The directory where the build files reside. Defaults to 'build'
+ "build:dir": "",
+ // Relative path to the frontend directory. Defaults to 'frontend'
+ "frontend:dir": "",
+ // The command to install node dependencies, run in the frontend directory - often `npm install`
+ "frontend:install": "",
+ // The command to build the assets, run in the frontend directory - often `npm run build`
+ "frontend:build": "",
+ // This command has been replaced by frontend:dev:build. If frontend:dev:build is not specified will falls back to this command. \nIf this command is also not specified will falls back to frontend:build
+ "frontend:dev": "",
+ // This command is the dev equivalent of frontend:build. If not specified falls back to frontend:dev
+ "frontend:dev:build": "",
+ // This command is the dev equivalent of frontend:install. If not specified falls back to frontend:install
+ "frontend:dev:install": "",
+ // This command is run in a separate process on `wails dev`. Useful for 3rd party watchers or starting 3d party dev servers
+ "frontend:dev:watcher": "",
+ // URL to a 3rd party dev server to be used to serve assets, EG Vite. \nIf this is set to 'auto' then the devServerUrl will be inferred from the Vite output
+ "frontend:dev:serverUrl": "",
+ // Relative path to the directory that the auto-generated JS modules will be created
+ "wailsjsdir": "",
+ // The name of the binary
+ "outputfilename": "",
+ // The default time the dev server waits to reload when it detects a change in assets
+ "debounceMS": 100,
+ // Address to bind the wails dev sever to. Default: localhost:34115
+ "devServer": "",
+ // Arguments passed to the application in shell style when in dev mode
+ "appargs": "",
+ // Defines if build hooks should be run though they are defined for an OS other than the host OS.
+ "runNonNativeBuildHooks": false,
+ "preBuildHooks": {
+ // The command that will be executed before a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.
+ "GOOS/GOARCH": "",
+ // The command that will be executed before a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/*" hook is executed before the "*/*" hook.
+ "GOOS/*": "",
+ // The command that will be executed before every build: ${platform} is replaced with the "GOOS/GOARCH".
+ "*/*": ""
+ },
+ "postBuildHooks": {
+ // The command that will be executed after a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.
+ "GOOS/GOARCH": "",
+ // The command that will be executed after a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/*" hook is executed before the "*/*" hook.
+ "GOOS/*": "",
+ // The command that will be executed after every build: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary.
+ "*/*": ""
+ },
+ // Data used to populate manifests and version info.
+ "info": {
+ // The company name. Default: [The project name]
+ "companyName": "",
+ // The product name. Default: [The project name]
+ "productName": "",
+ // The version of the product. Default: '1.0.0'
+ "productVersion": "",
+ // The copyright of the product. Default: 'Copyright.........'
+ "copyright": "",
+ // A short comment of the app. Default: 'Built using Wails (https://wails.app)'
+ "comments": ""
+ },
+ // 'multiple': One installer per architecture. 'single': Single universal installer for all architectures being built. Default: 'multiple'
+ "nsisType": "",
+ // Whether the app should be obfuscated. Default: false
+ "obfuscated": "",
+ // The arguments to pass to the garble command when using the obfuscated flag
+ "garbleargs": ""
+}
+```
+
+This file is read by the Wails CLI when running `wails build` or `wails dev`.
+
+The `assetdir`, `reloaddirs`, `wailsjsdir`, `debounceMS`, `devserver` and `frontenddevserverurl` flags in `wails build/dev` will update the project config
+and thus become defaults for subsequent runs.
+
+The JSON Schema for this file is located [here](https://wails.io/schemas/config.v2.json).
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/browser.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/browser.mdx
new file mode 100644
index 00000000000..2765c844d53
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/browser.mdx
@@ -0,0 +1,13 @@
+---
+sidebar_position: 7
+---
+
+# Browser
+
+Esses métodos estão relacionados com o navegador do sistema.
+
+### BrowserOpenURL
+
+Abre a URL fornecida no navegador do sistema.
+
+Go: `BrowserOpenURL(ctx context.Context, url string)` JS: `BrowserOpenURL(url string)`
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/clipboard.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/clipboard.mdx
new file mode 100644
index 00000000000..805f68ed917
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/clipboard.mdx
@@ -0,0 +1,23 @@
+---
+sidebar_position: 8
+---
+
+# Clipboard
+
+This part of the runtime provides access to the operating system's clipboard. The current implementation only handles text.
+
+### ClipboardGetText
+
+This method reads the currently stored text from the clipboard.
+
+Go: `ClipboardGetText(ctx context.Context) (string, error)` Returns: a string (if the clipboard is empty an empty string will be returned) or an error.
+
+JS: `ClipboardGetText(): Promise` Returns: a promise with a string result (if the clipboard is empty an empty string will be returned).
+
+### ClipboardSetText
+
+This method writes a text to the clipboard.
+
+Go: `ClipboardSetText(ctx context.Context, text string) error` Returns: an error if there is any.
+
+JS: `ClipboardSetText(text: string): Promise` Returns: a promise with true result if the text was successfully set on the clipboard, false otherwise.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/dialog.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/dialog.mdx
new file mode 100644
index 00000000000..6a12ce1350a
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/dialog.mdx
@@ -0,0 +1,302 @@
+---
+sidebar_position: 5
+---
+
+# Diálogo
+
+Esta parte do tempo de execução fornece acesso a dialogos nativos, como os Seletores de Arquivo e caixas de mensagem.
+
+:::info JavaScript
+
+O dialog não é suportado pelo runtime do JS.
+
+:::
+
+### OpenDirectoryDialog
+
+Abre um diálogo que solicita o usuário para selecionar um diretório. Pode ser personalizado usando o [OpenDialogOptions](#opendialogoptions).
+
+Go: `OpenDirectoryDialog(ctx context.Context, dialogOptions OpenDialogOptions) (string, error)`
+
+Retorna: Diretório selecionado (nulo se o usuário cancelar) ou um erro
+
+### OpenFileDialog
+
+Abre um diálogo que solicita o usuário para selecionar um arquivo. Pode ser personalizado usando o [OpenDialogOptions](#opendialogoptions).
+
+Go: `OpenFileDialog(ctx context.Context, dialogOptions OpenDialogOptions) (string, error)`
+
+Retorna: Arquivo selecionado (nulo se o usuário cancelar) ou um erro
+
+### OpenMultipleFilesDialog
+
+Abre um diálogo que pede o usuário para selecionar vários arquivos. Pode ser personalizado usando o [OpenDialogOptions](#opendialogoptions).
+
+Go: `OpenMultipleFilesDialog(ctx context.Context, dialogOptions OpenDialogOptions) ([]string, error)`
+
+Retorna: Arquivos selecionados (nulo se o usuário cancelar) ou um erro
+
+### SaveFileDialog
+
+Abre um diálogo que solicita o usuário selecionar um nome de arquivo para salvar. Pode ser personalizado usando [SaveDialogOptions](#savedialogoptions).
+
+Go: `SaveFileDialog(ctx context.Context, dialogOptions SaveDialogOptions) (string, error)`
+
+Retorna: O arquivo selecionado (nulo se o usuário cancelar) ou um erro
+
+### MessageDialog
+
+Exibe uma mensagem usando a caixa de diálogo da mensagem. Pode ser personalizado usando o [MessageDialogOptions](#messagedialogoptions).
+
+Go: `MessageDialog(ctx context.Context, dialogOptions MessageDialogOptions) (string, error)`
+
+Retorna: O texto do botão selecionado ou um erro
+
+## Opções
+
+### OpenDialogOptions
+
+```go
+type OpenDialogOptions struct {
+ DefaultDirectory string
+ DefaultFilename string
+ Title string
+ Filters []FileFilter
+ ShowHiddenFiles bool
+ CanCreateDirectories bool
+ ResolvesAliases bool
+ TreatPackagesAsDirectories bool
+}
+```
+
+| Atributo | Descrição | Win | Mac | Lin |
+| -------------------------- | ------------------------------------------------------------- | --- | --- | --- |
+| DefaultDirectory | O diretório que a caixa de diálogo será exibida quando aberta | ✅ | ✅ | ✅ |
+| DefaultFilename | O nome do arquivo padrão | ✅ | ✅ | ✅ |
+| Title | Título para a caixa de diálogo | ✅ | ✅ | ✅ |
+| [Filters](#filefilter) | Uma lista de filtros de arquivos | ✅ | ✅ | ✅ |
+| ShowHiddenFiles | Exibir arquivos ocultos pelo sistema | | ✅ | ✅ |
+| CanCreateDirectories | Permitir que o usuário crie diretórios | | ✅ | |
+| ResolvesAliases | Se verdadeiro, retorna o arquivo não o alias | | ✅ | |
+| TreatPackagesAsDirectories | Permitir a navegação em pacotes | | ✅ | |
+
+### SaveDialogOptions
+
+```go
+type SaveDialogOptions struct {
+ DefaultDirectory string
+ DefaultFilename string
+ Title string
+ Filters []FileFilter
+ ShowHiddenFiles bool
+ CanCreateDirectories bool
+ TreatPackagesAsDirectories bool
+}
+```
+
+| Atributo | Descrição | Win | Mac | Lin |
+| -------------------------- | ------------------------------------------------------------- | --- | --- | --- |
+| DefaultDirectory | O diretório que a caixa de diálogo será exibida quando aberta | ✅ | ✅ | ✅ |
+| DefaultFilename | O nome do arquivo padrão | ✅ | ✅ | ✅ |
+| Title | Título para a caixa de diálogo | ✅ | ✅ | ✅ |
+| [Filters](#filefilter) | Uma lista de filtros de arquivos | ✅ | ✅ | ✅ |
+| ShowHiddenFiles | Exibir arquivos ocultos pelo sistema | | ✅ | ✅ |
+| CanCreateDirectories | Permitir que o usuário crie diretórios | | ✅ | |
+| TreatPackagesAsDirectories | Permitir a navegação em pacotes | | ✅ | |
+
+### MessageDialogOptions
+
+```go
+type MessageDialogOptions struct {
+ Type DialogType
+ Title string
+ Message string
+ Buttons []string
+ DefaultButton string
+ CancelButton string
+}
+```
+
+| Atributo | Descrição | Win | Mac | Lin |
+| ------------- | ------------------------------------------------------------------------ | -------------- | --- | --- |
+| Tipo | O tipo de diálogo de mensagem, por exemplo, pergunta, informações... | ✅ | ✅ | ✅ |
+| Title | Título para a caixa de diálogo | ✅ | ✅ | ✅ |
+| Message | A mensagem para mostrar o usuário | ✅ | ✅ | ✅ |
+| Buttons | Uma lista de títulos de botões | | ✅ | |
+| DefaultButton | O botão com este texto deve ser tratado como padrão. Vincule a `return`. | ✅[*](#windows) | ✅ | |
+| CancelButton | O botão com este texto deve ser tratado como padrão. Vincule a `return` | | ✅ | |
+
+#### Windows
+
+Windows tem tipos de diálogo padrão em que os botões não são personalizáveis. O valor retornado será um dos: "Ok", "Cancel", "Abort", "Retry", "Ignore", "Yes", "No", "Try Again" or "Continue".
+
+Para diálogos de Perguntas, o botão padrão é "Sim" e o botão cancelar é "Não". Isso pode ser alterado definindo o valor do `DefaultButton` para `"No"`.
+
+Exemplo:
+```go
+ result, err := runtime.MessageDialog(a.ctx, runtime.MessageDialogOptions{
+ Type: runtime.QuestionDialog,
+ Title: "Question",
+ Message: "Do you want to continue?",
+ DefaultButton: "No",
+ })
+```
+
+#### Linux
+
+Linux tem tipos de diálogo padrão em que os botões não são personalizáveis. O valor retornado será um de: "Ok", "Cancel", "Yes", "No"
+
+#### Mac
+
+Uma caixa de diálogo de mensagem no Mac pode especificar até 4 botões. Se nenhum `DefaultButton` ou `CancelButton` for dado, o primeiro botão é considerado padrão e está ligado à chave `return`.
+
+Para o código a seguir:
+
+```go
+selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
+ Title: "It's your turn!",
+ Message: "Select a number",
+ Buttons: []string{"one", "two", "three", "four"},
+})
+```
+
+o primeiro botão é mostrado como padrão:
+
+```mdx-code-block
+
+
+
+
+```
+
+E se especificarmos o `DefaultButton` como "two":
+
+```go
+selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
+ Title: "It's your turn!",
+ Message: "Select a number",
+ Buttons: []string{"one", "two", "three", "four"},
+ DefaultButton: "two",
+})
+```
+
+o segundo botão será mostrado como padrão. Quando `return` é pressionado, o valor "dois" é retornado.
+
+```mdx-code-block
+
+
+
+
+```
+
+Se especificarmos agora o `CancelButton` como "três:
+
+```go
+selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
+ Title: "It's your turn!",
+ Message: "Select a number",
+ Buttons: []string{"one", "two", "three", "four"},
+ DefaultButton: "two",
+ CancelButton: "three",
+})
+```
+
+o botão com "três" é mostrado na parte inferior do diálogo. Quando `escape` é pressionado, o valor "três" é retornado:
+
+```mdx-code-block
+
+
+
+
+
+
+```
+
+#### DialogType
+
+```go
+const (
+ InfoDialog DialogType = "info"
+ WarningDialog DialogType = "warning"
+ ErrorDialog DialogType = "error"
+ QuestionDialog DialogType = "question"
+ )
+```
+
+### FileFilter
+
+```go
+type FileFilter struct {
+ DisplayName string // Filter information EG: "Image Files (*.jpg, *.png)"
+ Pattern string // semi-colon separated list of extensions, EG: "*.jpg;*.png"
+}
+```
+
+#### Windows
+
+O Windows permite que você use vários filtros de arquivos em caixas de diálogo. Cada FileFilter aparecerá como uma entrada separada na caixa de diálogo:
+
+```mdx-code-block
+
+
+
+
+
+
+```
+
+#### Linux
+
+Linux permite que você use vários filtros de arquivo em caixas de diálogo. Cada FileFilter aparecerá como uma entrada separada na caixa de diálogo:
+
+```mdx-code-block
+
+
+
+
+
+
+```
+
+#### Mac
+
+As caixas de diálogo Mac possuem apenas o conceito de um único conjunto de padrões para filtrar arquivos. Se vários Filtros forem fornecidos, o Wails usará todos os padrões definidos.
+
+Exemplo:
+
+```go
+ selection, err := runtime.OpenFileDialog(b.ctx, runtime.OpenDialogOptions{
+ Title: "Select File",
+ Filters: []runtime.FileFilter{
+ {
+ DisplayName: "Images (*.png;*.jpg)",
+ Pattern: "*.png;*.jpg",
+ }, {
+ DisplayName: "Videos (*.mov;*.mp4)",
+ Pattern: "*.mov;*.mp4",
+ },
+ },
+ })
+```
+
+Isso resultará na caixa de diálogo Abrir Arquivo usando `*.png,*.jpg,*.mov,*.mp4` como filtro.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/events.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/events.mdx
new file mode 100644
index 00000000000..ec0eb61e4e7
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/events.mdx
@@ -0,0 +1,37 @@
+---
+sidebar_position: 2
+---
+
+# Events
+
+The Wails runtime provides a unified events system, where events can be emitted or received by either Go or JavaScript. Opcionalmente, dados podem ser passados com os eventos. Os ouvintes receberão os dados nos tipos de dados locais.
+
+### EventsOn
+
+Este método configura um ouvinte para o nome do evento. Quando um evento do tipo `eventName` é [emitted](#EventsEmit), a callback é acionada. Quaisquer dados adicionais enviados com o evento emitido serão passados para o retorno de chamada. Retorna uma função para cancelar o ouvinte.
+
+Go: `EventsOn(ctx context.Context, eventName string, callback func(optionalData ...interface{})) func()` JS: `EventsOn(eventName string, callback function(optionalData?: any)): () => void`
+
+### EventsOff
+
+Este método desregistra o listener para o nome do evento, opcionalmente várias listagens podem ser desregistradas via `adicionalEventNames`.
+
+Go: `EventsOff(ctx context.Context, eventName string, additionalEventNames ...string)` JS: `EventsOff(eventName string, ...additionalEventNames)`
+
+### EventsOnce
+
+Esse método configura um listener para o nome do evento, mas só será acionado uma vez. Retorna uma função para cancelar o ouvinte.
+
+Go: `EventsOnce(ctx context.Context, eventName string, callback func(optionalData ...interface{})) func()` JS: `EventsOnce(eventName string, callback function(optionalData?: any)): () => void`
+
+### EventsOnMultiple
+
+Este método configura um listener para o nome do evento, mas acionará apenas um máximo de `counter` vezes. Retorna uma função para cancelar o ouvinte.
+
+Go: `EventsOnMultiple(ctx context.Context, eventName string, callback func(optionalData ...interface{}), counter int) func()` JS: `EventsOnMultiple(eventName string, callback function(optionalData?: any), counter int): () => void`
+
+### EventsEmit
+
+Este método emite o evento fornecido. Os dados opcionais podem ser passados com o evento. Isto irá acionar quaisquer ouvintes de eventos.
+
+Go: `EventsEmit(ctx context.Context, eventName string, optionalData ...interface{})` JS: `EventsEmit(eventName: string, ...optionalData: any)`
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/intro.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/intro.mdx
new file mode 100644
index 00000000000..b6f4e8a787c
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/intro.mdx
@@ -0,0 +1,85 @@
+---
+sidebar_position: 1
+---
+
+# Introduction
+
+O runtime é uma biblioteca que fornece métodos utilitários para sua aplicação. There is both a Go and JavaScript runtime and the aim is to try and keep them at parity where possible.
+
+Ele tem métodos de utilitário para:
+
+- [Janelas](window.mdx)
+- [Menus](menu.mdx)
+- [Caixa de diálogo](dialog.mdx)
+- [Eventos](events.mdx)
+- [Browser](browser.mdx)
+- [Registro](log.mdx)
+- [Clipboard](clipboard.mdx)
+
+O runtime do Go está disponível através da importação de `github.com/wailsapp/wails/v2/pkg/runtime`. Todos os métodos neste pacote assumem um contexto como o primeiro parâmetro. Este contexto deve ser obtido a partir dos ganchos [OnStartup](../options.mdx#onstartup) ou [OnDomReady](../options.mdx#ondomready).
+
+:::info Nota
+
+Embora o contexto seja fornecido para o método [Inicialização](../options.mdx#onstartup), não há garantia de que o runtime funcionará neste método, pois a janela está inicializando em um tópico diferente. Se você deseja chamar métodos de tempo de execução na inicialização, use [OnDomReady](../options.mdx#ondomready).
+
+:::
+
+The JavaScript library is available to the frontend via the `window.runtime` map. There is a runtime package generated when using `dev` mode that provides TypeScript declarations for the runtime. Isso deve ser localizado no diretório `wailsjs` em seu diretório frontend.
+
+### Hide
+
+Go: `Hide(ctx context.Context)` JS: `Hide()`
+
+Oculta a aplicação.
+
+:::info Nota
+
+No Mac, isto irá ocultar o aplicativo da mesma forma que o `Ocultar` item de menu nos aplicativos padrão Mac. Isso é diferente de esconder a janela, mas a aplicação ainda está em primeiro plano. Para Windows e Linux, atualmente isso é o mesmo que `WindowHide`.
+
+:::
+
+### Show
+
+Mostra a aplicação.
+
+:::info Nota
+
+No Mac, a aplicação voltará a ser apresentada em primeiro plano. Para Windows e Linux, atualmente isso é o mesmo que `WindowShow`.
+
+:::
+
+Go: `Show(ctx context.Context)` JS: `Show()`
+
+### Quit
+
+Encerra a aplicação.
+
+Go: `Quit(ctx context.Context)` JS: `Quit()`
+
+### Environment
+
+Retorna detalhes do ambiente atual.
+
+Go: `Environment(ctx context.Context) EnvironmentInfo` JS: `Environment(): Promise`
+
+#### EnvironmentInfo
+
+Go:
+
+```go
+type EnvironmentInfo struct {
+ BuildType string
+ Platform string
+ Arch string
+}
+```
+
+JS:
+
+```ts
+interface EnvironmentInfo {
+ buildType: string;
+ platform: string;
+ arch: string;
+}
+```
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/log.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/log.mdx
new file mode 100644
index 00000000000..0513b9431fd
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/log.mdx
@@ -0,0 +1,130 @@
+---
+sidebar_position: 3
+---
+
+# Registro
+
+The Wails runtime provides a logging mechanism that may be called from Go or JavaScript. Como a maioria dos registros de, há um número de níveis de log:
+
+- Trace
+- Debug
+- Info
+- Warning
+- Error
+- Fatal
+
+O logger irá gerar qualquer mensagem de log no nível atual, ou superior, de log. Exemplo: O `Debug` log level irá retornar todas as mensagens exceto `Trace` mensagens.
+
+### LogPrint
+
+Registra a mensagem dada como uma mensagem "bruta".
+
+Go: `LogPrint(ctx context.Context, message string)` JS: `LogPrint(message: string)`
+
+### LogPrintf
+
+Registra a mensagem dada como uma mensagem "bruta".
+
+Go: `LogPrintf(ctx context.Context, format string, args ...interface{})`
+
+### LogTrace
+
+Registra a mensagem dada no `nível de log`.
+
+Go: `LogTrace(ctx context.Context, message string)` JS: `LogTrace(message: string)`
+
+### LogTracef
+
+Registra a mensagem dada no `nível de log`.
+
+Go: `LogTracef(ctx context.Context, format string, args ...interface{})`
+
+### LogDebug
+
+Registra a mensagem dada no nível de log `Debug`.
+
+Go: `LogDebug(ctx context.Context, message string)` JS: `LogDebug(message: string)`
+
+### LogDebugf
+
+Registra a mensagem dada no nível de log `Debug`.
+
+Go: `LogDebugf(ctx context.Context, format string, args ...interface{})`
+
+### LogInfo
+
+Registra a mensagem dada no nível de log de `Info`.
+
+Go: `LogInfo(ctx context.Context, message string)` JS: `LogInfo(message: string)`
+
+### LogInfof
+
+Registra a mensagem dada no nível de log de `Info`.
+
+Go: `LogInfof(ctx context.Context, format string, args ...interface{})`
+
+### LogWarning
+
+Registra a mensagem dada no nível de log de `Warning`.
+
+Go: `LogWarning(ctx context.Context, message string)` JS: `LogWarning(message: string)`
+
+### LogWarningf
+
+Registra a mensagem dada no nível de log de `Warning`.
+
+Go: `LogWarningf(ctx context.Context, format string, args ...interface{})`
+
+### LogError
+
+Registra a mensagem dada no nível de log de `Error`.
+
+Go: `LogError(ctx context.Context, message string)` JS: `LogError(message: string)`
+
+### LogErrorf
+
+Registra a mensagem dada no nível de log de `Error`.
+
+Go: `LogErrorf(ctx context.Context, format string, args ...interface{})`
+
+### LogFatal
+
+Registra a mensagem dada no nível de log `Fatal`.
+
+Go: `LogFatal(ctx context.Context, message string)` JS: `LogFatal(message: string)`
+
+### LogFatalf
+
+Registra a mensagem dada no nível de log `Fatal`.
+
+Go: `LogFatalf(ctx context.Context, format string, args ...interface{})`
+
+### LogSetLogLevel
+
+Define o nível de log. In JavaScript, the number relates to the following log levels:
+
+| Valor | Nível de Log |
+| ----- | ------------ |
+| 1 | Trace |
+| 2 | Debug |
+| 3 | Info |
+| 4 | Warning |
+| 5 | Erro |
+
+Go: `LogSetLogLevel(ctx context.Context, level logger.LogLevel)` JS: `LogSetLogLevel(level: number)`
+
+## Usando um Logger personalizado
+
+Um logger personalizado pode ser usado fornecendo usando a opção de aplicativo [Logger](../options.mdx#logger). O único requisito é que o logger implemente a interface de `logger.Logger` definida em `github.com/wailsapp/wails/v2/pkg/logger`:
+
+```go title="logger.go"
+type Logger interface {
+ Print(message string)
+ Trace(message string)
+ Debug(message string)
+ Info(message string)
+ Warning(message string)
+ Error(message string)
+ Fatal(message string)
+}
+```
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/menu.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/menu.mdx
new file mode 100644
index 00000000000..ae07d327c93
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/menu.mdx
@@ -0,0 +1,25 @@
+---
+sidebar_position: 6
+---
+
+# Menus
+
+Estes métodos estão relacionados ao menu da aplicação.
+
+:::info JavaScript
+
+O menu não é suportado atualmente no runtime do JS.
+
+:::
+
+### MenuSetApplicationMenu
+
+Define o menu do aplicativo para o [menu](../menus.mdx) fornecido.
+
+Go: `MenuSetApplicationMenu(ctx context.Context, menu *menu.Menu)`
+
+### MenuUpdateApplicationMenu
+
+Atualiza o menu do aplicativo, pegando qualquer alteração no menu passado para `MenuSetApplicationMenu`.
+
+Go: `MenuUpdateApplicationMenu(ctx context.Context)`
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/window.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/window.mdx
new file mode 100644
index 00000000000..d834e76551c
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/window.mdx
@@ -0,0 +1,221 @@
+---
+sidebar_position: 4
+---
+
+# Janela
+
+Esses métodos dão controle da janela do aplicativo.
+
+### WindowSetTitle
+
+Define o texto na barra de título da janela.
+
+Go: `WindowSetTitle(ctx context.Context, title string)` JS: `WindowSetTitle(title: string)`
+
+### WindowFullscreen
+
+Faz a janela estar em tela cheia.
+
+Go: `WindowFullscreen(ctx context.Context)` JS: `WindowFullscreen()`
+
+### WindowUnfullscreen
+
+Restaura as dimensões e a posição anteriores da janela antes da tela cheia.
+
+Go: `WindowUnfullscreen(ctx context.Context)` JS: `WindowUnfullscreen()`
+
+### WindowIsFullscreen
+
+Retorna verdadeiro se a janela estiver em tela cheia.
+
+Go: `WindowIsFullscreen(ctx context.Context) bool` JS: `WindowIsFullscreen() bool`
+
+### WindowCenter
+
+Centraliza a janela no monitor que a janela está ativada.
+
+Go: `WindowCenter(ctx context.Context)` JS: `WindowCenter()`
+
+### WindowExecJS
+
+Executa código JS arbitrário na janela.
+
+Este método executa o código no navegador de forma assíncrona e retorna imediatamente. Se o script causar quaisquer erros, eles só estarão disponíveis no console do navegador.
+
+Go: `WindowExecJS(ctx context.Context, js string)`
+
+### WindowReload
+
+Executa um "recarregar" (Recarrega a página atual).
+
+Go: `WindowReload(ctx context.Context)` JS: `WindowReload()`
+
+### WindowReloadApp
+
+Recarrega o front-end do aplicativo.
+
+Go: `WindowReloadApp(ctx context.Context)` JS: `WindowReloadApp()`
+
+### WindowSetSystemDefaultTheme
+
+Somente para Windows.
+
+Go: `WindowSetSystemDefaultTheme(ctx context.Context)` JS: `WindowSetSystemDefaultTheme()`
+
+Define o tema da janela para padrão do sistema (escuro/claro).
+
+### WindowSetLightTheme
+
+Somente para Windows.
+
+Go: `WindowSetLightTheme(ctx context.Context)` JS: `WindowSetLightTheme()`
+
+Define o tema da janela como claro.
+
+### WindowSetDarkTheme
+
+Somente para Windows.
+
+Go: `WindowSetDarkTheme(ctx context.Context)` JS: `WindowSetDarkTheme()`
+
+Define o tema da janela como escuro.
+
+### WindowShow
+
+Mostra a janela, se ela estiver oculta no momento.
+
+Go: `WindowShow(ctx context.Context)` JS: `WindowShow()`
+
+### WindowHide
+
+Oculta a janela, se ela estiver visível no momento.
+
+Go: `WindowHide(ctx context.Context)` JS: `WindowHide()`
+
+### WindowIsNormal
+
+Retorna verdadeiro se a janela não for minimizada, maximizada ou tela inteira.
+
+Go: `WindowIsNormal(ctx context.Context) bool` JS: `WindowIsNormal() bool`
+
+### WindowSetSize
+
+Define a largura e a altura da janela.
+
+Go: `WindowSetSize(ctx context.Context, width int, height int)` JS: `WindowSetSize(size: Size)`
+
+### WindowGetSize
+
+Obtém a largura e a altura da janela.
+
+Go: `WindowGetSize(ctx context.Context) (width int, height int)` JS: `WindowGetSize() : Size`
+
+### WindowSetMinSize
+
+Define o tamanho mínimo da janela. Será redimensionada a janela se a janela for atualmente menor do que as dimensões fornecidas.
+
+Definir um tamanho de `0,0` irá desativar esta restrição.
+
+Go: `WindowSetMinSize(ctx context.Context, width int, height int)` JS: `WindowSetMinSize(size: Size)`
+
+### WindowSetMaxSize
+
+Define o tamanho máximo da janela. Será redimensionada a janela se a janela for atualmente maior do que as dimensões fornecidas.
+
+Definir um tamanho de `0,0` irá desativar esta restrição.
+
+Go: `WindowSetMaxSize(ctx context.Context, width int, height int)` JS: `WindowSetMaxSize(size: Size)`
+
+### WindowSetAlwaysOnTop
+
+Define a janela sempreOnTop ou não no topo.
+
+Go: `WindowSetAlwaysOnTop(ctx context.Context, b bool)` JS: `WindowSetAlwaysOnTop(b: Boolen)`
+
+### WindowSetPosition
+
+Define a posição da janela em relação ao monitor da janela ativada.
+
+Go: `WindowSetPosition(ctx context.Context, x int, y int)` JS: `WindowSetPosition(position: Position)`
+
+### WindowGetPosition
+
+Obtém a posição da janela em relação ao monitor que a janela está ativada.
+
+Go: `WindowGetPosition(ctx context.Context) (x int, y int)` JS: `WindowGetPosition() : Position`
+
+### WindowMaximise
+
+Maximiza a janela para preencher a tela.
+
+Go: `WindowMaximise(ctx context.Context)` JS: `WindowMaximise()`
+
+### WindowUnmaximise
+
+Restaurar a janela para as dimensões e a posição antes de maximizar.
+
+Go: `WindowUnmaximise(ctx context.Context)` JS: `WindowUnmaximise()`
+
+### WindowIsMaximised
+
+Retorna verdadeiro se a janela for maximizada.
+
+Go: `WindowIsMaximised(ctx context.Context) bool` JS: `WindowIsMaximised() bool`
+
+### WindowToggleMaximise
+
+Alterna entre Maximizado e Não Maximizado.
+
+Go: `WindowToggleMaximise(ctx context.Context)` JS: `WindowToggleMaximise()`
+
+### WindowMinimise
+
+Minimiza a janela.
+
+Go: `WindowMinimise(ctx context.Context)` JS: `WindowMinimise()`
+
+### WindowUnminimise
+
+Restaura a janela para as dimensões e a posição antes de minimizar.
+
+Go: `WindowUnminimise(ctx context.Context)` JS: `WindowUnminimise()`
+
+### WindowIsMinimised
+
+Retorna verdadeiro se a janela estiver minimizada.
+
+Go: `WindowIsMinimised(ctx context.Context) bool` JS: `WindowIsMinimised() bool`
+
+### WindowSetBackgroundColour
+
+Define a cor de fundo da janela para a definição de cores RGBA fornecida. Esta cor será exibida para todos os pixels transparentes.
+
+Valores válidos para R, G, B e A são 0-255.
+
+:::info Windows
+
+No Windows, apenas valores alfa de 0 ou 255 são suportados. Qualquer valor que não for 0 será considerado 255.
+
+:::
+
+Go: `WindowSetBackgroundColour(ctx context.Context, R, G, B, A uint8)` JS: `WindowSetBackgroundColour(R, G, B, A)`
+
+## TypeScript Object Definitions
+
+### Position
+
+```ts
+interface Position {
+ x: number;
+ y: number;
+}
+```
+
+### Size
+
+```ts
+interface Size {
+ w: number;
+ h: number;
+}
+```
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/dogsapi.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/dogsapi.mdx
new file mode 100644
index 00000000000..1af16f7745a
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/dogsapi.mdx
@@ -0,0 +1,245 @@
+---
+sidebar_position: 20
+---
+
+# Dogs API
+
+```mdx-code-block
+
+
+
+
+```
+
+:::note
+
+This tutorial has been kindly provided by [@tatadan](https://twitter.com/tatadan) and forms part of their [Wails Examples Repository](https://github.com/tataDan/wails-v2-examples).
+
+:::
+
+In this tutorial we are going to develop an application that retrieves photos of dogs from the web and then displays them.
+
+### Create the project
+
+Let's create the application. From a terminal enter: `wails init -n dogs-api -t svelte`
+
+Note: We could optionally add `-ide vscode` or `-ide goland` to the end of this command if you wanted to add IDE support.
+
+Now let's `cd dogs-api` and start editing the project files.
+
+### Remove unused code
+
+We will start by removing some elements that we know we will not use:
+
+- Open `app.go` and remove the following lines:
+
+```go
+// Greet returns a greeting for the given name
+func (a *App) Greet(name string) string {
+ return fmt.Sprintf("Hello %s, It's show time!", name)
+}
+```
+
+- Open `frontend/src/App.svelte` and delete all lines.
+- Delete the `frontend/src/assets/images/logo-universal.png` file
+
+### Creating our application
+
+Now let's add our new Go code.
+
+Add the following struct declarations to `app.go` before the function definitions:
+
+```go
+type RandomImage struct {
+ Message string
+ Status string
+}
+
+type AllBreeds struct {
+ Message map[string]map[string][]string
+ Status string
+}
+
+type ImagesByBreed struct {
+ Message []string
+ Status string
+}
+```
+
+Add the following functions to `app.go` (perhaps after the existing function definitions):
+
+```go
+func (a *App) GetRandomImageUrl() string {
+ response, err := http.Get("https://dog.ceo/api/breeds/image/random")
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ responseData, err := ioutil.ReadAll(response.Body)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ var data RandomImage
+ json.Unmarshal(responseData, &data)
+
+ return data.Message
+}
+
+func (a *App) GetBreedList() []string {
+ var breeds []string
+
+ response, err := http.Get("https://dog.ceo/api/breeds/list/all")
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ responseData, err := ioutil.ReadAll(response.Body)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ var data AllBreeds
+ json.Unmarshal(responseData, &data)
+
+ for k := range data.Message {
+ breeds = append(breeds, k)
+ }
+
+ sort.Strings(breeds)
+
+ return breeds
+}
+
+func (a *App) GetImageUrlsByBreed(breed string) []string {
+
+ url := fmt.Sprintf("%s%s%s%s", "https://dog.ceo/api/", "breed/", breed, "/images")
+ response, err := http.Get(url)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ responseData, err := ioutil.ReadAll(response.Body)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ var data ImagesByBreed
+ json.Unmarshal(responseData, &data)
+
+ return data.Message
+}
+```
+
+Modify the `import` section of `app.go` to look like this:
+
+```go
+import (
+ "context"
+ "fmt"
+ "encoding/json"
+ "io/ioutil"
+ "log"
+ "net/http"
+ "sort"
+)
+```
+
+Add the following lines to `frontend/src/App.svelte`:
+
+
+```html
+
+
+
Dogs API
+
+
+ Click on down arrow to select a breed
+
+
+
+
+{#if showRandomPhoto}
+
+{/if}
+{#if showBreedPhotos}
+ {#each photos as photo}
+
+ {/each}
+{/if}
+
+
+```
+
+
+### Testing the application
+
+To generate the bindings and test the application, run `wails dev`.
+
+### Compiling the application
+
+To compile the application to a single, production grade binary, run `wails build`.
diff --git a/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/helloworld.mdx b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/helloworld.mdx
new file mode 100644
index 00000000000..b783461daf5
--- /dev/null
+++ b/website/i18n/pt/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/helloworld.mdx
@@ -0,0 +1,122 @@
+---
+sidebar_position: 10
+---
+
+# Hello World
+
+The aim of this tutorial is to get you up and running with the most basic application using Wails. You will be able to:
+
+- Create a new Wails application
+- Build the application
+- Run the application
+
+:::note
+
+This tutorial uses Windows as the target platform. Output will vary slightly depending on your operating system.
+
+:::
+
+## Create a new Wails application
+
+To create a new Wails application using the default vanilla JS template, you need to run the following command:
+
+```bash
+wails init -n helloworld
+```
+
+You should see something similar to the following:
+
+```
+Wails CLI v2.0.0
+
+Initialising Project 'helloworld'
+---------------------------------
+
+Project Name: helloworld
+Project Directory: C:\Users\leaan\tutorial\helloworld
+Project Template: vanilla
+Template Support: https://wails.io
+
+Initialised project 'helloworld' in 232ms.
+```
+
+This will create a new directory called `helloworld` in the current directory. In this directory, you will find a number of files:
+
+```
+build/ - Contains the build files + compiled application
+frontend/ - Contains the frontend files
+app.go - Contains the application code
+main.go - The main program with the application configuration
+wails.json - The project configuration file
+go.mod - The go module file
+go.sum - The go module checksum file
+```
+
+## Build the application
+
+To build the application, change to the new `helloworld` project directory and run the following command:
+
+```bash
+wails build
+```
+
+You should see something like the following:
+
+```
+Wails CLI v2.0.0
+
+App Type: desktop
+Platforms: windows/amd64
+Compiler: C:\Users\leaan\go\go1.18.3\bin\go.exe
+Build Mode: Production
+Skip Frontend: false
+Compress: false
+Package: true
+Clean Build Dir: false
+LDFlags: ""
+Tags: []
+Race Detector: false
+
+Building target: windows/amd64
+------------------------------
+ - Installing frontend dependencies: Done.
+ - Compiling frontend: Done.
+ - Generating bundle assets: Done.
+ - Compiling application: Done.
+Built 'C:\Users\leaan\tutorial\helloworld\build\bin\helloworld.exe' in 10.616s.
+```
+
+This has compiled the application and saved it in the `build/bin` directory.
+
+## Run the application
+
+If we view the `build/bin` directory in Windows Explorer, we should see our project binary:
+
+```mdx-code-block
+
+
+
+
+```
+
+We can run it by simply double-clicking the `helloworld.exe` file.
+
+On Mac, Wails generates a `helloworld.app` file which can be run by double-clicking it.
+
+On Linux, you can run the application using `./helloworld` from the `build/bin` directory.
+
+You should see the application working as expected:
+
+```mdx-code-block
+
+
+
+
+```
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/links.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/links.mdx
new file mode 100644
index 00000000000..64c3f23b5ca
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/links.mdx
@@ -0,0 +1,26 @@
+---
+sidebar_position: 2
+---
+
+# Ссылки
+
+Эта страница служит списком ссылок на сообщество. Пожалуйста, отправьте PR (нажмите `Редактировать эту страницу` внизу) для отправки ссылок.
+
+## Awesome Wails
+
+[Полный список](https://github.com/wailsapp/awesome-wails) ссылок, связанных с Wails.
+
+## Каналы поддержки
+
+- [Wails Discord Server](https://discord.gg/JDdSxwjhGf)
+- [Github Issues](https://github.com/wailsapp/wails/issues)
+- [v2 Beta Discussion Board](https://github.com/wailsapp/wails/discussions/828)
+
+## Социальные сети
+
+- [Twitter](https://twitter.com/wailsapp)
+- [Wails группа в QQ китайского сообщества](https://qm.qq.com/cgi-bin/qm/qr?k=PmIURne5hFGNd7QWzW5qd6FV-INEjNJv&jump_from=webapi) - Номер группы: 1067173054
+
+## Другие руководства и статьи
+
+- [Создание доски объявлений](https://blog.customct.com/building-bulletin-board)
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/bulletinboard.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/bulletinboard.mdx
new file mode 100644
index 00000000000..37be75135ed
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/bulletinboard.mdx
@@ -0,0 +1,10 @@
+# BulletinBoard
+
+```mdx-code-block
+
+
+
+
+```
+
+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).
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/emailit.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/emailit.mdx
new file mode 100644
index 00000000000..c1817b70fff
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/emailit.mdx
@@ -0,0 +1,10 @@
+# EmailIt
+
+```mdx-code-block
+
+
+
+
+```
+
+[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.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/encrypteasy.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/encrypteasy.mdx
new file mode 100644
index 00000000000..a03cc9bedc6
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/encrypteasy.mdx
@@ -0,0 +1,12 @@
+# EncryptEasy
+
+```mdx-code-block
+
+
+
+
+```
+
+**[EncryptEasy](https://www.encrypteasy.app) - это простой и простой в использовании PGP инструмент шифрования, управления вашими ключами и ключами ваших контактов. Шифрование не должно быть сложным процессом для пользователя. Разработано на Wails.**
+
+Шифрование сообщений с помощью PGP является стандартом отрасли. У каждого есть приватный и публичный ключ. Ваш приватный ключ должен оставаться в секрете, для того, чтобы только вы могли читать сообщения. Ваш публичный ключ передается всем, кто хочет отправлять вам секретные и зашифрованные сообщения. Управление ключами, шифрованием сообщений и расшифровкой сообщений должно бесперебойно работать. EncryptEasy - это то, что позволяет сделать это с лёгкостью.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/filehound.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/filehound.mdx
new file mode 100644
index 00000000000..22b6d90816e
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/filehound.mdx
@@ -0,0 +1,16 @@
+# FileHound утилита для экспорта данных
+
+```mdx-code-block
+
+
+
+
+```
+
+[FileHound утилита для экспорта данных](https://www.filehound.co.uk/) FileHound это облачная платформа управления документами для безопасного сохранения файлов, автоматизации бизнес-процессов и SmartCapture возможностей.
+
+Утилита экспорта данных из FileHound позволяет администраторам запустить безопасное извлечение документов и данных для альтернативного варианта создания бэкапов и восстановления данных. Это приложение загруит все документы и/или метаданные, сохраненные в FileHound основываясь на выбранных фильтрах. Метадата будет извлечена в форматах XML и JSON.
+
+Бэкенд: 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
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/hiposter.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/hiposter.mdx
new file mode 100644
index 00000000000..87e5837d32f
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/hiposter.mdx
@@ -0,0 +1,10 @@
+# hiposter
+
+```mdx-code-block
+
+
+
+
+```
+
+[hiposter](https://github.com/obity/hiposter) is a simple and efficient http API testing client tool. Based on Wails, Go and sveltejs.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/minecraftupdater.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/minecraftupdater.mdx
new file mode 100644
index 00000000000..b79e123cab4
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/minecraftupdater.mdx
@@ -0,0 +1,14 @@
+# Minecraft Updater
+
+```mdx-code-block
+
+
+
+
+```
+
+[Minecraft Updater](https://github.com/Gurkengewuerz/MinecraftModUpdater) — утилита для обновления и синхронизации Minecraft модов для вашей пользовательской базы. Она построена с помощью Wails2 и React с [antd](https://ant.design/) в качестве фронтенд фреймворка.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/modalfilemanager.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/modalfilemanager.mdx
new file mode 100644
index 00000000000..ed470b8bd55
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/modalfilemanager.mdx
@@ -0,0 +1,14 @@
+# Modal File Manager
+
+```mdx-code-block
+
+
+
+
+```
+
+[Modal File Manager](https://github.com/raguay/ModalFileManager) — это двухпанельный файловый менеджер с использованием веб-технологий. Мой оригинальный дизайн был основан на NW.js, и его можно найти [здесь](https://github.com/raguay/ModalFileManager-NWjs). В этой версии используется тот же код интерфейса Svelte (но с момента выхода из NW.), но бэкенд - это реализация [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. Он полностью закодирован с помощью Go и работает гораздо быстрее, чем предыдущие версии.
+
+Этот файловый менеджер построен вокруг того же принципа, что и Vim: управление состоянием клавиатурных действий. Количество состояний не фиксировано, но очень программируется. Поэтому может быть создано и использовано бесконечное количество конфигураций клавиатуры. Это главное отличие от других файловых менеджеров. There are themes and extensions available to download from GitHub.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/mollywallet.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/mollywallet.mdx
new file mode 100644
index 00000000000..2795fc6241c
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/mollywallet.mdx
@@ -0,0 +1,10 @@
+# Molley Wallet
+
+```mdx-code-block
+
+
+
+
+```
+
+[Molly Wallet](https://github.com/grvlle/constellation_wallet/) официальный кошелек $DAG сети Constellation. Это позволит пользователям взаимодействовать с Hypergraph Network различными способами, не ограничиваясь $DAG транзакциями.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/october.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/october.mdx
new file mode 100644
index 00000000000..b9dbea1f888
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/october.mdx
@@ -0,0 +1,14 @@
+# October
+
+```mdx-code-block
+
+
+
+
+```
+
+[October](https://october.utf9k.net) - это небольшая программа Wails, которая позволяет извлечь выделения из [Kobo eReaders](https://en.wikipedia.org/wiki/Kobo_eReader) и затем переслать их в [Readwise](https://readwise.io).
+
+Он обладает относительно небольшим охватом со всеми версиями платформы, весом менее 10 МБ, и это без включения [UPX сжатия](https://upx.github.io/)!
+
+В отличие от этого, предыдущие попытки автора с Electron быстро вылились в несколько сот мегабайт.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/optimus.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/optimus.mdx
new file mode 100644
index 00000000000..24a41cbd6cd
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/optimus.mdx
@@ -0,0 +1,10 @@
+# Optimus
+
+```mdx-code-block
+
+
+
+
+```
+
+[Optimus](https://github.com/splode/optimus) - приложение для оптимизации изображений. Он поддерживает конвертацию и сжатие изображений между форматами WebP, JPEG и PNG.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/portfall.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/portfall.mdx
new file mode 100644
index 00000000000..1a9fa1eb7d5
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/portfall.mdx
@@ -0,0 +1,10 @@
+# Portfall
+
+```mdx-code-block
+
+
+
+
+```
+
+[Portfall](https://github.com/rekon-oss/portfall) - Портпад k8s портал для перенаправления портов для легкого доступа ко всем интерфейсам кластера
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/restic-browser.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/restic-browser.mdx
new file mode 100644
index 00000000000..5461ccf1af5
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/restic-browser.mdx
@@ -0,0 +1,12 @@
+# Restic Browser
+
+```mdx-code-block
+
+
+
+
+```
+
+[Restic-Browser](https://github.com/emuell/restic-browser) - Простой кросс-платформенный интерфейс для [restic](https://github.com/restic/restic) для просмотра и восстановления оставшихся репозиториев.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/riftshare.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/riftshare.mdx
new file mode 100644
index 00000000000..1b234072e13
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/riftshare.mdx
@@ -0,0 +1,21 @@
+# RiftShare
+
+```mdx-code-block
+
+
+
+
+```
+
+Простой, безопасный и бесплатный обмен файлами для всех. Узнайте больше на [Riftshare.app](https://riftshare.app)
+
+## Возможности
+
+- Легкий обмен файлами между компьютерами как в локальной сети, так и через Интернет
+- Поддерживает безопасную отправку файлов или директорий через [magic wormhole протокол](https://magic-wormhole.readthedocs.io/en/latest/)
+- Совместимо со всеми приложениями, использующими magic wormhole (magic-wormhole или wormhole-william CLI, wormhole-gui и т. д.)
+- Автоматическое сжатие нескольких выбранных файлов для одновременной отправки
+- Полная анимация, индикатор прогресса и поддержка отмены для отправки и получения
+- Нативное окно выбора файла
+- Открытие файлов в один клик после получения
+- Автоматическое обновление - не беспокойтесь о получении последней версии!
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/scriptbar.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/scriptbar.mdx
new file mode 100644
index 00000000000..a512448fe40
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/scriptbar.mdx
@@ -0,0 +1,10 @@
+# ScriptBar
+
+```mdx-code-block
+
+
+
+
+```
+
+[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. Он также отображает вывод скриптов в вашей системе. ScriptBar не помещает их в меню, но все они в удобном окне для удобного просмотра. Вы можете открыть несколько вкладок, чтобы показать множество различных вещей. Вы также можете держать ссылки на наиболее посещаемые вами веб-сайты.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/surge.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/surge.mdx
new file mode 100644
index 00000000000..8f77bfb8a14
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/surge.mdx
@@ -0,0 +1,10 @@
+# Surge
+
+```mdx-code-block
+
+
+
+
+```
+
+[Surge](https://getsurge.io/) это p2p приложение для обмена файлов, разработанное для использования блокчейн технологий для 100% анонимной передачи файлов. Surge зашифрован сквозным шифрованием, децентрализован и с открытым исходным кодом.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wally.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wally.mdx
new file mode 100644
index 00000000000..1d112481d06
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wally.mdx
@@ -0,0 +1,10 @@
+# Wally
+
+```mdx-code-block
+
+
+
+
+```
+
+[Wally](https://ergodox-ez.com/pages/wally) это официальное приложение для прошивки [Ergodox](https://ergodox-ez.com/) клавиатур. Это великолепный и фантастический пример того, чего вы можете достичь с помощью Wails: возможности сочетать мощь Go и богатые графические инструменты мира веб-разработки.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/warmine.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/warmine.mdx
new file mode 100644
index 00000000000..950dc3f3db1
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/warmine.mdx
@@ -0,0 +1,19 @@
+# Minecraft launcher for 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.
+
+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.
+
+Frontend is written in Svelte, whole launcher fits in 9MB and supports Windows 7-11.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wombat.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wombat.mdx
new file mode 100644
index 00000000000..f526142ec28
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/showcase/wombat.mdx
@@ -0,0 +1,10 @@
+# Wombat
+
+```mdx-code-block
+
+```
+
+[Ytd](https://github.com/marcio199226/ytd/tree/v2-wails) это приложение для скачивания треков с youtube, создания оффлайн плейлистов и обмена ими с друзьями, ваши друзья смогут воспроизвести ваши плейлисты или загрузить их для оффлайн прослушивания, имеет встроенный плеер.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/templates.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/templates.mdx
new file mode 100644
index 00000000000..74b7673f024
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/community/templates.mdx
@@ -0,0 +1,63 @@
+---
+sidebar_position: 1
+---
+
+# Шаблоны
+
+Эта страница служит списком шаблонов, поддерживаемых сообществом. Пожалуйста, отправьте PR (нажмите `Изменить эту страницу` внизу) чтобы включить ваши шаблоны. Чтобы создать свой собственный шаблон, см. [руководство по шаблонам](../guides/templates.mdx).
+
+Чтобы использовать эти шаблоны, запустите `wails init -n "Название вашего проекта" -t [ссылка ниже[@version]]`
+
+Если нет суффикса версии, по умолчанию используется основной шаблон кода ветки. При наличии суффикса версии используется кодовый шаблон, соответствующий тегу этой версии.
+
+Пример: `wails init -n "Project Name" -t https://github.com/misitebao/wails-template-vue`
+
+::warning Внимание
+
+**Проект Wails не поддерживает и не несет ответственности за сторонние шаблоны!**
+
+Если вы не уверены в шаблоне, проверьте `package.json` и `wails.json` на какие скрипты запускаются и какие пакеты установлены.
+
+:::
+
+## Vue
+
+- [wails-template-vue](https://github.com/misitebao/wails-template-vue) - шаблон, основанный на Vue ecology (ИнтегрированTypeScript, Темная тема, интернационализация, маршрутизация для одной страницы, TailwindCSS)
+- [wails-vite-vue-ts](https://github.com/codydbentley/wails-vite-vue-ts) - Vue 3 TypeScript с Vite (и инструкции для добавления функций)
+- [wails-vite-vue-the-works](https://github.com/codydbentley/wails-vite-vue-the-works) - Vue 3 TypeScript с Vite, Vuex, Vue Router, Sass, и 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)
+
+## Angular
+
+- [wails-template-angular](https://github.com/mateothegreat/wails-template-angular) - Angular 15+ action packed & ready to roll to production.
+- [wails-угловый-template](https://github.com/TAINCER/wails-angular-template) - Angular с TypeScript, Sass, Hot-Reload, Code-Splitting и i18n
+
+## React
+
+- [wails-react-template](https://github.com/AlienRecall/wails-react-template) - Шаблон с использованием reactjs
+- [wails-react-template](https://github.com/flin7/wails-react-template) - минимальный шаблон для React, который поддерживает живую разработку
+- [wails-template-nextjs](https://github.com/LGiki/wails-template-nextjs) - шаблон с использованием Next.js и TypeScript
+- [wails-vite-react-ts-tailwind-template](https://github.com/hotafrika/wails-vite-react-ts-tailwind-template) - шаблон для React + TypeScript + Vite + TailwindCSS
+
+## Svelte
+
+- [wails-svelte-template](https://github.com/raitonoberu/wails-svelte-template) - шаблон с использованием Svelte
+- [wails-vite-template](https://github.com/BillBuilt/wails-vite-svelte-template) - шаблон с использованием Svelte и Vite
+- [wails-vite-svelte-tailwind-template](https://github.com/BillBuilt/wails-vite-svelte-tailwind-template) - шаблон с использованием Svelte и Vite с TailwindCSS v3
+- [wails-sveltekit-template](https://github.com/h8gi/wails-sveltekit-template) - шаблон с использованием 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
+
+## Elm
+
+- [wails-elm-шаблон](https://github.com/benjamin-thomas/wails-elm-template) - Разработайте ваше GUI приложение с функциональным программированием и **snappy** настройками горячей перезагрузки :tada: :rocket:
+- [wails-template-elm-tailwind](https://github.com/rnice01/wails-template-elm-tailwind) - Объединение возможностей :muscle: Elm + Tailwind CSS + Wails! Поддерживается горячая перезагрузка.
+
+## Чистый JavaScript (Vanilla)
+
+- [wails-pure-js-шаблон](https://github.com/KiddoV/wails-pure-js-template) - шаблон, содержащий только базовый JavaScript, HTML и CSS
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/building.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/building.mdx
new file mode 100644
index 00000000000..11122314cdc
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/building.mdx
@@ -0,0 +1,22 @@
+---
+sidebar_position: 6
+---
+
+# Компиляция проекта
+
+Из каталога проекта запустите `wails build`. Это позволит скомпилировать ваш проект и сохранить готовый к выпуску бинарный файл в директории `build/bin`.
+
+Если вы запустите исполняемый файл, вы увидите приложение по умолчанию:
+
+```mdx-code-block
+
+
+
+
+```
+
+Для получения более подробной информации о параметрах компиляции обратитесь к [CLI Reference](../reference/cli.mdx#build).
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/development.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/development.mdx
new file mode 100644
index 00000000000..e7c6351e782
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/development.mdx
@@ -0,0 +1,16 @@
+---
+sidebar_position: 5
+---
+
+# Разработка вашего приложения
+
+Вы можете запустить ваше приложение в режиме разработки, выполнив `wails dev` в вашем каталоге проекта. Это сделает следующие вещи:
+
+- Соберет ваше приложение и запустит
+- Bind your Go code to the frontend so it can be called from JavaScript
+- С помощью [Vite](https://vitejs.dev/), будет наблюдать за изменениями в ваших Go файлах и пересобирать/перезапускать при изменении
+- Устанавливает [веб-сервер](http://localhost:34115), который будет обслуживать ваше приложение через браузер. Это позволит вам использовать ваши любимые расширения браузера. Вы даже можете вызвать ваш Go-код из консоли
+
+Для начала запустите `wails dev` в каталоге проекта. Более подробную информацию об этом можно найти [здесь](../reference/cli.mdx#dev).
+
+Скоро: Инструкция
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/firstproject.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/firstproject.mdx
new file mode 100644
index 00000000000..52b58fa7757
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/firstproject.mdx
@@ -0,0 +1,130 @@
+---
+sidebar_position: 2
+---
+
+# Создание проекта
+
+## Генерация проекта
+
+Теперь, когда CLI установлен, вы можете создать новый проект, используя команду `wails init`.
+
+Выберите Ваш любимый фреймворк:
+
+```mdx-code-block
+import Tabs from "@theme/Tabs";
+import TabItem from "@theme/TabItem";
+
+
+
+ Generate a Svelte project using JavaScript with:
+
+ wails init -n myproject -t svelte
+
+If you would rather use TypeScript:
+
+ wails init -n myproject -t svelte-ts
+
+
+
+ Generate a React project using JavaScript with:
+
+ wails init -n myproject -t react
+
+If you would rather use TypeScript:
+
+ wails init -n myproject -t react-ts
+
+
+
+ Generate a Vue project using JavaScript with:
+
+ wails init -n myproject -t vue
+
+If you would rather use TypeScript:
+
+ wails init -n myproject -t vue-ts
+
+
+
+ Generate a Preact project using JavaScript with:
+
+ wails init -n myproject -t preact
+
+If you would rather use TypeScript:
+
+ wails init -n myproject -t preact-ts
+
+
+
+ Generate a Lit project using JavaScript with:
+
+ wails init -n myproject -t lit
+
+If you would rather use TypeScript:
+
+ wails init -n myproject -t lit-ts
+
+
+
+ Generate a Vanilla project using JavaScript with:
+
+ wails init -n myproject -t vanilla
+
+If you would rather use TypeScript:
+
+ wails init -n myproject -t vanilla-ts
+
+
+
+```
+
+
+
+Доступны также [шаблоны сообщества](../community/templates.mdx), которые предлагают различные возможности и фреймворки.
+
+Чтобы увидеть другие доступные опции, вы можете запустить `wails init -help`. Более подробную информацию можно найти в [CLI Reference](../reference/cli.mdx#init).
+
+## Структура проекта
+
+Проекты Wails имеют следующую структуру:
+
+```
+.
+├── build/
+│ ├── appicon.png
+│ ├── darwin/
+│ └── windows/
+├── frontend/
+├── go.mod
+├── go.sum
+├── main.go
+└── wails.json
+```
+
+### Краткое описание структуры проекта
+
+- `/main.go` - основное приложение
+- `/frontend/` - фронтенд файлы проекта
+- `/build/` - директория сборки проекта
+- `/build/appicon.png` - значок приложения
+- `/build/darwin/` - файлы проекта для Mac
+- `/build/windows/` - файлы проектов, специфичных для Windows
+- `/wails.json` - Конфигурация проекта
+- `/go.mod` - Go module файл
+- `/go.sum` - Go module проверочная сумма
+
+Каталог `frontend` ничего не имеет специфического для Wails и может быть любым пользовательским проектом по вашему выбору.
+
+Каталог `build` используется в процессе сборки. Эти файлы можно обновить, чтобы настроить ваши сборки. Если удалить файлы из директории, они будут заново сгенерированы с версией по-умолчанию.
+
+Название модуля по умолчанию в `go.mod` - это "changeme". Вы должны изменить это на нечто более подходящее.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/installation.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/installation.mdx
new file mode 100644
index 00000000000..b69ab2d4c76
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/installation.mdx
@@ -0,0 +1,90 @@
+---
+sidebar_position: 1
+---
+
+# Инструкция по установке
+
+## Поддерживаемые платформы
+
+- Windows 10/11 AMD64/ARM64
+- MacOS 10.13+ AMD64
+- MacOS 11.0+ ARM64
+- Linux AMD64/ARM64
+
+## Зависимости
+
+Wails имеет ряд общих зависимостей, которые необходимы перед установкой:
+
+- Go 1.18+
+- NPM (Node 15+)
+
+### Go
+
+Скачайте Go с [Go Downloads Page](https://go.dev/dl/).
+
+Убедитесь, что вы следуете официальным [Инструкциям по установке](https://go.dev/doc/install). Вам также нужно убедиться, что ваша переменная окружения `PATH` также включает путь к вашему каталогу `~/go/bin`. Перезапустите терминал и выполните следующие шаги:
+
+- Проверьте то, что Go установлен правильно: `go version`
+- Проверьте "~/go/bin" в переменной PATH: `echo $PATH | grep go/bin`
+
+### NPM
+
+Загрузите NPM отсюда: [Node Downloads Page](https://nodejs.org/en/download/). Лучше использовать последнюю версию, так как это то, что мы её обычно тестируем.
+
+Запустите `npm --version` для проверки.
+
+## Зависимости платформы
+
+Вам также нужно установить специфичные для платформы зависимости:
+
+```mdx-code-block
+import Tabs from "@theme/Tabs";
+import TabItem from "@theme/TabItem";
+
+
+
+ Wails требует установки инструментов xcode command line tools. Их можно установить,
+ запустив xcode-select --install.
+
+
+ Wails требует установки WebView2. В некоторых установках Windows это уже установлено. Вы можете проверить используя команду wails doctor.
+
+
+ Linux requires the standard gcc build tools plus libgtk3 and libwebkit. Вместо того чтобы перечислять огромное количество команд для разных дистрибутивов, Wails может попробовать определить команды установки, специфичные для вашего дистрибутива. Запустите wails doctor после установки, чтобы узнать, как установить зависимости. Если ваш дистрибутив или менеджер пакетов не поддерживается, пожалуйста, обратитесь к руководству {" "} Добавление дистрибутива Linux.
+
+
+```
+
+## Необязательные зависимости
+
+- [UPX](https://upx.github.io/) для сжатия приложений.
+- [NSIS](https://wails.io/docs/guides/windows-installer/) for generating Windows installers.
+
+## Установка Wails
+
+Выполните `go install github.com/wailsapp/wails/v2/cmd/wails@latest` для установки Wails CLI.
+
+Примечание: Если вы получите ошибку, похожую на эту:
+
+```shell
+....\Go\pkg\mod\github.com\wailsapp\wails\v2@v2.1.0\pkg\templates\templates.go:28:12: pattern all:ides/*: no matching files found
+```
+пожалуйста, убедитесь, что у вас установлен Go 1.18+:
+```shell
+go version
+```
+
+## Проверка системы
+
+Запуск `wails doctor` проверит установлены ли у вас правильные зависимости. Если нет, то он покажет что не хватает, и покажет как исправить какие-либо проблемы.
+
+## Отсутствует команда `wails`?
+
+Если ваша система пишет, что команда `wails` отсутствует, удостоверьтесь, что вы корректно следовали инструкции по установке Go. Обычно это значит, что папка `go/bin`, находящаяся в домашней папке пользователя не добавлена в переменную окружения `PATH`. Обычно после изменения переменных окружения нужно переоткрыть командную строку, чтобы изменения применились в ней.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/angular.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/angular.mdx
new file mode 100644
index 00000000000..4d56b65bba1
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/angular.mdx
@@ -0,0 +1,14 @@
+# Angular
+
+Хотя у Wails нет шаблона с Angular, тем не менее Angular использовать возможно.
+
+## Режим разработчика
+
+Чтобы получить режим dev работы с Angular, вам нужно добавить следующие значения к `wails.json`:
+
+```json
+ "frontend:build": "npx ng build",
+ "frontend:install": "npm install",
+ "frontend:dev:watcher": "npx ng serve",
+ "frontend:dev:serverUrl": "http://localhost:4200",
+```
\ No newline at end of file
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/application-development.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/application-development.mdx
new file mode 100644
index 00000000000..00c77ef5adf
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/application-development.mdx
@@ -0,0 +1,194 @@
+# Разработка приложения
+
+Нет жестких и быстрых правил для разработки приложений с помощью Wails, но есть некоторые основные принципы.
+
+## Application Setup
+
+The pattern used by the default templates are that `main.go` is used for configuring and running the application, whilst `app.go` is used for defining the application logic.
+
+The `app.go` file will define a struct that has 2 methods which act as hooks into the main application:
+
+```go title="app.go"
+type App struct {
+ ctx context.Context
+}
+
+func NewApp() *App {
+ return &App{}
+}
+
+func (a *App) startup(ctx context.Context) {
+ a.ctx = ctx
+}
+
+func (a *App) shutdown(ctx context.Context) {
+}
+```
+
+- The startup method is called as soon as Wails allocates the resources it needs and is a good place for creating resources, setting up event listeners and anything else the application needs at startup. It is given a `context.Context` which is usually saved in a struct field. This context is needed for calling the [runtime](../reference/runtime/intro.mdx). If this method returns an error, the application will terminate. In dev mode, the error will be output to the console.
+
+- The shutdown method will be called by Wails right at the end of the shutdown process. This is a good place to deallocate memory and perform any shutdown tasks.
+
+The `main.go` file generally consists of a single call to `wails.Run()`, which accepts the application configuration. The pattern used by the templates is that before the call to `wails.Run()`, an instance of the struct we defined in `app.go` is created and saved in a variable called `app`. This configuration is where we add our callbacks:
+
+```go {3,9,10} title="main.go"
+func main() {
+
+ app := NewApp()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+```
+
+More information on application lifecycle hooks can be found [here](../howdoesitwork.mdx#application-lifecycle-callbacks).
+
+## Binding Methods
+
+It is likely that you will want to call Go methods from the frontend. This is normally done by adding public methods to the already defined struct in `app.go`:
+
+```go {16-18} title="app.go"
+type App struct {
+ ctx context.Context
+}
+
+func NewApp() *App {
+ return &App{}
+}
+
+func (a *App) startup(ctx context.Context) {
+ a.ctx = ctx
+}
+
+func (a *App) shutdown(ctx context.Context) {
+}
+
+func (a *App) Greet(name string) string {
+ return fmt.Sprintf("Hello %s!", name)
+}
+```
+
+In the main application configuration, the `Bind` key is where we can tell Wails what we want to bind:
+
+```go {11-13} title="main.go"
+func main() {
+
+ app := NewApp()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ Bind: []interface{}{
+ app,
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+```
+
+This will bind all public methods in our `App` struct (it will never bind the startup and shutdown methods).
+
+### Dealing with context when binding multiple structs
+
+If you want to bind methods for multiple structs but want each struct to keep a reference to the context so that you can use the runtime functions, a good pattern is to pass the context from the `OnStartup` method to your struct instances :
+
+```go
+func main() {
+
+ app := NewApp()
+ otherStruct := NewOtherStruct()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: func(ctx context.Context){
+ app.SetContext(ctx)
+ otherStruct.SetContext(ctx)
+ },
+ OnShutdown: app.shutdown,
+ Bind: []interface{}{
+ app,
+ otherStruct
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+```
+
+More information on Binding can be found [here](../howdoesitwork.mdx#method-binding).
+
+## Application Menu
+
+Wails supports adding a menu to your application. This is done by passing a [Menu](../reference/menus.mdx#menu) struct to application config. It's common to use a method that returns a Menu, and even more common for that to be a method on the `App` struct used for the lifecycle hooks.
+
+```go {11} title="main.go"
+func main() {
+
+ app := NewApp()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ Menu: app.menu(),
+ Bind: []interface{}{
+ app,
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+```
+
+## Assets
+
+The great thing about the way Wails v2 handles assets is that it doesn't! The only thing you need to give Wails is an `embed.FS`. How you get to that is entirely up to you. You can use vanilla html/css/js files like the vanilla template. You could have some complicated build system, it doesn't matter.
+
+When `wails build` is run, it will check the `wails.json` project file at the project root. There are 2 keys in the project file that are read:
+
+- "frontend:install"
+- "frontend:build"
+
+The first, if given, will be executed in the `frontend` directory to install the node modules. The second, if given, will be executed in the `frontend` directory to build the frontend project.
+
+If these 2 keys aren't given, then Wails does absolutely nothing with the frontend. It is only expecting that `embed.FS`.
+
+### AssetsHandler
+
+A Wails v2 app can optionally define a `http.Handler` in the `options.App`, which allows hooking into the AssetServer to create files on the fly or process POST/PUT requests. GET requests are always first handled by the `assets` FS. If the FS doesn't find the requested file the request will be forwarded to the `http.Handler` for serving. Any requests other than GET will be directly processed by the `AssetsHandler` if specified. It's also possible to only use the `AssetsHandler` by specifiy `nil` as the `Assets` option.
+
+## Built in Dev Server
+
+Running `wails dev` will start the built in dev server which will start a file watcher in your project directory. By default, if any file changes, wails checks if it was an application file (default: `.go`, configurable with `-e` flag). If it was, then it will rebuild your application and relaunch it. If the changed file was in the assets, it will issue a reload after a short amount of time.
+
+The dev server uses a technique called "debouncing" which means it doesn't reload straight away, as there may be multiple files changed in a short amount of time. When a trigger occurs, it waits for a set amount of time before issuing a reload. If another trigger happens, it resets to the wait time again. By default this value is `100ms`. If this value doesn't work for your project, it can be configured using the `-debounce` flag. If used, this value will be saved to your project config and become the default.
+
+## External Dev Server
+
+Some frameworks come with their own live-reloading server, however they will not be able to take advantage of the Wails Go bindings. In this scenario, it is best to run a watcher script that rebuilds the project into the build directory, which Wails will be watching. For an example, see the default svelte template that uses [rollup](https://rollupjs.org/guide/en/). For [create-react-app](https://create-react-app.dev/), it's possible to use [this script](https://gist.github.com/int128/e0cdec598c5b3db728ff35758abdbafd) to achieve a similar result.
+
+## Go Module
+
+The default Wails templates generate a `go.mod` file that contains the module name "changeme". You should change this to something more appropriate after project generation.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/dynamic-assets.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/dynamic-assets.mdx
new file mode 100644
index 00000000000..975916524b4
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/dynamic-assets.mdx
@@ -0,0 +1,136 @@
+# Динамические ресурсы
+
+Если вы хотите загрузить или генерировать ресурсы для вашего фронтенда динамически, вы можете это сделать, используя опцию [AssetsHandler](../reference/options#assetshandler). AssetsHandler это общий `http.Handler`, который будет вызываться для любого запроса, не являющегося GET, на сервере ресурсов и для запросов GET, которые не могут быть обработаны из бандла ресурсов, поскольку файл не найден.
+
+Установив пользовательские AssetsHandler, вы можете предоставлять свои собственные ресурсы с помощью пользовательского ресурсного сервера.
+
+## Пример
+
+В нашем примере мы создадим простой обработчик ресурсов, который загрузит файлы с диска:
+
+```go title=main.go {17-36,49}
+package main
+
+import (
+ "embed"
+ "fmt"
+ "github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/options"
+ "github.com/wailsapp/wails/v2/pkg/options/assetserver"
+ "net/http"
+ "os"
+ "strings"
+)
+
+//go:embed all:frontend/dist
+var assets embed.FS
+
+type FileLoader struct {
+ http.Handler
+}
+
+func NewFileLoader() *FileLoader {
+ return &FileLoader{}
+}
+
+func (h *FileLoader) ServeHTTP(res http.ResponseWriter, req *http.Request) {
+ var err error
+ requestedFilename := strings.TrimPrefix(req.URL.Path, "/")
+ println("Requesting file:", requestedFilename)
+ fileData, err := os.ReadFile(requestedFilename)
+ if err != nil {
+ res.WriteHeader(http.StatusBadRequest)
+ res.Write([]byte(fmt.Sprintf("Could not load file %s", requestedFilename)))
+ }
+
+ res.Write(fileData)
+}
+
+func main() {
+ // Create an instance of the app structure
+ app := NewApp()
+
+ // Create application with options
+ err := wails.Run(&options.App{
+ Title: "helloworld",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ Handler: NewFileLoader(),
+ },
+ BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 255},
+ OnStartup: app.startup,
+ Bind: []interface{}{
+ app,
+ },
+ })
+
+ if err != nil {
+ println("Error:", err)
+ }
+}
+```
+
+Когда мы запустим приложение в dev режиме, с помощью команды `wails dev`, мы увидим следующий вывод:
+
+```
+DEB | [ExternalAssetHandler] Loading 'http://localhost:3001/favicon.ico'
+DEB | [ExternalAssetHandler] Loading 'http://localhost:3001/favicon.ico' failed, using AssetHandler
+Requesting file: favicon.ico
+```
+
+Как видите, обработчик ресурсов вызывается, когда стандартный сервер ресурсов не может предоставить файл `favicon.ico`.
+
+Если вы щелкните правой кнопкой мыши по окну приложения и выберите "Исследовать элемент" для вызова devtools, вы сможете протестировать эту функцию, введя в консоль следующую строку:
+
+```
+let response = await fetch('does-not-exist.txt');
+```
+
+Это сгенерирует ошибку в devtools. Мы видим ошибку обработчика пользовательских ресурсов, которую мы ожидали увидеть:
+
+```mdx-code-block
+
+
+
+```
+
+Однако, если мы вызовем `go.mod`, мы увидим следующий вывод:
+
+```mdx-code-block
+
+
+
+```
+
+А так мы можем разместить изображение прямо на страницу. Если мы обновим шаблон по умолчанию и заменим изображение логотипа:
+
+```html
+
+```
+
+на:
+
+```html
+
+```
+
+Тогда мы увидим следующее:
+
+```mdx-code-block
+
+
+
+```
+
+:::warning
+
+Раскрытие структуры файловой системы таким образом сопряжено с рисками безопасности. Рекомендуется правильно управлять доступом к файловой системе.
+
+:::
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/frameless.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/frameless.mdx
new file mode 100644
index 00000000000..1c7a661e794
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/frameless.mdx
@@ -0,0 +1,87 @@
+# Безрамочные приложения
+
+Wails поддерживает приложения, не имеющие рамок. Этого можно добиться, используя поле [frameless](../reference/options.mdx#frameless) в [опциях приложения](../reference/options.mdx#application-options).
+
+Wails предоставляет легкое решение для перемещения окна: любой HTML элемент имеющий стиль `--wails-draggable:drag` будет работать как "ручка для перетаскивания". Это свойство применяется для всех дочерних элементов. Если вам необходимо указать, что вложенный элемент не должен перестаскивать окно, то используйте атрибут '--wails-draggable:no-drag' на этом элементе.
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+Для некоторых проектов использование CSS переменной может оказаться невозможным из-за динамических стилей. В этом случае вы можете использовать параметры `CSSDragProperty` и `CSSDragValue` в опциях приожения для определения свойства и значения, которые будут использоваться для указания перетаскиваемых областей:
+
+```go title=main.go
+package main
+
+import (
+ "embed"
+
+ "github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/options"
+ "github.com/wailsapp/wails/v2/pkg/options/assetserver"
+)
+
+//go:embed all:frontend/dist
+var assets embed.FS
+
+func main() {
+ // Создаем экземляр структуры приложения
+ app := NewApp()
+
+ // Создаем приложение с опциями
+ err := wails.Run(&options.App{
+ Title: "alwaysontop",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ Frameless: true,
+ CSSDragProperty: "widows",
+ CSSDragValue: "1",
+ Bind: []interface{}{
+ app,
+ },
+ })
+
+ if err != nil {
+ println("Error:", err)
+ }
+}
+```
+
+```html title=index.html
+
+
+
+
+
+ alwaysontop
+
+
+
+
+
+
+```
+
+:::info Fullscreen
+
+Если вы разрешите приложению перейти в полноэкранный режим, функция перетаскивания будет отключена.
+
+:::
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/frontend.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/frontend.mdx
new file mode 100644
index 00000000000..ac087ee4514
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/frontend.mdx
@@ -0,0 +1,72 @@
+# Frontend
+
+## Script Injection
+
+When Wails serves your `index.html`, by default, it will inject 2 script entries into the `` tag to load `/wails/ipc.js` and `/wails/runtime.js`. These files install the bindings and runtime respectively.
+
+The code below shows where these are injected by default:
+
+```html
+
+
+ injection example
+
+
+
+
+
+
+
+
Please enter your name below 👇
+
+
+
+
+
+
+
+
+```
+
+### Overriding Default Script Injection
+
+To provide more flexibility to developers, there is a meta tag that may be used to customise this behaviour:
+
+```html
+
+```
+
+The options are as follows:
+
+| Value | Description |
+| ------------------- | ------------------------------------------------ |
+| noautoinjectruntime | Disable the autoinjection of `/wails/runtime.js` |
+| noautoinjectipc | Disable the autoinjection of `/wails/ipc.js` |
+| noautoinject | Disable all autoinjection of scripts |
+
+Multiple options may be used provided they are comma seperated.
+
+This code is perfectly valid and operates the same as the autoinjection version:
+
+```html
+
+
+ injection example
+
+
+
+
+
+
+
Please enter your name below 👇
+
+
+
+
+
+
+
+
+
+
+```
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/ides.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/ides.mdx
new file mode 100644
index 00000000000..9319fbb2371
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/ides.mdx
@@ -0,0 +1,127 @@
+# IDEs
+
+Wails aims to provide a great development experience. To that aim, we now support generating IDE specific configuration to provide smoother project setup.
+
+Currently, we support [Visual Studio Code](https://code.visualstudio.com/) but aim to support other IDEs such as Goland.
+
+## Visual Studio Code
+
+```mdx-code-block
+
+
+
+```
+
+When generating a project using the `-ide vscode` flags, IDE files will be created alongside the other project files. Эти файлы помещаются в директорию `.vscode` и предоставляют правильную конфигурацию для отладки вашего приложения.
+
+The 2 files generated are `tasks.json` and `launch.json`. Below are the files generated for the default vanilla project:
+
+```json title="tasks.json"
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "build",
+ "type": "shell",
+ "options": {
+ "cwd": "${workspaceFolder}"
+ },
+ "command": "go",
+ "args": [
+ "build",
+ "-tags",
+ "dev",
+ "-gcflags",
+ "all=-N -l",
+ "-o",
+ "build/bin/myproject.exe"
+ ]
+ }
+ ]
+}
+```
+
+```json title="launch.json"
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Wails: Debug myproject",
+ "type": "go",
+ "request": "launch",
+ "mode": "exec",
+ "program": "${workspaceFolder}/build/bin/myproject.exe",
+ "preLaunchTask": "build",
+ "cwd": "${workspaceFolder}",
+ "env": {}
+ }
+ ]
+}
+```
+
+### Configuring the install and build steps
+
+The `tasks.json` file is simple for the default project as there is no `npm install` or `npm run build` step needed. For projects that have a frontend build step, such as the svelte template, we would need to edit `tasks.json` to add the install and build steps:
+
+```json title="tasks.json"
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "npm install",
+ "type": "npm",
+ "script": "install",
+ "options": {
+ "cwd": "${workspaceFolder}/frontend"
+ },
+ "presentation": {
+ "clear": true,
+ "panel": "shared",
+ "showReuseMessage": false
+ },
+ "problemMatcher": []
+ },
+ {
+ "label": "npm run build",
+ "type": "npm",
+ "script": "build",
+ "options": {
+ "cwd": "${workspaceFolder}/frontend"
+ },
+ "presentation": {
+ "clear": true,
+ "panel": "shared",
+ "showReuseMessage": false
+ },
+ "problemMatcher": []
+ },
+ {
+ "label": "build",
+ "type": "shell",
+ "options": {
+ "cwd": "${workspaceFolder}"
+ },
+ "command": "go",
+ "args": [
+ "build",
+ "-tags",
+ "dev",
+ "-gcflags",
+ "all=-N -l",
+ "-o",
+ "build/bin/vscode.exe"
+ ],
+ "dependsOn": ["npm install", "npm run build"]
+ }
+ ]
+}
+```
+
+:::info Future Enhancement
+
+In the future, we hope to generate a `tasks.json` that includes the install and build steps automatically.
+
+:::
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux-distro-support.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux-distro-support.mdx
new file mode 100644
index 00000000000..10750baaf09
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux-distro-support.mdx
@@ -0,0 +1,103 @@
+# Поддержка Linux
+
+## Обзор
+
+Wails предлагает поддержку Linux, но составить инструкции по установке для всех доступных дистрибутивов - это невыполнимая задача. Вместо этого Wails пытается определить, доступны ли пакеты для разработки через системный менеджер пакетов. В настоящее время мы поддерживаем следующие менеджеры пакетов:
+
+- apt
+- dnf
+- emerge
+- eopkg
+- nixpkgs
+- pacman
+- zypper
+
+## Добавление имен пакетов
+
+Может возникнуть ситуация, когда ваш дистрибутив использует один из поддерживаемых менеджеров пакетов, но имя пакета отличается от названия. Например, вы можете использовать производную от Ubuntu систему, но имя пакета для gtk может быть другим. Wails пытается найти правильный пакет, ища по списку имен пакетов. Список пакетов хранится в файле (packagemanager) в каталоге `v2/internal/system/packagemanager`. В нашем примере это `v2/internal/system/packagemanager/apt.go`.
+
+В этом файле список пакетов определяется методом `Packages()`:
+
+```go
+func (a *Apt) Packages() packagemap {
+ return packagemap{
+ "libgtk-3": []*Package{
+ {Name: "libgtk-3-dev", SystemPackage: true, Library: true},
+ },
+ "libwebkit": []*Package{
+ {Name: "libwebkit2gtk-4.0-dev", SystemPackage: true, Library: true},
+ },
+ "gcc": []*Package{
+ {Name: "build-essential", SystemPackage: true},
+ },
+ "pkg-config": []*Package{
+ {Name: "pkg-config", SystemPackage: true},
+ },
+ "npm": []*Package{
+ {Name: "npm", SystemPackage: true},
+ },
+ "docker": []*Package{
+ {Name: "docker.io", SystemPackage: true, Optional: true},
+ },
+ }
+}
+```
+
+Предположим, что в нашем Linux-дистрибутиве `libgtk-3` упакован под именем `lib-gtk3-dev`. Мы могли бы добавить поддержку для этого, добавив следующую строку:
+
+```go {5}
+func (a *Apt) Packages() packagemap {
+ return packagemap{
+ "libgtk-3": []*Package{
+ {Name: "libgtk-3-dev", SystemPackage: true, Library: true},
+ {Name: "lib-gtk3-dev", SystemPackage: true, Library: true},
+ },
+ "libwebkit": []*Package{
+ {Name: "libwebkit2gtk-4.0-dev", SystemPackage: true, Library: true},
+ },
+ "gcc": []*Package{
+ {Name: "build-essential", SystemPackage: true},
+ },
+ "pkg-config": []*Package{
+ {Name: "pkg-config", SystemPackage: true},
+ },
+ "npm": []*Package{
+ {Name: "npm", SystemPackage: true},
+ },
+ "docker": []*Package{
+ {Name: "docker.io", SystemPackage: true, Optional: true},
+ },
+ }
+}
+```
+
+## Добавление новых менеджеров пакетов
+
+Чтобы добавить новый менеджер пакетов, выполните следующие действия:
+
+- Создайте новый файл в `v2/internal/system/packagemanager` под названием `.go`, где `` это имя менеджера пакетов.
+- Определите структуру, которая соответствует интерфейсу менеджера пакетов, определенному в `pm.go`:
+
+```go
+type PackageManager interface {
+ Name() string
+ Packages() packagemap
+ PackageInstalled(*Package) (bool, error)
+ PackageAvailable(*Package) (bool, error)
+ InstallCommand(*Package) string
+}
+```
+
+- `Name()` должен возвращать имя менеджера пакетов
+- `Packages()` должен возвращать `packagemap`, который предоставляет имена файлов для зависимостей
+- `PackageInstalled()` должен возвращать `true`, если данный пакет установлен
+- `PackageAvailable()` должен возвращать `true`, если данный пакет не установлен, но доступен для установки
+- `InstallCommand()` должен возвращать точную команду для установки данного пакета
+
+Взгляните на другие коды менеджеров пакетов, чтобы получить представление о том, как это работает.
+
+::info Помните
+
+Если вы добавите поддержку для нового менеджера пакетов, не забудьте также обновить эту страницу!
+
+:::
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux.mdx
new file mode 100644
index 00000000000..229c282bf55
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/linux.mdx
@@ -0,0 +1,18 @@
+# Linux
+
+This page has miscellaneous guides related to developing Wails applications for Linux.
+
+## Video tag doesn't fire "ended" event
+
+When using a video tag, the "ended" event is not fired when the video is finished playing. This is a bug in WebkitGTK, however you can use the following workaround to fix it:
+
+```js
+videoTag.addEventListener("timeupdate", (event) => {
+ if (event.target.duration - event.target.currentTime < 0.2) {
+ let ended = new Event("ended");
+ event.target.dispatchEvent(ended);
+ }
+});
+```
+
+Source: [Lyimmi](https://github.com/Lyimmi) on the [discussions board](https://github.com/wailsapp/wails/issues/1729#issuecomment-1212291275)
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/local-development.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/local-development.mdx
new file mode 100644
index 00000000000..4ba1f34c37d
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/local-development.mdx
@@ -0,0 +1,55 @@
+# Local Development
+
+## Overview
+
+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:
+
+- `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".
+
+The Wails CLI will now be at the very latest version.
+
+### Updating your project
+
+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:
+
+`replace github.com/wailsapp/wails/v2 => `
+
+Example:
+
+On Windows: `replace 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`
+
+To revert to a stable version, run:
+
+`go install github.com/wailsapp/wails/v2/cmd/wails@latest`
+
+## Testing a Branch
+
+If you want to test a branch, follow the instructions above, but ensure you switch the branch you want to test before installing:
+
+- `git clone https://github.com/wailsapp/wails`
+- `cd wails`
+- `git checkout -b branch-to-test --track origin/branch-to-test`
+- `cd v2/cmd/wails`
+- `go install`
+
+Make sure you [update your project](#updating-your-project) as described above.
+
+## Testing a 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:
+
+- `git clone https://github.com/wailsapp/wails`
+- `cd wails`
+- `git fetch -u origin pull/[IDofThePR]/head:test/pr-[IDofThePR]`
+- `git checkout test/pr-[IDofThePR]`
+- `git reset --hard HEAD`
+- `cd v2/cmd/wails`
+- `go install`
+
+Make sure you [update your project](#updating-your-project) as described above.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/mac-appstore.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/mac-appstore.mdx
new file mode 100644
index 00000000000..961595711c7
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/mac-appstore.mdx
@@ -0,0 +1,97 @@
+# Mac App Store Guide
+
+This page gives a brief overview of how to submit your Wails App to the Mac App Store.
+
+## Prerequisites
+
+- 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
+
+#### Create Certificates and Identifiers
+
+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.
+
+#### Create App Submission
+
+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
+
+#### 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.
+
+## Mac App Store Process
+
+#### Enable Apple's App Sandbox
+
+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`.
+
+**Example Entitlements File**
+
+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.
+
+```xml title="entitlements.plist"
+
+
+
+
+ com.apple.security.app-sandbox
+
+ com.apple.security.network.client
+
+ com.apple.security.network.server
+
+ com.apple.security.files.user-selected.read-write
+
+ com.apple.security.files.downloads.read-write
+
+ com.apple.application-identifier
+ TEAM_ID.APP_NAME
+ com.apple.developer.team-identifier
+ TEAM_ID
+
+
+```
+
+**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.
+
+#### Build and Sign the App Package
+
+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.
+
+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.
+
+```bash title="macappstore-build.sh"
+#!/bin/bash
+
+APP_CERTIFICATE="3rd Party Mac Developer Application: YOUR NAME (CODE)"
+PKG_CERTIFICATE="3rd Party Mac Developer Installer: YOUR NAME (CODE)"
+APP_NAME="YourApp"
+
+wails build -platform darwin/universal -clean
+
+cp ./embedded.provisionprofile "./build/bin/$APP_NAME.app/Contents"
+
+codesign --timestamp --options=runtime -s "$APP_CERTIFICATE" -v --entitlements ./build/darwin/entitlements.plist ./build/bin/$APP_NAME.app
+
+productbuild --sign "$PKG_CERTIFICATE" --component ./build/bin/$APP_NAME.app /Applications ./$APP_NAME.pkg
+```
+
+#### Upload App Bundle
+
+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.
+
+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.
+
+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.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/manual-builds.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/manual-builds.mdx
new file mode 100644
index 00000000000..dcf192d337f
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/manual-builds.mdx
@@ -0,0 +1,95 @@
+# Manual Builds
+
+The Wails CLI does a lot of heavy lifting for the project, but sometimes it's desirable to manually build your project. This document will discuss the different operations the CLI does and how this may be achieved in different ways.
+
+## Build Process
+
+When either `wails build` or `wails dev` are used, the Wails CLI performs a common build process:
+
+ - Install frontend dependencies
+ - Build frontend project
+ - Generate build assets
+ - Compile application
+ - [optional] Compress application
+
+### Install frontend dependencies
+
+#### CLI Steps
+
+- If the `-s` flag is given, this step is skipped
+- Checks `wails.json` to see if there is an install command in the key `frontend:install`
+- If there isn't, it skips this step
+- If there is, it checks if `package.json` exists in the frontend directory. If it doesn't exist, it skips this step
+- An MD5 sum is generated from the `package.json` file contents
+- It checks for the existence of `package.json.md5` and if it exists, will compare the contents of it (an MD5 sum) with the one generated to see if the contents have changed. If they are the same, this step is skipped
+- If `package.json.md5` does not exist, it creates it using the generated MD5 sum
+- If a build is now required, or `node_modules` does not exist, or the `-f` flag is given, the install command is executed in the frontend directory
+
+#### Manual Steps
+
+This step could be done from the command line or a script with `npm install`.
+
+### Build frontend project
+
+#### Wails CLI
+
+- If the `-s` flag is given, this step is skipped
+- Checks `wails.json` to see if there is a build command in the key `frontend:build`
+- If there isn't, it skips this step
+- If there is, it is executed in the frontend directory
+
+#### Manual Steps
+
+This step could be done from the command line or a script with `npm run build` or whatever the frontend build script is.
+
+### Generate assets
+
+#### Wails CLI
+
+- If `-nopackage` flag is set, this stage is skipped
+- If the `build/appicon.png` file does not exist, a default one is created
+- For Windows, see [Bundling for Windows](#windows)
+- If `build/windows/icon.ico` does not exist, it will create it from the `build/appicon.png` image.
+
+##### Windows
+
+- If `build/windows/icon.ico` does not exist, it will create it from `build/appicon.png` using icon sizes of 256, 128, 64, 48, 32 and 16. This is done using [winicon](https://github.com/leaanthony/winicon).
+- If the `build/windows/.manifest` file does not exist, it creates it from a default version.
+- Compiles the application as a production build (above)
+- Uses [winres](https://github.com/tc-hib/winres) to bundle the icon and manifest into a `.syso` file ready for linking.
+
+#### Manual Steps
+
+- Create `icon.ico` using the [winicon](https://github.com/leaanthony/winicon) CLI tool (or any other tool).
+- Create / Update a `.manifest` file for your application
+- Use the [winres CLI](https://github.com/tc-hib/go-winres) to generate a `.syso` file.
+
+### Compile application
+
+#### Wails CLI
+
+- If the `-clean` flag is provided, the `build` directory is deleted and recreated
+- For `wails dev`, the following default Go flags are used: `-tags dev -gcflags "all=-N -l"`
+- For `wails build`, the following default Go flags are used: `-tags desktop,production -ldflags "-w -s"`
+ - On Windows, `-ldflags "-w -h -H windowsgui"`
+- Additional tags passed to the CLI using `-tags` are added to the defaults
+- Additional ldflags passed to the CLI using `-ldflags` are added to the defaults
+- The `-o` flag is passed through
+- The Go compiler specified by `-compiler` will be used for compilation
+
+#### Manual steps
+
+- For dev build, the minimum command would be: `go build -tags dev -gcflags "all=-N -l"`
+- For production build, the minimum command would be: `go build -tags desktop,production -ldflags "-w -s -H windowsgui"`
+- Ensure that you compile in the same directory as the `.syso` file
+
+### Compress application
+
+#### Wails CLI
+
+- If the `-upx` flag has been given, the `upx` program will be run to compress the application with the default settings
+- If `-upxflags` is also passed, these flags are used instead of the default ones
+
+#### Manual steps
+
+- Run `upx [flags]` manually to compress the application.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/migrating.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/migrating.mdx
new file mode 100644
index 00000000000..7123cbe6b60
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/migrating.mdx
@@ -0,0 +1,191 @@
+# Migrating from v1
+
+## Overview
+
+Wails v2 is a significant change from v1. This document aims to highlight the changes and the steps in migrating an existing project.
+
+### Creating the Application
+
+In v1, the main application is created using `wails.CreateApp`, bindings are added with `app.Bind`, then the application is run using `app.Run()`.
+
+Example:
+
+```go title="v1"
+ app := wails.CreateApp(&wails.AppConfig{
+ Title: "MyApp",
+ Width: 1024,
+ Height: 768,
+ JS: js,
+ CSS: css,
+ Colour: "#131313",
+ })
+ app.Bind(basic)
+ app.Run()
+```
+
+In v2, there is just a single method, `wails.Run()`, that accepts [application options](../reference/options.mdx#application-options).
+
+```go title="v2"
+ err := wails.Run(&options.App{
+ Title: "MyApp",
+ Width: 800,
+ Height: 600,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ Bind: []interface{}{
+ basic,
+ },
+ })
+```
+
+### Binding
+
+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):
+
+```go title="v1"
+ app := wails.CreateApp(/* options */)
+ app.Bind(basic)
+```
+
+```go title="v2"
+ err := wails.Run(&options.App{
+ /* other options */
+ Bind: []interface{}{
+ basic,
+ },
+ })
+```
+
+In v1, bound methods were available to the frontend at `window.backend`. This has changed to `window.go`.``
+
+### Application Lifecycle
+
+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):
+
+- [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.
+
+These methods can be standard functions, but a common practice is to have them part of a struct:
+
+```go title="v2"
+ basic := NewBasicApp()
+ err := wails.Run(&options.App{
+ /* Other Options */
+ OnStartup: basic.startup,
+ OnShutdown: basic.shutdown,
+ OnDomReady: basic.domready,
+ })
+...
+type Basic struct {
+ ctx context.Context
+}
+func (b *Basic) startup(ctx context.Context) {
+ b.ctx = ctx
+}
+...
+```
+
+### Runtime
+
+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).
+
+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.
+
+```go title="Runtime Example"
+package main
+
+import "github.com/wailsapp/wails/v2/pkg/runtime"
+
+type Basic struct {
+ ctx context.Context
+}
+
+// startup is called at application startup
+func (a *App) startup(ctx context.Context) {
+ a.ctx = ctx
+ runtime.LogInfo(ctx, "Application Startup called!")
+}
+
+```
+
+### Assets
+
+The _biggest_ change in v2 is how assets are handled.
+
+In v1, assets were passed via 2 application options:
+
+- `JS` - The application's JavaScript
+- `CSS` - The application's CSS
+
+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.
+
+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`.
+
+**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**.
+
+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.
+
+Example: An application has the following project layout. All final assets are placed in the `frontend/dist` directory:
+
+```shell
+.
+├── build/
+├── frontend/
+│ └── dist/
+│ ├── index.html
+│ ├── main.js
+│ ├── main.css
+│ └── logo.svg
+├── main.go
+└── wails.json
+```
+
+Those assets may be used by the application by simply creating an `embed.FS`:
+
+```go title="Assets Example"
+//go:embed all:frontend/dist
+var assets embed.FS
+
+func main() {
+ err := wails.Run(&options.App{
+ /* Other Options */
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ })
+}
+```
+
+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).
+
+### Project Configuration
+
+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.
+
+The format of the file is slightly different. Here is a comparison:
+
+
+
+| v1 | v2 | Notes |
+| ------------------ | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| name | name | |
+| description | | Removed |
+| author / name | author / name | |
+| author / email | author / email | |
+| version | version | |
+| binaryname | outputfilename | Changed |
+| frontend / dir | | Removed |
+| frontend / install | frontend:install | Changed |
+| frontend / build | frontend:build | Changed |
+| frontend / bridge | | Removed |
+| 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. |
+
+
+```
+
+## Публикация шаблона
+
+Для публикации шаблона просто загрузите файлы на GitHub. Поощряется следующая лучшая практика:
+
+- Удалите любые нежелательные файлы и каталоги (например, `.git`) из вашей frontend директории
+- Убедитесь, что `template.json` завершен, особенно `helpurl`
+- Отправить файлы на GitHub
+- Создайте PR на странице [Шаблоны сообщества](../community/templates.mdx)
+- Расскажите о своем шаблоне на [Template Announcement](https://github.com/wailsapp/wails/discussions/825) форуме
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/troubleshooting.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/troubleshooting.mdx
new file mode 100644
index 00000000000..a98e64ed467
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/troubleshooting.mdx
@@ -0,0 +1,166 @@
+# Troubleshooting
+
+An assortment of troubleshooting tips.
+
+## The `wails` command appears to be missing?
+
+If your system is reporting that the `wails` command is missing, make sure you have followed the Go installation guide correctly. Normally, it means that the `go/bin` directory in your User's home directory is not in the `PATH` environment variable. You will also normally need to close and reopen any open command prompts so that changes to the environment made by the installer are reflected at the command prompt.
+
+## My application is displaying a white/blank screen
+
+Check that your application includes the assets from the correct directory. In your `main.go` file, you will have something similar to the following code:
+
+```go
+//go:embed all:frontend/dist
+var assets embed.FS
+```
+
+Check that `frontend/dist` contains your application assets.
+
+### Mac
+
+If this happens on Mac, try adding the following to your `Info.plist`:
+
+```xml
+NSAppTransportSecurity
+
+ NSAllowsLocalNetworking
+
+
+```
+
+Reference: https://github.com/wailsapp/wails/issues/1504#issuecomment-1174317433
+
+## Mac application not valid
+
+If your built application looks like this in finder:
+
+```mdx-code-block
+
+
+
+```
+
+it's likely that your application's `info.plist` is invalid. Update the file in `build/.app/Contents/info.plist` and check if the data is valid, EG check the binary name is correct. To persist the changes, copy the file back to the `build/darwin` directory.
+
+## Cannot call backend method from frontend with variadic arguments
+
+If you have a backend method defined with variadic parameters, eg:
+
+```go
+func (a *App) TestFunc(msg string, args ...interface{}) error {
+ // Code
+}
+```
+
+calling this method from the frontend like this will fail:
+
+```js
+var msg = "Hello: ";
+var args = ["Go", "JS"];
+window.go.main.App.TestFunc(msg, ...args)
+ .then((result) => {
+ //do things here
+ })
+ .catch((error) => {
+ //handle error
+ });
+```
+
+Workaround:
+
+```js
+var msg = "Hello ";
+var args = ["Go", "JS"];
+window.go.main.App.TestFunc(msg, args)
+ .then((result) => {
+ //without the 3 dots
+ //do things here
+ })
+ .catch((error) => {
+ //handle error
+ });
+```
+
+Credit: https://github.com/wailsapp/wails/issues/1186
+
+## I'm having getting proxy errors when trying to install Wails
+
+If you are getting errors like this:
+
+```
+"https://proxy.golang.org/github.com/wailsapp/wails/cmd/wails/@v/list": dial tcp 172.217.163.49:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
+```
+
+it's probably because the official Go Proxy is being blocked (Users in China have reported this). The solution is to set up the proxy manually, eg:
+
+```
+go env -w GO111MODULE=on
+go env -w GOPROXY=https://goproxy.cn,direct
+```
+
+Source: https://github.com/wailsapp/wails/issues/1233
+
+## The generated TypeScript doesn't have the correct types
+
+Sometimes the generated TypeScript doesn't have the correct types. To mitigate this, it is possible to specify what types should be generated using the `ts_type` struct tag. For more details, please read [this](https://github.com/tkrajina/typescriptify-golang-structs#custom-types).
+
+## When I navigate away from `index.html`, I am unable to call methods on the frontend
+
+If you navigate away from `index.html` to a new html file, the context will be lost. This can be fixed by adding the following imports to the `` section of any new page you navigate to:
+
+```html
+
+
+
+
+```
+
+Source: https://github.com/wailsapp/wails/discussions/1512
+
+## I get `too many open files` errors on my Mac when I run `wails dev`
+
+By default, macOS will only allow you to open a maximum of 256 files. This can affect the `wails dev` command. This limit can be increased by running: `ulimit -n 1024` in the terminal.
+
+FSNotify is [looking to move to Apple's fsevents](https://github.com/fsnotify/fsnotify/issues/11) for Mac. If this isn't completed soon, we will create our own implementation, tracked [here](https://github.com/wailsapp/wails/issues/1733).
+
+## My Mac app gives me weird compilation errors
+
+A few users have reported seeing compilation errors such as the following:
+
+```shell
+# github.com/wailsapp/wails/v2/internal/frontend/desktop/darwin
+In file included from ../../pkg/mod/github.com/wailsapp/wails/v2@v2.0.0-beta.44.2/internal/frontend/desktop/darwin/callbacks.go:9:
+In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:12:
+/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSBundle.h:91:143: error: function does not return NSString
+- (NSAttributedString *)localizedAttributedStringForKey:(NSString *)key value:(nullable NSString *)value table:(nullable NSString *)tableName NS_FORMAT_ARGUMENT(1) NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0));
+ ~~~~~~~~~~~~~~ ^ ~
+/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:103:48: note: expanded from macro 'NS_FORMAT_ARGUMENT'
+ #define NS_FORMAT_ARGUMENT(A) __attribute__ ((format_arg(A)))
+```
+
+This is _normally_ due to a mismatch with the OS version you are running and the version of the XCode Command Line Tools installed. If you see an error like this, try upgrading your XCode Command Line Tools to the latest version.
+
+If reinstalling Xcode Command Tools still fails, you can check the path where the toolkit is located using:
+
+`xcode-select -p`
+
+If `/Applications/Xcode.app/Contents/Developer` is displayed, run `sudo xcode-select --switch /Library/Developer/CommandLineTools`
+
+Sources: https://github.com/wailsapp/wails/issues/1806 and https://github.com/wailsapp/wails/issues/1140#issuecomment-1290446496
+
+--
+
+## Cannot start service: Host version "x.x.x does not match binary version "x.x.x"
+
+It's preferable to add `frontend/node_modules` and `frontend/package-lock.json` to your `.gitignore`. Otherwise when opening your repository on another machine that may have different versions of Node installed, you may not be able to run your application.
+
+If this does happen, simply delete `frontend/node_modules` and `frontend/package-lock.json` and run your `wails build` or `wails dev` command again.
+
+## Build process stuck on "Generating bindings"
+
+Bindings generation process runs your application in a special mode. If application, intentionally or unintentionally, contains an endless loop (i.e. not exiting after `wails.Run()` finished), this can lead to build process stuck on the stage of bindings generation. Please make sure your code exits properly.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/vscode.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/vscode.mdx
new file mode 100644
index 00000000000..539c52ba582
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/vscode.mdx
@@ -0,0 +1,82 @@
+
+# Visual Studio Code
+
+Эта страница предназначена для разных советов и трюков при использовании Visual Studio Code с Wails.
+
+## Конфигурация Vetur
+
+Большое спасибо [@Lyimmi](https://github.com/Lyimmi) за этот совет. Изначально оставил сообщение [здесь](https://github.com/wailsapp/wails/issues/1791#issuecomment-1228158349).
+
+Vetur - это популярный плагин для кода Visual Studio, который предоставляет подсветку синтаксиса и завершение кода для Vue проектов. При загрузке проекта Wails в VSCode, Ветур выбросит ошибку, ожидая найти проект фронтенда в корневом каталоге. Чтобы исправить это, можно сделать следующее:
+
+Создайте файл `vetur.config.js` в корне проекта.
+
+```javascript
+// vetur.config.js
+/** @type {import('vls').VeturConfig} */
+module.exports = {
+ // **optional** default: `{}`
+ // override vscode settings
+ // Notice: It only affects the settings used by Vetur.
+ settings: {
+ "vetur.useWorkspaceDependencies": true,
+ "vetur.experimental.templateInterpolationService": true
+ },
+ // **optional** default: `[{ root: './' }]`
+ // support monorepos
+ projects: [
+ {
+ // **required**
+ // Where is your project?
+ // It is relative to `vetur.config.js`.
+ // root: './packages/repo1',
+ root: './frontend',
+ // **optional** default: `'package.json'`
+ // Where is `package.json` in the project?
+ // We use it to determine the version of vue.
+ // It is relative to root property.
+ package: './package.json',
+ // **optional**
+ // Where is TypeScript config file in the project?
+ // It is relative to root property.
+ tsconfig: './tsconfig.json',
+ // **optional** default: `'./.vscode/vetur/snippets'`
+ // Where is vetur custom snippets folders?
+ snippetFolder: './.vscode/vetur/snippets',
+ // **optional** default: `[]`
+ // Register globally Vue component glob.
+ // If you set it, you can get completion by that components.
+ // It is relative to root property.
+ // Notice: It won't actually do it. You need to use `require.context` or `Vue.component`
+ globalComponents: [
+ './src/components/**/*.vue'
+ ]
+ }
+ ]
+}
+```
+
+Затем настройте `frontend/tsconfig.json`:
+
+```javascript
+{
+ "compilerOptions": {
+ "module": "system",
+ "noImplicitAny": true,
+ "removeComments": true,
+ "preserveConstEnums": true,
+ "sourceMap": true,
+ "outFile": "../../built/local/tsc.js",
+ "allowJs": true
+ },
+ "exclude": [
+ "node_modules",
+ "**/*.spec.ts"
+ ],
+ "include": [
+ "src/**/*",
+ "wailsjs/**/*.ts"
+ ]
+}
+```
+Это должно позволить теперь использовать Vetur как ожидалось.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows-installer.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows-installer.mdx
new file mode 100644
index 00000000000..b332c5f1dc0
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows-installer.mdx
@@ -0,0 +1,58 @@
+# NSIS installer
+
+```mdx-code-block
+
+
+
+
+```
+
+Wails supports generating Windows installers using the [NSIS installer](https://nsis.sourceforge.io/).
+
+## Installing NSIS
+
+### Windows
+
+The installer is available on the [NSIS Download](https://nsis.sourceforge.io/Download) page.
+
+If you use the chocolatey package manager, run the following script:
+
+```
+choco install nsis
+```
+
+If you install NSIS manually, you need to add the _Bin_ folder, which contains `makensis.exe`, in your NSIS installation to your path. [Here](https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/) is a good tutorial on how to add to path on Windows.
+
+### Linux
+
+Пакет `nsis` должен быть доступен через менеджер пакетов вашего дистрибутива.
+
+### MacOS
+
+NSIS is available to install through homebrew: `brew install nsis`.
+
+## Generating the installer
+
+When a new project is created, Wails generates the NSIS configuration files in `build/windows/installer`. The config data is read from `installer/info.json` and that is configured to use the project's `wails.json` Info section:
+
+```json
+// ...
+ "Info": {
+ "companyName": "My Company Name",
+ "productName": "Wails Vite",
+ "productVersion": "1.0.0",
+ "copyright": "Copyright.........",
+ "comments": "Built using Wails (https://wails.io)"
+ },
+```
+
+To generate an installer for your application, use the `-nsis` flag with `wails build`:
+
+```
+wails build -nsis
+```
+
+The installer will now be available in the `build/bin` directory.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows.mdx
new file mode 100644
index 00000000000..821808c0b8d
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/guides/windows.mdx
@@ -0,0 +1,61 @@
+# Windows
+
+This page has miscellaneous guides related to developing Wails applications for Windows.
+
+## Handling the WebView2 Runtime Dependency
+
+Wails applications built for Windows have a runtime requirement on the Microsoft [WebView2 Runtime](https://developer.microsoft.com/en-us/microsoft-edge/webview2/). Windows 11 will have this installed by default, but some machines won't. Wails offers an easy approach to dealing with this dependency.
+
+By using the `-webview2` flag when building, you can decide what your application will do when a suitable runtime is not detected (including if the installed runtime is too old). The four options are:
+
+1. Download
+2. Embed
+3. Browser
+4. Error
+
+### Download
+
+This option will prompt the user that no suitable runtime has been found and then offer to download and run the official bootstrapper from Microsoft's WebView2 site. If the user proceeds, the official bootstrapper will be downloaded and run.
+
+### Embed
+
+This option embeds the official bootstrapper within the application. If no suitable runtime has been found, the application will offer to run the bootstrapper. This adds ~150k to the binary size.
+
+### Browser
+
+This option will prompt the user that no suitable runtime has been found and then offer to open a browser to the official WebView2 page where the bootstrapper can be downloaded and installed. The application will then exit, leaving the installation up to the user.
+
+### Error
+
+If no suitable runtime is found, an error is given to the user and no further action taken.
+
+## Fixed version runtime
+
+Another way of dealing with webview2 dependency is shipping it yourself. You can download [fixed version runtime](https://developer.microsoft.com/microsoft-edge/webview2/#download-section) and bundle or download it with your application.
+
+Also, you should specify path to fixed version of webview2 runtime in the `windows.Options` structure when launching wails.
+
+```go
+ wails.Run(&options.App{
+ Windows: &windows.Options{
+ WebviewBrowserPath: "",
+ },
+ })
+```
+
+Note: When `WebviewBrowserPath` is specified, `error` strategy will be forced in case of minimal required version mismatch or invalid path to a runtime.
+
+## Spawning other programs
+
+When spawning other programs, such as scripts, you will see the window appear on the screen. To hide the window, you can use the following code:
+
+```go
+cmd := exec.Command("your_script.exe")
+cmd.SysProcAttr = &syscall.SysProcAttr{
+ HideWindow: true,
+ CreationFlags: 0x08000000,
+}
+cmd.Start()
+```
+
+Solution provided by [sithembiso](https://github.com/sithembiso) on the [discussions board](https://github.com/wailsapp/wails/discussions/1734#discussioncomment-3386172).
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/howdoesitwork.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/howdoesitwork.mdx
new file mode 100644
index 00000000000..44fa130cc74
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/howdoesitwork.mdx
@@ -0,0 +1,369 @@
+---
+sidebar_position: 20
+---
+
+# How does it work?
+
+A Wails application is a standard Go application, with a webkit frontend. The Go part of the application consists of the application code and a runtime library that provides a number of useful operations, like controlling the application window. The frontend is a webkit window that will display the frontend assets. Also available to the frontend is a JavaScript version of the runtime library. Finally, it is possible to bind Go methods to the frontend, and these will appear as JavaScript methods that can be called, just as if they were local JavaScript methods.
+
+```mdx-code-block
+
+
+
+```
+
+## The Main Application
+
+### Overview
+
+The main application consists of a single call to `wails.Run()`. It accepts the application configuration which describes the size of the application window, the window title, what assets to use, etc. A basic application might look like this:
+
+```go title="main.go"
+package main
+
+import (
+ "embed"
+ "log"
+
+ "github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/options"
+ "github.com/wailsapp/wails/v2/pkg/options/assetserver"
+)
+
+//go:embed all:frontend/dist
+var assets embed.FS
+
+func main() {
+
+ app := &App{}
+
+ err := wails.Run(&options.App{
+ Title: "Basic Demo",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ Bind: []interface{}{
+ app,
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+
+type App struct {
+ ctx context.Context
+}
+
+func (b *App) startup(ctx context.Context) {
+ b.ctx = ctx
+}
+
+func (b *App) shutdown(ctx context.Context) {}
+
+func (b *App) Greet(name string) string {
+ return fmt.Sprintf("Hello %s!", name)
+}
+```
+
+### Options rundown
+
+This example has the following options set:
+
+- `Title` - The text that should appear in the window's title bar
+- `Width` & `Height` - The dimensions of the window
+- `Assets` - The application's frontend assets
+- `OnStartup` - A callback for when the window is created and is about to start loading the frontend assets
+- `OnShutdown` - A callback for when the application is about to quit
+- `Bind` - A slice of struct instances that we wish to expose to the frontend
+
+A full list of application options can be found in the [Options Reference](reference/options).
+
+#### Assets
+
+The `Assets` option is mandatory as you can't have a Wails application without frontend assets. Those assets can be any files you would expect to find in a web application - html, js, css, svg, png, etc. **There is no requirement to generate asset bundles** - plain files will do. When the application starts, it will attempt to load `index.html` from your assets and the frontend will essentially work as a browser from that point on. It is worth noting that there is no requirement on where in the `embed.FS` the files live. It is likely that the embed path uses a nested directory relative to your main application code, such as `frontend/dist`:
+
+```go title="main.go"
+//go:embed all:frontend/dist
+var assets embed.FS
+```
+
+At startup, Wails will iterate the embedded files looking for the directory containing `index.html`. All other assets will be loaded relative to this directory.
+
+As production binaries use the files contained in `embed.FS`, there are no external files required to be shipped with the application.
+
+When running in development mode using the `wails dev` command, the assets are loaded off disk, and any changes result in a "live reload". The location of the assets will be inferred from the `embed.FS`.
+
+More details can be found in the [Application Development Guide](guides/application-development.mdx).
+
+#### Application Lifecycle Callbacks
+
+Just before the frontend is about to load `index.html`, a callback is made to the function provided in [OnStartup](reference/options.mdx#onstartup). A standard Go context is passed to this method. This context is required when calling the runtime so a standard pattern is to save a reference to in this method. Just before the application shuts down, the [OnShutdown](reference/options.mdx#onshutdown) callback is called in the same way, again with the context. There is also an [OnDomReady](reference/options.mdx#ondomready) callback for when the frontend has completed loading all assets in `index.html` and is equivalent of the [`body onload`](https://www.w3schools.com/jsref/event_onload.asp) event in JavaScript. It is also possible to hook into the window close (or application quit) event by setting the option [OnBeforeClose](reference/options.mdx#onbeforeclose).
+
+#### Method Binding
+
+The `Bind` option is one of the most important options in a Wails application. It specifies which struct methods to expose to the frontend. Think of structs like "controllers" in a traditional web application. When the application starts, it examines the struct instances listed in the `Bind` field in the options, determines which methods are public (starts with an uppercase letter) and will generate JavaScript versions of those methods that can be called by the frontend code.
+
+:::info Note
+
+Wails requires that you pass in an _instance_ of the struct for it to bind it correctly
+
+:::
+
+In this example, we create a new `App` instance and then add this instance to the `Bind` option in `wails.Run`:
+
+```go {17,27} title="main.go"
+package main
+
+import (
+ "embed"
+ "log"
+
+ "github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/options"
+ "github.com/wailsapp/wails/v2/pkg/options/assetserver"
+)
+
+//go:embed all:frontend/dist
+var assets embed.FS
+
+func main() {
+
+ app := &App{}
+
+ err := wails.Run(&options.App{
+ Title: "Basic Demo",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ Bind: []interface{}{
+ app,
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+
+type App struct {
+ ctx context.Context
+}
+
+func (a *App) Greet(name string) string {
+ return fmt.Sprintf("Hello %s!", name)
+}
+```
+
+You may bind as many structs as you like. Just make sure you create an instance of it and pass it in `Bind`:
+
+```go {10-12}
+ //...
+ err := wails.Run(&options.App{
+ Title: "Basic Demo",
+ Width: 1024,
+ Height: 768,
+ AssetServer: &assetserver.Options{
+ Assets: assets,
+ },
+ Bind: []interface{}{
+ app,
+ &mystruct1{},
+ &mystruct2{},
+ },
+ })
+
+```
+
+When you run `wails dev` (or `wails generate module`), a frontend module will be generated containing the following:
+
+- JavaScript bindings for all bound methods
+- TypeScript declarations for all bound methods
+- TypeScript definitions for all Go structs used as inputs or outputs by the bound methods
+
+This makes it incredibly simple to call Go code from the frontend, using the same strongly typed datastructures.
+
+## The Frontend
+
+### Overview
+
+The frontend is a collection of files rendered by webkit. It's like a browser and webserver in one. There is virtually[^1] no limit to which frameworks or libraries you can use. The main points of interaction between the frontend and your Go code are:
+
+- Calling bound Go methods
+- Calling runtime methods
+
+### Calling bound Go methods
+
+When you run your application with `wails dev`, it will automatically generate JavaScript bindings for your structs in a directory called `wailsjs/go` (You can also do this by running `wails generate module`). The generated files mirror the package names in your application. In the example above, we bind `app`, which has one public method `Greet`. This will lead to the generation of the following files:
+
+```bash
+wailsjs
+ └─go
+ └─main
+ ├─App.d.ts
+ └─App.js
+```
+
+Here we can see that there is a `main` package that contains the JavaScript bindings for the bound `App` struct, as well as the TypeScript declaration file for those methods. To call `Greet` from our frontend, we simply import the method and call it like a regular JavaScript function:
+
+```javascript
+// ...
+import { Greet } from "../wailsjs/go/main/App";
+
+function doGreeting(name) {
+ Greet(name).then((result) => {
+ // Do something with result
+ });
+}
+```
+
+The TypeScript declaration file gives you the correct types for the bound methods:
+
+```ts
+export function Greet(arg1: string): Promise;
+```
+
+The generated methods return a Promise. A successful call will result in the first return value from the Go call to be passed to the `resolve` handler. An unsuccessful call is when a Go method that has an error type as it's second return value, passes an error instance back to the caller. This is passed back via the `reject` handler. In the example above, `Greet` only returns a `string` so the JavaScript call will never reject - unless invalid data is passed to it.
+
+All data types are correctly translated between Go and JavaScript. Even structs. If you return a struct from a Go call, it will be returned to your frontend as a JavaScript class.
+
+:::info Note
+
+Struct fields _must_ have a valid `json` tag to be included in the generated TypeScript.
+
+Anonymous nested structs are not supported at this time.
+
+:::
+
+It is possible to send structs back to Go. Any JavaScript map/class passed as an argument that is expecting a struct, will be converted to that struct type. To make this process a lot easier, in `dev` mode, a TypeScript module is generated, defining all the struct types used in bound methods. Using this module, it's possible to construct and send native JavaScript objects to the Go code.
+
+There is also support for Go methods that use structs in their signature. All Go structs specified by a bound method (either as parameters or return types) will have TypeScript versions auto generated as part of the Go code wrapper module. Using these, it's possible to share the same data model between Go and JavaScript.
+
+Example: We update our `Greet` method to accept a `Person` instead of a string:
+
+```go title="main.go"
+type Person struct {
+ Name string `json:"name"`
+ Age uint8 `json:"age"`
+ Address *Address `json:"address"`
+}
+
+type Address struct {
+ Street string `json:"street"`
+ Postcode string `json:"postcode"`
+}
+
+func (a *App) Greet(p Person) string {
+ return fmt.Sprintf("Hello %s (Age: %d)!", p.Name, p.Age)
+}
+```
+
+The `wailsjs/go/main/App.js` file will still have the following code:
+
+```js title="App.js"
+export function Greet(arg1) {
+ return window["go"]["main"]["App"]["Greet"](arg1);
+}
+```
+
+But the `wailsjs/go/main/App.d.ts` file will be updated with the following code:
+
+```ts title="App.d.ts"
+import { main } from "../models";
+
+export function Greet(arg1: main.Person): Promise;
+```
+
+As we can see, the "main" namespace is imported from a new "models.ts" file. This file contains all the struct definitions used by our bound methods. In this example, this is a `Person` struct. If we look at `models.ts`, we can see how the models are defined:
+
+```ts title="models.ts"
+export namespace main {
+ export class Address {
+ street: string;
+ postcode: string;
+
+ static createFrom(source: any = {}) {
+ return new Address(source);
+ }
+
+ constructor(source: any = {}) {
+ if ("string" === typeof source) source = JSON.parse(source);
+ this.street = source["street"];
+ this.postcode = source["postcode"];
+ }
+ }
+ export class Person {
+ name: string;
+ age: number;
+ address?: Address;
+
+ static createFrom(source: any = {}) {
+ return new Person(source);
+ }
+
+ constructor(source: any = {}) {
+ if ("string" === typeof source) source = JSON.parse(source);
+ this.name = source["name"];
+ this.age = source["age"];
+ this.address = this.convertValues(source["address"], Address);
+ }
+
+ convertValues(a: any, classs: any, asMap: boolean = false): any {
+ if (!a) {
+ return a;
+ }
+ if (a.slice) {
+ return (a as any[]).map((elem) => this.convertValues(elem, classs));
+ } else if ("object" === typeof a) {
+ if (asMap) {
+ for (const key of Object.keys(a)) {
+ a[key] = new classs(a[key]);
+ }
+ return a;
+ }
+ return new classs(a);
+ }
+ return a;
+ }
+ }
+}
+```
+
+So long as you have TypeScript as part of your frontend build configuration, you can use these models in the following way:
+
+```js title="mycode.js"
+import { Greet } from "../wailsjs/go/main/App";
+import { main } from "../wailsjs/go/models";
+
+function generate() {
+ let person = new main.Person();
+ person.name = "Peter";
+ person.age = 27;
+ Greet(person).then((result) => {
+ console.log(result);
+ });
+}
+```
+
+The combination of generated bindings and TypeScript models makes for a powerful development environment.
+
+More information on Binding can be found in the [Binding Methods](guides/application-development.mdx#binding-methods) section of the [Application Development Guide](guides/application-development.mdx).
+
+### Calling runtime methods
+
+The JavaScript runtime is located at `window.runtime` and contains many methods to do various tasks such as emit an event or perform logging operations:
+
+```js title="mycode.js"
+window.runtime.EventsEmit("my-event", 1);
+```
+
+More details about the JS runtime can be found in the [Runtime Reference](reference/runtime/intro).
+
+[^1]: There is a very small subset of libraries that use features unsupported in WebViews. There are often alternatives and workarounds for such cases.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/introduction.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/introduction.mdx
new file mode 100644
index 00000000000..1e246304506
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/introduction.mdx
@@ -0,0 +1,75 @@
+---
+sidebar_position: 1
+---
+
+# Введение
+
+Wails - это проект, позволяющий писать настольные приложения с использованием Go и web технологий.
+
+Считайте, что это легкая и быстрая альтернатива Electron для Go. Вы можете легко создавать приложения с гибкостью и мощностью Go, в сочетании с богатым современным фронтендом.
+
+### Возможности
+
+- Нативные меню, диалоги, темы и прозрачность
+- Поддержка Windows, macOS и linux
+- Встроенные шаблоны для Svelte, React, Preact, Vue, Lit и Vanilla JS
+- Easily call Go methods from JavaScript
+- Automatic Go struct to TypeScript model generation
+- Для Windows не требуется CGO или внешние DLL
+- Горячая перезагрузка, используя мощь [Vite](https://vitejs.dev/)
+- Мощный CLI для простого создания, сборки и упаковки приложений
+- Богатая [runtime библиотека](/docs/reference/runtime/intro)
+- Приложения, созданные с помощью Wails совместимы с Apple и Microsoft Store
+
+Например, [varly](https://varly.app) - настольное приложение для MacOS и Windows, написанное с помощью Wails. Оно не только великолепно выглядит, но и использует системные меню и полупрозрачность - все, что можно ожидать от современного нативного приложения.
+
+```mdx-code-block
+
+
+```
+
+When clicked, that will open an about message box:
+
+```mdx-code-block
+
+
+
+
+```
+
+### Linux
+
+This defines [Linux specific options](#linux).
+
+Name: Linux Type: `*linux.Options`
+
+#### Icon
+
+Sets up the icon representing the window. This icon is used when the window is minimized (also known as iconified).
+
+Name: Icon Type: `[]byte`
+
+Some window managers or desktop environments may also place it in the window frame, or display it in other contexts. On others, the icon is not used at all, so your mileage may vary.
+
+NOTE: Gnome on Wayland at least does not display this icon. To have a application icon there, a `.desktop` file has to be used. On KDE it should work.
+
+The icon should be provided in whatever size it was naturally drawn; that is, don’t scale the image before passing it. Scaling is postponed until the last minute, when the desired final size is known, to allow best quality.
+
+#### WindowIsTranslucent
+
+Setting this to `true` will make the window background translucent. Some window managers may ignore it, or result in a black window.
+
+Name: WindowIsTranslucent Type: `bool`
+
+#### WebviewGpuPolicy
+
+This option is used for determining the webview's hardware acceleration policy.
+
+Name: WebviewGpuPolicy Type: [`options.WebviewGpuPolicy`](#webviewgpupolicy-type) Default: `WebviewGpuPolicyAlways`
+
+##### WebviewGpuPolicy type
+
+| Value | Description |
+| ------------------------ | -------------------------------------------------------------------- |
+| WebviewGpuPolicyAlways | Hardware acceleration is always enabled |
+| WebviewGpuPolicyOnDemand | Hardware acceleration is enabled/disabled as request by web contents |
+| WebviewGpuPolicyNever | Hardware acceleration is always disabled |
+
+### Debug
+
+This defines [Debug specific options](#Debug) that apply to debug builds.
+
+Name: Debug Type: `options.Debug`
+
+#### OpenInspectorOnStartup
+
+Setting this to `true` will open the WebInspector on startup of the application.
+
+Name: OpenInspectorOnStartup Type: `bool`
+
+[^1]: This requires WebKit2GTK 2.36+ support and your app needs to be build with the build tag `webkit2_36` to activate support for this feature. This also bumps the minimum requirement of WebKit2GTK to 2.36 for your app.
+[^2]: This requires WebKit2GTK 2.40+ support and your app needs to be build with the build tag `webkit2_40` to activate support for this feature. This also bumps the minimum requirement of WebKit2GTK to 2.40 for your app.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/project-config.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/project-config.mdx
new file mode 100644
index 00000000000..5c7d578b777
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/project-config.mdx
@@ -0,0 +1,92 @@
+---
+sidebar_position: 5
+---
+
+# Project Config
+
+The project config resides in the `wails.json` file in the project directory. The structure of the config is:
+
+```json
+{
+ // Project config version
+ "version": "",
+ // The project name
+ "name": "",
+ // Relative path to the directory containing the compiled assets, this is normally inferred and could be left empty
+ "assetdir": "",
+ // Additional directories to trigger reloads (comma separated), this is only used for some advanced asset configurations
+ "reloaddirs": "",
+ // The directory where the build files reside. Defaults to 'build'
+ "build:dir": "",
+ // Relative path to the frontend directory. Defaults to 'frontend'
+ "frontend:dir": "",
+ // The command to install node dependencies, run in the frontend directory - often `npm install`
+ "frontend:install": "",
+ // The command to build the assets, run in the frontend directory - often `npm run build`
+ "frontend:build": "",
+ // This command has been replaced by frontend:dev:build. If frontend:dev:build is not specified will falls back to this command. \nIf this command is also not specified will falls back to frontend:build
+ "frontend:dev": "",
+ // This command is the dev equivalent of frontend:build. If not specified falls back to frontend:dev
+ "frontend:dev:build": "",
+ // This command is the dev equivalent of frontend:install. If not specified falls back to frontend:install
+ "frontend:dev:install": "",
+ // This command is run in a separate process on `wails dev`. Useful for 3rd party watchers or starting 3d party dev servers
+ "frontend:dev:watcher": "",
+ // URL to a 3rd party dev server to be used to serve assets, EG Vite. \nIf this is set to 'auto' then the devServerUrl will be inferred from the Vite output
+ "frontend:dev:serverUrl": "",
+ // Relative path to the directory that the auto-generated JS modules will be created
+ "wailsjsdir": "",
+ // The name of the binary
+ "outputfilename": "",
+ // The default time the dev server waits to reload when it detects a change in assets
+ "debounceMS": 100,
+ // Address to bind the wails dev sever to. Default: localhost:34115
+ "devServer": "",
+ // Arguments passed to the application in shell style when in dev mode
+ "appargs": "",
+ // Defines if build hooks should be run though they are defined for an OS other than the host OS.
+ "runNonNativeBuildHooks": false,
+ "preBuildHooks": {
+ // The command that will be executed before a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.
+ "GOOS/GOARCH": "",
+ // The command that will be executed before a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/*" hook is executed before the "*/*" hook.
+ "GOOS/*": "",
+ // The command that will be executed before every build: ${platform} is replaced with the "GOOS/GOARCH".
+ "*/*": ""
+ },
+ "postBuildHooks": {
+ // The command that will be executed after a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.
+ "GOOS/GOARCH": "",
+ // The command that will be executed after a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/*" hook is executed before the "*/*" hook.
+ "GOOS/*": "",
+ // The command that will be executed after every build: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary.
+ "*/*": ""
+ },
+ // Data used to populate manifests and version info.
+ "info": {
+ // The company name. Default: [The project name]
+ "companyName": "",
+ // The product name. Default: [The project name]
+ "productName": "",
+ // The version of the product. Default: '1.0.0'
+ "productVersion": "",
+ // The copyright of the product. Default: 'Copyright.........'
+ "copyright": "",
+ // A short comment of the app. Default: 'Built using Wails (https://wails.app)'
+ "comments": ""
+ },
+ // 'multiple': One installer per architecture. 'single': Single universal installer for all architectures being built. Default: 'multiple'
+ "nsisType": "",
+ // Whether the app should be obfuscated. Default: false
+ "obfuscated": "",
+ // The arguments to pass to the garble command when using the obfuscated flag
+ "garbleargs": ""
+}
+```
+
+This file is read by the Wails CLI when running `wails build` or `wails dev`.
+
+The `assetdir`, `reloaddirs`, `wailsjsdir`, `debounceMS`, `devserver` and `frontenddevserverurl` flags in `wails build/dev` will update the project config
+and thus become defaults for subsequent runs.
+
+The JSON Schema for this file is located [here](https://wails.io/schemas/config.v2.json).
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/browser.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/browser.mdx
new file mode 100644
index 00000000000..f45c13c46a6
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/browser.mdx
@@ -0,0 +1,13 @@
+---
+sidebar_position: 7
+---
+
+# Браузер
+
+Эти методы относятся к системному браузеру.
+
+### BrowserOpenURL
+
+Открывает данный URL-адрес в системном браузере.
+
+Go: `BrowserOpenURL(ctx context.Context, url string)` JS: `BrowserOpenURL(url string)`
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/clipboard.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/clipboard.mdx
new file mode 100644
index 00000000000..805f68ed917
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/clipboard.mdx
@@ -0,0 +1,23 @@
+---
+sidebar_position: 8
+---
+
+# Clipboard
+
+This part of the runtime provides access to the operating system's clipboard. The current implementation only handles text.
+
+### ClipboardGetText
+
+This method reads the currently stored text from the clipboard.
+
+Go: `ClipboardGetText(ctx context.Context) (string, error)` Returns: a string (if the clipboard is empty an empty string will be returned) or an error.
+
+JS: `ClipboardGetText(): Promise` Returns: a promise with a string result (if the clipboard is empty an empty string will be returned).
+
+### ClipboardSetText
+
+This method writes a text to the clipboard.
+
+Go: `ClipboardSetText(ctx context.Context, text string) error` Returns: an error if there is any.
+
+JS: `ClipboardSetText(text: string): Promise` Returns: a promise with true result if the text was successfully set on the clipboard, false otherwise.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/dialog.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/dialog.mdx
new file mode 100644
index 00000000000..9b3e6cf145c
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/dialog.mdx
@@ -0,0 +1,302 @@
+---
+sidebar_position: 5
+---
+
+# Dialog
+
+This part of the runtime provides access to native dialogs, such as File Selectors and Message boxes.
+
+:::info JavaScript
+
+Dialog is currently unsupported in the JS runtime.
+
+:::
+
+### OpenDirectoryDialog
+
+Opens a dialog that prompts the user to select a directory. Can be customised using [OpenDialogOptions](#opendialogoptions).
+
+Go: `OpenDirectoryDialog(ctx context.Context, dialogOptions OpenDialogOptions) (string, error)`
+
+Returns: Selected directory (blank if the user cancelled) or an error
+
+### OpenFileDialog
+
+Opens a dialog that prompts the user to select a file. Can be customised using [OpenDialogOptions](#opendialogoptions).
+
+Go: `OpenFileDialog(ctx context.Context, dialogOptions OpenDialogOptions) (string, error)`
+
+Returns: Selected file (blank if the user cancelled) or an error
+
+### OpenMultipleFilesDialog
+
+Opens a dialog that prompts the user to select multiple files. Can be customised using [OpenDialogOptions](#opendialogoptions).
+
+Go: `OpenMultipleFilesDialog(ctx context.Context, dialogOptions OpenDialogOptions) ([]string, error)`
+
+Returns: Selected files (nil if the user cancelled) or an error
+
+### SaveFileDialog
+
+Opens a dialog that prompts the user to select a filename for the purposes of saving. Can be customised using [SaveDialogOptions](#savedialogoptions).
+
+Go: `SaveFileDialog(ctx context.Context, dialogOptions SaveDialogOptions) (string, error)`
+
+Returns: The selected file (blank if the user cancelled) or an error
+
+### MessageDialog
+
+Displays a message using a message dialog. Can be customised using [MessageDialogOptions](#messagedialogoptions).
+
+Go: `MessageDialog(ctx context.Context, dialogOptions MessageDialogOptions) (string, error)`
+
+Returns: The text of the selected button or an error
+
+## Options
+
+### OpenDialogOptions
+
+```go
+type OpenDialogOptions struct {
+ DefaultDirectory string
+ DefaultFilename string
+ Title string
+ Filters []FileFilter
+ ShowHiddenFiles bool
+ CanCreateDirectories bool
+ ResolvesAliases bool
+ TreatPackagesAsDirectories bool
+}
+```
+
+| Field | Description | Win | Mac | Lin |
+| -------------------------- | ---------------------------------------------- | --- | --- | --- |
+| DefaultDirectory | The directory the dialog will show when opened | ✅ | ✅ | ✅ |
+| DefaultFilename | The default filename | ✅ | ✅ | ✅ |
+| Title | Title for the dialog | ✅ | ✅ | ✅ |
+| [Filters](#filefilter) | A list of file filters | ✅ | ✅ | ✅ |
+| ShowHiddenFiles | Show files hidden by the system | | ✅ | ✅ |
+| CanCreateDirectories | Allow user to create directories | | ✅ | |
+| ResolvesAliases | If true, returns the file not the alias | | ✅ | |
+| TreatPackagesAsDirectories | Allow navigating into packages | | ✅ | |
+
+### SaveDialogOptions
+
+```go
+type SaveDialogOptions struct {
+ DefaultDirectory string
+ DefaultFilename string
+ Title string
+ Filters []FileFilter
+ ShowHiddenFiles bool
+ CanCreateDirectories bool
+ TreatPackagesAsDirectories bool
+}
+```
+
+| Field | Description | Win | Mac | Lin |
+| -------------------------- | ---------------------------------------------- | --- | --- | --- |
+| DefaultDirectory | The directory the dialog will show when opened | ✅ | ✅ | ✅ |
+| DefaultFilename | The default filename | ✅ | ✅ | ✅ |
+| Title | Title for the dialog | ✅ | ✅ | ✅ |
+| [Filters](#filefilter) | A list of file filters | ✅ | ✅ | ✅ |
+| ShowHiddenFiles | Show files hidden by the system | | ✅ | ✅ |
+| CanCreateDirectories | Allow user to create directories | | ✅ | |
+| TreatPackagesAsDirectories | Allow navigating into packages | | ✅ | |
+
+### MessageDialogOptions
+
+```go
+type MessageDialogOptions struct {
+ Type DialogType
+ Title string
+ Message string
+ Buttons []string
+ DefaultButton string
+ CancelButton string
+}
+```
+
+| Field | Description | Win | Mac | Lin |
+| ------------- | -------------------------------------------------------------------------- | -------------- | --- | --- |
+| Type | The type of message dialog, eg question, info... | ✅ | ✅ | ✅ |
+| Title | Title for the dialog | ✅ | ✅ | ✅ |
+| Message | The message to show the user | ✅ | ✅ | ✅ |
+| Buttons | A list of button titles | | ✅ | |
+| DefaultButton | The button with this text should be treated as default. Bound to `return`. | ✅[*](#windows) | ✅ | |
+| CancelButton | The button with this text should be treated as cancel. Bound to `escape` | | ✅ | |
+
+#### Windows
+
+Windows has standard dialog types in which the buttons are not customisable. The value returned will be one of: "Ok", "Cancel", "Abort", "Retry", "Ignore", "Yes", "No", "Try Again" or "Continue".
+
+For Question dialogs, the default button is "Yes" and the cancel button is "No". This can be changed by setting the `DefaultButton` value to `"No"`.
+
+Example:
+```go
+ result, err := runtime.MessageDialog(a.ctx, runtime.MessageDialogOptions{
+ Type: runtime.QuestionDialog,
+ Title: "Question",
+ Message: "Do you want to continue?",
+ DefaultButton: "No",
+ })
+```
+
+#### Linux
+
+Linux has standard dialog types in which the buttons are not customisable. The value returned will be one of: "Ok", "Cancel", "Yes", "No"
+
+#### Mac
+
+A message dialog on Mac may specify up to 4 buttons. If no `DefaultButton` or `CancelButton` is given, the first button is considered default and is bound to the `return` key.
+
+For the following code:
+
+```go
+selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
+ Title: "It's your turn!",
+ Message: "Select a number",
+ Buttons: []string{"one", "two", "three", "four"},
+})
+```
+
+the first button is shown as default:
+
+```mdx-code-block
+
+
+
+
+```
+
+And if we specify `DefaultButton` to be "two":
+
+```go
+selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
+ Title: "It's your turn!",
+ Message: "Select a number",
+ Buttons: []string{"one", "two", "three", "four"},
+ DefaultButton: "two",
+})
+```
+
+the second button is shown as default. When `return` is pressed, the value "two" is returned.
+
+```mdx-code-block
+
+
+
+
+```
+
+If we now specify `CancelButton` to be "three":
+
+```go
+selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
+ Title: "It's your turn!",
+ Message: "Select a number",
+ Buttons: []string{"one", "two", "three", "four"},
+ DefaultButton: "two",
+ CancelButton: "three",
+})
+```
+
+the button with "three" is shown at the bottom of the dialog. When `escape` is pressed, the value "three" is returned:
+
+```mdx-code-block
+
+
+
+
+
+
+```
+
+#### DialogType
+
+```go
+const (
+ InfoDialog DialogType = "info"
+ WarningDialog DialogType = "warning"
+ ErrorDialog DialogType = "error"
+ QuestionDialog DialogType = "question"
+ )
+```
+
+### FileFilter
+
+```go
+type FileFilter struct {
+ DisplayName string // Filter information EG: "Image Files (*.jpg, *.png)"
+ Pattern string // semi-colon separated list of extensions, EG: "*.jpg;*.png"
+}
+```
+
+#### Windows
+
+Windows allows you to use multiple file filters in dialog boxes. Each FileFilter will show up as a separate entry in the dialog:
+
+```mdx-code-block
+
+
+
+
+
+
+```
+
+#### Linux
+
+Linux allows you to use multiple file filters in dialog boxes. Each FileFilter will show up as a separate entry in the dialog:
+
+```mdx-code-block
+
+
+
+
+
+
+```
+
+#### Mac
+
+Mac dialogs only have the concept of a single set of patterns to filter files. If multiple FileFilters are provided, Wails will use all the Patterns defined.
+
+Example:
+
+```go
+ selection, err := runtime.OpenFileDialog(b.ctx, runtime.OpenDialogOptions{
+ Title: "Select File",
+ Filters: []runtime.FileFilter{
+ {
+ DisplayName: "Images (*.png;*.jpg)",
+ Pattern: "*.png;*.jpg",
+ }, {
+ DisplayName: "Videos (*.mov;*.mp4)",
+ Pattern: "*.mov;*.mp4",
+ },
+ },
+ })
+```
+
+This will result in the Open File dialog using `*.png,*.jpg,*.mov,*.mp4` as a filter.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/events.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/events.mdx
new file mode 100644
index 00000000000..856ba6f0c26
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/events.mdx
@@ -0,0 +1,37 @@
+---
+sidebar_position: 2
+---
+
+# Events
+
+The Wails runtime provides a unified events system, where events can be emitted or received by either Go or JavaScript. Optionally, data may be passed with the events. Listeners will receive the data in the local data types.
+
+### EventsOn
+
+This method sets up a listener for the given event name. When an event of type `eventName` is [emitted](#EventsEmit), the callback is triggered. Any additional data sent with the emitted event will be passed to the callback. It returns a function to cancel the listener.
+
+Go: `EventsOn(ctx context.Context, eventName string, callback func(optionalData ...interface{})) func()` JS: `EventsOn(eventName string, callback function(optionalData?: any)): () => void`
+
+### EventsOff
+
+This method unregisters the listener for the given event name, optionally multiple listeneres can be unregistered via `additionalEventNames`.
+
+Go: `EventsOff(ctx context.Context, eventName string, additionalEventNames ...string)` JS: `EventsOff(eventName string, ...additionalEventNames)`
+
+### EventsOnce
+
+This method sets up a listener for the given event name, but will only trigger once. It returns a function to cancel the listener.
+
+Go: `EventsOnce(ctx context.Context, eventName string, callback func(optionalData ...interface{})) func()` JS: `EventsOnce(eventName string, callback function(optionalData?: any)): () => void`
+
+### EventsOnMultiple
+
+This method sets up a listener for the given event name, but will only trigger a maximum of `counter` times. It returns a function to cancel the listener.
+
+Go: `EventsOnMultiple(ctx context.Context, eventName string, callback func(optionalData ...interface{}), counter int) func()` JS: `EventsOnMultiple(eventName string, callback function(optionalData?: any), counter int): () => void`
+
+### EventsEmit
+
+This method emits the given event. Optional data may be passed with the event. This will trigger any event listeners.
+
+Go: `EventsEmit(ctx context.Context, eventName string, optionalData ...interface{})` JS: `EventsEmit(eventName: string, ...optionalData: any)`
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/intro.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/intro.mdx
new file mode 100644
index 00000000000..aae8efccccf
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/intro.mdx
@@ -0,0 +1,85 @@
+---
+sidebar_position: 1
+---
+
+# Introduction
+
+The runtime is a library that provides utility methods for your application. There is both a Go and JavaScript runtime and the aim is to try and keep them at parity where possible.
+
+It has utility methods for:
+
+- [Window](window.mdx)
+- [Menu](menu.mdx)
+- [Dialog](dialog.mdx)
+- [Events](events.mdx)
+- [Browser](browser.mdx)
+- [Log](log.mdx)
+- [Clipboard](clipboard.mdx)
+
+The Go Runtime is available through importing `github.com/wailsapp/wails/v2/pkg/runtime`. All methods in this package take a context as the first parameter. This context should be obtained from the [OnStartup](../options.mdx#onstartup) or [OnDomReady](../options.mdx#ondomready) hooks.
+
+:::info Note
+
+Whilst the context will be provided to the [OnStartup](../options.mdx#onstartup) method, there's no guarantee the runtime will work in this method as the window is initialising in a different thread. If you wish to call runtime methods at startup, use [OnDomReady](../options.mdx#ondomready).
+
+:::
+
+The JavaScript library is available to the frontend via the `window.runtime` map. There is a runtime package generated when using `dev` mode that provides TypeScript declarations for the runtime. This should be located in the `wailsjs` directory in your frontend directory.
+
+### Hide
+
+Go: `Hide(ctx context.Context)` JS: `Hide()`
+
+Hides the application.
+
+:::info Note
+
+On Mac, this will hide the application in the same way as the `Hide` menu item in standard Mac applications. This is different to hiding the window, but the application still being in the foreground. For Windows and Linux, this is currently the same as `WindowHide`.
+
+:::
+
+### Show
+
+Shows the application.
+
+:::info Note
+
+On Mac, this will bring the application back into the foreground. For Windows and Linux, this is currently the same as `WindowShow`.
+
+:::
+
+Go: `Show(ctx context.Context)` JS: `Show()`
+
+### Quit
+
+Quits the application.
+
+Go: `Quit(ctx context.Context)` JS: `Quit()`
+
+### Environment
+
+Returns details of the current environment.
+
+Go: `Environment(ctx context.Context) EnvironmentInfo` JS: `Environment(): Promise`
+
+#### EnvironmentInfo
+
+Go:
+
+```go
+type EnvironmentInfo struct {
+ BuildType string
+ Platform string
+ Arch string
+}
+```
+
+JS:
+
+```ts
+interface EnvironmentInfo {
+ buildType: string;
+ platform: string;
+ arch: string;
+}
+```
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/log.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/log.mdx
new file mode 100644
index 00000000000..06f0423b0a8
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/log.mdx
@@ -0,0 +1,130 @@
+---
+sidebar_position: 3
+---
+
+# Log
+
+The Wails runtime provides a logging mechanism that may be called from Go or JavaScript. Like most loggers, there are a number of log levels:
+
+- Trace
+- Debug
+- Info
+- Warning
+- Error
+- Fatal
+
+The logger will output any log message at the current, or higher, log level. Example: The `Debug` log level will output all messages except `Trace` messages.
+
+### LogPrint
+
+Logs the given message as a raw message.
+
+Go: `LogPrint(ctx context.Context, message string)` JS: `LogPrint(message: string)`
+
+### LogPrintf
+
+Logs the given message as a raw message.
+
+Go: `LogPrintf(ctx context.Context, format string, args ...interface{})`
+
+### LogTrace
+
+Logs the given message at the `Trace` log level.
+
+Go: `LogTrace(ctx context.Context, message string)` JS: `LogTrace(message: string)`
+
+### LogTracef
+
+Logs the given message at the `Trace` log level.
+
+Go: `LogTracef(ctx context.Context, format string, args ...interface{})`
+
+### LogDebug
+
+Logs the given message at the `Debug` log level.
+
+Go: `LogDebug(ctx context.Context, message string)` JS: `LogDebug(message: string)`
+
+### LogDebugf
+
+Logs the given message at the `Debug` log level.
+
+Go: `LogDebugf(ctx context.Context, format string, args ...interface{})`
+
+### LogInfo
+
+Logs the given message at the `Info` log level.
+
+Go: `LogInfo(ctx context.Context, message string)` JS: `LogInfo(message: string)`
+
+### LogInfof
+
+Logs the given message at the `Info` log level.
+
+Go: `LogInfof(ctx context.Context, format string, args ...interface{})`
+
+### LogWarning
+
+Logs the given message at the `Warning` log level.
+
+Go: `LogWarning(ctx context.Context, message string)` JS: `LogWarning(message: string)`
+
+### LogWarningf
+
+Logs the given message at the `Warning` log level.
+
+Go: `LogWarningf(ctx context.Context, format string, args ...interface{})`
+
+### LogError
+
+Logs the given message at the `Error` log level.
+
+Go: `LogError(ctx context.Context, message string)` JS: `LogError(message: string)`
+
+### LogErrorf
+
+Logs the given message at the `Error` log level.
+
+Go: `LogErrorf(ctx context.Context, format string, args ...interface{})`
+
+### LogFatal
+
+Logs the given message at the `Fatal` log level.
+
+Go: `LogFatal(ctx context.Context, message string)` JS: `LogFatal(message: string)`
+
+### LogFatalf
+
+Logs the given message at the `Fatal` log level.
+
+Go: `LogFatalf(ctx context.Context, format string, args ...interface{})`
+
+### LogSetLogLevel
+
+Sets the log level. In JavaScript, the number relates to the following log levels:
+
+| Value | Log Level |
+| ----- | --------- |
+| 1 | Trace |
+| 2 | Debug |
+| 3 | Info |
+| 4 | Warning |
+| 5 | Error |
+
+Go: `LogSetLogLevel(ctx context.Context, level logger.LogLevel)` JS: `LogSetLogLevel(level: number)`
+
+## Using a Custom Logger
+
+A custom logger may be used by providing it using the [Logger](../options.mdx#logger) application option. The only requirement is that the logger implements the `logger.Logger` interface defined in `github.com/wailsapp/wails/v2/pkg/logger`:
+
+```go title="logger.go"
+type Logger interface {
+ Print(message string)
+ Trace(message string)
+ Debug(message string)
+ Info(message string)
+ Warning(message string)
+ Error(message string)
+ Fatal(message string)
+}
+```
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/menu.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/menu.mdx
new file mode 100644
index 00000000000..6b6ceb77d69
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/menu.mdx
@@ -0,0 +1,25 @@
+---
+sidebar_position: 6
+---
+
+# Меню
+
+Эти методы относятся к меню приложения.
+
+:::info JavaScript
+
+В настоящее время меню не поддерживается в JS.
+
+:::
+
+### MenuSetApplicationMenu
+
+Задает меню приложения для данного [меню](../menus.mdx).
+
+Go: `MenuSetApplicationMenu(ctx context.Context, menu *menu.Menu)`
+
+### MenuUpdateApplicationMenu
+
+Обновляет меню приложения, поднимая все изменения в меню, переданное `MenuSetationMenu`.
+
+Go: `MenuUpdateApplicationMenu(ctx context.Context)`
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/window.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/window.mdx
new file mode 100644
index 00000000000..f27d2fe1b39
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/reference/runtime/window.mdx
@@ -0,0 +1,221 @@
+---
+sidebar_position: 4
+---
+
+# Window
+
+These methods give control of the application window.
+
+### WindowSetTitle
+
+Sets the text in the window title bar.
+
+Go: `WindowSetTitle(ctx context.Context, title string)` JS: `WindowSetTitle(title: string)`
+
+### WindowFullscreen
+
+Makes the window full screen.
+
+Go: `WindowFullscreen(ctx context.Context)` JS: `WindowFullscreen()`
+
+### WindowUnfullscreen
+
+Restores the previous window dimensions and position prior to full screen.
+
+Go: `WindowUnfullscreen(ctx context.Context)` JS: `WindowUnfullscreen()`
+
+### WindowIsFullscreen
+
+Returns true if the window is full screen.
+
+Go: `WindowIsFullscreen(ctx context.Context) bool` JS: `WindowIsFullscreen() bool`
+
+### WindowCenter
+
+Centers the window on the monitor the window is currently on.
+
+Go: `WindowCenter(ctx context.Context)` JS: `WindowCenter()`
+
+### WindowExecJS
+
+Executes arbitrary JS code in the window.
+
+This method runs the code in the browser asynchronously and returns immediately. If the script causes any errors, they will only be available in the browser console.
+
+Go: `WindowExecJS(ctx context.Context, js string)`
+
+### WindowReload
+
+Performs a "reload" (Reloads current page).
+
+Go: `WindowReload(ctx context.Context)` JS: `WindowReload()`
+
+### WindowReloadApp
+
+Reloads the application frontend.
+
+Go: `WindowReloadApp(ctx context.Context)` JS: `WindowReloadApp()`
+
+### WindowSetSystemDefaultTheme
+
+Windows only.
+
+Go: `WindowSetSystemDefaultTheme(ctx context.Context)` JS: `WindowSetSystemDefaultTheme()`
+
+Sets window theme to system default (dark/light).
+
+### WindowSetLightTheme
+
+Windows only.
+
+Go: `WindowSetLightTheme(ctx context.Context)` JS: `WindowSetLightTheme()`
+
+Sets window theme to light.
+
+### WindowSetDarkTheme
+
+Windows only.
+
+Go: `WindowSetDarkTheme(ctx context.Context)` JS: `WindowSetDarkTheme()`
+
+Sets window theme to dark.
+
+### WindowShow
+
+Shows the window, if it is currently hidden.
+
+Go: `WindowShow(ctx context.Context)` JS: `WindowShow()`
+
+### WindowHide
+
+Hides the window, if it is currently visible.
+
+Go: `WindowHide(ctx context.Context)` JS: `WindowHide()`
+
+### WindowIsNormal
+
+Returns true if the window not minimised, maximised or fullscreen.
+
+Go: `WindowIsNormal(ctx context.Context) bool` JS: `WindowIsNormal() bool`
+
+### WindowSetSize
+
+Sets the width and height of the window.
+
+Go: `WindowSetSize(ctx context.Context, width int, height int)` JS: `WindowSetSize(size: Size)`
+
+### WindowGetSize
+
+Gets the width and height of the window.
+
+Go: `WindowGetSize(ctx context.Context) (width int, height int)` JS: `WindowGetSize() : Size`
+
+### WindowSetMinSize
+
+Sets the minimum window size. Will resize the window if the window is currently smaller than the given dimensions.
+
+Setting a size of `0,0` will disable this constraint.
+
+Go: `WindowSetMinSize(ctx context.Context, width int, height int)` JS: `WindowSetMinSize(size: Size)`
+
+### WindowSetMaxSize
+
+Sets the maximum window size. Will resize the window if the window is currently larger than the given dimensions.
+
+Setting a size of `0,0` will disable this constraint.
+
+Go: `WindowSetMaxSize(ctx context.Context, width int, height int)` JS: `WindowSetMaxSize(size: Size)`
+
+### WindowSetAlwaysOnTop
+
+Sets the window AlwaysOnTop or not on top.
+
+Go: `WindowSetAlwaysOnTop(ctx context.Context, b bool)` JS: `WindowSetAlwaysOnTop(b: Boolen)`
+
+### WindowSetPosition
+
+Sets the window position relative to the monitor the window is currently on.
+
+Go: `WindowSetPosition(ctx context.Context, x int, y int)` JS: `WindowSetPosition(position: Position)`
+
+### WindowGetPosition
+
+Gets the window position relative to the monitor the window is currently on.
+
+Go: `WindowGetPosition(ctx context.Context) (x int, y int)` JS: `WindowGetPosition() : Position`
+
+### WindowMaximise
+
+Maximises the window to fill the screen.
+
+Go: `WindowMaximise(ctx context.Context)` JS: `WindowMaximise()`
+
+### WindowUnmaximise
+
+Restores the window to the dimensions and position prior to maximising.
+
+Go: `WindowUnmaximise(ctx context.Context)` JS: `WindowUnmaximise()`
+
+### WindowIsMaximised
+
+Returns true if the window is maximised.
+
+Go: `WindowIsMaximised(ctx context.Context) bool` JS: `WindowIsMaximised() bool`
+
+### WindowToggleMaximise
+
+Toggles between Maximised and UnMaximised.
+
+Go: `WindowToggleMaximise(ctx context.Context)` JS: `WindowToggleMaximise()`
+
+### WindowMinimise
+
+Minimises the window.
+
+Go: `WindowMinimise(ctx context.Context)` JS: `WindowMinimise()`
+
+### WindowUnminimise
+
+Restores the window to the dimensions and position prior to minimising.
+
+Go: `WindowUnminimise(ctx context.Context)` JS: `WindowUnminimise()`
+
+### WindowIsMinimised
+
+Returns true if the window is minimised.
+
+Go: `WindowIsMinimised(ctx context.Context) bool` JS: `WindowIsMinimised() bool`
+
+### WindowSetBackgroundColour
+
+Sets the background colour of the window to the given RGBA colour definition. This colour will show through for all transparent pixels.
+
+Valid values for R, G, B and A are 0-255.
+
+:::info Windows
+
+On Windows, only alpha values of 0 or 255 are supported. Any value that is not 0 will be considered 255.
+
+:::
+
+Go: `WindowSetBackgroundColour(ctx context.Context, R, G, B, A uint8)` JS: `WindowSetBackgroundColour(R, G, B, A)`
+
+## TypeScript Object Definitions
+
+### Position
+
+```ts
+interface Position {
+ x: number;
+ y: number;
+}
+```
+
+### Size
+
+```ts
+interface Size {
+ w: number;
+ h: number;
+}
+```
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/dogsapi.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/dogsapi.mdx
new file mode 100644
index 00000000000..1af16f7745a
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/dogsapi.mdx
@@ -0,0 +1,245 @@
+---
+sidebar_position: 20
+---
+
+# Dogs API
+
+```mdx-code-block
+
+
+
+
+```
+
+:::note
+
+This tutorial has been kindly provided by [@tatadan](https://twitter.com/tatadan) and forms part of their [Wails Examples Repository](https://github.com/tataDan/wails-v2-examples).
+
+:::
+
+In this tutorial we are going to develop an application that retrieves photos of dogs from the web and then displays them.
+
+### Create the project
+
+Let's create the application. From a terminal enter: `wails init -n dogs-api -t svelte`
+
+Note: We could optionally add `-ide vscode` or `-ide goland` to the end of this command if you wanted to add IDE support.
+
+Now let's `cd dogs-api` and start editing the project files.
+
+### Remove unused code
+
+We will start by removing some elements that we know we will not use:
+
+- Open `app.go` and remove the following lines:
+
+```go
+// Greet returns a greeting for the given name
+func (a *App) Greet(name string) string {
+ return fmt.Sprintf("Hello %s, It's show time!", name)
+}
+```
+
+- Open `frontend/src/App.svelte` and delete all lines.
+- Delete the `frontend/src/assets/images/logo-universal.png` file
+
+### Creating our application
+
+Now let's add our new Go code.
+
+Add the following struct declarations to `app.go` before the function definitions:
+
+```go
+type RandomImage struct {
+ Message string
+ Status string
+}
+
+type AllBreeds struct {
+ Message map[string]map[string][]string
+ Status string
+}
+
+type ImagesByBreed struct {
+ Message []string
+ Status string
+}
+```
+
+Add the following functions to `app.go` (perhaps after the existing function definitions):
+
+```go
+func (a *App) GetRandomImageUrl() string {
+ response, err := http.Get("https://dog.ceo/api/breeds/image/random")
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ responseData, err := ioutil.ReadAll(response.Body)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ var data RandomImage
+ json.Unmarshal(responseData, &data)
+
+ return data.Message
+}
+
+func (a *App) GetBreedList() []string {
+ var breeds []string
+
+ response, err := http.Get("https://dog.ceo/api/breeds/list/all")
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ responseData, err := ioutil.ReadAll(response.Body)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ var data AllBreeds
+ json.Unmarshal(responseData, &data)
+
+ for k := range data.Message {
+ breeds = append(breeds, k)
+ }
+
+ sort.Strings(breeds)
+
+ return breeds
+}
+
+func (a *App) GetImageUrlsByBreed(breed string) []string {
+
+ url := fmt.Sprintf("%s%s%s%s", "https://dog.ceo/api/", "breed/", breed, "/images")
+ response, err := http.Get(url)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ responseData, err := ioutil.ReadAll(response.Body)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ var data ImagesByBreed
+ json.Unmarshal(responseData, &data)
+
+ return data.Message
+}
+```
+
+Modify the `import` section of `app.go` to look like this:
+
+```go
+import (
+ "context"
+ "fmt"
+ "encoding/json"
+ "io/ioutil"
+ "log"
+ "net/http"
+ "sort"
+)
+```
+
+Add the following lines to `frontend/src/App.svelte`:
+
+
+```html
+
+
+
Dogs API
+
+
+ Click on down arrow to select a breed
+
+
+
+
+{#if showRandomPhoto}
+
+{/if}
+{#if showBreedPhotos}
+ {#each photos as photo}
+
+ {/each}
+{/if}
+
+
+```
+
+
+### Testing the application
+
+To generate the bindings and test the application, run `wails dev`.
+
+### Compiling the application
+
+To compile the application to a single, production grade binary, run `wails build`.
diff --git a/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/helloworld.mdx b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/helloworld.mdx
new file mode 100644
index 00000000000..2be6d845759
--- /dev/null
+++ b/website/i18n/ru/docusaurus-plugin-content-docs/version-v2.5.0/tutorials/helloworld.mdx
@@ -0,0 +1,122 @@
+---
+sidebar_position: 10
+---
+
+# Hello World
+
+Цель этого урока — запустить наиболее базовое приложение, использующее Wails. Вы сможете:
+
+- Создавать новое Wails приложение
+- Собирать приложение
+- Запускать приложение
+
+:::note
+
+В этом уроке в качестве целевой платформы используется Windows. Вывод будет варьироваться в зависимости от вашей операционной системы.
+
+:::
+
+## Создаем новое Wails приложение
+
+Чтобы создать новое Wails приложение, использующее стандартный шаблон JS, вам нужно выполнить следующую команду:
+
+```bash
+wails init -n helloworld
+```
+
+Вы должны увидеть что-то похожее на следующее:
+
+```
+Wails CLI v2.0.0
+
+Initialising Project 'helloworld'
+---------------------------------
+
+Project Name: helloworld
+Project Directory: C:\Users\leaan\tutorial\helloworld
+Project Template: vanilla
+Template Support: https://wails.io
+
+Initialised project 'helloworld' in 232ms.
+```
+
+Это создаст новый каталог под названием `helloworld` в текущей директории. В этом каталоге вы найдете несколько файлов:
+
+```
+build/ - Contains the build files + compiled application
+frontend/ - Contains the frontend files
+app.go - Contains the application code
+main.go - The main program with the application configuration
+wails.json - The project configuration file
+go.mod - The go module file
+go.sum - The go module checksum file
+```
+
+## Сборка приложения
+
+Чтобы собрать приложение, перейдите в новую директорию `helloworld` и запустите следующую команду:
+
+```bash
+wails build
+```
+
+Вы должны увидеть что-то похожее на следующее:
+
+```
+Wails CLI v2.0.0
+
+App Type: desktop
+Platforms: windows/amd64
+Compiler: C:\Users\leaan\go\go1.18.3\bin\go.exe
+Build Mode: Production
+Skip Frontend: false
+Compress: false
+Package: true
+Clean Build Dir: false
+LDFlags: ""
+Tags: []
+Race Detector: false
+
+Building target: windows/amd64
+------------------------------
+ - Installing frontend dependencies: Done.
+ - Compiling frontend: Done.
+ - Generating bundle assets: Done.
+ - Compiling application: Done.
+Built 'C:\Users\leaan\tutorial\helloworld\build\bin\helloworld.exe' in 10.616s.
+```
+
+Приложение собрано и сохранено в папке `build/bin`.
+
+## Запуск приложения
+
+Если мы откроем папку `build/bin` в Проводнике, то увидим исполняемый файл проекта:
+
+```mdx-code-block
+
+
+
+
+```
+
+Мы можем запустить его, просто дважды щелкнув по файлу `helloworld.exe`.
+
+На Mac, Wails генерирует файл `helloworld.app` который может быть запущен двойным щелчком.
+
+На Linux вы можете запустить приложение с помощью файла `./helloworld` из папки `build/bin`.
+
+Вы должны видеть приложение, работающее так, как ожидалось:
+
+```mdx-code-block
+
+```
+
+[Ytd](https://github.com/marcio199226/ytd/tree/v2-wails) 是一款可以从 YouTube 下载音乐,创建离线播放列表并与朋友分享的应用程序。你的朋友们可以播放你的播放列表或将其下载到本地离线收听,并且该应用程序还内置了播放器。
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/community/templates.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/community/templates.mdx
new file mode 100644
index 00000000000..be09b3def2e
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/community/templates.mdx
@@ -0,0 +1,63 @@
+---
+sidebar_position: 1
+---
+
+# 模板
+
+此页面用作社区支持的模板列表。 请提交一个包含您的模板的 PR(点击页面底部的 `编辑此页`)。 要构建您自己的模板,请参考 [模板](../guides/templates) 指南。
+
+要使用这些模板,请运行 `wails init -n "您的项目名" -t [下面的链接[@版本]]`
+
+如果不带版本后缀,默认使用的是主分支代码模板。 如果带有版本后缀,则使用该版本对应标签的代码模板。
+
+示例:`wails init -n "Your Project Name" -t https://github.com/misitebao/wails-template-vue`
+
+:::warning 注意
+
+**Wails 项目不维护也不对第 3 方模板负责**
+
+如果您不确定某个模板,请检查 `package.json` 和 `wails.json` 中安装的模块和运行的脚本。
+
+:::
+
+## Vue
+
+- [wails-template-vue](https://github.com/misitebao/wails-template-vue) - 基于 Vue 生态的 Wails 模板(集成 TypeScript、黑暗主题、国际化、单页路由、TailwindCSS)
+- [wails-vite-vue-ts](https://github.com/codydbentley/wails-vite-vue-ts) - 使用 Vite 的 Vue 3 TypeScript(以及添加功能的说明)
+- [wails-vite-vue-the-works](https://github.com/codydbentley/wails-vite-vue-the-works) - 使用 Vite, Vuex, Vue Router, Sass, 和 ESLint + Prettier 的 Vue 3 TypeScript
+- [wails-template-quasar-js](https://github.com/sgosiaco/wails-template-quasar-js) - 使用 JavaScript + Quasar V2(Vue 3, Vite, Sass, Pinia, ESLint, Prettier)的模板
+- [wails-template-quasar-ts](https://github.com/sgosiaco/wails-template-quasar-ts) - 使用 TypeScript + Quasar V2(Vue 3、Vite、Sass、Pinia、ESLint、Prettier、带 <script setup> 的Composition API)的模板
+- [wails-template-naive](https://github.com/tk103331/wails-template-naive) - 基于 Naive UI(一款 Vue 3 组件库)的 Wails 模板
+
+## Angular
+
+- [wails-template-angular](https://github.com/mateothegreat/wails-template-angular) - Angular 15+ 已打包并准备投入生产。
+- [wails-angular-template](https://github.com/TAINCER/wails-angular-template) - 带有 TypeScript, Sass, 热重载, 代码拆分和 i18n 的 Angular
+
+## React
+
+- [wails-react-template](https://github.com/AlienRecall/wails-react-template) - 基于 reactjs 的模板
+- [wails-react-template](https://github.com/flin7/wails-react-template) - 基于 React 并支持实时开发模式的轻量级模板
+- [wails-vite-react-ts](https://github.com/lontten/wails-vite-react-ts) - 基于 Vite + React + TypeScript 的模板
+- [wails-vite-react-ts-tailwind-template](https://github.com/hotafrika/wails-vite-react-ts-tailwind-template) - 一个 React + TypeScript + Vite + TailwindCSS 模板
+
+## Svelte
+
+- [wails-svelte-template](https://github.com/raitonoberu/wails-svelte-template) - 基于 Svelte 的模板
+- [wails-vite-svelte-template](https://github.com/BillBuilt/wails-vite-svelte-template) - 使用 Svelte 和 Vite 的模板
+- [wails-vite-svelte-tailwind-template](https://github.com/BillBuilt/wails-vite-svelte-tailwind-template) - 使用 Svelte 和 Vite 和 TailwindCSS v3 的模板
+- [wails-template-nextjs](https://github.com/LGiki/wails-template-nextjs) - 基于 Next.js + TypeScript 的模板
+
+## Solid
+
+- [wails-template-vite-solid-ts](https://github.com/xijaja/wails-template-solid-ts) - 使用 Solid + Ts + Vite 的模版。
+- [wails-template-vite-solid-js](https://github.com/xijaja/wails-template-solid-js) - 使用 Solid + Js + Vite 的模版。
+
+## Elm
+
+- [wails-elm-template](https://github.com/benjamin-thomas/wails-elm-template) - 使用函数式编程和 **快速** 的热重载设置开发您的 GUI 应用程序 :tada: :rocket:
+- [wails-template-elm-tailwind](https://github.com/rnice01/wails-template-elm-tailwind) - 结合 Elm + Tailwind CSS + Wails 的力量 :muscle: ! 支持热重载。
+
+## 纯 JavaScript (Vanilla)
+
+- [wails-pure-js-template](https://github.com/KiddoV/wails-pure-js-template) - 一个只有基本 JavaScript、HTML 和 CSS 的模板
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/contributing/developing-new-features.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/contributing/developing-new-features.mdx
new file mode 100644
index 00000000000..9fc9025bd4b
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/contributing/developing-new-features.mdx
@@ -0,0 +1,34 @@
+---
+sidebar_position: 20
+---
+
+# 开发新功能
+
+We are always keen to add features to Wails and expand on what the project can do. The process for adding new features are as follows: The process for adding new features are as follows: We are always keen to add features to Wails and expand on what the project can do. The process for adding new features are as follows: The process for adding new features are as follows: The process for adding new features are as follows:
+
+- Pick an enhancement ticket with the "TODO" label. Pick an enhancement ticket with the "TODO" label. Pick an enhancement ticket with the "TODO" label. It's preferable to select one from the current [Backlog](https://github.com/orgs/wailsapp/projects/1/views/1) but the choice is yours.
+- Before developing, check that the ticket includes the following information:
+- The purpose of the enhancement
+- What is out of scope for the enhancement
+- What platforms the enhancement targets (most features should be cross-platform unless there's a very specific reason)
+- If the ticket does not include this information, feel free to request the information from the person who opened the ticket. Sometimes placeholder tickets are created and require more details Sometimes placeholder tickets are created and require more details Sometimes placeholder tickets are created and require more details
+- Comment on the ticket stating you wish to develop the feature
+- Clone the repository and create a branch with the format `feature/_`
+- New features often require documentation so please ensure you have also added or updated the documentation as part of the changes
+- Once the feature is ready for testing, create a draft PR. Once the feature is ready for testing, create a draft PR. Once the feature is ready for testing, create a draft PR. Please ensure the PR description has the test scenarios and test cases listed with checkmarks, so that others can know what still needs to be tested. Once the feature is ready for testing, create a draft PR. Once the feature is ready for testing, create a draft PR. Please ensure the PR description has the test scenarios and test cases listed with checkmarks, so that others can know what still needs to be tested. Once the feature is ready for testing, create a draft PR. Once the feature is ready for testing, create a draft PR. Please ensure the PR description has the test scenarios and test cases listed with checkmarks, so that others can know what still needs to be tested.
+- Once all the testing is completed, please update the status of the PR from draft and leave a message.
+
+:::note
+There is nothing stopping you from opening a ticket and working on it yourself, but please be aware that all
+enhancement requests are reviewed for good fit. Not all ideas will be selected so it's best to have discussion
+on the ticket first.
+::: Not all ideas will be selected so it's best to have discussion
+on the ticket first.
+::: Not all ideas will be selected so it's best to have discussion
+on the ticket first.
+:::
+
+:::warning
+Any PRs opened without a corresponding ticket may be rejected.
+::: :::
+:::
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/contributing/documenting.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/contributing/documenting.mdx
new file mode 100644
index 00000000000..84e47290358
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/contributing/documenting.mdx
@@ -0,0 +1,34 @@
+---
+sidebar_position: 40
+---
+
+# 文档
+
+This website is also the main documentation site for the project. Sometimes this gets out of date and needs some slight adjustments. Some of the documentation isn't written to the best standards either. Developing documentation is hard and so any contribution to this is greatly appreciated. Features without documentation are unfinished so to the project, it's _as important_ as the code.
+
+We generally do not create tickets for updating documentation so if there is text you think should be updated or rephrased then feel free to submit a PR for that. This site is in the main repository under the `website` directory. We use [Docusaurus](https://docusaurus.io/) to create the site so there is plenty of existing documentation and tutorials around to get started. This site is in the main repository under the `website` directory. We use [Docusaurus](https://docusaurus.io/) to create the site so there is plenty of existing documentation and tutorials around to get started. This site is in the main repository under the `website` directory. We use [Docusaurus](https://docusaurus.io/) to create the site so there is plenty of existing documentation and tutorials around to get started.
+
+To set up a local documentation development environment, do the following:
+
+- [Install npm](https://docs.npmjs.com/cli/v8/configuring-npm/install)
+- `cd website`
+- `npm install`
+- `npm run start`
+
+After it has all installed and is running, you should see the site at [`http://localhost:3000`](http://localhost:3000). Any changes made to the site text will be immediately reflected in the browser. Any changes made to the site text will be immediately reflected in the browser. Any changes made to the site text will be immediately reflected in the browser.
+
+## Versioning
+
+We employ a versioning system where we have the "latest" documentation AKA "Next Version" which has all the changes that have occurred since the last release. We also keep the last release documentation as well as the version before that. We also keep the last release documentation as well as the version before that. We also keep the last release documentation as well as the version before that.
+
+There isn't usually a reason to update released documentation so we don't generally update the documents in the `versioned_docs` or `versioned_sidebars` directories.
+
+The "next version" docs are mainly in `website/docs` with some "version independent" documents in `src/pages`. Any updates should be made in the `website/docs` directory. Any updates should be made in the `website/docs` directory. Any updates should be made in the `website/docs` directory.
+
+## Languages
+
+The default documents of the Wails project are English documents. We use the "crowdin" tool to translate documents in other languages and synchronize them to the website. You can [join our project](https://crowdin.com/project/wails) and submit your translations to make contributions.
+
+### Add new language
+
+If you want to add a new language to the documentation, please follow the prompts to [fill in and submit an Issue](https://github.com/wailsapp/wails/issues/new?assignees=&labels=documentation&template=documentation.yml). After being confirmed by the maintainer, we will add the language to the "crowdin" and you will then be able to submit your translation.
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/contributing/fixing-bugs.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/contributing/fixing-bugs.mdx
new file mode 100644
index 00000000000..01eceeccd17
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/contributing/fixing-bugs.mdx
@@ -0,0 +1,29 @@
+---
+sidebar_position: 30
+---
+
+# 修复漏洞
+
+The process for fixing bugs are as follows:
+
+- Check the current [Backlog](https://github.com/orgs/wailsapp/projects/1/views/1) and select a bug to fix
+- Before developing, check that the ticket includes the following information:
+- The scope of the issue including platforms affected
+- The steps to reproduce. The steps to reproduce. The steps to reproduce. Sometimes bugs are opened that are not Wails issues and the onus is on the reporter to prove that it is a Wails issue with a minimal reproducible example
+- The output of `wails doctor`
+- If the ticket does not include this information, feel free to request the information from the person who opened the ticket.
+- Comment on the ticket stating you wish to develop a fix
+- Clone the repository and create a branch with the format `bugfix/_`
+- Once the fix is ready for testing, create a draft PR. Once the fix is ready for testing, create a draft PR. Please ensure the PR description has the test scenarios and test cases listed with checkmarks, so that others can know what still needs to be tested. Once the fix is ready for testing, create a draft PR. Please ensure the PR description has the test scenarios and test cases listed with checkmarks, so that others can know what still needs to be tested.
+- Once all the testing is completed, please update the status of the PR from draft and leave a message.
+
+:::note
+There is nothing stopping you from opening a ticket and working on it yourself, but please be aware that all
+bugfixes should be discussed as the approach may have unintended side effects.
+::: :::
+:::
+
+:::warning
+Any PRs opened without a corresponding ticket may be rejected.
+::: :::
+:::
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/contributing/setting-up-a-dev-environment.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/contributing/setting-up-a-dev-environment.mdx
new file mode 100644
index 00000000000..1133e275dec
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/contributing/setting-up-a-dev-environment.mdx
@@ -0,0 +1,30 @@
+---
+sidebar_position: 10
+---
+
+# 设置开发环境
+
+You can set up a development environment by doing the following:
+
+- Install the latest versions of Go and Git
+- `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".
+
+The Wails CLI will now be at the very latest version.
+
+To update projects to use the latest version, update the project's `go.mod` and ensure the following line is at the bottom of the file:
+
+`replace github.com/wailsapp/wails/v2 => `
+
+Example:
+
+On Windows: `replace 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`
+
+To revert back to a stable version, run:
+
+`go install github.com/wailsapp/wails/v2/cmd/wails@latest`
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/contributing/ways-of-contributing.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/contributing/ways-of-contributing.mdx
new file mode 100644
index 00000000000..3bbe9a889a0
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/contributing/ways-of-contributing.mdx
@@ -0,0 +1,18 @@
+---
+sidebar_position: 1
+---
+
+# 贡献方式
+
+Wails is an open source, community driven project. We welcome anyone to join us in contributing to the project. This documentation is aimed at anyone wishing to get familiar with the project and the development processes. We welcome anyone to join us in contributing to the project. This documentation is aimed at anyone wishing to get familiar with the project and the development processes.
+
+There are many ways to contribute to the project:
+
+- Developing new features
+- Fixing bugs
+- Testing
+- Documenting features
+- Writing tutorials / guides
+- Helping others on the issues + discussions boards
+
+Guides for these have been created in their own sections. Guides for these have been created in their own sections. Guides for these have been created in their own sections. Before getting started, please introduce yourself in the [Contributing to Wails](https://github.com/wailsapp/wails/discussions/1520) discussion.
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/_category_.json b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/_category_.json
new file mode 100644
index 00000000000..597b920dff9
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Getting Started",
+ "position": 10
+}
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/building.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/building.mdx
new file mode 100644
index 00000000000..c4fe879bc4c
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.5.0/gettingstarted/building.mdx
@@ -0,0 +1,22 @@
+---
+sidebar_position: 6
+---
+
+# 编译您的项目
+
+从项目目录,运行 `wails build`。 这将编译您的项目并将构建的可用于生产的二进制文件保存在 `build/bin` 目录中。
+
+如果您运行二进制文件,您应该会看到默认应用程序:
+
+```mdx-code-block
+
+
+```
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-pages/changelog.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-pages/changelog.mdx
index 6e2ab3e4e48..fa3f2403bed 100644
--- a/website/i18n/zh-Hans/docusaurus-plugin-content-pages/changelog.mdx
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-pages/changelog.mdx
@@ -30,6 +30,7 @@
- 修复 macOS 上的 `runtime.MenuUpdateApplicationMenu`。 由 @stffabi 在这个 [PR](https://github.com/wailsapp/wails/pull/2588) 中修复
- 修复了为 `libwebkit`/`pkg-config` 添加包名称并在 `zypper.go` 中使用 shell.RunCommandWithENV 而不是 shell.RunCommand。 由 @wgjtyu 在这个 [PR](https://github.com/wailsapp/wails/pull/2593) 中修复
- 确保在 Windows 上的主线程上启动 CommonFileDialogs。 由 @stffabi 在这个 [PR](https://github.com/wailsapp/wails/pull/2606) 中修复
+- 修复 `StartHidden` 选项在 Linux 上不生效。 由 @LGiki 在这个 [PR](https://github.com/wailsapp/wails/pull/2624) 中修复。
## v2.4.1 - 2023-03-20
diff --git a/website/src/pages/changelog.mdx b/website/src/pages/changelog.mdx
index eb69875ff9d..f08a679da8d 100644
--- a/website/src/pages/changelog.mdx
+++ b/website/src/pages/changelog.mdx
@@ -14,6 +14,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+## [v2.5.1] - 2023-05-16
+
+### Breaking Changes
+
+- The Go WebView2Loader allowed env variable and registry overrides to change the behaviour of WebView2. This is not possible when using the native WebView2Loader with Wails and should not be possible according to [PR](https://github.com/wailsapp/wails/pull/1771). Changed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2668)
+- `wails dev` now uses the custom schemes `wails://` on macOS and Linux for all Vite versions. This also fixes missing reloads after multiple fast savings on Linux and Windows. Changed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2664)
+
+### Fixed
+
+- Fixed segfaults during fast reloads of requests on macOS. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2664)
+- Fixed devserver on Linux for older WebKit2GTK versions < 2.36. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2664)
+- Fixed devserver on Windows that might have triggered the WebView2 into a hang. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2664)
+
+## v2.5.0 - 2023-05-13
+
### Breaking Changes
- `wails dev` now uses the custom schemes `wails://` on macOS and Linux if Vite >= `v3.0.0` is used. This makes the dev application consistent in behaviour with the final production application and fixes some long-standing inconsistencies. Changed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2610)
@@ -24,6 +39,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Added support for WebKit2GTK 2.40+ on Linux. This brings additional features for the [AssetServer](/docs/reference/options#assetserver), like support for HTTP Request Bodies. The app must be compiled with the Go build tag `webkit2_40` to activate support for this features. This also bumps the minimum requirement of WebKit2GTK to 2.40 for your app. Added by @stffabi in this [PR](https://github.com/wailsapp/wails/pull/2592)
- macOS: Added Window menu role with well known shortcuts "Minimize, Full-Screen and Zoom". Added by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2586)
- macOS: Added "Hide, Hide Others, Show All“ to appmenu. Added by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2586)
+- Windows: Added flag to disable the WebView2 `RendererCodeIntegrity` checks, please see the comment on the flag for more information. Added by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2627)
+- Windows: Added handling of WebView2 process crashes, for unrecoverable errors an error message is shown that the app needs to be restarted. If an error occurs that shows a chromium error page, make sure the Window and the WebView2 is visible. Added by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2627)
### Changed
@@ -37,6 +54,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fixed `runtime.MenuUpdateApplicationMenu` on macOS. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2588)
- Fixed add package name for `libwebkit`/`pkg-config` and use shell.RunCommandWithENV instead of shell.RunCommand in `zypper.go`. Fixed by @wgjtyu in [PR](https://github.com/wailsapp/wails/pull/2593)
- Make sure to start the CommonFileDialogs on Windows on the Main-Thread. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2606)
+- Fixed generated typescript bindings. Fixed by @dominictwlee in [PR](https://github.com/wailsapp/wails/pull/2552)
+- Fixed `StartHidden` option not working on Linux. Fixed by @LGiki in [PR](https://github.com/wailsapp/wails/pull/2624)
## v2.4.1 - 2023-03-20
diff --git a/website/static/img/sponsors.svg b/website/static/img/sponsors.svg
index 28b5a199e92..81e2d15dc91 100644
--- a/website/static/img/sponsors.svg
+++ b/website/static/img/sponsors.svg
@@ -20,24 +20,20 @@ text {
Cody BentleyCovering Costs
- Nick
-
+ Nick
+
- Marcus
-
+ Marcus
+
- John
-
+ John
+
- Matt Holt
-
-
-
- Loïc
-
+ Matt Holt
+ Buying Breakfasttc-hib
@@ -62,82 +58,82 @@ text {
Arden
-
- Aceix
-
+
+ beproac...
+ Buying Coffee
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+ Helpers
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
+
diff --git a/website/versioned_docs/version-v2.3.1/community/showcase/emailit.mdx b/website/versioned_docs/version-v2.3.1/community/showcase/emailit.mdx
deleted file mode 100644
index 04150ba28d8..00000000000
--- a/website/versioned_docs/version-v2.3.1/community/showcase/emailit.mdx
+++ /dev/null
@@ -1,10 +0,0 @@
-# EmailIt
-
-```mdx-code-block
-
-
-
-
-```
-
-[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 builtin [Node-Red](https://nodered.org/) server, scripts terminal, and the [ScriptBar](https://github.com/raguay/ScriptBarApp) program for displaying results from Node-Red or a script on your system. Documentation is very scarce, but the programs works. It’s built using Wails2 and Svelte, and the download is a universal macOS application.
diff --git a/website/versioned_docs/version-v2.3.1/community/showcase/scriptbar.mdx b/website/versioned_docs/version-v2.3.1/community/showcase/scriptbar.mdx
deleted file mode 100644
index 2ccb2acb4f7..00000000000
--- a/website/versioned_docs/version-v2.3.1/community/showcase/scriptbar.mdx
+++ /dev/null
@@ -1,10 +0,0 @@
-# ScriptBar
-
-```mdx-code-block
-
-
-
-
-```
-
-[ScriptBar](https://GitHub.com/raguay/ScriptBarApp) is a program to show the output of the embedded [Node-Red](https://nodered.org) server in the [EmailIt](https://GitHub.com/raguay/EmailIt) application. It also displays the output of scripts on your system. ScriptBar doesn't put them in the menubar, but has them all in a convient window for easy viewing. You can have multiple tabs to have many different things show. You can also keep the links to your most visited web sites.
diff --git a/website/versioned_docs/version-v2.3.1/reference/project-config.mdx b/website/versioned_docs/version-v2.3.1/reference/project-config.mdx
deleted file mode 100644
index 43b9062696b..00000000000
--- a/website/versioned_docs/version-v2.3.1/reference/project-config.mdx
+++ /dev/null
@@ -1,58 +0,0 @@
----
-sidebar_position: 5
----
-
-# Project Config
-
-The project config resides in the `wails.json` file in the project directory. The structure of the config is:
-
-```json
-{
- "name": "[The project name]",
- "assetdir": "[Relative path to the directory containing the compiled assets, this is normally inferred and could be left empty]",
- "reloaddirs": "[Additional directories to trigger reloads (comma separated), this is only used for some advanced asset configurations]",
- "build:dir": "[The directory where the build files reside. Defaults to 'build']",
- "frontend:dir": "[Relative path to the frontend directory. Defaults to 'frontend']",
- "frontend:install": "[The command to install node dependencies, run in the frontend directory - often `npm install`]",
- "frontend:build": "[The command to build the assets, run in the frontend directory - often `npm run build`]",
- "frontend:dev": "[This command has been replaced by frontend:dev:build. If frontend:dev:build is not specified will falls back to this command. \nIf this command is also not specified will falls back to frontend:build]",
- "frontend:dev:build": "[This command is the dev equivalent of frontend:build. If not specified falls back to frontend:dev]",
- "frontend:dev:install": "[This command is the dev equivalent of frontend:install. If not specified falls back to frontend:install]",
- "frontend:dev:watcher": "[This command is run in a separate process on `wails dev`. Useful for 3rd party watchers or starting 3d party dev servers]",
- "frontend:dev:serverUrl": "[URL to a 3rd party dev server to be used to serve assets, EG Vite. \nIf this is set to 'auto' then the devServerUrl will be inferred from the Vite output]",
- "wailsjsdir": "[Relative path to the directory that the auto-generated JS modules will be created]",
- "version": "[Project config version]",
- "outputfilename": "[The name of the binary]",
- "debounceMS": 100, // The default time the dev server waits to reload when it detects a change in assets
- "devServer": "[Address to bind the wails dev sever to. Default: localhost:34115]",
- "appargs": "[Arguments passed to the application in shell style when in dev mode]",
- "runNonNativeBuildHooks": false, // Defines if build hooks should be run though they are defined for an OS other than the host OS.
- "preBuildHooks": {
- "GOOS/GOARCH": "[The command that will be executed before a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.]",
- "GOOS/*": "[The command that will be executed before a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/*" hook is executed before the "*/*" hook.]",
- "*/*": "[The command that will be executed before every build: ${platform} is replaced with the "GOOS/GOARCH".]"
- },
- "postBuildHooks": {
- "GOOS/GOARCH": "[The command that will be executed after a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.]",
- "GOOS/*": "[The command that will be executed after a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/*" hook is executed before the "*/*" hook.]",
- "*/*": "[The command that will be executed after every build: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary.]"
- },
- "info": { // Data used to populate manifests and version info.
- "companyName": "[The company name. Default: [The project name]]",
- "productName": "[The product name. Default: [The project name]]",
- "productVersion": "[The version of the product. Default: '1.0.0']",
- "copyright": "[The copyright of the product. Default: 'Copyright.........']",
- "comments": "[A short comment of the app. Default: 'Built using Wails (https://wails.app)']"
- },
- "nsisType": "['multiple': One installer per architecture. 'single': Single universal installer for all architectures being built. Default: 'multiple']",
- "obfuscated": "[Whether the app should be obfuscated. Default: false]",
- "garbleargs": "[The arguments to pass to the garble command when using the obfuscated flag]"
-}
-```
-
-This file is read by the Wails CLI when running `wails build` or `wails dev`.
-
-The `assetdir`, `reloaddirs`, `wailsjsdir`, `debounceMS`, `devserver` and `frontenddevserverurl` flags in `wails build/dev` will update the project config
-and thus become defaults for subsequent runs.
-
-The JSON Schema for this file is located [here](https://wails.io/schemas/config.v2.json).
diff --git a/website/versioned_docs/version-v2.5.0/appendix/_category_.json b/website/versioned_docs/version-v2.5.0/appendix/_category_.json
new file mode 100644
index 00000000000..83af4ca28fd
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/appendix/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Appendix",
+ "position": 70
+}
diff --git a/website/versioned_docs/version-v2.5.0/community/_category_.json b/website/versioned_docs/version-v2.5.0/community/_category_.json
new file mode 100644
index 00000000000..524986e1e49
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Community",
+ "position": 50
+}
diff --git a/website/versioned_docs/version-v2.3.1/community/links.mdx b/website/versioned_docs/version-v2.5.0/community/links.mdx
similarity index 83%
rename from website/versioned_docs/version-v2.3.1/community/links.mdx
rename to website/versioned_docs/version-v2.5.0/community/links.mdx
index 6b02e7e3862..fe8b51dd0d6 100644
--- a/website/versioned_docs/version-v2.3.1/community/links.mdx
+++ b/website/versioned_docs/version-v2.5.0/community/links.mdx
@@ -14,8 +14,6 @@ The [definitive list](https://github.com/wailsapp/awesome-wails) of links relate
## Support Channels
- [Wails Discord Server](https://discord.gg/JDdSxwjhGf)
-- DEPRECATED [Gophers Slack Channel](https://gophers.slack.com/messages/CJ4P9F7MZ/)
-- DEPRECATED [Gophers Slack Channel Invite](https://invite.slack.golangbridge.org/)
- [Github Issues](https://github.com/wailsapp/wails/issues)
- [v2 Beta Discussion Board](https://github.com/wailsapp/wails/discussions/828)
@@ -25,4 +23,5 @@ The [definitive list](https://github.com/wailsapp/awesome-wails) of links relate
- [Wails Chinese Community QQ Group](https://qm.qq.com/cgi-bin/qm/qr?k=PmIURne5hFGNd7QWzW5qd6FV-INEjNJv&jump_from=webapi) - Group number: 1067173054
## Other Tutorials and Articles
+
- [Building of Bulletin Board](https://blog.customct.com/building-bulletin-board)
diff --git a/website/versioned_docs/version-v2.5.0/community/showcase/_category_.json b/website/versioned_docs/version-v2.5.0/community/showcase/_category_.json
new file mode 100644
index 00000000000..276e283b71f
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/showcase/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Showcase",
+ "position": 1
+}
diff --git a/website/versioned_docs/version-v2.5.0/community/showcase/bulletinboard.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/bulletinboard.mdx
new file mode 100644
index 00000000000..37be75135ed
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/showcase/bulletinboard.mdx
@@ -0,0 +1,10 @@
+# BulletinBoard
+
+```mdx-code-block
+
+
+
+
+```
+
+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).
diff --git a/website/versioned_docs/version-v2.5.0/community/showcase/emailit.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/emailit.mdx
new file mode 100644
index 00000000000..c1817b70fff
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/showcase/emailit.mdx
@@ -0,0 +1,10 @@
+# EmailIt
+
+```mdx-code-block
+
+
+
+
+```
+
+[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.
diff --git a/website/versioned_docs/version-v2.3.1/community/showcase/encrypteasy.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/encrypteasy.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/community/showcase/encrypteasy.mdx
rename to website/versioned_docs/version-v2.5.0/community/showcase/encrypteasy.mdx
diff --git a/website/versioned_docs/version-v2.3.1/community/showcase/filehound.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/filehound.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/community/showcase/filehound.mdx
rename to website/versioned_docs/version-v2.5.0/community/showcase/filehound.mdx
diff --git a/website/versioned_docs/version-v2.5.0/community/showcase/hiposter.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/hiposter.mdx
new file mode 100644
index 00000000000..c0f9052c34d
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/showcase/hiposter.mdx
@@ -0,0 +1,10 @@
+# hiposter
+
+```mdx-code-block
+
+
+
+
+```
+
+[hiposter](https://github.com/obity/hiposter) is a simple and efficient http API testing client tool. Based on Wails, Go and sveltejs.
\ No newline at end of file
diff --git a/website/versioned_docs/version-v2.5.0/community/showcase/minecraftupdater.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/minecraftupdater.mdx
new file mode 100644
index 00000000000..2f6c7c72b57
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/showcase/minecraftupdater.mdx
@@ -0,0 +1,14 @@
+# Minecraft Updater
+
+```mdx-code-block
+
+
+
+
+```
+
+[Minecraft Updater](https://github.com/Gurkengewuerz/MinecraftModUpdater) is a utility tool to update and synchronize Minecraft mods for your userbase. It’s built using Wails2 and React with [antd](https://ant.design/) as frontend framework.
diff --git a/website/versioned_docs/version-v2.5.0/community/showcase/modalfilemanager.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/modalfilemanager.mdx
new file mode 100644
index 00000000000..bcd21239607
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/showcase/modalfilemanager.mdx
@@ -0,0 +1,14 @@
+# Modal File Manager
+
+```mdx-code-block
+
+
+
+
+```
+
+[Modal File Manager](https://github.com/raguay/ModalFileManager) is a dual pane file manager using web technologies. My original design was based on NW.js and can be found [here](https://github.com/raguay/ModalFileManager-NWjs). This version uses the same Svelte based frontend code (but it has be greatly modified since the departure from NW.js), but the backend is a [Wails 2](https://wails.io/) implementation. 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. It is fully coded using Go and runs much faster than the previous versions.
+
+This file manager is designed around the same principle as Vim: a state controlled keyboard actions. The number of states isn't fixed, but very programmable. Therefore, an infinite number of keyboard configurations can be created and used. This is the main difference from other file managers. There are themes and extensions available to download from GitHub.
diff --git a/website/versioned_docs/version-v2.5.0/community/showcase/mollywallet.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/mollywallet.mdx
new file mode 100644
index 00000000000..5d846d06d33
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/showcase/mollywallet.mdx
@@ -0,0 +1,10 @@
+# Molley Wallet
+
+```mdx-code-block
+
+
+
+
+```
+
+[Molly Wallet](https://github.com/grvlle/constellation_wallet/) the official $DAG wallet of the Constellation Network. It'll let users interact with the Hypergraph Network in various ways, not limited to producing $DAG transactions.
diff --git a/website/versioned_docs/version-v2.5.0/community/showcase/october.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/october.mdx
new file mode 100644
index 00000000000..66d634dc519
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/showcase/october.mdx
@@ -0,0 +1,14 @@
+# October
+
+```mdx-code-block
+
+
+
+
+```
+
+[October](https://october.utf9k.net) is a small Wails application that makes it really easy to extract highlights from [Kobo eReaders](https://en.wikipedia.org/wiki/Kobo_eReader) and then forward them to [Readwise](https://readwise.io).
+
+It has a relatively small scope with all platform versions weighing in under 10MB, and that's without enabling [UPX compression](https://upx.github.io/)!
+
+In contrast, the author's previous attempts with Electron quickly bloated to several hundred megabytes.
diff --git a/website/versioned_docs/version-v2.5.0/community/showcase/optimus.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/optimus.mdx
new file mode 100644
index 00000000000..4f87479d6cf
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/showcase/optimus.mdx
@@ -0,0 +1,10 @@
+# Optimus
+
+```mdx-code-block
+
+
+
+
+```
+
+[Optimus](https://github.com/splode/optimus) is a desktop image optimization application. It supports conversion and compression between WebP, JPEG, and PNG image formats.
diff --git a/website/versioned_docs/version-v2.5.0/community/showcase/portfall.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/portfall.mdx
new file mode 100644
index 00000000000..03e740f4c6d
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/showcase/portfall.mdx
@@ -0,0 +1,10 @@
+# Portfall
+
+```mdx-code-block
+
+
+
+
+```
+
+[Portfall](https://github.com/rekon-oss/portfall) - A desktop k8s port-forwarding portal for easy access to all your cluster UIs
diff --git a/website/versioned_docs/version-v2.5.0/community/showcase/restic-browser.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/restic-browser.mdx
new file mode 100644
index 00000000000..3646384ecad
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/showcase/restic-browser.mdx
@@ -0,0 +1,12 @@
+# Restic Browser
+
+```mdx-code-block
+
+
+
+
+```
+
+[Restic-Browser](https://github.com/emuell/restic-browser) - A simple, cross-platform [restic](https://github.com/restic/restic) backup GUI for browsing and restoring restic repositories.
diff --git a/website/versioned_docs/version-v2.5.0/community/showcase/riftshare.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/riftshare.mdx
new file mode 100644
index 00000000000..9928b478576
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/showcase/riftshare.mdx
@@ -0,0 +1,21 @@
+# RiftShare
+
+```mdx-code-block
+
+
+
+
+```
+
+Easy, Secure, and Free file sharing for everyone. Learn more at [Riftshare.app](https://riftshare.app)
+
+## Features
+
+- Easy secure file sharing between computers both in the local network and through the internet
+- Supports sending files or directories securely through the [magic wormhole protocol](https://magic-wormhole.readthedocs.io/en/latest/)
+- Compatible with all other apps using magic wormhole (magic-wormhole or wormhole-william CLI, wormhole-gui, etc.)
+- Automatic zipping of multiple selected files to send at once
+- Full animations, progress bar, and cancellation support for sending and receiving
+- Native OS File Selection
+- Open files in one click once received
+- Auto Update - don't worry about having the latest release!
diff --git a/website/versioned_docs/version-v2.5.0/community/showcase/scriptbar.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/scriptbar.mdx
new file mode 100644
index 00000000000..3e41eb32abf
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/showcase/scriptbar.mdx
@@ -0,0 +1,10 @@
+# ScriptBar
+
+```mdx-code-block
+
+
+
+
+```
+
+[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. It also displays the output of scripts on your system. ScriptBar doesn't put them in the menubar, but has them all in a convient window for easy viewing. You can have multiple tabs to have many different things show. You can also keep the links to your most visited web sites.
diff --git a/website/versioned_docs/version-v2.5.0/community/showcase/surge.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/surge.mdx
new file mode 100644
index 00000000000..c3b3fb4c06d
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/showcase/surge.mdx
@@ -0,0 +1,10 @@
+# Surge
+
+```mdx-code-block
+
+
+
+
+```
+
+[Surge](https://getsurge.io/) is a p2p filesharing app designed to utilize blockchain technologies to enable 100% anonymous file transfers. Surge is end-to-end encrypted, decentralized and open source.
diff --git a/website/versioned_docs/version-v2.5.0/community/showcase/wally.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/wally.mdx
new file mode 100644
index 00000000000..7408aa5854f
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/showcase/wally.mdx
@@ -0,0 +1,10 @@
+# Wally
+
+```mdx-code-block
+
+
+
+
+```
+
+[Wally](https://ergodox-ez.com/pages/wally) is the official firmware flasher for [Ergodox](https://ergodox-ez.com/) keyboards. It looks great and is a fantastic example of what you can achieve with Wails: the ability to combine the power of Go and the rich graphical tools of the web development world.
diff --git a/website/versioned_docs/version-v2.5.0/community/showcase/warmine.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/warmine.mdx
new file mode 100644
index 00000000000..46b10b5b1fe
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/showcase/warmine.mdx
@@ -0,0 +1,19 @@
+# Minecraft launcher for 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.
+
+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.
+
+Frontend is written in Svelte, whole launcher fits in 9MB and supports Windows 7-11.
diff --git a/website/versioned_docs/version-v2.5.0/community/showcase/wombat.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/wombat.mdx
new file mode 100644
index 00000000000..f100c55e2de
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/showcase/wombat.mdx
@@ -0,0 +1,10 @@
+# Wombat
+
+```mdx-code-block
+
+
+
+
+```
+
+[Wombat](https://github.com/rogchap/wombat) is a cross platform gRPC client.
diff --git a/website/versioned_docs/version-v2.5.0/community/showcase/ytd.mdx b/website/versioned_docs/version-v2.5.0/community/showcase/ytd.mdx
new file mode 100644
index 00000000000..5db428f722c
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/community/showcase/ytd.mdx
@@ -0,0 +1,10 @@
+# Ytd
+
+```mdx-code-block
+
+
+
+
+```
+
+[Ytd](https://github.com/marcio199226/ytd/tree/v2-wails) is an app for downloading tracks from youtube, creating offline playlists and share them with your friends, your friends will be able to playback your playlists or download them for offline listening, has an built-in player.
diff --git a/website/versioned_docs/version-v2.3.1/community/templates.mdx b/website/versioned_docs/version-v2.5.0/community/templates.mdx
similarity index 90%
rename from website/versioned_docs/version-v2.3.1/community/templates.mdx
rename to website/versioned_docs/version-v2.5.0/community/templates.mdx
index eef7f6fa02d..e73bbec2b0d 100644
--- a/website/versioned_docs/version-v2.3.1/community/templates.mdx
+++ b/website/versioned_docs/version-v2.5.0/community/templates.mdx
@@ -32,6 +32,7 @@ If you are unsure about a template, inspect `package.json` and `wails.json` for
## Angular
+- [wails-template-angular](https://github.com/mateothegreat/wails-template-angular) - Angular 15+ action packed & ready to roll to production.
- [wails-angular-template](https://github.com/TAINCER/wails-angular-template) - Angular with TypeScript, Sass, Hot-Reload, Code-Splitting and i18n
## React
@@ -48,6 +49,11 @@ If you are unsure about a template, inspect `package.json` and `wails.json` for
- [wails-vite-svelte-tailwind-template](https://github.com/BillBuilt/wails-vite-svelte-tailwind-template) - A template using Svelte and Vite with TailwindCSS v3
- [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
+
## 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:
diff --git a/website/versioned_docs/version-v2.5.0/gettingstarted/_category_.json b/website/versioned_docs/version-v2.5.0/gettingstarted/_category_.json
new file mode 100644
index 00000000000..597b920dff9
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/gettingstarted/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Getting Started",
+ "position": 10
+}
diff --git a/website/versioned_docs/version-v2.3.1/gettingstarted/building.mdx b/website/versioned_docs/version-v2.5.0/gettingstarted/building.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/gettingstarted/building.mdx
rename to website/versioned_docs/version-v2.5.0/gettingstarted/building.mdx
diff --git a/website/versioned_docs/version-v2.3.1/gettingstarted/development.mdx b/website/versioned_docs/version-v2.5.0/gettingstarted/development.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/gettingstarted/development.mdx
rename to website/versioned_docs/version-v2.5.0/gettingstarted/development.mdx
diff --git a/website/versioned_docs/version-v2.3.1/gettingstarted/firstproject.mdx b/website/versioned_docs/version-v2.5.0/gettingstarted/firstproject.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/gettingstarted/firstproject.mdx
rename to website/versioned_docs/version-v2.5.0/gettingstarted/firstproject.mdx
diff --git a/website/versioned_docs/version-v2.3.1/gettingstarted/installation.mdx b/website/versioned_docs/version-v2.5.0/gettingstarted/installation.mdx
similarity index 98%
rename from website/versioned_docs/version-v2.3.1/gettingstarted/installation.mdx
rename to website/versioned_docs/version-v2.5.0/gettingstarted/installation.mdx
index 0e4bd0a5098..331ca5062df 100644
--- a/website/versioned_docs/version-v2.3.1/gettingstarted/installation.mdx
+++ b/website/versioned_docs/version-v2.5.0/gettingstarted/installation.mdx
@@ -57,7 +57,7 @@ import TabItem from "@theme/TabItem";
Wails requires that the WebView2 runtime is installed. Some Windows installations will already have this installed. You can check using the wails doctor command.
- Linux required the standard gcc build tools plus libgtk3 and libwebkit. Rather than list a ton of commands for different distros, Wails can try to determine what the installation commands are for your specific distribution. Run wails doctor after installation to be shown how to install the dependencies. If your distro/package manager is not supported, please consult the Add Linux Distro guide.
+ Linux requires the standard gcc build tools plus libgtk3 and libwebkit. Rather than list a ton of commands for different distros, Wails can try to determine what the installation commands are for your specific distribution. Run wails doctor after installation to be shown how to install the dependencies. If your distro/package manager is not supported, please consult the Add Linux Distro guide.
```
diff --git a/website/versioned_docs/version-v2.5.0/guides/_category_.json b/website/versioned_docs/version-v2.5.0/guides/_category_.json
new file mode 100644
index 00000000000..5935dad936c
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/guides/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Guides",
+ "position": 50
+}
diff --git a/website/versioned_docs/version-v2.3.1/guides/angular.mdx b/website/versioned_docs/version-v2.5.0/guides/angular.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/guides/angular.mdx
rename to website/versioned_docs/version-v2.5.0/guides/angular.mdx
diff --git a/website/versioned_docs/version-v2.3.1/guides/application-development.mdx b/website/versioned_docs/version-v2.5.0/guides/application-development.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/guides/application-development.mdx
rename to website/versioned_docs/version-v2.5.0/guides/application-development.mdx
diff --git a/website/versioned_docs/version-v2.3.1/guides/dynamic-assets.mdx b/website/versioned_docs/version-v2.5.0/guides/dynamic-assets.mdx
similarity index 99%
rename from website/versioned_docs/version-v2.3.1/guides/dynamic-assets.mdx
rename to website/versioned_docs/version-v2.5.0/guides/dynamic-assets.mdx
index 806accf18d2..0516fb72954 100644
--- a/website/versioned_docs/version-v2.3.1/guides/dynamic-assets.mdx
+++ b/website/versioned_docs/version-v2.5.0/guides/dynamic-assets.mdx
@@ -11,7 +11,7 @@ By installing a custom AssetsHandler, you can serve your own assets using a cust
In our example project, we will create a simple assets handler which will load files off disk:
-```go title=main.go {16-35,49}
+```go title=main.go {17-36,49}
package main
import (
diff --git a/website/versioned_docs/version-v2.3.1/guides/frameless.mdx b/website/versioned_docs/version-v2.5.0/guides/frameless.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/guides/frameless.mdx
rename to website/versioned_docs/version-v2.5.0/guides/frameless.mdx
diff --git a/website/versioned_docs/version-v2.3.1/guides/frontend.mdx b/website/versioned_docs/version-v2.5.0/guides/frontend.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/guides/frontend.mdx
rename to website/versioned_docs/version-v2.5.0/guides/frontend.mdx
diff --git a/website/versioned_docs/version-v2.3.1/guides/ides.mdx b/website/versioned_docs/version-v2.5.0/guides/ides.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/guides/ides.mdx
rename to website/versioned_docs/version-v2.5.0/guides/ides.mdx
diff --git a/website/versioned_docs/version-v2.3.1/guides/linux-distro-support.mdx b/website/versioned_docs/version-v2.5.0/guides/linux-distro-support.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/guides/linux-distro-support.mdx
rename to website/versioned_docs/version-v2.5.0/guides/linux-distro-support.mdx
diff --git a/website/versioned_docs/version-v2.3.1/guides/linux.mdx b/website/versioned_docs/version-v2.5.0/guides/linux.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/guides/linux.mdx
rename to website/versioned_docs/version-v2.5.0/guides/linux.mdx
diff --git a/website/versioned_docs/version-v2.3.1/guides/local-development.mdx b/website/versioned_docs/version-v2.5.0/guides/local-development.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/guides/local-development.mdx
rename to website/versioned_docs/version-v2.5.0/guides/local-development.mdx
diff --git a/website/versioned_docs/version-v2.3.1/guides/mac-appstore.mdx b/website/versioned_docs/version-v2.5.0/guides/mac-appstore.mdx
similarity index 81%
rename from website/versioned_docs/version-v2.3.1/guides/mac-appstore.mdx
rename to website/versioned_docs/version-v2.5.0/guides/mac-appstore.mdx
index 2714647301d..d2c3a945857 100644
--- a/website/versioned_docs/version-v2.3.1/guides/mac-appstore.mdx
+++ b/website/versioned_docs/version-v2.5.0/guides/mac-appstore.mdx
@@ -21,6 +21,12 @@ This page gives a brief overview of how to submit your Wails App to the Mac App
3. Populate your app with the correct screen shots, descriptions, etc. as required by Apple
4. Create a new version of your app
+#### 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.
## Mac App Store Process
@@ -30,7 +36,7 @@ Apps submitted to the Mac App Store must run under Apple's [App Sandbox](https:/
**Example Entitlements File**
-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.
+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.
```xml title="entitlements.plist"
@@ -47,10 +53,17 @@ This is an example entitlements file from the [RiftShare](https://github.com/ach
com.apple.security.files.downloads.read-write
+ com.apple.application-identifier
+ TEAM_ID.APP_NAME
+ com.apple.developer.team-identifier
+ TEAM_ID
```
+**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.
+
#### Build and Sign the App Package
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.
@@ -66,6 +79,8 @@ APP_NAME="YourApp"
wails build -platform darwin/universal -clean
+cp ./embedded.provisionprofile "./build/bin/$APP_NAME.app/Contents"
+
codesign --timestamp --options=runtime -s "$APP_CERTIFICATE" -v --entitlements ./build/darwin/entitlements.plist ./build/bin/$APP_NAME.app
productbuild --sign "$PKG_CERTIFICATE" --component ./build/bin/$APP_NAME.app /Applications ./$APP_NAME.pkg
@@ -80,4 +95,4 @@ You will need to upload the generated package file and associate it to your Appl
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.
-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.
\ No newline at end of file
+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.
diff --git a/website/versioned_docs/version-v2.3.1/guides/manual-builds.mdx b/website/versioned_docs/version-v2.5.0/guides/manual-builds.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/guides/manual-builds.mdx
rename to website/versioned_docs/version-v2.5.0/guides/manual-builds.mdx
diff --git a/website/versioned_docs/version-v2.3.1/guides/migrating.mdx b/website/versioned_docs/version-v2.5.0/guides/migrating.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/guides/migrating.mdx
rename to website/versioned_docs/version-v2.5.0/guides/migrating.mdx
diff --git a/website/versioned_docs/version-v2.3.1/guides/mouse-buttons.mdx b/website/versioned_docs/version-v2.5.0/guides/mouse-buttons.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/guides/mouse-buttons.mdx
rename to website/versioned_docs/version-v2.5.0/guides/mouse-buttons.mdx
diff --git a/website/versioned_docs/version-v2.3.1/guides/obfuscated.mdx b/website/versioned_docs/version-v2.5.0/guides/obfuscated.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/guides/obfuscated.mdx
rename to website/versioned_docs/version-v2.5.0/guides/obfuscated.mdx
diff --git a/website/versioned_docs/version-v2.3.1/guides/overscroll.mdx b/website/versioned_docs/version-v2.5.0/guides/overscroll.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/guides/overscroll.mdx
rename to website/versioned_docs/version-v2.5.0/guides/overscroll.mdx
diff --git a/website/versioned_docs/version-v2.5.0/guides/routing.mdx b/website/versioned_docs/version-v2.5.0/guides/routing.mdx
new file mode 100644
index 00000000000..ce176943ea5
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/guides/routing.mdx
@@ -0,0 +1,47 @@
+# Routing
+
+Routing is a popular way to switch views in an application. This page offers some guidance around how to do that.
+
+## Vue
+
+The recommended approach for routing in Vue is [Hash Mode](https://next.router.vuejs.org/guide/essentials/history-mode.html#hash-mode):
+
+```js
+import { createRouter, createWebHashHistory } from "vue-router";
+
+const router = createRouter({
+ history: createWebHashHistory(),
+ routes: [
+ //...
+ ],
+});
+```
+
+## Angular
+
+The recommended approach for routing in Angular is [HashLocationStrategy](https://codecraft.tv/courses/angular/routing/routing-strategies#_hashlocationstrategy):
+
+```ts
+RouterModule.forRoot(routes, { useHash: true });
+```
+
+## React
+
+The recommended approach for routing in React is [HashRouter](https://reactrouter.com/en/main/router-components/hash-router):
+
+```jsx
+import { HashRouter } from "react-router-dom";
+
+ReactDOM.render(
+
+ {/* The rest of your app goes here */}
+
+ } exact />
+ } />
+ } />
+ {/* more... */}
+
+ ,
+ root
+);
+```
diff --git a/website/versioned_docs/version-v2.3.1/guides/signing.mdx b/website/versioned_docs/version-v2.5.0/guides/signing.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/guides/signing.mdx
rename to website/versioned_docs/version-v2.5.0/guides/signing.mdx
diff --git a/website/versioned_docs/version-v2.3.1/guides/templates.mdx b/website/versioned_docs/version-v2.5.0/guides/templates.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/guides/templates.mdx
rename to website/versioned_docs/version-v2.5.0/guides/templates.mdx
diff --git a/website/versioned_docs/version-v2.3.1/guides/troubleshooting.mdx b/website/versioned_docs/version-v2.5.0/guides/troubleshooting.mdx
similarity index 94%
rename from website/versioned_docs/version-v2.3.1/guides/troubleshooting.mdx
rename to website/versioned_docs/version-v2.5.0/guides/troubleshooting.mdx
index f668b0ec602..9a68610c39b 100644
--- a/website/versioned_docs/version-v2.3.1/guides/troubleshooting.mdx
+++ b/website/versioned_docs/version-v2.5.0/guides/troubleshooting.mdx
@@ -173,4 +173,8 @@ Sources: https://github.com/wailsapp/wails/issues/1806 and https://github.com/wa
It's preferable to add `frontend/node_modules` and `frontend/package-lock.json` to your `.gitignore`. Otherwise when opening your repository on another machine
that may have different versions of Node installed, you may not be able to run your application.
-If this does happen, simply delete `frontend/node_modules` and `frontend/package-lock.json` and run your `wails build` or `wails dev` command again.
\ No newline at end of file
+If this does happen, simply delete `frontend/node_modules` and `frontend/package-lock.json` and run your `wails build` or `wails dev` command again.
+
+## Build process stuck on "Generating bindings"
+
+Bindings generation process runs your application in a special mode. If application, intentionally or unintentionally, contains an endless loop (i.e. not exiting after `wails.Run()` finished), this can lead to build process stuck on the stage of bindings generation. Please make sure your code exits properly.
diff --git a/website/versioned_docs/version-v2.3.1/guides/vscode.mdx b/website/versioned_docs/version-v2.5.0/guides/vscode.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/guides/vscode.mdx
rename to website/versioned_docs/version-v2.5.0/guides/vscode.mdx
diff --git a/website/versioned_docs/version-v2.3.1/guides/windows-installer.mdx b/website/versioned_docs/version-v2.5.0/guides/windows-installer.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/guides/windows-installer.mdx
rename to website/versioned_docs/version-v2.5.0/guides/windows-installer.mdx
diff --git a/website/versioned_docs/version-v2.3.1/guides/windows.mdx b/website/versioned_docs/version-v2.5.0/guides/windows.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/guides/windows.mdx
rename to website/versioned_docs/version-v2.5.0/guides/windows.mdx
diff --git a/website/versioned_docs/version-v2.3.1/howdoesitwork.mdx b/website/versioned_docs/version-v2.5.0/howdoesitwork.mdx
similarity index 99%
rename from website/versioned_docs/version-v2.3.1/howdoesitwork.mdx
rename to website/versioned_docs/version-v2.5.0/howdoesitwork.mdx
index 2db56daa5f2..e9f2c6e3dc4 100644
--- a/website/versioned_docs/version-v2.3.1/howdoesitwork.mdx
+++ b/website/versioned_docs/version-v2.5.0/howdoesitwork.mdx
@@ -141,7 +141,7 @@ Wails requires that you pass in an _instance_ of the struct for it to bind it co
In this example, we create a new `App` instance and then add this instance to the `Bind` option in `wails.Run`:
-```go {16,24} title="main.go"
+```go {17,27} title="main.go"
package main
import (
@@ -188,7 +188,7 @@ func (a *App) Greet(name string) string {
You may bind as many structs as you like. Just make sure you create an instance of it and pass it in `Bind`:
-```go {8-10}
+```go {10-12}
//...
err := wails.Run(&options.App{
Title: "Basic Demo",
@@ -276,7 +276,7 @@ it will be returned to your frontend as a JavaScript class.
:::info Note
-Struct fields *must* have a valid `json` tag to be included in the generated TypeScript.
+Struct fields _must_ have a valid `json` tag to be included in the generated TypeScript.
Anonymous nested structs are not supported at this time.
diff --git a/website/versioned_docs/version-v2.3.1/introduction.mdx b/website/versioned_docs/version-v2.5.0/introduction.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/introduction.mdx
rename to website/versioned_docs/version-v2.5.0/introduction.mdx
diff --git a/website/versioned_docs/version-v2.5.0/reference/_category_.json b/website/versioned_docs/version-v2.5.0/reference/_category_.json
new file mode 100644
index 00000000000..ebb337b8360
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/reference/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Reference",
+ "position": 40
+}
diff --git a/website/versioned_docs/version-v2.3.1/reference/cli.mdx b/website/versioned_docs/version-v2.5.0/reference/cli.mdx
similarity index 99%
rename from website/versioned_docs/version-v2.3.1/reference/cli.mdx
rename to website/versioned_docs/version-v2.5.0/reference/cli.mdx
index 4a73292ae43..c76baaadda5 100644
--- a/website/versioned_docs/version-v2.3.1/reference/cli.mdx
+++ b/website/versioned_docs/version-v2.5.0/reference/cli.mdx
@@ -85,8 +85,10 @@ Example:
`wails build -clean -o myproject.exe`
-:::Info
+:::info
+
On Mac, the application will be bundled with `Info.plist`, not `Info.dev.plist`.
+
:::
:::info UPX on Apple Silicon
diff --git a/website/versioned_docs/version-v2.3.1/reference/menus.mdx b/website/versioned_docs/version-v2.5.0/reference/menus.mdx
similarity index 98%
rename from website/versioned_docs/version-v2.3.1/reference/menus.mdx
rename to website/versioned_docs/version-v2.5.0/reference/menus.mdx
index 1c2d3f5b790..7af0bf38fe3 100644
--- a/website/versioned_docs/version-v2.3.1/reference/menus.mdx
+++ b/website/versioned_docs/version-v2.5.0/reference/menus.mdx
@@ -11,12 +11,15 @@ setting it in the [`Menu`](../reference/options.mdx#menu) application config, or
An example of how to create a menu:
```go
+
+ app := NewApp()
+
AppMenu := menu.NewMenu()
FileMenu := AppMenu.AddSubmenu("File")
FileMenu.AddText("&Open", keys.CmdOrCtrl("o"), openFile)
FileMenu.AddSeparator()
FileMenu.AddText("Quit", keys.CmdOrCtrl("q"), func(_ *menu.CallbackData) {
- runtime.Quit()
+ runtime.Quit(app.ctx)
})
if runtime.GOOS == "darwin" {
@@ -27,7 +30,7 @@ An example of how to create a menu:
Title: "Menus Demo",
Width: 800,
Height: 600,
- Menu: AppMenu,
+ Menu: AppMenu, // reference the menu above
Bind: []interface{}{
app,
},
diff --git a/website/versioned_docs/version-v2.3.1/reference/options.mdx b/website/versioned_docs/version-v2.5.0/reference/options.mdx
similarity index 94%
rename from website/versioned_docs/version-v2.3.1/reference/options.mdx
rename to website/versioned_docs/version-v2.5.0/reference/options.mdx
index 1e7af4c198b..4bc0d0ffd44 100644
--- a/website/versioned_docs/version-v2.3.1/reference/options.mdx
+++ b/website/versioned_docs/version-v2.5.0/reference/options.mdx
@@ -51,6 +51,7 @@ func main() {
OnBeforeClose: app.beforeClose,
CSSDragProperty: "--wails-draggable",
CSSDragValue: "drag",
+ EnableFraudulentWebsiteDetection: false,
ZoomFactor: 1.0,
IsZoomControlEnabled: false,
Bind: []interface{}{
@@ -78,7 +79,8 @@ func main() {
// OnSuspend is called when Windows enters low power mode
OnSuspend func()
// OnResume is called when Windows resumes from low power mode
- OnResume func()
+ OnResume func(),
+ WebviewGpuDisabled: false,
},
Mac: &mac.Options{
TitleBar: &mac.TitleBar{
@@ -101,6 +103,7 @@ func main() {
Linux: &linux.Options{
Icon: icon,
WindowIsTranslucent: false,
+ WebviewGpuPolicy: linux.WebviewGpuPolicyAlways,
},
Debug: options.Debug{
OpenInspectorOnStartup: false,
@@ -257,8 +260,8 @@ Not all features of an `http.Request` are currently supported, please see the fo
| PATCH | ✅ | ✅ | ✅ [^1] |
| DELETE | ✅ | ✅ | ✅ [^1] |
| Request Headers | ✅ | ✅ | ✅ [^1] |
-| Request Body | ✅ | ✅ | ❌ |
-| Request Body Streaming | ✅ | ✅ | ❌ |
+| Request Body | ✅ | ✅ | ✅ [^2] |
+| Request Body Streaming | ✅ | ✅ | ✅ [^2] |
| Response StatusCodes | ✅ | ✅ | ✅ [^1] |
| Response Headers | ✅ | ✅ | ✅ [^1] |
| Response Body | ✅ | ✅ | ✅ |
@@ -266,7 +269,8 @@ Not all features of an `http.Request` are currently supported, please see the fo
| WebSockets | ❌ | ❌ | ❌ |
| HTTP Redirects 30x | ✅ | ❌ | ❌ |
-[^1]: This requires WebKit2GTK 2.36+ support and your app needs to be build with the build tag `webkit2_36` to activate support for this feature. This also bumps the minimum requirement of WebKit2GTK to 2.36 for your app.
+[^1]: This requires WebKit2GTK 2.36+ support and your app needs to be build with the build tag `webkit2_36` to activate support for this feature. This also bumps the minimum requirement of WebKit2GTK to 2.36 for your app.
+[^2]: This requires WebKit2GTK 2.40+ support and your app needs to be build with the build tag `webkit2_40` to activate support for this feature. This also bumps the minimum requirement of WebKit2GTK to 2.40 for your app.
Name: AssetServer
Type: `*assetserver.Options`
@@ -413,6 +417,15 @@ Indicates what value the `CSSDragProperty` style should have to drag the window.
Name: CSSDragValue
Type: `string`
+### EnableFraudulentWebsiteDetection
+
+EnableFraudulentWebsiteDetection enables scan services for fraudulent content, such as malware or phishing attempts.
+These services might send information from your app like URLs navigated to and possibly other content to cloud
+services of Apple and Microsoft.
+
+Name: EnableFraudulentWebsiteDetection
+Type: `bool`
+
### ZoomFactor
Name: ZoomFactor
@@ -628,6 +641,13 @@ If set, this function will be called when Windows resumes from low power mode (s
Name: OnResume
Type: `func()`
+#### WebviewGpuIsDisabled
+
+Setting this to `true` will disable GPU hardware acceleration for the webview.
+
+Name: WebviewGpuIsDisabled
+Type: `bool`
+
### Mac
This defines [Mac specific options](#mac).
@@ -824,6 +844,22 @@ Setting this to `true` will make the window background translucent. Some window
Name: WindowIsTranslucent
Type: `bool`
+#### WebviewGpuPolicy
+
+This option is used for determining the webview's hardware acceleration policy.
+
+Name: WebviewGpuPolicy
+Type: [`options.WebviewGpuPolicy`](#webviewgpupolicy-type)
+Default: `WebviewGpuPolicyAlways`
+
+##### WebviewGpuPolicy type
+
+| Value | Description |
+| -------------------------| ----------- |
+| WebviewGpuPolicyAlways | Hardware acceleration is always enabled|
+| WebviewGpuPolicyOnDemand | Hardware acceleration is enabled/disabled as request by web contents|
+| WebviewGpuPolicyNever | Hardware acceleration is always disabled |
+
### Debug
This defines [Debug specific options](#Debug) that apply to debug builds.
diff --git a/website/versioned_docs/version-v2.5.0/reference/project-config.mdx b/website/versioned_docs/version-v2.5.0/reference/project-config.mdx
new file mode 100644
index 00000000000..5c7d578b777
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/reference/project-config.mdx
@@ -0,0 +1,92 @@
+---
+sidebar_position: 5
+---
+
+# Project Config
+
+The project config resides in the `wails.json` file in the project directory. The structure of the config is:
+
+```json
+{
+ // Project config version
+ "version": "",
+ // The project name
+ "name": "",
+ // Relative path to the directory containing the compiled assets, this is normally inferred and could be left empty
+ "assetdir": "",
+ // Additional directories to trigger reloads (comma separated), this is only used for some advanced asset configurations
+ "reloaddirs": "",
+ // The directory where the build files reside. Defaults to 'build'
+ "build:dir": "",
+ // Relative path to the frontend directory. Defaults to 'frontend'
+ "frontend:dir": "",
+ // The command to install node dependencies, run in the frontend directory - often `npm install`
+ "frontend:install": "",
+ // The command to build the assets, run in the frontend directory - often `npm run build`
+ "frontend:build": "",
+ // This command has been replaced by frontend:dev:build. If frontend:dev:build is not specified will falls back to this command. \nIf this command is also not specified will falls back to frontend:build
+ "frontend:dev": "",
+ // This command is the dev equivalent of frontend:build. If not specified falls back to frontend:dev
+ "frontend:dev:build": "",
+ // This command is the dev equivalent of frontend:install. If not specified falls back to frontend:install
+ "frontend:dev:install": "",
+ // This command is run in a separate process on `wails dev`. Useful for 3rd party watchers or starting 3d party dev servers
+ "frontend:dev:watcher": "",
+ // URL to a 3rd party dev server to be used to serve assets, EG Vite. \nIf this is set to 'auto' then the devServerUrl will be inferred from the Vite output
+ "frontend:dev:serverUrl": "",
+ // Relative path to the directory that the auto-generated JS modules will be created
+ "wailsjsdir": "",
+ // The name of the binary
+ "outputfilename": "",
+ // The default time the dev server waits to reload when it detects a change in assets
+ "debounceMS": 100,
+ // Address to bind the wails dev sever to. Default: localhost:34115
+ "devServer": "",
+ // Arguments passed to the application in shell style when in dev mode
+ "appargs": "",
+ // Defines if build hooks should be run though they are defined for an OS other than the host OS.
+ "runNonNativeBuildHooks": false,
+ "preBuildHooks": {
+ // The command that will be executed before a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.
+ "GOOS/GOARCH": "",
+ // The command that will be executed before a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/*" hook is executed before the "*/*" hook.
+ "GOOS/*": "",
+ // The command that will be executed before every build: ${platform} is replaced with the "GOOS/GOARCH".
+ "*/*": ""
+ },
+ "postBuildHooks": {
+ // The command that will be executed after a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.
+ "GOOS/GOARCH": "",
+ // The command that will be executed after a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/*" hook is executed before the "*/*" hook.
+ "GOOS/*": "",
+ // The command that will be executed after every build: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary.
+ "*/*": ""
+ },
+ // Data used to populate manifests and version info.
+ "info": {
+ // The company name. Default: [The project name]
+ "companyName": "",
+ // The product name. Default: [The project name]
+ "productName": "",
+ // The version of the product. Default: '1.0.0'
+ "productVersion": "",
+ // The copyright of the product. Default: 'Copyright.........'
+ "copyright": "",
+ // A short comment of the app. Default: 'Built using Wails (https://wails.app)'
+ "comments": ""
+ },
+ // 'multiple': One installer per architecture. 'single': Single universal installer for all architectures being built. Default: 'multiple'
+ "nsisType": "",
+ // Whether the app should be obfuscated. Default: false
+ "obfuscated": "",
+ // The arguments to pass to the garble command when using the obfuscated flag
+ "garbleargs": ""
+}
+```
+
+This file is read by the Wails CLI when running `wails build` or `wails dev`.
+
+The `assetdir`, `reloaddirs`, `wailsjsdir`, `debounceMS`, `devserver` and `frontenddevserverurl` flags in `wails build/dev` will update the project config
+and thus become defaults for subsequent runs.
+
+The JSON Schema for this file is located [here](https://wails.io/schemas/config.v2.json).
diff --git a/website/versioned_docs/version-v2.5.0/reference/runtime/_category_.json b/website/versioned_docs/version-v2.5.0/reference/runtime/_category_.json
new file mode 100644
index 00000000000..ac6d5548816
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/reference/runtime/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Runtime",
+ "position": 1
+}
diff --git a/website/versioned_docs/version-v2.3.1/reference/runtime/browser.mdx b/website/versioned_docs/version-v2.5.0/reference/runtime/browser.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/reference/runtime/browser.mdx
rename to website/versioned_docs/version-v2.5.0/reference/runtime/browser.mdx
diff --git a/website/versioned_docs/version-v2.5.0/reference/runtime/clipboard.mdx b/website/versioned_docs/version-v2.5.0/reference/runtime/clipboard.mdx
new file mode 100644
index 00000000000..306cfcb441b
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/reference/runtime/clipboard.mdx
@@ -0,0 +1,28 @@
+---
+sidebar_position: 8
+---
+
+# Clipboard
+
+This part of the runtime provides access to the operating system's clipboard.
+The current implementation only handles text.
+
+### ClipboardGetText
+
+This method reads the currently stored text from the clipboard.
+
+Go: `ClipboardGetText(ctx context.Context) (string, error)`
+Returns: a string (if the clipboard is empty an empty string will be returned) or an error.
+
+JS: `ClipboardGetText(): Promise`
+Returns: a promise with a string result (if the clipboard is empty an empty string will be returned).
+
+### ClipboardSetText
+
+This method writes a text to the clipboard.
+
+Go: `ClipboardSetText(ctx context.Context, text string) error`
+Returns: an error if there is any.
+
+JS: `ClipboardSetText(text: string): Promise`
+Returns: a promise with true result if the text was successfully set on the clipboard, false otherwise.
diff --git a/website/versioned_docs/version-v2.3.1/reference/runtime/dialog.mdx b/website/versioned_docs/version-v2.5.0/reference/runtime/dialog.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/reference/runtime/dialog.mdx
rename to website/versioned_docs/version-v2.5.0/reference/runtime/dialog.mdx
diff --git a/website/versioned_docs/version-v2.3.1/reference/runtime/events.mdx b/website/versioned_docs/version-v2.5.0/reference/runtime/events.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/reference/runtime/events.mdx
rename to website/versioned_docs/version-v2.5.0/reference/runtime/events.mdx
diff --git a/website/versioned_docs/version-v2.3.1/reference/runtime/intro.mdx b/website/versioned_docs/version-v2.5.0/reference/runtime/intro.mdx
similarity index 98%
rename from website/versioned_docs/version-v2.3.1/reference/runtime/intro.mdx
rename to website/versioned_docs/version-v2.5.0/reference/runtime/intro.mdx
index 13a50edfb6d..3c491ecf046 100644
--- a/website/versioned_docs/version-v2.3.1/reference/runtime/intro.mdx
+++ b/website/versioned_docs/version-v2.5.0/reference/runtime/intro.mdx
@@ -15,6 +15,7 @@ It has utility methods for:
- [Events](events.mdx)
- [Browser](browser.mdx)
- [Log](log.mdx)
+- [Clipboard](clipboard.mdx)
The Go Runtime is available through importing `github.com/wailsapp/wails/v2/pkg/runtime`. All methods in this package
take a context as the first parameter. This context should be obtained from the [OnStartup](../options.mdx#onstartup)
diff --git a/website/versioned_docs/version-v2.3.1/reference/runtime/log.mdx b/website/versioned_docs/version-v2.5.0/reference/runtime/log.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/reference/runtime/log.mdx
rename to website/versioned_docs/version-v2.5.0/reference/runtime/log.mdx
diff --git a/website/versioned_docs/version-v2.3.1/reference/runtime/menu.mdx b/website/versioned_docs/version-v2.5.0/reference/runtime/menu.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/reference/runtime/menu.mdx
rename to website/versioned_docs/version-v2.5.0/reference/runtime/menu.mdx
diff --git a/website/versioned_docs/version-v2.3.1/reference/runtime/window.mdx b/website/versioned_docs/version-v2.5.0/reference/runtime/window.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/reference/runtime/window.mdx
rename to website/versioned_docs/version-v2.5.0/reference/runtime/window.mdx
diff --git a/website/versioned_docs/version-v2.5.0/tutorials/_category_.json b/website/versioned_docs/version-v2.5.0/tutorials/_category_.json
new file mode 100644
index 00000000000..dfac1d175e6
--- /dev/null
+++ b/website/versioned_docs/version-v2.5.0/tutorials/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Tutorials",
+ "position": 70
+}
diff --git a/website/versioned_docs/version-v2.3.1/tutorials/dogsapi.mdx b/website/versioned_docs/version-v2.5.0/tutorials/dogsapi.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/tutorials/dogsapi.mdx
rename to website/versioned_docs/version-v2.5.0/tutorials/dogsapi.mdx
diff --git a/website/versioned_docs/version-v2.3.1/tutorials/helloworld.mdx b/website/versioned_docs/version-v2.5.0/tutorials/helloworld.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.3.1/tutorials/helloworld.mdx
rename to website/versioned_docs/version-v2.5.0/tutorials/helloworld.mdx
diff --git a/website/versioned_sidebars/version-v2.3.1-sidebars.json b/website/versioned_sidebars/version-v2.5.0-sidebars.json
similarity index 100%
rename from website/versioned_sidebars/version-v2.3.1-sidebars.json
rename to website/versioned_sidebars/version-v2.5.0-sidebars.json
diff --git a/website/versions.json b/website/versions.json
index a3ee0891867..c147ddc246f 100644
--- a/website/versions.json
+++ b/website/versions.json
@@ -1 +1 @@
-["v2.4.0","v2.3.1"]
\ No newline at end of file
+["v2.5.0","v2.4.0"]
\ No newline at end of file