diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/current/community/showcase/cfntracker.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/current/community/showcase/cfntracker.mdx index 568c964b70e..77d070ed33d 100644 --- a/website/i18n/fr/docusaurus-plugin-content-docs/current/community/showcase/cfntracker.mdx +++ b/website/i18n/fr/docusaurus-plugin-content-docs/current/community/showcase/cfntracker.mdx @@ -7,36 +7,33 @@

``` -[CFN Tracker](https://github.com/williamsjokvist/cfn-tracker) - Suivez les -matchs en direct de n'importe quel profil Street Fighter 6 ou V CFN. Consultez -[le site Web](https://cfn.williamsjokvist.se/) pour commencer. +[CFN Tracker](https://github.com/williamsjokvist/cfn-tracker) - Track any Street +Fighter 6 or V CFN profile's live matches. Check +[the website](https://cfn.williamsjokvist.se/) to get started. -## Caractéristiques +## Features -- Suivi des matchs en temps réel -- Stockage des journaux de match et des statistiques -- Prise en charge de l'affichage des statistiques en direct sur OBS via la - source du navigateur -- Prise en charge de SF6 et SFV -- Possibilité pour les utilisateurs de créer leurs propres thèmes de navigateur - OBS avec CSS +- Real-time match tracking +- Storing match logs and statistics +- Support for displaying live stats to OBS via Browser Source +- Support for both SF6 and SFV +- Ability for users to create their own OBS Browser themes with CSS -### Technologie majeure utilisée aux côtés de Wails +### Major tech used alongside Wails -- [Tâche](https://github.com/go-task/task) - encapsulation de la CLI Wails pour - rendre les commandes courantes faciles à utiliser -- [React](https://github.com/facebook/react) - choisi pour son riche écosystème - (radix, framer-motion) -- [Bun](https://github.com/oven-sh/bun) - utilisé pour sa résolution rapide des - dépendances et son temps de construction -- [Rod](https://github.com/go-rod/rod) - automatisation du navigateur sans tête - pour les modifications d'authentification et d'interrogation -- [SQLite](https://github.com/mattn/go-sqlite3) - utilisé pour stocker les - correspondances, les sessions et les profils -- [Server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) - - un flux http pour envoyer des mises à jour de suivi aux sources du navigateur - OBS -- [i18next](https://github.com/i18next/) - avec connecteur backend pour servir - les objets de localisation de la couche Go -- [xstate](https://github.com/statelyai/xstate) - machines à états pour le - processus d'authentification et le suivi +- [Task](https://github.com/go-task/task) - wrapping the Wails CLI to make + common commands easy to use +- [React](https://github.com/facebook/react) - chosen for its rich ecosystem + (radix, framer-motion) +- [Bun](https://github.com/oven-sh/bun) - used for its fast dependency + resolution and build-time +- [Rod](https://github.com/go-rod/rod) - headless browser automation for + authentication and polling changes +- [SQLite](https://github.com/mattn/go-sqlite3) - used for storing matches, + sessions and profiles +- [Server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) - + a http stream to send tracking updates to OBS browser sources +- [i18next](https://github.com/i18next/) - with backend connector to serve + localization objects from the Go layer +- [xstate](https://github.com/statelyai/xstate) - state machines for auth + process and tracking diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/current/community/showcase/espstudio.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/current/community/showcase/espstudio.mdx index aae652e2c3c..44db858f971 100644 --- a/website/i18n/fr/docusaurus-plugin-content-docs/current/community/showcase/espstudio.mdx +++ b/website/i18n/fr/docusaurus-plugin-content-docs/current/community/showcase/espstudio.mdx @@ -9,5 +9,5 @@

``` -[ESP Studio](https://github.com/torabian/esp-studio) - Logiciels multiplateformes, de bureau, cloud et embarqués -pour contrôler les appareils ESP/Arduino et créer des flux de travail et des systèmes de contrôle IOT complexes \ No newline at end of file +[ESP Studio](https://github.com/torabian/esp-studio) - Cross platform, Desktop, Cloud, and Embedded software +for controlling ESP/Arduino devices, and building complex IOT workflows and control systems diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/current/community/showcase/snippetexpander.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/current/community/showcase/snippetexpander.mdx new file mode 100644 index 00000000000..1f9fb615796 --- /dev/null +++ b/website/i18n/fr/docusaurus-plugin-content-docs/current/community/showcase/snippetexpander.mdx @@ -0,0 +1,27 @@ +# Snippet Expander + +```mdx-code-block +

+ +
+ Screenshot of Snippet Expander's Select Snippet window +

+

+ +
+ Screenshot of Snippet Expander's Add Snippet screen +

+

+ +
+ Screenshot of Snippet Expander's Search & Paste window +

+``` + +[Snippet Expander](https://snippetexpander.org) is "Your little expandable text snippets helper", for Linux. + +Snippet Expander comprises of a GUI application built with Wails for managing snippets and settings, with a Search & Paste window mode for quickly selecting and pasting a snippet. + +The Wails based GUI, go-lang CLI and vala-lang auto expander daemon all communicate with a go-lang daemon via D-Bus. The daemon does the majority of the work, managing the database of snippets and common settings, and providing services for expanding and pasting snippets etc. + +Check out the [source code](https://git.sr.ht/~ianmjones/snippetexpander/tree/trunk/item/cmd/snippetexpandergui/app.go#L38) to see how the Wails app sends messages from the UI to the backend that are then sent to the daemon, and subscribes to a D-Bus event to monitor changes to snippets via another instance of the app or CLI and show them instantly in the UI via a Wails event. diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/current/community/showcase/tinyrdm.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/current/community/showcase/tinyrdm.mdx index e3124bab727..5390d57fbde 100644 --- a/website/i18n/fr/docusaurus-plugin-content-docs/current/community/showcase/tinyrdm.mdx +++ b/website/i18n/fr/docusaurus-plugin-content-docs/current/community/showcase/tinyrdm.mdx @@ -8,4 +8,4 @@

``` -The [Tiny RDM](https://redis.tinycraft.cc/) application is an open-source, modern lightweight Redis GUI. It has a beautful UI, intuitive Redis database management, and compatible with Windows, Mac, and Linux. It provides visual key-value data operations, supports various data decoding and viewing options, built-in console for executing commands, slow log queries and more. +L'application [Tiny RDM](https://redis.tinycraft.cc/) est une interface Redis moderne et open-source. Il possède une interface utilisateur magnifique, une gestion de base de données Redis intuitive et compatible avec Windows, Mac et Linux. Il fournit des opérations visuelles de données de clé-valeur, supporte diverses options de décodage et de visualisation des données, possède une console intégrée pour exécuter des commandes, des requêtes de log lentes et plus encore. diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/current/community/templates.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/current/community/templates.mdx index 6baf0941b8c..c3dbb1c085b 100644 --- a/website/i18n/fr/docusaurus-plugin-content-docs/current/community/templates.mdx +++ b/website/i18n/fr/docusaurus-plugin-content-docs/current/community/templates.mdx @@ -39,6 +39,7 @@ Si vous n'êtes pas sûr d'un modèle, inspectez `package.json` et `wails.json` - [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-template-nextjs-app-router](https://github.com/thisisvk-in/wails-template-nextjs-app-router) - A template using Next.js and TypeScript with App router - [wails-vite-react-ts-tailwind-template](https://github.com/hotafrika/wails-vite-react-ts-tailwind-template) - Un modèle pour React + TypeScript + Vite + TailwindCSS - [wails-vite-react-ts-tailwind-shadcnui-template](https://github.com/Mahcks/wails-vite-react-tailwind-shadcnui-ts) - Un modèle avec Vite, React, TypeScript, TailwindCSS, et shadcn/ui diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/application-development.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/application-development.mdx index 411853fd6f1..90ce51cb80f 100644 --- a/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/application-development.mdx +++ b/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/application-development.mdx @@ -133,6 +133,64 @@ func main() { } ``` +Also you might want to use Enums in your structs and have models for them on frontend. In that case you should create array that will contain all possible enum values, instrument enum type and bind it to the app: + +```go {16-18} title="app.go" +type Weekday string + +const ( + Sunday Weekday = "Sunday" + Monday Weekday = "Monday" + Tuesday Weekday = "Tuesday" + Wednesday Weekday = "Wednesday" + Thursday Weekday = "Thursday" + Friday Weekday = "Friday" + Saturday Weekday = "Saturday" +) + +var AllWeekdays = []struct { + Value Weekday + TSName string +}{ + {Sunday, "SUNDAY"}, + {Monday, "MONDAY"}, + {Tuesday, "TUESDAY"}, + {Wednesday, "WEDNESDAY"}, + {Thursday, "THURSDAY"}, + {Friday, "FRIDAY"}, + {Saturday, "SATURDAY"}, +} +``` + +In the main application configuration, the `EnumBind` key is where we can tell Wails what we want to bind enums as well: + +```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, + }, + EnumBind: []interface{}{ + AllWeekdays, + }, + }) + if err != nil { + log.Fatal(err) + } +} + +``` + +This will add missing enums to your `model.ts` file. + Plus d'informations à sur Binding peuvent être trouvées [ici](../howdoesitwork.mdx#method-binding). ## Menu de l’application diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/crossplatform-build.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/crossplatform-build.mdx index fd81a974d04..7482e04a540 100644 --- a/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/crossplatform-build.mdx +++ b/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/crossplatform-build.mdx @@ -1,14 +1,14 @@ -# Crossplatform build with Github Actions +# Construction cross-plateforme avec Github Actions -To build a Wails project for all the available platforms, you need to create an application build for each operating system. One effective method to achieve this is by utilizing GitHub Actions. +Pour construire un projet Wails pour toutes les plateformes disponibles, vous devez créer un build de l'application pour chaque système d'exploitation. Une méthode efficace pour y parvenir est d'utiliser GitHub Actions. -An action that facilitates building a Wails app is available at: +Une action qui facilite la création d'une application Wails est disponible sur : https://github.com/dAppServer/wails-build-action -In case the existing action doesn't fulfill your requirements, you can select only the necessary steps from the source: +Dans le cas où l'action existante ne répond pas à vos exigences, vous ne pouvez sélectionner que les étapes nécessaires à partir de la source : https://github.com/dAppServer/wails-build-action/blob/main/action.yml -Below is a comprehensive example that demonstrates building an app upon the creation of a new Git tag and subsequently uploading it to the Actions artifacts: +Voici un exemple complet qui démontre la construction d'une application lors de la création d'une nouvelle balise Git et qui la téléversera ensuite sur les artefacts Actions : ```yaml name: Wails build @@ -16,17 +16,17 @@ name: Wails build on: push: tags: - # Match any new tag + # Matche n'importe quel nouveau tag - '*' env: - # Necessary for most environments as build failure can occur due to OOM issues + # Nécessaire pour la plupart des environnement, car des soucis de build peuvent arriver à cause de soucis de mémoire NODE_OPTIONS: "--max-old-space-size=4096" jobs: build: strategy: - # Failure in one platform build won't impact the others + # Afin d'éviter que l'échec du build d'une plateforme n'impacte les autres fail-fast: false matrix: build: @@ -57,10 +57,10 @@ jobs: go-version: '1.20' ``` -This example offers opportunities for various enhancements, including: +Cet exemple offre des opportunités pour diverses améliorations, comprenant : -- Caching dependencies -- Code signing -- Uploading to platforms like S3, Supbase, etc. -- Injecting secrets as environment variables -- Utilizing environment variables as build variables (such as version variable extracted from the current Git tag) +- Mise en cache des dépendances +- Signature de code +- Envoi vers des plateformes comme S3, Supbase, etc. +- Injection de secrets en tant que variables d'environnement +- Utiliser des variables d'environnement comme variables de compilation (telles que la variable de version extraite de la balise Git actuelle) diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/custom-protocol-schemes.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/custom-protocol-schemes.mdx index e86b651845d..61ba67a46de 100644 --- a/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/custom-protocol-schemes.mdx +++ b/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/custom-protocol-schemes.mdx @@ -25,15 +25,15 @@ For example: } ``` -| Property | Description | -| :---------- | :------------------------------------------------------------------------------------ | -| scheme | Custom Protocol scheme. e.g. myapp | -| description | Windows-only. The description. | -| role | macOS-only. The app’s role with respect to the type. Corresponds to CFBundleTypeRole. | +| Propriété | Description | +| :----------- | :------------------------------------------------------------------------------------------ | +| scheme | Custom Protocol scheme. e.g. myapp | +| description | Windows seulement. La description. | +| role | macOS uniquement. The app’s role with respect to the type. Corresponds to CFBundleTypeRole. | -## Platform Specifics: +## Spécificités par platefome : -### macOS +### MacOS When you open custom protocol with your app, the system will launch your app and call the `OnUrlOpen` function in your Wails app. Example: diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/file-association.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/file-association.mdx index 167955b12d7..e1e7972fb2b 100644 --- a/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/file-association.mdx +++ b/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/file-association.mdx @@ -1,15 +1,15 @@ -# File Association +# Associations de fichiers -File association feature allows you to associate specific file types with your app so that when users open those files, -your app is launched to handle them. This can be particularly useful for text editors, image viewers, or any application -that works with specific file formats. In this guide, we'll walk through the steps to implement file association in Wails app. +La fonction d'association de fichiers vous permet d'associer des types de fichiers spécifiques à votre application afin que lorsque les utilisateurs ouvrent ces fichiers, +votre application est lancée pour les gérer. Cela peut être particulièrement utile pour les éditeurs de texte, les visualisateurs d'images ou n'importe quelle application +qui fonctionne avec des formats de fichiers spécifiques. Dans ce guide, nous allons parcourir les étapes pour implémenter l'association de fichiers dans l'application Wails. -## Set Up File Association: +## Configurer l'association de fichiers : -To set up file association, you need to modify your application's wails.json file. -In "info" section add a "fileAssociations" section specifying the file types your app should be associated with. +Pour configurer l'association de fichiers, vous devez modifier le fichier wails.json de votre application. +Dans la section "info", ajoutez une section "fileAssociations" spécifiant les types de fichiers auxquels votre application doit être associée. -For example: +Par exemple : ```json { @@ -34,23 +34,23 @@ For example: } ``` -| Property | Description | -| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------- | -| ext | The extension (minus the leading period). e.g. png | -| name | The name. e.g. PNG File | -| iconName | The icon name without extension. Icons should be located in build folder. Proper icons will be generated from .png file for both macOS and Windows | -| description | Windows-only. The description. It is displayed on the `Type` column on Windows Explorer. | -| role | macOS-only. The app’s role with respect to the type. Corresponds to CFBundleTypeRole. | +| Propriété | Description | +| :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ext | L'extension. ex: png | +| name | Le nom de l'extension. ex: PNG File | +| iconName | Le nom de l'icône sans extension. Les icônes doivent être situées dans le dossier de build. Des icônes appropriées seront générées à partir du fichier .png pour macOS et Windows | +| description | Windows seulement. La description. Il est affiché dans la colonne `Type` dans l'explorateur Windows. | +| role | macOS uniquement. Rôle de l'application par rapport au type. Correspond au rôle CFBundleTypeRole. | -## Platform Specifics: +## Spécificités par platefome : -### macOS +### MacOS -When you open file (or files) with your app, the system will launch your app and call the `OnFileOpen` function in your Wails app. Example: +Lorsque vous ouvrez un fichier (ou des fichiers) avec votre application, le système lancera votre application et appellera la fonction `OnFileOpen` dans votre application Wails. Exemple: ```go title="main.go" func main() { - // Create application with options + // Création d'une application avec des options err := wails.Run(&options.App{ Title: "wails-open-file", Width: 1024, @@ -75,9 +75,9 @@ func main() { ### Windows -On Windows file association is supported only with NSIS installer. During installation, the installer will create a -registry entry for your file associations. When you open file with your app, new instance of app is launched and file path is passed -as argument to your app. To handle this you should parse command line arguments in your app. Example: +L'association de fichiers dans Windows n'est prise en charge qu'avec l'installateur NSS. Pendant l'installation, l'installateur créera une entrée de registre +pour vos associations de fichiers. Lorsque vous ouvrez un fichier avec votre application, une nouvelle instance d'application est lancée et le chemin d'accès est passé à +comme argument à votre application. Pour gérer cela, vous devez analyser les arguments de la ligne de commande dans votre application. Exemple: ```go title="main.go" func main() { @@ -89,12 +89,12 @@ func main() { } ``` -You also can enable single instance lock for your app. In this case, when you open file with your app, new instance of app is not launched -and arguments are passed to already running instance. Check single instance lock guide for details. Example: +Vous pouvez également activer le verrouillage par instance unique pour votre application. Dans ce cas, lorsque vous ouvrez un fichier avec votre application, la nouvelle instance d'application n'est pas lancée +et les arguments sont passés à l'instance déjà en cours d'exécution. Consultez le guide de verrouillage de l'instance unique pour plus de détails. Exemple: ```go title="main.go" func main() { - // Create application with options + // Création d'une application avec des options err := wails.Run(&options.App{ Title: "wails-open-file", Width: 1024, @@ -116,11 +116,11 @@ func main() { ### Linux -Currently, Wails doesn't support bundling for Linux. So, you need to create file associations manually. -For example if you distribute your app as a .deb package, you can create file associations by adding required files in you bundle. -You can use [nfpm](https://nfpm.goreleaser.com/) to create .deb package for your app. +Actuellement, Wails ne prend pas en charge l'association de fichiers pour Linux. Vous devez donc créer des associations de fichiers manuellement. +Par exemple, si vous distribuez votre application en tant que package .deb, vous pouvez créer des associations de fichiers en ajoutant les fichiers requis dans votre bundle. +Vous pouvez utiliser [nfpm](https://nfpm.goreleaser.com/) pour créer un package .deb pour votre application. -1. Create a .desktop file for your app and specify file associations there. Example: +1. Créez un fichier .desktop pour votre application et spécifiez des associations de fichiers là-bas. Exemple: ```ini [Desktop Entry] @@ -133,7 +133,7 @@ Type=Application MimeType=application/x-wails;application/x-test ``` -2. Create mime types file. Example: +2. Créer un fichier de type MIME. Exemple: ```xml @@ -145,19 +145,19 @@ MimeType=application/x-wails;application/x-test ``` -3. Create icons for your file types. SVG icons are recommended. -4. Prepare postInstall/postRemove scripts for your package. Example: +3. Créez des icônes pour vos types de fichiers. Les icônes SVG sont recommandées. +4. Préparez les scripts postInstall/postRemove pour votre paquet. Exemple: ```sh -# reload mime types to register file associations +# Recharge les types MIME pour enregistrer votre association de fichiers update-mime-database /usr/share/mime -# reload desktop database to load app in list of available +# Recharge la base de données du bureau afin de rendre disponible votre application dans les choix possibles update-desktop-database /usr/share/applications -# update icons +# Mise à jour des icônes update-icon-caches /usr/share/icons/* ``` -5. Configure nfpm to use your scripts and files. Example: +5. Configurez nfpm pour utiliser vos scripts et fichiers. Exemple: ```yaml name: "wails-open-file" @@ -198,15 +198,14 @@ scripts: postremove: ./postRemove.sh ``` -6. Build your .deb package using nfpm: +6. Construisez votre paquet .deb en utilisant nfpm: ```sh nfpm pkg --packager deb --target . ``` -7. Now when your package is installed, your app will be associated with specified file types. When you open file with your app, - new instance of app is launched and file path is passed as argument to your app. - To handle this you should parse command line arguments in your app. Example: +7. Maintenant que votre paquet est installé, votre application sera associée aux types de fichiers qui ont été spécifiés. Lorsque vous ouvrez un fichier avec votre application, une nouvelle instance est lancée et le chemin du fichier est passé en argument à votre application. + Pour gérer cela, vous devez analyser les arguments de la ligne de commande dans votre application. Exemple: ```go title="main.go" func main() { @@ -218,12 +217,12 @@ func main() { } ``` -You also can enable single instance lock for your app. In this case, when you open file with your app, new instance of app is not launched -and arguments are passed to already running instance. Check single instance lock guide for details. Example: +Vous pouvez également activer le verrouillage par instance unique pour votre application. Dans ce cas, lorsque vous ouvrez un fichier avec votre application, la nouvelle instance d'application n'est pas lancée +et les arguments sont passés à l'instance déjà en cours d'exécution. Consultez le guide de verrouillage de l'instance unique pour plus de détails. Exemple: ```go title="main.go" func main() { - // Create application with options + // Création d'une application avec des options err := wails.Run(&options.App{ Title: "wails-open-file", Width: 1024, diff --git a/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/linux.mdx b/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/linux.mdx index 19e45313a44..415418ebb31 100644 --- a/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/linux.mdx +++ b/website/i18n/fr/docusaurus-plugin-content-docs/current/guides/linux.mdx @@ -2,7 +2,7 @@ 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é" +## Video tag doesn't fire "ended" event 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 : @@ -16,3 +16,55 @@ videoTag.addEventListener("timeupdate", (event) => { ``` Source : [Lyimmi](https://github.com/Lyimmi) sur le [forum de discussion](https://github.com/wailsapp/wails/issues/1729#issuecomment-1212291275) + +## GStreamer error when using Audio or Video elements + +If you are seeing the following error when including `