diff --git a/website/i18n/ar/docusaurus-theme-classic/footer.json b/website/i18n/ar/docusaurus-theme-classic/footer.json index dd6667908..48e57df44 100644 --- a/website/i18n/ar/docusaurus-theme-classic/footer.json +++ b/website/i18n/ar/docusaurus-theme-classic/footer.json @@ -44,7 +44,7 @@ "description": "The label of footer link with label=Blog linking to /blog" }, "copyright": { - "message": "Copyright © 2022 Lea Anthony", + "message": "Copyright © 2025 Lea Anthony", "description": "The footer copyright" }, "link.item.label.Awesome": { diff --git a/website/i18n/de/code.json b/website/i18n/de/code.json index 5ac6e9c09..c3b0bdfeb 100644 --- a/website/i18n/de/code.json +++ b/website/i18n/de/code.json @@ -1,295 +1,295 @@ { "homepage.Features.Title1": { - "message": "Umfangreiche Features" + "message": "Feature Rich" }, "homepage.Features.Description1": { - "message": "Erstelle umfassende, plattformübergreifende Anwendungen mit nativen UI-Elementen wie Menüs und Dialogen." + "message": "Build comprehensive cross-platform applications using native UI elements such as menus and dialogs." }, "homepage.Features.Title2": { - "message": "Vertraut" + "message": "Familiar" }, "homepage.Features.Description2": { - "message": "Benutze die Technologien, die du bereits kennst, um erstaunliche Anwendungen zu entwickeln." + "message": "Use the technologies you already know to build amazing applications." }, "homepage.Features.Title3": { - "message": "Schnell" + "message": "Fast" }, "homepage.Features.Description3": { - "message": "Generiere, erstelle und verpacke deine Projekte schnell mit dem Wails CLI." + "message": "Quickly generate, build and package your projects using the Wails CLI." }, "homepage.Tagline": { - "message": "Erstelle schöne plattformübergreifende Anwendungen mit Go" + "message": "Build beautiful cross-platform applications using Go" }, "homepage.ButtonText": { - "message": "Jetzt loslegen" + "message": "Get Started" }, "homepage.LearnMoreButtonText": { - "message": "Mehr erfahren" + "message": "Learn More" }, "theme.ErrorPageContent.title": { - "message": "Diese Seite ist abgestürzt.", + "message": "This page crashed.", "description": "The title of the fallback page when the page crashed" }, "theme.ErrorPageContent.tryAgain": { - "message": "Erneut versuchen", + "message": "Try again", "description": "The label of the button to try again rendering when the React error boundary captures an error" }, "theme.NotFound.title": { - "message": "Seite nicht gefunden", + "message": "Page Not Found", "description": "The title of the 404 page" }, "theme.NotFound.p1": { - "message": "Wir konnten die gesuchte Seite nicht finden.", + "message": "We could not find what you were looking for.", "description": "The first paragraph of the 404 page" }, "theme.NotFound.p2": { - "message": "Bitte wende dich an den Inhaber der Website, der dich mit der ursprünglichen URL verlinkt hat, und teilen ihm mit, dass der Link nicht mehr funktioniert.", + "message": "Please contact the owner of the site that linked you to the original URL and let them know their link is broken.", "description": "The 2nd paragraph of the 404 page" }, "theme.AnnouncementBar.closeButtonAriaLabel": { - "message": "Schließen", + "message": "Close", "description": "The ARIA label for close button of announcement bar" }, "theme.blog.archive.title": { - "message": "Archiv", + "message": "Archive", "description": "The page & hero title of the blog archive page" }, "theme.blog.archive.description": { - "message": "Archiv", + "message": "Archive", "description": "The page & hero description of the blog archive page" }, "theme.BackToTopButton.buttonAriaLabel": { - "message": "Nach oben springen", + "message": "Scroll back to top", "description": "The ARIA label for the back to top button" }, "theme.blog.paginator.navAriaLabel": { - "message": "Bloglisten-Seitennavigation", + "message": "Blog list page navigation", "description": "The ARIA label for the blog pagination" }, "theme.blog.paginator.newerEntries": { - "message": "Neuere Einträge", + "message": "Newer Entries", "description": "The label used to navigate to the newer blog posts page (previous page)" }, "theme.blog.paginator.olderEntries": { - "message": "Ältere Einträge", + "message": "Older Entries", "description": "The label used to navigate to the older blog posts page (next page)" }, "theme.blog.post.readingTime.plurals": { - "message": "Eine Minute Lesezeit|{readingTime} Minuten Lesezeit", + "message": "One min read|{readingTime} min read", "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" }, "theme.blog.post.readMoreLabel": { - "message": "Mehr über {title} lesen", + "message": "Read more about {title}", "description": "The ARIA label for the link to full blog posts from excerpts" }, "theme.blog.post.readMore": { - "message": "Weiterlesen", + "message": "Read More", "description": "The label used in blog post item excerpts to link to full blog posts" }, "theme.blog.post.paginator.navAriaLabel": { - "message": "Blog Post Seiten Navigation", + "message": "Blog post page navigation", "description": "The ARIA label for the blog posts pagination" }, "theme.blog.post.paginator.newerPost": { - "message": "Neuere Beiträge", + "message": "Newer Post", "description": "The blog post button label to navigate to the newer/previous post" }, "theme.blog.post.paginator.olderPost": { - "message": "Ältere Beitrage", + "message": "Older Post", "description": "The blog post button label to navigate to the older/next post" }, "theme.blog.sidebar.navAriaLabel": { - "message": "Aktuelle Blog-Beitragsansicht", + "message": "Blog recent posts navigation", "description": "The ARIA label for recent posts in the blog sidebar" }, "theme.blog.post.plurals": { - "message": "Ein Beitrag|{count} Beiträge", + "message": "One post|{count} posts", "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" }, "theme.blog.tagTitle": { - "message": "{nPosts} markiert mit \"{tagName}\"", + "message": "{nPosts} tagged with \"{tagName}\"", "description": "The title of the page for a blog tag" }, "theme.tags.tagsPageLink": { - "message": "Alle Schlagwörter anzeigen", + "message": "View All Tags", "description": "The label of the link targeting the tag list page" }, "theme.CodeBlock.copyButtonAriaLabel": { - "message": "Code in Zwischenablage kopieren", + "message": "Copy code to clipboard", "description": "The ARIA label for copy code blocks button" }, "theme.CodeBlock.copied": { - "message": "Kopiert", + "message": "Copied", "description": "The copied button label on code blocks" }, "theme.CodeBlock.copy": { - "message": "Kopieren", + "message": "Copy", "description": "The copy button label on code blocks" }, "theme.colorToggle.ariaLabel": { - "message": "Umschalten zwischen dunkler und heller Ansicht (momentan {mode})", + "message": "Switch between dark and light mode (currently {mode})", "description": "The ARIA label for the navbar color mode toggle" }, "theme.colorToggle.ariaLabel.mode.dark": { - "message": "dunkler Modus", + "message": "dark mode", "description": "The name for the dark color mode" }, "theme.colorToggle.ariaLabel.mode.light": { - "message": "heller Modus", + "message": "light mode", "description": "The name for the light color mode" }, "theme.docs.DocCard.categoryDescription": { - "message": "{count} Elemente", + "message": "{count} items", "description": "The default description for a category card in the generated index about how many items this category includes" }, "theme.docs.sidebar.expandButtonTitle": { - "message": "Menü ausklappen", + "message": "Expand sidebar", "description": "The ARIA label and title attribute for expand button of doc sidebar" }, "theme.docs.sidebar.expandButtonAriaLabel": { - "message": "Menü ausklappen", + "message": "Expand sidebar", "description": "The ARIA label and title attribute for expand button of doc sidebar" }, "theme.docs.paginator.navAriaLabel": { - "message": "Dokumentationsseiten Navigation", + "message": "Docs pages navigation", "description": "The ARIA label for the docs pagination" }, "theme.docs.paginator.previous": { - "message": "Zurück", + "message": "Previous", "description": "The label used to navigate to the previous doc" }, "theme.docs.paginator.next": { - "message": "Weiter", + "message": "Next", "description": "The label used to navigate to the next doc" }, "theme.docs.sidebar.collapseButtonTitle": { - "message": "Menü einklappen", + "message": "Collapse sidebar", "description": "The title attribute for collapse button of doc sidebar" }, "theme.docs.sidebar.collapseButtonAriaLabel": { - "message": "Menü einklappen", + "message": "Collapse sidebar", "description": "The title attribute for collapse button of doc sidebar" }, "theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel": { - "message": "Die Seitenleistenkategorie „{label}“ ein-/ausklappen", + "message": "Toggle the collapsible sidebar category '{label}'", "description": "The ARIA label to toggle the collapsible sidebar category" }, "theme.docs.tagDocListPageTitle.nDocsTagged": { - "message": "Ein Dokument markiert|{count} Dokumente markiert", + "message": "One doc tagged|{count} docs tagged", "description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" }, "theme.docs.tagDocListPageTitle": { - "message": "{nDocsTagged} markiert mit \"{tagName}\"", + "message": "{nDocsTagged} with \"{tagName}\"", "description": "The title of the page for a docs tag" }, "theme.docs.versionBadge.label": { "message": "Version: {versionLabel}" }, "theme.docs.versions.unreleasedVersionLabel": { - "message": "Das ist die unveröffentlichte Dokumentation für {siteTitle} {versionLabel}.", + "message": "This is unreleased documentation for {siteTitle} {versionLabel} version.", "description": "The label used to tell the user that he's browsing an unreleased doc version" }, "theme.docs.versions.unmaintainedVersionLabel": { - "message": "Das ist die Dokumentation für {siteTitle} {versionLabel} welche nicht weiter gewartet wird.", + "message": "This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.", "description": "The label used to tell the user that he's browsing an unmaintained doc version" }, "theme.docs.versions.latestVersionSuggestionLabel": { - "message": "Für die aktuellste Dokumentation gehe auf {latestVersionLink} ({versionLabel}).", + "message": "For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).", "description": "The label used to tell the user to check the latest version" }, "theme.docs.versions.latestVersionLinkLabel": { - "message": "neueste Version", + "message": "latest version", "description": "The label used for the latest version suggestion link label" }, "theme.common.editThisPage": { - "message": "Diese Seite bearbeiten", + "message": "Edit this page", "description": "The link label to edit the current page" }, "theme.common.headingLinkTitle": { - "message": "Direkter Link zur Überschrift", + "message": "Direct link to heading", "description": "Title for link to heading" }, "theme.lastUpdated.atDate": { - "message": " am {date}", + "message": " on {date}", "description": "The words used to describe on which date a page has been last updated" }, "theme.lastUpdated.byUser": { - "message": " von {user}", + "message": " by {user}", "description": "The words used to describe by who the page has been last updated" }, "theme.lastUpdated.lastUpdatedAtBy": { - "message": "Zuletzt aktualisiert{atDate}{byUser}", + "message": "Last updated{atDate}{byUser}", "description": "The sentence used to display when a page has been last updated, and by who" }, "theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": { - "message": "← Zurück zum Hauptmenü", + "message": "← Back to main menu", "description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)" }, "theme.navbar.mobileVersionsDropdown.label": { - "message": "Versionen", + "message": "Versions", "description": "The label for the navbar versions dropdown on mobile view" }, "theme.common.skipToMainContent": { - "message": "Zum Hauptinhalt springen", + "message": "Skip to main content", "description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation" }, "theme.tags.tagsListLabel": { - "message": "Schlagwörter:", + "message": "Tags:", "description": "The label alongside a tag list" }, "theme.TOCCollapsible.toggleButtonLabel": { - "message": "Auf dieser Seite", + "message": "On this page", "description": "The label used by the button on the collapsible TOC component" }, "theme.navbar.mobileLanguageDropdown.label": { - "message": "Sprachen", + "message": "Languages", "description": "The label for the mobile language switcher dropdown" }, "theme.SearchBar.seeAll": { - "message": "Alle {count} Ergebnisse anzeigen" + "message": "See all {count} results" }, "theme.SearchBar.label": { - "message": "Suchen", + "message": "Search", "description": "The ARIA label and placeholder for search button" }, "theme.SearchPage.documentsFound.plurals": { - "message": "Ein Dokument gefunden|{count} Dokumente gefunden", + "message": "One document found|{count} documents found", "description": "Pluralized label for \"{count} documents found\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" }, "theme.SearchPage.existingResultsTitle": { - "message": "Suchergebnisse für \"{query}\"", + "message": "Search results for \"{query}\"", "description": "The search page title for non-empty query" }, "theme.SearchPage.emptyResultsTitle": { - "message": "Dokumentation durchsuchen", + "message": "Search the documentation", "description": "The search page title for empty query" }, "theme.SearchPage.inputPlaceholder": { - "message": "Suche hier eingeben", + "message": "Type your search here", "description": "The placeholder for search page input" }, "theme.SearchPage.inputLabel": { - "message": "Suchen", + "message": "Search", "description": "The ARIA label for search page input" }, "theme.SearchPage.algoliaLabel": { - "message": "Suche von Algolia bereitgestellt", + "message": "Search by Algolia", "description": "The ARIA label for Algolia mention" }, "theme.SearchPage.noResultsText": { - "message": "Es wurden keine Ergebnisse gefunden", + "message": "No results were found", "description": "The paragraph for empty search result" }, "theme.SearchPage.fetchingNewResults": { - "message": "Lade neue Ergebnisse...", + "message": "Fetching new results...", "description": "The paragraph for fetching new search results" }, "theme.tags.tagsPageTitle": { - "message": "Schlagwörter", + "message": "Tags", "description": "The title of the tag list page" }, "theme.docs.breadcrumbs.home": { - "message": "Startseite", + "message": "Home page", "description": "The ARIA label for the home page in the breadcrumbs" }, "theme.docs.breadcrumbs.navAriaLabel": { @@ -297,7 +297,7 @@ "description": "The ARIA label for the breadcrumbs" }, "theme.CodeBlock.wordWrapToggle": { - "message": "Zeilenumbruch ein-/ausschalten", + "message": "Toggle word wrap", "description": "The title attribute for toggle word wrapping button of code block lines" }, "theme.admonition.note": { @@ -313,7 +313,7 @@ "description": "The default label used for the Danger admonition (:::danger)" }, "theme.admonition.info": { - "message": "Info", + "message": "info", "description": "The default label used for the Info admonition (:::info)" }, "theme.admonition.caution": { @@ -321,111 +321,111 @@ "description": "The default label used for the Caution admonition (:::caution)" }, "theme.SearchModal.searchBox.resetButtonTitle": { - "message": "Suche löschen", + "message": "Clear the query", "description": "The label and ARIA label for search box reset button" }, "theme.SearchModal.searchBox.cancelButtonText": { - "message": "Abbrechen", + "message": "Cancel", "description": "The label and ARIA label for search box cancel button" }, "theme.SearchModal.startScreen.recentSearchesTitle": { - "message": "Kürzlich", + "message": "Recent", "description": "The title for recent searches" }, "theme.SearchModal.startScreen.noRecentSearchesText": { - "message": "Keine kürzlichen Suchvorgänge", + "message": "No recent searches", "description": "The text when no recent searches" }, "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": { - "message": "Diese Suchanfrage speichern", + "message": "Save this search", "description": "The label for save recent search button" }, "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": { - "message": "Diese Suche aus dem Verlauf entfernen", + "message": "Remove this search from history", "description": "The label for remove recent search button" }, "theme.SearchModal.startScreen.favoriteSearchesTitle": { - "message": "Favorit", + "message": "Favorite", "description": "The title for favorite searches" }, "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": { - "message": "Diese Suchanfrage aus Favoriten entfernen", + "message": "Remove this search from favorites", "description": "The label for remove favorite search button" }, "theme.SearchModal.errorScreen.titleText": { - "message": "Die Ergebnisse können nicht abgerufen werden", + "message": "Unable to fetch results", "description": "The title for error screen of search modal" }, "theme.SearchModal.errorScreen.helpText": { - "message": "Überprüfe deine Netzwerkverbindung.", + "message": "You might want to check your network connection.", "description": "The help text for error screen of search modal" }, "theme.SearchModal.footer.selectText": { - "message": "auswählen", + "message": "to select", "description": "The explanatory text of the action for the enter key" }, "theme.SearchModal.footer.selectKeyAriaLabel": { - "message": "Taste eingeben", + "message": "Enter key", "description": "The ARIA label for the Enter key button that makes the selection" }, "theme.SearchModal.footer.navigateText": { - "message": "navigieren", + "message": "to navigate", "description": "The explanatory text of the action for the Arrow up and Arrow down key" }, "theme.SearchModal.footer.navigateUpKeyAriaLabel": { - "message": "Pfeil hoch", + "message": "Arrow up", "description": "The ARIA label for the Arrow up key button that makes the navigation" }, "theme.SearchModal.footer.navigateDownKeyAriaLabel": { - "message": "Pfeil runter", + "message": "Arrow down", "description": "The ARIA label for the Arrow down key button that makes the navigation" }, "theme.SearchModal.footer.closeText": { - "message": "schließen", + "message": "to close", "description": "The explanatory text of the action for Escape key" }, "theme.SearchModal.footer.closeKeyAriaLabel": { - "message": "Escape Taste", + "message": "Escape key", "description": "The ARIA label for the Escape key button that close the modal" }, "theme.SearchModal.footer.searchByText": { - "message": "Suche nach", + "message": "Search by", "description": "The text explain that the search is making by Algolia" }, "theme.SearchModal.noResultsScreen.noResultsText": { - "message": "Keine Ergebnisse für", + "message": "No results for", "description": "The text explains that there are no results for the following search" }, "theme.SearchModal.noResultsScreen.suggestedQueryText": { - "message": "Versuche die Suche nach %s", + "message": "Try searching for", "description": "The text for the suggested query when no results are found for the following search" }, "theme.SearchModal.noResultsScreen.reportMissingResultsText": { - "message": "Sollte diese Suchanfrage Ergebnisse liefern?", + "message": "Believe this query should return results?", "description": "The text for the question where the user thinks there are missing results" }, "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": { - "message": "Lasse es uns wissen.", + "message": "Let us know.", "description": "The text for the link to report missing results" }, "theme.SearchModal.placeholder": { - "message": "Dokumentation durchsuchen", + "message": "Search docs", "description": "The placeholder of the input of the DocSearch pop-up modal" }, "theme.docs.sidebar.closeSidebarButtonAriaLabel": { - "message": "Navigationsleiste schließen", + "message": "Close navigation bar", "description": "The ARIA label for close button of mobile sidebar" }, "theme.docs.sidebar.toggleSidebarButtonAriaLabel": { - "message": "Navigationsleiste ein-/ausblenden", + "message": "Toggle navigation bar", "description": "The ARIA label for hamburger menu button of mobile navigation" }, "theme.NavBar.navAriaLabel": { - "message": "Haupt", + "message": "Main", "description": "The ARIA label for the main navigation" }, "theme.docs.sidebar.navAriaLabel": { - "message": "Dokumentationsseitenleiste", + "message": "Docs sidebar", "description": "The ARIA label for the sidebar navigation" } } diff --git a/website/i18n/de/docusaurus-plugin-content-blog/2021-09-27-v2-beta1-release-notes.mdx b/website/i18n/de/docusaurus-plugin-content-blog/2021-09-27-v2-beta1-release-notes.mdx index 825dc8c5d..d01b542b1 100644 --- a/website/i18n/de/docusaurus-plugin-content-blog/2021-09-27-v2-beta1-release-notes.mdx +++ b/website/i18n/de/docusaurus-plugin-content-blog/2021-09-27-v2-beta1-release-notes.mdx @@ -1,6 +1,6 @@ --- slug: wails-v2-beta-for-windows -title: Wails v2 Beta für Windows +title: Wails v2 Beta for Windows authors: - leaanthony tags: @@ -19,17 +19,17 @@ tags:
``` -Als ich vor etwas mehr als 2 Jahren Wails auf Reddit von einem Zug aus in Sydney ankündigte, habe ich nicht erwartet, dass Wails viel Aufmerksamkeit bekommt. Ein paar Tage später veröffentlichte ein Techvideo Blogger ein Tutorial Video, worauf hin ich ihm eine positive Bewertung gab und von diesem Punkt an ist das Interesse an dem Projekt in die Höhe geschossen. +When I first announced Wails on Reddit, just over 2 years ago from a train in Sydney, I did not expect it to get much attention. A few days later, a prolific tech vlogger released a tutorial video, gave it a positive review and from that point on, interest in the project has skyrocketed. -Es war klar, dass die Leute begeistert davon waren, Web-Frontends zu ihren Go-Projekten hinzuzufügen, und das Projekt fast sofort über den von mir erstellten Proof of Concept hinaus vorantrieben. Damals verwendete Wails das [Webview](https://github.com/webview/webview) Projekt, um das Frontend zu verwalten, und die einzige Option für Windows war der IE11 Renderer. Viele Fehlerberichte waren auf diese Einschränkung zurückzuführen: schlechte JavaScript/CSS-Unterstützung und keine Entwicklungswerkzeuge zur Fehlerbehebung. Das war eine frustrierende Erfahrung bei der Entwicklung, aber es gab nicht viel, was man hätte tun können, um das zu korrigieren. +It was clear that people were excited about adding web frontends to their Go projects, and almost immediately pushed the project beyond the proof of concept that I had created. At the time, Wails used the [webview](https://github.com/webview/webview) project to handle the frontend, and the only option for Windows was the IE11 renderer. Many bug reports were rooted in this limitation: poor JavaScript/CSS support and no dev tools to debug it. This was a frustrating development experience but there wasn't much that could have been done to rectify it. -Lange Zeit war ich fest davon überzeugt, dass Microsoft irgendwann seine Browser-Situation klären müsste. Die Welt entwickelte sich weiter, die Frontend-Entwicklung boomte und der IE war nicht mehr zeitgemäß. Als Microsoft angekündigt hat, Chromium als Grundlage für ihre neue Browserrichtung zu verwenden wusste ich, dass es nur eine Frage der Zeit war, bis Wails diese nutzen konnte, und die Windows-Entwicklererfahrung auf das nächste Level heben konnte. +For a long time, I'd firmly believed that Microsoft would eventually have to sort out their browser situation. The world was moving on, frontend development was booming and IE wasn't cutting it. When Microsoft announced the move to using Chromium as the basis for their new browser direction, I knew it was only a matter of time until Wails could use it, and move the Windows developer experience to the next level. -Heute freue ich mich die **Wails v2 Beta für Windows** ankündigen zu können! In dieser Veröffentlichung gibt es eine ganze Menge auszupacken, also schnapp dir einen Drink, setz dich gemütlich hin und wir beginnen … +Today, I am pleased to announce: **Wails v2 Beta for Windows**! There's a huge amount to unpack in this release, so grab a drink, take a seat and we'll begin... -### Keine CGO Abhängigkeit! +### No CGO Dependency! -Nein, das ist kein Witz: _Keine_ _CGO_ _Abhängigkeit_🤯! Die Sache an Windows ist, dass es im Gegensatz zu MacOS und Linux nicht mit einem Standard-Compiler kommt. Zusätzlich benötigt CGO einen mingw-Compiler und es gibt eine Menge verschiedener Optionen. Das Entfernen der CGO-Anforderung hat die Einrichtung massiv vereinfacht und auch die Fehlersuche erheblich erleichtert. Obwohl ich mich ziemlich angestrengt habe, um dies zum Laufen zu bringen, gebührt die meiste Anerkennung [John Chadwick](https://github.com/jchv) dafür, dass er nicht nur eine Reihe von Projekten ins Leben gerufen hat, um dies zu ermöglichen, sondern auch offen dafür ist, dass jemand diese Projekte übernimmt und darauf aufbaut. Der Dank geht auch an [Tad Vizbaras](https://github.com/tadvi), dessen <0>winc Projekt mich auf diesen Weg gebracht hat. +No, I'm not joking: _No_ _CGO_ _dependency_ 🤯! The thing about Windows is that, unlike MacOS and Linux, it doesn't come with a default compiler. In addition, CGO requires a mingw compiler and there's a ton of different installation options. Removing the CGO requirement has massively simplified setup, as well as making debugging an awful lot easier. Whilst I have put a fair bit of effort in getting this working, the majority of the credit should go to [John Chadwick](https://github.com/jchv) for not only starting a couple of projects to make this possible, but also being open to someone taking those projects and building on them. Credit also to [Tad Vizbaras](https://github.com/tadvi) whose [winc](https://github.com/tadvi/winc) project started me down this path. ### WebView2 Chromium Renderer @@ -44,15 +44,15 @@ Nein, das ist kein Witz: _Keine_ _CGO_ _Abhängigkeit_🤯! Die Sache an Windows
``` -Endlich erhalten Windows-Entwickler eine erstklassige Rendering-Engine für ihre Anwendungen! Vorbei sind die Tage der Verfälschung von deinem Frontend-Code, um unter Windows zu arbeiten. Darüber hinaus erhältst du eine erstklassige Entwickler-Tool-Erfahrung! +Finally, Windows developers get a first class rendering engine for their applications! Gone are the days of contorting your frontend code to work on Windows. On top of that, you get a first-class developer tools experience! -Die WebView2 Komponente benötigt jedoch die `WebView2Loader.dll` im selben Ordner wie die Binärdatei. Das macht die Distribution ein wenig anstrengender, als wir Gopher gewohnt sind. Alle Lösungen und Bibliotheken (die ich kenne), die WebView2 verwenden, haben diese Abhängigkeit. +The WebView2 component does, however, have a requirement to have the `WebView2Loader.dll` sitting alongside the binary. This makes distribution just that little bit more painful than we gophers are used to. All solutions and libraries (that I know of) that use WebView2 have this dependency. -Allerdings bin ich wirklich gespannt anzukündigen, dass Wails Anwendungen _keine solche Anforderung_ haben! Dank des Zauberspruchs von [John Chadwick](https://github.com/jchv), sind wir in der Lage, dieses dll in der Binärdatei zu bündeln und Windows dazu zu bringen, diese zu laden, als wäre sie auf der Festplatte vorhanden. +However, I'm really excited to announce that Wails applications _have no such requirement_! Thanks to the wizardry of [John Chadwick](https://github.com/jchv), we are able to bundle this dll inside the binary and get Windows to load it as if it were present on disk. -Die Gopher freuen sich! Der einzelne Binärdatei-Traum lebt weiter! +Gophers rejoice! The single binary dream lives on! -### Neue Funktionen +### New Features ```mdx-code-block
@@ -65,11 +65,11 @@ Die Gopher freuen sich! Der einzelne Binärdatei-Traum lebt weiter!
``` -Es gab viele Anfragen für native Menüunterstützung. Wails hat endlich eine Lösung für dich. Anwendungsmenüs sind jetzt verfügbar und enthalten Unterstützung für die meisten nativen Menüfunktionen. Dazu gehören Standardmenüs, Kontrollkästchen, "Radio" gruppen, Untermenüs und Trenner. +There were a lot of requests for native menu support. Wails has finally got you covered. Application menus are now available and include support for most native menu features. This includes standard menu items, checkboxes, radio groups, submenus and separators. -In v1 gab es eine große Anzahl von Bitten, das Fenster selbst besser kontrollieren zu können. Ich freue mich, mitteilen zu können, dass es speziell dafür neue Laufzeit-APIs gibt. Es verfügt über zahlreiche Funktionen und unterstützt Konfigurationen mit mehreren Monitoren. Es gibt auch eine verbesserte API: Du kannst jetzt moderne, native Dialoge mit reicher Konfiguration haben, um all deine Dialoganforderungen zu erfüllen. +There were a huge number of requests in v1 for the ability to have greater control of the window itself. I'm happy to announce that there's new runtime APIs specifically for this. It's feature-rich and supports multi-monitor configurations. There is also an improved dialogs API: Now, you can have modern, native dialogs with rich configuration to cater for all your dialog needs. -Es gibt jetzt die Möglichkeit, IDE-Konfiguration zusammen mit deinem Projekt zu generieren. Das bedeutet, wenn du dein Projekt in einer unterstützten IDE öffnest, wird es bereits für das Erstellen und Debuggen deiner Anwendung konfiguriert. Momentan wird VSCode unterstützt, aber wir hoffen, bald andere IDEs wie Goland zu unterstützen. +There is now the option to generate IDE configuration along with your project. This means that if you open your project in a supported IDE, it will already be configured for building and debugging your application. Currently VSCode is supported but we hope to support other IDEs such as Goland soon. ```mdx-code-block
@@ -82,19 +82,19 @@ Es gibt jetzt die Möglichkeit, IDE-Konfiguration zusammen mit deinem Projekt zu
``` -### Keine Anforderung zum Bündeln von Assets +### No requirement to bundle assets -Ein großer Schmerzpunkt von v1 war die Notwendigkeit, die gesamte Anwendung in einzelne JS- & CSS-Dateien zu kondensieren. Ich freue mich, ankündigen zu können, dass es für v2 keine Anforderung mehr gibt, Assets in irgendeiner weise oder Form zu bündeln. Möchtest du ein lokales Bild laden? Verwende ein `` Tag mit einem lokalen src Pfad. Möchtest du eine coole Schriftart verwenden? Kopiere sie in dein CSS und füge den Pfad hinzu. +A huge pain-point of v1 was the need to condense your entire application down to single JS & CSS files. I'm happy to announce that for v2, there is no requirement to bundle assets, in any way, shape or form. Want to load a local image? Use an `` tag with a local src path. Want to use a cool font? Copy it in and add the path to it in your CSS. -> Wow, das klingt wie ein Webserver... +> Wow, that sounds like a webserver... -Ja, es funktioniert auch genau wie ein Webserver, nur dass es keiner ist. +Yes, it works just like a webserver, except it isn't. -> Wie füge ich also meine Assets ein? +> So how do I include my assets? -Du übergibst ein einziges `embed.FS` mit all deinen Assets in deiner Anwendungskonfiguration. Es muss sich nicht einmal im obersten Verzeichnis befinden - Wails findet das für dich heraus. +You just pass a single `embed.FS` that contains all your assets into your application configuration. They don't even need to be in the top directory - Wails will just work it out for you. -### Neue Entwicklungserfahrung +### New Development Experience ```mdx-code-block
@@ -107,20 +107,20 @@ Du übergibst ein einziges `embed.FS` mit all deinen Assets in deiner Anwendungs
``` -Nun, da Assets nicht mehr gebündelt werden müssen, ist es eine ganz neue Entwicklungserfahrung. Der neue `wails dev` Befehl wird deine Anwendung erstellen und ausführen, aber statt die Assets in die `embed.FS` einzubetten werden diese direkt von der Festplatte geladen. +Now that assets don't need to be bundled, it's enabled a whole new development experience. The new `wails dev` command will build and run your application, but instead of using the assets in the `embed.FS`, it loads them directly from disk. -Es bietet auch zusätzlichen Funktionen: +It also provides the additional features: -- Hot reload - Änderungen an Frontend-Assets lösen ein neu laden des Anwendungsfrontends aus -- Automatisches Neuerstellen - Alle Änderungen an deinem Go-Code werden deine Anwendung neu erstellen und neu starten +- Hot reload - Any changes to frontend assets will trigger and auto reload of the application frontend +- Auto rebuild - Any changes to your Go code will rebuild and relaunch your application -Zusätzlich startet ein Webserver auf Port 34115. Dadurch wird deine Anwendung jedem Browser zur Verfügung gestellt, der sich mit diesem verbindet. Alle angeschlossenen Web-Browser reagieren auf Systemereignisse, wie zum Beispiel den hot Reload bei der Änderung von Dateien. +In addition to this, a webserver will start on port 34115. This will serve your application to any browser that connects to it. All connected web browsers will respond to system events like hot reload on asset change. -In Go sind wir an Structs, die wir in unseren Anwendungen haben, gewöhnt. Es ist oft hilfreich, Anweisungen an das Frontend zu senden und diese als Status in unserer Anwendung zu verwenden. In v1 war das ein sehr manueller Prozess und eine kleine Belastung für den Entwickler. Ich freue mich, ankündigen zu können, dass in v2, jede Anwendung, die im Dev-Modus ausgeführt wird, automatisch Modelle in TypeScript für alle Structs generiert, die Eingabe- oder Ausgabeparameter für verknüpfte Methoden sind. Dies ermöglicht den nahtlosen Austausch von Modellen zwischen den beiden Welten. +In Go, we are used to dealing with structs in our applications. It's often useful to send structs to our frontend and use them as state in our application. In v1, this was a very manual process and a bit of a burden on the developer. I'm happy to announce that in v2, any application run in dev mode will automatically generate TypeScript models for all structs that are input or output parameters to bound methods. This enables seamless interchange of data models between the two worlds. -Zusätzlich wird ein weiteres JS-Modul dynamisch generiert, welches alle verknüpften Methoden beinhaltet. Das stellt JSDoc für deine Methoden bereit und bietet Code-Vervollständigung und Hinweise in deiner IDE an. Es ist wirklich cool, wenn Datenmodelle automatisch importiert werden, nachdem man Tab drückt und das alles dank automatisch generierten Modulen, die deinen Go code verpacken! +In addition to this, another JS module is dynamically generated wrapping all your bound methods. This provides JSDoc for your methods, providing code completion and hinting in your IDE. It's really cool when you get data models auto-imported when hitting tab in an auto-generated module wrapping your Go code! -### Remote Vorlagen +### Remote Templates ```mdx-code-block
@@ -133,29 +133,29 @@ Zusätzlich wird ein weiteres JS-Modul dynamisch generiert, welches alle verknü
``` -Eine Anwendung schnell zum Laufen zu bringen, war immer ein zentrales Ziel für das Wails Projekt. Als wir starteten, haben wir versucht, viele der modernen Frameworks der Zeit abzudecken: react, vue und angular. Die Welt der Frontend-Entwicklung ist sehr eigenwillig, schnelllebig und schwer zu überblicken! Das führte dazu, dass unsere Basisvorlagen ziemlich schnell veraltet waren, was zu Wartungsproblemen führte. Es bedeutete auch, dass wir keine coolen modernen Vorlagen für die neuesten und die besten Technologie-Stacks hatten. +Getting an application up and running quickly was always a key goal for the Wails project. When we launched, we tried to cover a lot of the modern frameworks at the time: react, vue and angular. The world of frontend development is very opinionated, fast moving and hard to keep on top of! As a result, we found our base templates getting out of date pretty quickly and this caused a maintenance headache. It also meant that we didn't have cool modern templates for the latest and greatest tech stacks. -Mit v2 wollte ich die Community stärken, indem ich ihr die Möglichkeit gab, Vorlagen selbst zu erstellen und zu verwalten, statt sich auf das Wails Projekt verlassen zu müssen. So können jetzt Projekte mit Community-unterstützten Vorlagen erstellt werden! Ich hoffe, dass Entwickler dazu inspirieren werden, ein lebendiges Ökosystem von Projektvorlagen zu erstellen. Ich bin wirklich sehr gespannt darüber, was unsere Entwicklergemeinschaft erstellen kann! +With v2, I wanted to empower the community by giving you the ability to create and host templates yourselves, rather than rely on the Wails project. So now you can create projects using community supported templates! I hope this will inspire developers to create a vibrant ecosystem of project templates. I'm really quite excited about what our developer community can create! -### Fazit +### In Conclusion -Wails v2 stellt eine neue Grundlage für das Projekt dar. Das Ziel dieser Veröffentlichung ist es, Rückmeldungen über den neuen Ansatz zu erhalten und Fehler vor einer vollständigen Veröffentlichung zu beseitigen. Dein Input ist willkommen. Bitte sende jegliches Feedback an das [v2 Beta](https://github.com/wailsapp/wails/discussions/828) Diskussionsforum. +Wails v2 represents a new foundation for the project. The aim of this release is to get feedback on the new approach, and to iron out any bugs before a full release. Your input would be most welcome. Please direct any feedback to the [v2 Beta](https://github.com/wailsapp/wails/discussions/828) discussion board. -Es gab viele Drehungen und Wendungen, Schwenker und U-Turns, um zu diesem Punkt zu gelangen. Das lag zum Teil an frühen technischen Entscheidungen, die geändert werden mussten, und auch daran, dass einige Kernprobleme, für die wir viel Zeit mit der Entwicklung von Umgehungslösungen verbracht hatten, im Vorfeld behoben wurden: Die Einbettungsfunktion von Go ist ein gutes Beispiel dafür. Glücklicherweise ist alles zur richtigen Zeit zusammengekommen, und heute haben wir die beste Lösung, die wir haben können. Ich glaube, das Warten hat sich gelohnt - noch vor 2 Monaten wäre dies nicht möglich gewesen. +There were many twists and turns, pivots and u-turns to get to this point. This was due partly to early technical decisions that needed changing, and partly because some core problems we had spent time building workarounds for were fixed upstream: Go’s embed feature is a good example. Fortunately, everything came together at the right time, and today we have the very best solution that we can have. I believe the wait has been worth it - this would not have been possible even 2 months ago. -Ich muss auch einen großen Dank :pray: an die folgenden Leute richten, denn ohne sie würde diese Version einfach nicht existieren: +I also need to give a huge thank you :pray: to the following people because without them, this release just wouldn't exist: -- [Misite Bao](https://github.com/misitebao) - Ein absolutes Arbeitstier bei den chinesischen Übersetzungen und ein unglaublicher Fehlerfinder. -- [John Chadwick](https://github.com/jchv) - Seine erstaunliche Arbeit an [go-webview2](https://github.com/jchv/go-webview2) und [go-winloader](https://github.com/jchv/go-winloader) haben die Windows-Version ermöglicht, die wir heute haben. -- [Tad Vizbaras](https://github.com/tadvi) - Experimentierte mit seinem [winc](https://github.com/tadvi/winc) Projekt war der erste Schritt auf dem Weg zu einem reinen Go-Wails. -- [Mat Ryer](https://github.com/matryer) - Seine Unterstützung, Ermutigung und sein Feedback haben das Projekt wirklich vorangetrieben. +- [Misite Bao](https://github.com/misitebao) - An absolute workhorse on the Chinese translations and an incredible bug finder. +- [John Chadwick](https://github.com/jchv) - His amazing work on [go-webview2](https://github.com/jchv/go-webview2) and [go-winloader](https://github.com/jchv/go-winloader) have made the Windows version we have today possible. +- [Tad Vizbaras](https://github.com/tadvi) - Experimenting with his [winc](https://github.com/tadvi/winc) project was the first step down the path to a pure Go Wails. +- [Mat Ryer](https://github.com/matryer) - His support, encouragement and feedback has really helped drive the project forward. -Abschließend möchte ich mich bei allen [Projektsponsoren](/credits#sponsors)ganz besonders bedanken, einschließlich [JetBrains](https://www.jetbrains.com?from=Wails), dessen Unterstützung das Projekt in vielerlei Hinsicht hinter den Kulissen antreibt. +And finally, I'd like to give a special thank you to all the [project sponsors](/credits#sponsors), including [JetBrains](https://www.jetbrains.com?from=Wails), whose support drive the project in many ways behind the scenes. -Ich freue mich darauf, zu sehen, was die Leute mit Wails in dieser nächsten aufregenden Phase des Projekts bauen! +I look forward to seeing what people build with Wails in this next exciting phase of the project! Lea. -PS: MacOS- und Linux-Benutzer müssen sich nicht ausgeschlossen fühlen - die Portierung auf diese neue Grundlage ist in vollem Gange und die meiste harte Arbeit wurde bereits geleistet. Haltet weiter durch! +PS: MacOS and Linux users need not feel left out - porting to this new foundation is actively under way and most of the hard work has already been done. Hang in there! -PPS: Wenn du oder dein Unternehmen Wails nützlich finden, erwäge bitte [das Projekt](https://github.com/sponsors/leaanthony) zu sponsern. Vielen Dank! +PPS: If you or your company find Wails useful, please consider [sponsoring the project](https://github.com/sponsors/leaanthony). Thanks! diff --git a/website/i18n/de/docusaurus-plugin-content-blog/2021-11-08-v2-beta2-release-notes.mdx b/website/i18n/de/docusaurus-plugin-content-blog/2021-11-08-v2-beta2-release-notes.mdx index feb0d4338..86d44616f 100644 --- a/website/i18n/de/docusaurus-plugin-content-blog/2021-11-08-v2-beta2-release-notes.mdx +++ b/website/i18n/de/docusaurus-plugin-content-blog/2021-11-08-v2-beta2-release-notes.mdx @@ -1,6 +1,6 @@ --- slug: wails-v2-beta-for-mac -title: Wails v2 Beta für MacOS +title: Wails v2 Beta for MacOS authors: - leaanthony tags: @@ -19,13 +19,13 @@ tags:
``` -Heute erscheint die erste Beta-Version von Wails v2 für Mac! Es hat eine Weile gedauert, um an diesen Punkt zu gelangen, und ich hoffe , dass die heutige Veröffentlichung dir etwas geben wird, das ziemlich nützlich ist. Es gab eine Reihe von Drehungen und Wendungen, um zu diesem Punkt zu gelangen, und ich hoffe, dass ich mit deiner Hilfe die Falten ausbügeln und den Mac-Port für die endgültige Version 2 fertigstellen kann. +Today marks the first beta release of Wails v2 for Mac! It's taken quite a while to get to this point and I'm hoping that today's release will give you something that's reasonably useful. There have been a number of twists and turns to get to this point and I'm hoping, with your help, to iron out the crinkles and get the Mac port polished for the final v2 release. -Du meinst, dass diese Version nicht Produktions bereit ist? Für deinen Anwendungsfall könnte es durchaus bereit sein, aber es gibt immer noch eine Reihe von bekannten Problemen, also behalte deinen Blick auf [dieses Projektboard](https://github.com/wailsapp/wails/projects/7) und wenn du gerne mitmachen möchtest, wärst du herzlich willkommen! +You mean this isn't ready for production? For your use case, it may well be ready, but there are still a number of known issues so keep your eye on [this project board](https://github.com/wailsapp/wails/projects/7) and if you would like to contribute, you'd be very welcome! -Was ist neu für Wails v2 für Mac vs v1? Hinweis: Es ist ziemlich ähnlich zu der Windows Beta :wink: +So what's new for Wails v2 for Mac vs v1? Hint: It's pretty similar to the Windows Beta :wink: -### Neue Funktionen +### New Features ```mdx-code-block
@@ -38,47 +38,47 @@ Was ist neu für Wails v2 für Mac vs v1? Hinweis: Es ist ziemlich ähnlich zu d
``` -Es gab viele Anfragen für native Menüunterstützung. Wails hat endlich eine Lösung für dich. Anwendungsmenüs sind jetzt verfügbar und enthalten Unterstützung für die meisten nativen Menüfunktionen. Dazu gehören Standardmenüs, Kontrollkästchen, "Radio" gruppen, Untermenüs und Trennzeichen. +There were a lot of requests for native menu support. Wails has finally got you covered. Application menus are now available and include support for most native menu features. This includes standard menu items, checkboxes, radio groups, submenus and separators. -In v1 gab es eine große Anzahl von Bitten, das Fenster selbst besser kontrollieren zu können. Ich freue mich, mitteilen zu können, dass es speziell dafür neue Laufzeit-APIs gibt. Es verfügt über zahlreiche Funktionen und unterstützt Konfigurationen mit mehreren Monitoren. Es gibt auch eine verbesserte API: Du kannst jetzt moderne, native Dialoge mit reicher Konfiguration haben, um all deine Dialoganforderungen zu erfüllen. +There were a huge number of requests in v1 for the ability to have greater control of the window itself. I'm happy to announce that there's new runtime APIs specifically for this. It's feature-rich and supports multi-monitor configurations. There is also an improved dialogs API: Now, you can have modern, native dialogs with rich configuration to cater for all your dialog needs. -### Mac-spezifische Optionen +### Mac Specific Options -Zusätzlich zu den normalen Anwendungsoptionen bringt Wails v2 für Mac auch einige Mac-Extras: +In addition to the normal application options, Wails v2 for Mac also brings some Mac extras: -- Mach dein Fenster ganz cool und durchsichtig, wie all die hübschen Swift-Apps! -- Hochwertig anpassbare Titelleiste -- Wir unterstützen die NSAppearance Optionen für die Anwendung -- Einfache Konfiguration zum automatischen Erstellen eines "Info"-Menüs +- Make your window all funky and translucent, like all the pretty swift apps! +- Highly customisable titlebar +- We support the NSAppearance options for the application +- Simple config to auto-create an "About" menu -### Keine Anforderung zum Bündeln von Assets +### No requirement to bundle assets -Ein großer Schmerzpunkt von v1 war die Notwendigkeit, die gesamte Anwendung in einzelne JS- & CSS-Dateien zu kondensieren. Ich freue mich, ankündigen zu können, dass es für v2 keine Anforderung mehr gibt, Assets in irgendeiner weise oder Form zu bündeln. Möchtest du ein lokales Bild laden? Verwende ein `` Tag mit einem lokalen src Pfad. Möchtest du eine coole Schriftart verwenden? Kopiere sie in dein CSS und füge den Pfad hinzu. +A huge pain-point of v1 was the need to condense your entire application down to single JS & CSS files. I'm happy to announce that for v2, there is no requirement to bundle assets, in any way, shape or form. Want to load a local image? Use an `` tag with a local src path. Want to use a cool font? Copy it in and add the path to it in your CSS. -> Wow, das klingt wie ein Webserver... +> Wow, that sounds like a webserver... -Ja, er funktioniert genau wie ein Webserver, nur dass er es nicht ist. +Yes, it works just like a webserver, except it isn't. -> Wie füge ich also meine Assets ein? +> So how do I include my assets? -Du übergibst ein einziges `embed.FS` mit all deinen Assets in deiner Anwendungskonfiguration. Es muss sich nicht einmal im obersten Verzeichnis befinden - Wails findet das für dich heraus. +You just pass a single `embed.FS` that contains all your assets into your application configuration. They don't even need to be in the top directory - Wails will just work it out for you. -### Neue Entwicklungserfahrung +### New Development Experience -Nun, da Assets nicht mehr gebündelt werden müssen, gibt es eine ganz neue Entwicklungserfahrung. Der neue `wails dev` Befehl wird deine Anwendung erstellen und ausführen, aber statt die Assets in die `embed.FS` einzubetten werden diese direkt von der Festplatte geladen. +Now that assets don't need to be bundled, it's enabled a whole new development experience. The new `wails dev` command will build and run your application, but instead of using the assets in the `embed.FS`, it loads them directly from disk. -Diese bietet auch zusätzlichen Funktionen: +It also provides the additional features: -- Hot reload - Änderungen an Frontend-Assets lösen ein neu laden des Anwendungsfrontends aus -- Automatisches Neuerstellen - Alle Änderungen an deinem Go-Code werden deine Anwendung neu erstellen und neu starten +- Hot reload - Any changes to frontend assets will trigger and auto reload of the application frontend +- Auto rebuild - Any changes to your Go code will rebuild and relaunch your application -Zusätzlich startet ein Webserver auf Port 34115. Dadurch wird deine Anwendung jedem Browser zur Verfügung gestellt, der sich mit diesem verbindet. Alle angeschlossenen Web-Browser reagieren auf Systemereignisse, wie zum Beispiel den hot Reload bei der Änderung von Dateien. +In addition to this, a webserver will start on port 34115. This will serve your application to any browser that connects to it. All connected web browsers will respond to system events like hot reload on asset change. -In Go sind wir an Structs, die wir in unseren Anwendungen haben, gewöhnt. Es ist oft nützlich, Anweisungen an unser Frontend zu senden und sie als Status in unserer Anwendung zu verwenden. In v1 war das ein sehr manueller Prozess und eine kleine Belastung für den Entwickler. Ich freue mich, ankündigen zu können, dass in v2, jede Anwendung, die im Dev-Modus ausgeführt wird, automatisch Modelle in TypeScript für alle Structs generiert, die Eingabe- oder Ausgabeparameter für verknüpfte Methoden sind. Dies ermöglicht den nahtlosen Austausch von Modellen zwischen den beiden Welten. +In Go, we are used to dealing with structs in our applications. It's often useful to send structs to our frontend and use them as state in our application. In v1, this was a very manual process and a bit of a burden on the developer. I'm happy to announce that in v2, any application run in dev mode will automatically generate TypeScript models for all structs that are input or output parameters to bound methods. This enables seamless interchange of data models between the two worlds. -Zusätzlich wird ein weiteres JS-Modul dynamisch generiert, welches alle verknüpften Methoden beinhaltet. Das stellt JSDoc für deine Methoden bereit und bietet Code-Vervollständigung und Hinweise in deiner IDE. Es ist wirklich cool, wenn Datenmodelle automatisch importiert werden, nachdem man Tab drückt und das alles dank automatisch generierten Modulen, die deinen Go code verpacken! +In addition to this, another JS module is dynamically generated wrapping all your bound methods. This provides JSDoc for your methods, providing code completion and hinting in your IDE. It's really cool when you get data models auto-imported when hitting tab in an auto-generated module wrapping your Go code! -### Remote Vorlagen +### Remote Templates ```mdx-code-block
@@ -91,13 +91,13 @@ Zusätzlich wird ein weiteres JS-Modul dynamisch generiert, welches alle verknü
``` -Eine Anwendung schnell zum Laufen zu bringen, war immer ein zentrales Ziel für das Wails Projekt. Als wir starteten, haben wir versucht, viele der modernen Frameworks der Zeit abzudecken: react, vue und angular. Die Welt der Frontend-Entwicklung ist sehr eigenwillig, schnelllebig und schwer zu überblicken! Das führte dazu, dass unsere Basisvorlagen ziemlich schnell veraltet waren, was zu Wartungsproblemen führte. Es bedeutete auch, dass wir keine coolen modernen Vorlagen für die neuesten und die besten Technologie-Stacks hatten. +Getting an application up and running quickly was always a key goal for the Wails project. When we launched, we tried to cover a lot of the modern frameworks at the time: react, vue and angular. The world of frontend development is very opinionated, fast moving and hard to keep on top of! As a result, we found our base templates getting out of date pretty quickly and this caused a maintenance headache. It also meant that we didn't have cool modern templates for the latest and greatest tech stacks. -Mit v2 wollte ich die Community stärken, indem ich ihr die Möglichkeit gab, Vorlagen selbst zu erstellen und zu verwalten, statt sich auf das Wails Projekt verlassen zu müssen. So können jetzt Projekte mit Community-unterstützten Vorlagen erstellt werden! Ich hoffe, dass Entwickler dazu inspiriert werden, ein lebendiges Ökosystem von Projektvorlagen zu erstellen. Ich bin wirklich sehr gespannt darauf, was unsere Entwicklergemeinschaft erstellen kann! +With v2, I wanted to empower the community by giving you the ability to create and host templates yourselves, rather than rely on the Wails project. So now you can create projects using community supported templates! I hope this will inspire developers to create a vibrant ecosystem of project templates. I'm really quite excited about what our developer community can create! -### Native M1 Unterstützung +### Native M1 Support -Dank der erstaunlichen Unterstützung von [Mat Ryer](https://github.com/matryer/) unterstützt das Wails Projekt nun M1 native Builds: +Thanks to the amazing support of [Mat Ryer](https://github.com/matryer/), the Wails project now supports M1 native builds: ```mdx-code-block
@@ -110,7 +110,7 @@ Dank der erstaunlichen Unterstützung von [Mat Ryer](https://github.com/matryer/
``` -Du kannst auch `darwin/amd64` als Ziel festlegen: +You can also specify `darwin/amd64` as a target too: ```mdx-code-block
@@ -123,7 +123,7 @@ Du kannst auch `darwin/amd64` als Ziel festlegen:
``` -Oh, beinahe hätte ich es vergessen.... Du kannst auch `Darwin/Universal` als Ziel festlegen.... :wink: +Oh, I almost forgot.... you can also do `darwin/universal`.... :wink: ```mdx-code-block
@@ -136,9 +136,9 @@ Oh, beinahe hätte ich es vergessen.... Du kannst auch `Darwin/Universal` als Zi
``` -### Cross-Kompilierung für Windows +### Cross Compilation to Windows -Da Wails v2 für Windows aus reinem Go besteht, kannst du Windows Builds ohne Docker erzeugen. +Because Wails v2 for Windows is pure Go, you can target Windows builds without docker. ```mdx-code-block
@@ -153,18 +153,18 @@ Da Wails v2 für Windows aus reinem Go besteht, kannst du Windows Builds ohne Do ### WKWebView Renderer -V1 verlässt sich auf eine (inzwischen veraltete) WebView-Komponente. V2 verwendet die neueste WKWebKit-Komponente, daher erwarte das neueste und größte von Apple. +V1 relied on a (now deprecated) WebView component. V2 uses the most recent WKWebKit component so expect the latest and greatest from Apple. -### Fazit +### In Conclusion -Wie ich in den Windows Release Notes gesagt hatte, ist Wails v2 eine neue Grundlage für das Projekt. Das Ziel dieser Veröffentlichung ist es, Rückmeldungen über den neuen Ansatz zu erhalten und Fehler vor einer vollständigen Veröffentlichung zu beseitigen. Dein Input ist willkommen! Bitte richte alle Rückmeldungen an das [v2 Beta](https://github.com/wailsapp/wails/discussions/828) Diskussionsforum. +As I'd said in the Windows release notes, Wails v2 represents a new foundation for the project. The aim of this release is to get feedback on the new approach, and to iron out any bugs before a full release. Your input would be most welcome! Please direct any feedback to the [v2 Beta](https://github.com/wailsapp/wails/discussions/828) discussion board. -Abschließend möchte ich mich bei allen [Projektsponsoren](/credits#sponsors) ganz besonders bedanken, einschließlich [JetBrains](https://www.jetbrains.com?from=Wails), dessen Unterstützung das Projekt in vielerlei Hinsicht hinter den Kulissen antreibt. +And finally, I'd like to give a special thank you to all the [project sponsors](/credits#sponsors), including [JetBrains](https://www.jetbrains.com?from=Wails), whose support drive the project in many ways behind the scenes. -Ich freue mich darauf, zu sehen, was die Leute mit Wails in dieser nächsten aufregenden Phase des Projekts bauen! +I look forward to seeing what people build with Wails in this next exciting phase of the project! Lea. -PS: Linux Benutzer, ihr seid als Nächstes dran! +PS: Linux users, you're next! -PPS: Wenn du oder dein Unternehmen Wails nützlich finden, erwäge bitte [das Projekt](https://github.com/sponsors/leaanthony) zu sponsern. Vielen Dank! +PPS: If you or your company find Wails useful, please consider [sponsoring the project](https://github.com/sponsors/leaanthony). Thanks! diff --git a/website/i18n/de/docusaurus-plugin-content-blog/2022-02-22-v2-beta3-release-notes.mdx b/website/i18n/de/docusaurus-plugin-content-blog/2022-02-22-v2-beta3-release-notes.mdx index 235574d4f..b405953cf 100644 --- a/website/i18n/de/docusaurus-plugin-content-blog/2022-02-22-v2-beta3-release-notes.mdx +++ b/website/i18n/de/docusaurus-plugin-content-blog/2022-02-22-v2-beta3-release-notes.mdx @@ -1,6 +1,6 @@ --- slug: wails-v2-beta-for-linux -title: Wails v2 Beta für Linux +title: Wails v2 Beta for Linux authors: - leaanthony tags: @@ -19,9 +19,9 @@ tags:
``` -Ich freue mich, endlich ankündigen zu können, dass Wails v2 jetzt in der Beta für Linux ist! Es ist etwas ironisch, dass die ersten Experimente mit v2 unter Linux liefen und trotzdem als letzte veröffentlicht wurden. Die heutige v2 unterscheidet sich jedoch stark von diesen ersten Versuchen. Also, ohne weiteres drum rum Gerede, schauen wir uns die neuen Funktionen an: +I'm pleased to finally announce that Wails v2 is now in beta for Linux! It is somewhat ironic that the very first experiments with v2 was on Linux and yet it has ended up as the last release. That being said, the v2 we have today is very different from those first experiments. So without further ado, let's go over the new features: -### Neue Funktionen +### New Features ```mdx-code-block
@@ -34,38 +34,38 @@ Ich freue mich, endlich ankündigen zu können, dass Wails v2 jetzt in der Beta
``` -Es gab viele Anfragen für native Menüunterstützung. Wails hat endlich eine Lösung für dich. Anwendungsmenüs sind jetzt verfügbar und enthalten Unterstützung für die meisten nativen Menüfunktionen. Dazu gehören Standardmenüs, Kontrollkästchen, "Radio" gruppen, Untermenüs und Trenner. +There were a lot of requests for native menu support. Wails has finally got you covered. Application menus are now available and include support for most native menu features. This includes standard menu items, checkboxes, radio groups, submenus and separators. -In v1 gab es eine große Anzahl von Bitten, das Fenster selbst besser kontrollieren zu können. Ich freue mich, mitteilen zu können, dass es speziell dafür neue Laufzeit-APIs gibt. Es verfügt über zahlreiche Funktionen und unterstützt Konfigurationen mit mehreren Monitoren. Es gibt auch eine verbesserte API: Du kannst jetzt moderne, native Dialoge mit reicher Konfiguration haben, um all deine Dialoganforderungen zu erfüllen. +There were a huge number of requests in v1 for the ability to have greater control of the window itself. I'm happy to announce that there's new runtime APIs specifically for this. It's feature-rich and supports multi-monitor configurations. There is also an improved dialogs API: Now, you can have modern, native dialogs with rich configuration to cater for all your dialog needs. -### Keine Anforderung zum Bündeln von Assets +### No requirement to bundle assets -Ein großer Schmerzpunkt von Version 1 war die Notwendigkeit, die gesamte Anwendung in einzelne JS- & CSS-Dateien zu kondensieren. Ich freue mich, ankündigen zu können, dass es für Version 2 keine Anforderung mehr gibt, Assets in irgendeiner weise oder Form zu bündeln. Möchtest du ein lokales Bild laden? Verwende ein `` Tag mit einem lokalen src Pfad. Möchtest du eine coole Schriftart verwenden? Kopiere sie in dein CSS und füge den Pfad hinzu. +A huge pain-point of v1 was the need to condense your entire application down to single JS & CSS files. I'm happy to announce that for v2, there is no requirement to bundle assets, in any way, shape or form. Want to load a local image? Use an `` tag with a local src path. Want to use a cool font? Copy it in and add the path to it in your CSS. -> Wow, das klingt wie ein Webserver... +> Wow, that sounds like a webserver... -Ja, er funktioniert genau wie ein Webserver, nur dass er es nicht ist. +Yes, it works just like a webserver, except it isn't. -> Wie füge ich also meine Assets ein? +> So how do I include my assets? -Du übergibst ein einziges `embed.FS` mit all deinen Assets in deiner Anwendungskonfiguration. Es muss sich nicht einmal im obersten Verzeichnis befinden - Wails findet das für dich heraus. +You just pass a single `embed.FS` that contains all your assets into your application configuration. They don't even need to be in the top directory - Wails will just work it out for you. -### Neue Entwicklungserfahrung +### New Development Experience -Nun, da Assets nicht mehr gebündelt werden müssen, gibt es eine ganz neue Entwicklungserfahrung. Der neue `wails dev` Befehl wird deine Anwendung erstellen und ausführen, aber statt die Assets in die `embed.FS` einzubetten werden diese direkt von der Festplatte geladen. +Now that assets don't need to be bundled, it's enabled a whole new development experience. The new `wails dev` command will build and run your application, but instead of using the assets in the `embed.FS`, it loads them directly from disk. -Es bietet auch zusätzlichen Funktionen: +It also provides the additional features: -- Hot Reload – Jede Änderung an Frontend-Assets löst ein automatisches Neuladen des Anwendungs-Frontends aus -- Automatisches Neuerstellen - Alle Änderungen an deinem Go-Code werden deine Anwendung neu erstellen und neu starten +- Hot reload - Any changes to frontend assets will trigger and auto reload of the application frontend +- Auto rebuild - Any changes to your Go code will rebuild and relaunch your application -Zusätzlich startet ein Webserver auf Port 34115. Dadurch wird deine Anwendung jedem Browser zur Verfügung gestellt, der sich mit diesem verbindet. Alle angeschlossenen Web-Browser reagieren auf Systemereignisse, wie zum Beispiel den hot Reload bei der Änderung von Dateien. +In addition to this, a webserver will start on port 34115. This will serve your application to any browser that connects to it. All connected web browsers will respond to system events like hot reload on asset change. -In Go sind wir an Structs, die wir in unseren Anwendungen haben, gewöhnt. Es ist oft nützlich, Anweisungen an unser Frontend zu senden und sie als Status in unserer Anwendung zu verwenden. In v1 war das ein sehr manueller Prozess und eine kleine Belastung für den Entwickler. Ich freue mich, ankündigen zu können, dass in v2, jede Anwendung, die im Dev-Modus ausgeführt wird, automatisch Modelle in TypeScript für alle Structs generiert, die Eingabe- oder Ausgabeparameter für verknüpfte Methoden sind. Dies ermöglicht den nahtlosen Austausch von Modellen zwischen den beiden Welten. +In Go, we are used to dealing with structs in our applications. It's often useful to send structs to our frontend and use them as state in our application. In v1, this was a very manual process and a bit of a burden on the developer. I'm happy to announce that in v2, any application run in dev mode will automatically generate TypeScript models for all structs that are input or output parameters to bound methods. This enables seamless interchange of data models between the two worlds. -Zusätzlich wird ein weiteres JS-Modul dynamisch generiert, welches alle verknüpften Methoden beinhaltet. Das stellt JSDoc für deine Methoden bereit und bietet Code-Vervollständigung und Hinweise in deiner IDE. Es ist wirklich cool, wenn Datenmodelle automatisch importiert werden, nachdem man Tab drückt und das alles dank automatisch generierten Module, die deinen Go code verpacken! +In addition to this, another JS module is dynamically generated wrapping all your bound methods. This provides JSDoc for your methods, providing code completion and hinting in your IDE. It's really cool when you get data models auto-imported when hitting tab in an auto-generated module wrapping your Go code! -### Remote Vorlagen +### Remote Templates ```mdx-code-block
@@ -78,13 +78,13 @@ Zusätzlich wird ein weiteres JS-Modul dynamisch generiert, welches alle verknü
``` -Eine Anwendung schnell zum Laufen zu bringen, war immer ein zentrales Ziel für das Wails Projekt. Als wir starteten, haben wir versucht, viele der modernen Frameworks der Zeit abzudecken: react, vue und angular. Die Welt der Frontend-Entwicklung ist sehr eigenwillig, schnelllebig und schwer zu überblicken! Das führte dazu, dass unsere Basisvorlagen ziemlich schnell veraltet waren, was zu Wartungsproblemen führte. Es bedeutete auch, dass wir keine coolen modernen Vorlagen für die neuesten und die besten Technologie-Stacks hatten. +Getting an application up and running quickly was always a key goal for the Wails project. When we launched, we tried to cover a lot of the modern frameworks at the time: react, vue and angular. The world of frontend development is very opinionated, fast moving and hard to keep on top of! As a result, we found our base templates getting out of date pretty quickly and this caused a maintenance headache. It also meant that we didn't have cool modern templates for the latest and greatest tech stacks. -Mit v2 wollte ich die Community stärken, indem ich ihr die Möglichkeit gab, Vorlagen selbst zu erstellen und zu verwalten, statt sich auf das Wails Projekt verlassen zu müssen. So können jetzt Projekte mit Community-unterstützten Vorlagen erstellt werden! Ich hoffe, dass Entwickler dazu inspiriert werden, ein lebendiges Ökosystem von Projektvorlagen zu erstellen. Ich bin wirklich sehr gespannt darüber, was unsere Entwicklergemeinschaft erstellen kann! +With v2, I wanted to empower the community by giving you the ability to create and host templates yourselves, rather than rely on the Wails project. So now you can create projects using community supported templates! I hope this will inspire developers to create a vibrant ecosystem of project templates. I'm really quite excited about what our developer community can create! -### Cross-Kompilierung für Windows +### Cross Compilation to Windows -Da Wails Version 2 für Windows aus reinem Go besteht, kannst du Windows Builds ohne Docker erzeugen. +Because Wails v2 for Windows is pure Go, you can target Windows builds without docker. ```mdx-code-block
@@ -97,18 +97,18 @@ Da Wails Version 2 für Windows aus reinem Go besteht, kannst du Windows Builds
``` -### Fazit +### In Conclusion -Wie ich in den Windows Release Notes gesagt hatte, ist Wails Version 2 eine neue Grundlage für das Projekt. Das Ziel dieser Veröffentlichung ist es, Rückmeldungen über den neuen Ansatz zu erhalten und Fehler vor einer vollständigen Veröffentlichung zu beseitigen. Dein Input ist willkommen! Bitte richte alle Rückmeldungen an das [v2 Beta](https://github.com/wailsapp/wails/discussions/828) Diskussionsforum. +As I'd said in the Windows release notes, Wails v2 represents a new foundation for the project. The aim of this release is to get feedback on the new approach, and to iron out any bugs before a full release. Your input would be most welcome! Please direct any feedback to the [v2 Beta](https://github.com/wailsapp/wails/discussions/828) discussion board. -Linux ist **schwierig** zu unterstützen. Wir erwarten, dass es eine Reihe von Macken in der Beta gibt. Bitte hilf uns, dir zu helfen, indem du detaillierte Fehlerberichte einreichst! +Linux is **hard** to support. We expect there to be a number of quirks with the beta. Please help us to help you by filing detailed bug reports! -Abschließend möchte ich mich bei allen [Projektsponsoren](/credits#sponsors) bedanken, die das Projekt in vielerlei Hinsicht hinter den Kulissen unterstützen. +Finally, I'd like to give a special thank you to all the [project sponsors](/credits#sponsors) whose support drive the project in many ways behind the scenes. -Ich freue mich darauf, zu sehen, was die Leute mit Wails in dieser nächsten aufregenden Phase des Projekts bauen! +I look forward to seeing what people build with Wails in this next exciting phase of the project! Lea. -PS: Der Version 2 Release ist jetzt nicht mehr weit entfernt! +PS: The v2 release isn't far off now! -PPS: Wenn du oder dein Unternehmen Wails nützlich finden, erwäge bitte [das Projekt](https://github.com/sponsors/leaanthony) zu sponsern. Vielen Dank! +PPS: If you or your company find Wails useful, please consider [sponsoring the project](https://github.com/sponsors/leaanthony). Thanks! diff --git a/website/i18n/de/docusaurus-plugin-content-blog/2022-09-22-v2-release-notes.mdx b/website/i18n/de/docusaurus-plugin-content-blog/2022-09-22-v2-release-notes.mdx index 186de9c26..c321f5042 100644 --- a/website/i18n/de/docusaurus-plugin-content-blog/2022-09-22-v2-release-notes.mdx +++ b/website/i18n/de/docusaurus-plugin-content-blog/2022-09-22-v2-release-notes.mdx @@ -1,6 +1,6 @@ --- slug: wails-v2-released -title: Wails v2 wurde veröffentlicht +title: Wails v2 Released authors: - leaanthony tags: @@ -18,81 +18,81 @@ tags:
``` -# Es ist hier! +# It's here! -Der heutige Tag ist der Tag der veröffentlichung von [Wails](https://wails.io) v2. Es sind etwa 18 Monate her seit der ersten v2 Alpha und etwa ein Jahr vor dem ersten Beta-Release. Ich bin wirklich dankbar für alle, die an der Entwicklung des Projekts beteiligt waren. +Today marks the release of [Wails](https://wails.io) v2. It's been about 18 months since the first v2 alpha and about a year from the first beta release. I'm truly grateful to everyone involved in the evolution of the project. -Ein Teil des Grundes, warum es so lange gedauert hat, war der Wunsch, zu einem gewissen Punkt der Vollständigkeit zu gelangen, bevor wir es offiziell v2 nennen. Die Wahrheit ist, es gibt nie eine perfekte Zeit, um eine Veröffentlichung zu machen - es gibt immer noch offene Probleme oder "nur eine weitere" Funktion, die man einbauen möchte. Die Kennzeichnung einer unvollkommenen Hauptversion sorgt jedoch für eine Stabilität für die Benutzer des Projekts und für einen kleinen Neustart für die Entwickler. +Part of the reason it took that long was due to wanting to get to some definition of completeness before officially calling it v2. The truth is, there's never a perfect time to tag a release - there's always outstanding issues or "just one more" feature to squeeze in. What tagging an imperfect major release does do, however, is to provide a bit of stability for users of the project, as well as a bit of a reset for the developers. -Diese Veröffentlichung ist mehr als ich je erwartet hätte. Ich hoffe, es bereitet dir so viel Freude, wie die Weiterentwicklung des Projektes uns gegeben hat. +This release is more than I'd ever expected it to be. I hope it gives you as much pleasure as it has given us to develop it. -# Was _ist_ Wails? +# What _is_ Wails? -Wenn du mit Wails nicht vertraut bist: Es ist ein Projekt, das Go-Programmierern die Möglichkeit gibt, ihren Go-Programmen mit bekannten Web-Technologien reiche Frontends zu bieten. Es ist eine leichtgewichtige, Go Alternative zu Electron. Weitere Informationen findest du auf der [offiziellen Seite](https://wails.io/docs/introduction). +If you are unfamiliar with Wails, it is a project that enables Go programmers to provide rich frontends for their Go programs using familiar web technologies. It's a lightweight, Go alternative to Electron. Much more information can be found on the [official site](https://wails.io/docs/introduction). -# Was ist neu? +# What's new? -Der v2-Release ist ein riesiger Fortschritt für das Projekt, der sich mit vielen Schmerzpunkten von v1 befasst. Wenn du noch keinen Blog-Beitrag zu den Beta-Veröffentlichungen für [macOS](/blog/wails-v2-beta-for-mac), [Windows](/blog/wails-v2-beta-for-windows) oder [Linux](/blog/wails-v2-beta-for-linux) gelesen hast, dann empfehle ich dir, das zu tun, da es alle wichtigen Änderungen detaillierter behandelt. Zusammenfassend lässt sich sagen: +The v2 release is a huge leap forward for the project, addressing many of the pain points of v1. If you have not read any of the blog posts on the Beta releases for [macOS](/blog/wails-v2-beta-for-mac), [Windows](/blog/wails-v2-beta-for-windows) or [Linux](/blog/wails-v2-beta-for-linux), then I encourage you to do so as it covers all the major changes in more detail. In summary: -- Webview2 Komponente für Windows, die moderne Web-Standards und Debugging-Fähigkeiten unterstützt. -- [Dunkles / Helles Theme](/docs/reference/options#theme) + [benutzerdefiniertes Design](/docs/reference/options#customtheme) unter Windows. -- Windows hat jetzt keine CGO-Anforderungen. -- Out-of-the-box Unterstützung für Svelte, Vue, React, Preact, Lit & Vanilla Projektvorlagen. -- Die [Vite](https://vitejs.dev/) Integration stellt eine Entwicklungsumgebung für deine Anwendung zur Verfügung. -- Native Anwendungs [Menüs](/docs/guides/application-development#application-menu) und [Dialoge](/docs/reference/runtime/dialog). -- Native Fenstertransluzenz-Effekte für [Windows](/docs/reference/options#windowistranslucent) und [macOS](/docs/reference/options#windowistranslucent-1). Unterstützung für Mica & Acryl-Hintergründe. -- Generiere einfach einen [NSIS Installer](/docs/guides/windows-installer) für Windows-Installationen. -- Eine reiche [Laufzeitbibliothek](/docs/reference/runtime/intro) bietet Hilfsmethoden für Fenstermanipulation, Events, Dialoge, Menüs und logging. -- Unterstützung für [Verschleierung](/docs/guides/obfuscated) deiner Anwendung mit [garble](https://github.com/burrowers/garble). -- Unterstützung für das Komprimieren deiner Anwendung mit [UPX](https://upx.github.io/). -- Automatische TypeScript Erzeugung von Go Structs. Mehr Infos [hier](/docs/howdoesitwork#calling-bound-go-methods). -- Es werden keine zusätzlichen Bibliotheken oder DLLs benötigt, die mit deiner Anwendung ausgeliefert werden müssen. Für jede Plattform. -- Keine Anforderung, um Frontend-Assets zu bündeln. Entwickele einfach deine Anwendung wie jede andere Web-Anwendung. +- Webview2 component for Windows that supports modern web standards and debugging capabilities. +- [Dark / Light theme](/docs/reference/options#theme) + [custom theming](/docs/reference/options#customtheme) on Windows. +- Windows now has no CGO requirements. +- Out-of-the-box support for Svelte, Vue, React, Preact, Lit & Vanilla project templates. +- [Vite](https://vitejs.dev/) integration providing a hot-reload development environment for your application. +- Native application [menus](/docs/guides/application-development#application-menu) and [dialogs](/docs/reference/runtime/dialog). +- Native window translucency effects for [Windows](/docs/reference/options#windowistranslucent) and [macOS](/docs/reference/options#windowistranslucent-1). Support for Mica & Acrylic backdrops. +- Easily generate an [NSIS installer](/docs/guides/windows-installer) for Windows deployments. +- A rich [runtime library](/docs/reference/runtime/intro) providing utility methods for window manipulation, eventing, dialogs, menus and logging. +- Support for [obfuscating](/docs/guides/obfuscated) your application using [garble](https://github.com/burrowers/garble). +- Support for compressing your application using [UPX](https://upx.github.io/). +- Automatic TypeScript generation of Go structs. More info [here](/docs/howdoesitwork#calling-bound-go-methods). +- No extra libraries or DLLs are required to be shipped with your application. For any platform. +- No requirement to bundle frontend assets. Just develop your application like any other web application. -# Credits & Danksagung +# Credit & Thanks -Zu v2 zu kommen, war eine große Herausforderung. Zwischen der ersten Alpha-Version und der heutigen Veröffentlichung gab es ~2,2K Commits von 89 Mitwirkenden, und viele, viele mehr haben Übersetzungen, Tests, Feedback und Hilfe in den Diskussionsforen und im Issue Tracker bereitgestellt. Ich bin so unglaublich dankbar für jeden von euch. Mein besonderer Dank gilt auch allen Projektsponsoren, die uns mit Rat und Tat zur Seite standen und uns Feedback gegeben haben. Alles, was du beiträgst, wird sehr geschätzt. +Getting to v2 has been a huge effort. There have been ~2.2K commits by 89 contributors between the initial alpha and the release today, and many, many more that have provided translations, testing, feedback and help on the discussion forums as well as the issue tracker. I'm so unbelievably grateful to each one of you. I'd also like to give an extra special thank you to all the project sponsors who have provided guidance, advice and feedback. Everything you do is hugely appreciated. -Es gibt ein paar Leute, die ich besonders erwähnen möchte: +There are a few people I'd like to give special mention to: -Zunächst einmal ein **großes** Dankeschön an <0>@stffabi, der so viele Beiträge geliefert hat, von denen wir alle profitieren, und der uns in vielen Fragen unterstützt hat. Er hat einige Schlüsselfunktionen bereitgestellt, wie z. B. die Unterstützung für externe Entwicklungsserver, die unser Angebot im Entwicklungsmodus verändert haben, indem sie uns die Möglichkeit gaben, die Superkräfte von [Vite](https://vitejs.dev/) zu nutzen. Man kann mit Fug und Recht behaupten, dass Wails v2 ohne seine [unglaublichen Beiträge](https://github.com/wailsapp/wails/commits?author=stffabi&since=2020-01-04) eine weit weniger aufregende Veröffentlichung wäre. Vielen Dank @stffabi! +Firstly, a **huge** thank you to [@stffabi](https://github.com/stffabi) who has provided so many contributions which we all benefit from, as well as providing a lot of support on many issues. He has provided some key features such as the external dev server support which transformed our dev mode offering by allowing us to hook into [Vite](https://vitejs.dev/)'s superpowers. It's fair to say that Wails v2 would be a far less exciting release without his [incredible contributions](https://github.com/wailsapp/wails/commits?author=stffabi&since=2020-01-04). Thank you so much @stffabi! -Ich möchte auch ein großes Lob an [@misitebao](https://github.com/misitebao) aussprechen, der unermüdlich die Website pflegt, chinesische Übersetzungen liefert, Crowdin verwaltet und neuen Übersetzern hilft, sich einzuarbeiten. Dies ist eine äußerst wichtige Aufgabe, und ich bin sehr dankbar für die ganze Zeit und Mühe in dieser Aufgabe! Du rockst! +I'd also like to give a huge shout-out to [@misitebao](https://github.com/misitebao) who has tirelessly been maintaining the website, as well as providing Chinese translations, managing Crowdin and helping new translators get up to speed. This is a hugely important task, and I'm extremely grateful for all the time and effort put into this! You rock! -Zu guter Letzt ein großes Dankeschön an Mat Ryer, der uns bei der Entwicklung von v2 mit Rat und Tat zur Seite stand. Das gemeinsame Schreiben von xBar mit einer frühen Alpha-Version von v2 war hilfreich, um die Richtung von v2 zu bestimmen und mir ein Verständnis für einige Designfehler in den frühen Versionen zu vermitteln. Ich freue mich, ankündigen zu können, dass wir ab heute damit beginnen werden, xBar auf Wails v2 zu portieren, und dass es die Hauptanwendung für das Projekt werden wird. Danke Mat! +Last, but not least, a huge thank you to Mat Ryer who has provided advice and support during the development of v2. Writing xBar together using an early Alpha of v2 was helpful in shaping the direction of v2, as well as give me an understanding of some design flaws in the early releases. I'm happy to announce that as of today, we will start to port xBar to Wails v2, and it will become the flagship application for the project. Cheers Mat! -# Gewonnene Erkenntnisse +# Lessons Learnt -Es gibt eine Reihe von Lektionen, die man beim Erreichen von v2 gelernt hat, um die Entwicklung voranzutreiben. +There are a number of lessons learnt in getting to v2 that will shape development moving forward. -## Kleine, schnellere, fokussierte Versionen +## Smaller, Quicker, Focused Releases -Im Zuge der Entwicklung von v2 gab es viele Funktionen und Bugfixes, die auf Ad-hoc-Basis entwickelt wurden. Das führte zu längeren Release-Zyklen und war schwieriger zu debuggen. In Zukunft werden wir häufiger neue Versionen veröffentlichen, die eine geringere Anzahl von Funktionen enthalten. Eine Veröffentlichung wird Aktualisierungen der Dokumentation sowie gründliche Tests beinhalten. Hoffentlich werden diese kleineren, schnelleren, fokussierten Veröffentlichungen zu weniger Regressionen und besseren Dokumentationen führen. +In the course of developing v2, there were many features and bug fixes that were developed on an ad-hoc basis. This led to longer release cycles and were harder to debug. Moving forward, we are going to create releases more often that will include a reduced number of features. A release will involve updates to documentation as well as thorough testing. Hopefully, these smaller, quicker, focussed releases will lead to fewer regressions and better quality documentation. -## Engagement ermutigen +## Encourage Engagement -Als ich dieses Projekt startete, wollte ich sofort allen helfen, die ein Problem hatten. Die Probleme waren "persönlich" und ich wollte, dass sie so schnell wie möglich gelöst werden. Das ist auf lange Zeit nicht tragbar und wirkt sich letztlich gegen die Langlebigkeit des Projekts aus. Ich werde den Menschen mehr Raum geben, sich in die Beantwortung von Fragen und trickreichen Fragen einzumischen. Es wäre gut, einige Werkzeuge zu bekommen, die dabei helfen. Wenn du also Vorschläge haben solltest, beteilige dich bitte an der Diskussion [hier](https://github.com/wailsapp/wails/discussions/1855). +When starting this project, I wanted to immediately help everyone who had a problem. Issues were "personal" and I wanted them resolved as quickly as possible. This is unsustainable and ultimately works against the longevity of the project. Moving forward, I will be giving more space for people to get involved in answering questions and triaging issues. It would be good to get some tooling to help with this so if you have any suggestions, please join in the discussion [here](https://github.com/wailsapp/wails/discussions/1855). -## Lernen nein zu sagen +## Learning to say No -Je mehr Leute mit einem Open-Source-Projekt arbeiten, je mehr Anfragen gibt es nach zusätzlichen Funktionen, die für die Mehrheit der Leute nützlich sein können oder nicht. Die Entwicklung und Fehlersuche für diese Funktionen nimmt zunächst viel Zeit in Anspruch, und ab diesem Zeitpunkt fallen laufende Wartungskosten an. Ich selbst habe mich dessen am meisten schuldig gemacht, weil ich oft "den Stein ins Rollen bringen" wollte, anstatt das Minimum an praktikablen Funktionen anzubieten. In Zukunft werden wir bei der Hinzufügung von Kernfunktionen etwas mehr "Nein" sagen und unsere Energie auf eine Möglichkeit konzentrieren müssen, die es Entwicklern ermöglicht, diese Funktionen selbst bereitzustellen. Wir ziehen Plugins für dieses Szenario aktuell in betracht. Dies wird jedem ermöglichen, das Projekt so zu erweitern, wie er es für richtig hält, und eine einfache Möglichkeit bieten, zum Projekt beizutragen. +The more people that engage with an Open Source project, the more requests there will be for additional features that may or may not be useful to the majority of people. These features will take an initial amount of time to develop and debug, and incur an ongoing maintenance cost from that point on. I myself am the most guilty of this, often wanting to "boil the sea" rather than provide the minimum viable feature. Moving forward, we will need to say "No" a bit more to adding core features and focus our energies on a way to empower developers to provide that functionality themselves. We are looking seriously into plugins for this scenario. This will allow anyone to extend the project as they see fit, as well as providing an easy way to contribute towards the project. -# Mit Blick auf die Zukunft +# Looking to the Future -Es gibt so viele Kernfunktionen, die wir im nächsten großen Entwicklungszyklus zu Wails hinzufügen wollen. Die [Roadmap](https://github.com/wailsapp/wails/discussions/1484) ist voller interessanter Ideen, und ich möchte gerne mit der Arbeit daran beginnen. Eine der großen Fragen war die Unterstützung von mehreren Fenstern gleichzeitig. Es ist eine knifflige Angelegenheit, und um es richtig zu machen, müssen wir möglicherweise eine alternative API bereitstellen, da die derzeitige nicht mit diesem Ziel entwickelt wurde. Ausgehend von einigen ersten Ideen und Rückmeldungen denke ich, dass dir die Richtung, die wir damit einschlagen wollen, gefallen wird. +There are so many core features we are looking at to add to Wails in the next major development cycle already. The [roadmap](https://github.com/wailsapp/wails/discussions/1484) is full of interesting ideas, and I'm keen to start work on them. One of the big asks has been for multiple window support. It's a tricky one and to do it right, and we may need to look at providing an alternative API, as the current one was not designed with this in mind. Based on some preliminary ideas and feedback, I think you'll like where we're looking to go with it. -Ich persönlich freue mich sehr über die Aussicht, Wails Apps auf dem Handy laufen zu lassen. Wir haben bereits ein Demoprojekt, das zeigt, dass es möglich ist, eine Wails-Anwendung auf Android laufen zu lassen, daher bin ich sehr gespannt darauf, was wir damit erreichen können! +I'm personally very excited at the prospect of getting Wails apps running on mobile. We already have a demo project showing that it is possible to run a Wails app on Android, so I'm really keen to explore where we can go with this! -Ein letzter Punkt, den ich ansprechen möchte, ist der, der Funktionsparität. Es war schon lange ein Kernprinzip, dass wir dem Projekt nichts hinzufügen würden, ohne dass es dafür eine volle plattformübergreifende Unterstützung gäbe. Dies hat sich zwar bisher als (größtenteils) realisierbar erwiesen, aber es hat das Projekt bei der Veröffentlichung neuer Funktionen stark behindert. In Zukunft werden wir einen etwas anderen Ansatz verfolgen: Jede neue Funktion, die nicht sofort für alle Plattformen freigegeben werden kann, wird in einer experimentellen Konfiguration oder API veröffentlicht. Auf diese Weise können frühe Anwender auf bestimmten Plattformen die Funktion ausprobieren und Rückmeldungen geben, die in die endgültige Gestaltung der Funktion einfließen werden. Das bedeutet natürlich, dass es keine Garantien für die Stabilität der API gibt, bis sie von allen Plattformen, auf denen sie unterstützt werden kann, vollständig unterstützt wird, aber zumindest wird dadurch die Entwicklung freigegeben. +A final point I'd like to raise is that of feature parity. It has long been a core principle that we wouldn't add anything to the project without there being full cross-platform support for it. Whilst this has proven to be (mainly) achievable so far, it has really held the project back in releasing new features. Moving forward, we will be adopting a slightly different approach: any new feature that cannot be immediately released for all platforms will be released under an experimental configuration or API. This allows early adopters on certain platforms to try the feature and provide feedback that will feed into the final design of the feature. This, of course, means that there are no guarantees of API stability until it is fully supported by all the platforms it can be supported on, but at least it will unblock development. -# Abschließende Worte +# Final Words -Ich bin wirklich stolz darauf, was wir mit dem V2 Release erreichen konnten. Es ist erstaunlich zu sehen, was die Leute bereits mit den Beta-Versionen bauen konnten. Hochwertige Anwendungen wie [Varly](https://varly.app/), [Surge](https://getsurge.io/) und [October](https://october.utf9k.net/). Ich empfehle dir, bei diesen Anwendungen vorbeizuschauen. +I'm really proud of what we've been able to achieve with the V2 release. It's amazing to see what people have already been able to build using the beta releases so far. Quality applications like [Varly](https://varly.app/), [Surge](https://getsurge.io/) and [October](https://october.utf9k.net/). I encourage you to check them out. -Diese Veröffentlichung wurde durch die harte Arbeit vieler Mitwirkender erreicht. Obwohl es kostenlos zum Download steht und die Nutzung das ebenfalls ist, ist es nicht ohne Kosten zustande gekommen. Machen wir uns nichts vor, dieses Projekt hat erhebliche Kosten verursacht. Es war nicht nur meine Zeit und die Zeit jedes einzelnen Beitragenden aber auch die Kosten der Abwesenheit von Freunden und Familien jedes dieser Menschen. Deshalb bin ich sehr dankbar für jede Sekunde, die dieses Projekt umgesetzt hat. Je mehr Beitragszahler wir haben, desto mehr können diese Bemühungen verteilt werden und desto mehr können wir gemeinsam erreichen. Ich möchte alle ermutigen, eine Sache auszuwählen, die Sie beitragen können, ob es jemandes Fehler bestätigt, eine Korrektur vorschlagen, eine Dokumentation ändern oder jemandem helfen, der sie braucht. All diese kleinen Dinge haben so enorme Auswirkungen! Es wäre großartig, wenn auch du Teil der Geschichte wärst, um zu v3 zu gelangen. +This release was achieved through the hard work of many contributors. Whilst it is free to download and use, it has not come about through zero cost. Make no mistakes, this project has come at considerable cost. It has not only been my time and the time of each and every contributor, but also the cost of absence from friends and families of each of those people too. That's why I'm extremely grateful for every second that has been dedicated to making this project happen. The more contributors we have, the more this effort can be spread out and the more we can achieve together. I'd like to encourage you all to pick one thing that you can contribute, whether it is confirming someone's bug, suggesting a fix, making a documentation change or helping out someone who needs it. All of these small things have such a huge impact! It would be so awesome if you too were part of the story in getting to v3. -Viel Spaß! +Enjoy! ‐ Lea -PS: Wenn du oder dein Unternehmen Wails nützlich finden, erwäge bitte [das Projekt](https://github.com/sponsors/leaanthony) zu sponsern. Vielen Dank! +PS: If you or your company find Wails useful, please consider [sponsoring the project](https://github.com/sponsors/leaanthony). Thanks! diff --git a/website/i18n/de/docusaurus-plugin-content-blog/2023-01-17-v3-roadmap.mdx b/website/i18n/de/docusaurus-plugin-content-blog/2023-01-17-v3-roadmap.mdx index 87767a081..9a137d09a 100644 --- a/website/i18n/de/docusaurus-plugin-content-blog/2023-01-17-v3-roadmap.mdx +++ b/website/i18n/de/docusaurus-plugin-content-blog/2023-01-17-v3-roadmap.mdx @@ -1,6 +1,6 @@ --- slug: the-road-to-wails-v3 -title: Der Weg zu Wails v3 +title: The Road to Wails v3 authors: - leaanthony tags: @@ -18,61 +18,61 @@ tags:
``` -# Einführung +# Introduction -Wails ist ein Projekt, das die Möglichkeit vereinfacht, plattformübergreifende Desktop-Anwendungen mit Go zu schreiben. Es verwendet native Webview-Komponenten für das Frontend (keine eingebetteten Browser) und bringt die Leistung des weltweit beliebtesten UI-Systems nach Go, während es gleichzeitig leichtgewichtig bleibt. +Wails is a project that simplifies the ability to write cross-platform desktop applications using Go. It uses native webview components for the frontend (not embedded browsers), bringing the power of the world's most popular UI system to Go, whilst remaining lightweight. -Version 2 wurde am 22. September 2022 veröffentlicht und brachte eine Menge Verbesserungen mit, einschließlich: +Version 2 was released on the 22nd of September 2022 and brought with it a lot of enhancements including: -- Live-Entwicklung, durch die Nutzung des beliebten Vite Projekts -- Reichhaltige Funktionalität zum Verwalten von Fenstern und Erstellen von Menüs +- Live development, leveraging the popular Vite project +- Rich functionality for managing windows and creating menus - Microsoft's WebView2 component -- Erstellung von Typescript-Modellen, die deine Go-Strukturen widerspiegeln -- Erstellen von NSIS Installer -- Verschleierte Builds +- Generation of Typescript models that mirror your Go structs +- Creating of NSIS Installer +- Obfuscated builds -Zurzeit bietet Wails v2 leistungsstarke Werkzeuge für die Erstellung von vielseitigen Desktop-Anwendungen. +Right now, Wails v2 provides powerful tooling for creating rich, cross-platform desktop applications. -Dieser Blog-Beitrag zielt darauf ab, zu sehen, wo das Projekt gerade im Moment ist und was wir verbessern können beim Vorwärtsbewegen. +This blog post aims to look at where the project is at right now and what we can improve on moving forward. -# Wo stehen wir heute? +# Where are we now? -Es ist unglaublich zu sehen, wie die Popularität von Wails seit der Veröffentlichung von v2 gestiegen ist. Ich bin ständig erstaunt über die Kreativität der Community und die wunderbaren Dinge, die damit gebaut werden. Mit zunehmender Popularität steigt auch die Aufmerksamkeit für das Projekt. Und damit mehr Features-Requests und Fehlerberichte. +It's been incredible to see the popularity of Wails rising since the v2 release. I'm constantly amazed by the creativity of the community and the wonderful things that are being built with it. With more popularity, comes more eyes on the project. And with that, more feature requests and bug reports. -Im Laufe der Zeit war ich in der Lage, einige der dringendsten Probleme des Projekts zu identifizieren. Ich habe auch einige der Dinge, die das Projekt zurückhalten, identifizieren können. +Over time, I've been able to identify some of the most pressing issues facing the project. I've also been able to identify some of the things that are holding the project back. -## Aktuelle Issues +## Current issues -Ich habe die folgenden Bereiche identifiziert, die meines Erachtens das Projekt zurückhalten: +I've identified the following areas that I feel are holding the project back: -- Die API -- Verknüpfungs Generierung -- Das Build-System +- The API +- Bindings generation +- The Build System -### Die API +### The API -Die API zum Erstellen einer Wails Anwendung besteht derzeit aus 2 Teilen: +The API to build a Wails application currently consists of 2 parts: -- Die Anwendungs-API -- Die Laufzeit-API +- The Application API +- The Runtime API -Die Anwendungs-API hat bekanntermaßen nur eine Funktion: `Run()` , die eine Reihe von Optionen enthält, die bestimmen, wie die Anwendung funktioniert. Dies ist zwar sehr einfach zu handhaben, aber auch sehr einschränkend. Es handelt sich um einen "deklarativen" Ansatz, der viele der zugrunde liegenden Komplexität versteckt. Zum Beispiel gibt es keinen Handle zum Hauptfenster, sodass du nicht direkt mit ihm interagieren kannst. Dazu musst du die Runtime API verwenden. Das ist ein Problem, wenn du komplexere Aufgaben wie das Erstellen mehrerer Fenster umsetzen möchtest. +The Application API famously has only 1 function: `Run()` which takes a heap of options which govern how the application will work. Whilst this is very simple to use, it is also very limiting. It is a "declarative" approach which hides a lot of the underlying complexity. For instance, there is no handle to the main window, so you can't interact with it directly. For that, you need to use the Runtime API. This is a problem when you start to want to do more complex things like create multiple windows. -Die Runtime API bietet viele Funktionen für den Entwickler. Dazu gehören: +The Runtime API provides a lot of utility functions for the developer. This includes: -- Fensterverwaltung -- Dialoge +- Window management +- Dialogs - Menus - Events - Logs -Es gibt eine Reihe von Dingen, mit der ich in der Runtime-API nicht zufrieden bin. Das erste ist, dass es einen "Kontext" benötigt. Dies ist sowohl frustrierend als auch verwirrend für neue Entwickler, die einen Kontext übergeben und dann einen Laufzeitfehler erhalten. +There are a number of things I am not happy with the Runtime API. The first is that it requires a "context" to be passed around. This is both frustrating and confusing for new developers who pass in a context and then get a runtime error. -Das größte Problem mit der Runtime API ist, dass sie für Anwendungen entwickelt wurde, die nur ein einziges Fenster verwenden. Im Laufe der Zeit ist die Nachfrage nach mehreren Fenstern gestiegen und die API ist dafür nicht gut geeignet. +The biggest issue with the Runtime API is that it was designed for applications that only use a single window. Over time, the demand for multiple windows has grown and the API is not well suited to this. -### Gedanken über die v3-API +### Thoughts on the v3 API -Wäre es nicht großartig, wenn wir so etwas machen könnten? +Wouldn't it be great if we could do something like this? ```go func main() { @@ -86,7 +86,7 @@ func main() { } ``` -Dieser programmatische Ansatz ist viel intuitiver und erlaubt es dem Entwickler direkt mit den Anwendungselementen zu interagieren. Alle derzeitigen Laufzeitmethoden für Fenster wären einfach Methoden für das Fensterobjekt. Für die anderen Laufzeitmethoden könnten wir diese wie folgt in das Anwendungsobjekt verschieben: +This programmatic approach is far more intuitive and allows the developer to interact with the application elements directly. All current runtime methods for windows would simply be methods on the window object. For the other runtime methods, we could move them to the application object like so: ```go app := wails.NewApplication(options.App{}) @@ -94,7 +94,7 @@ app.NewInfoDialog(options.InfoDialog{}) app.Log.Info("Hello World") ``` -Das ist eine wesentlich leistungsfähigere API, die die Erstellung komplexerer Anwendungen ermöglicht. Es ermöglicht auch das Erstellen mehrerer Fenster, [die am meisten geforderte Funktion auf GitHub](https://github.com/wailsapp/wails/issues/1480): +This is a much more powerful API which will allow for more complex applications to be built. It also allows for the creation of multiple windows, [the most up-voted feature on GitHub](https://github.com/wailsapp/wails/issues/1480): ```go func main() { @@ -113,72 +113,72 @@ func main() { } ``` -### Verknüpfungs Generierung +### Bindings generation -Eine der wichtigsten Funktionen von Wails ist die Erzeugung von Verknüpfungen für deine Go-Methoden, sodass diese von Javascript aus aufgerufen werden können. Die aktuelle Methode, um das zu tun, ist ein bisschen geschummelt. Dabei wird die Anwendung mit einem speziellen Flag erstellt und dann die resultierende Binärdatei ausgeführt, die mit Hilfe von Reflection ermittelt, was verknüpft wurde. Das führt zu einer Art Henne-Ei-Situation: Du kannst die Anwendung nicht ohne die Verknüpfung erstellen und du kannst die Verknüpfungen nicht generieren, ohne die Anwendung zu erstellen. Es gibt viele Möglichkeiten, das zu umgehen, aber die beste wäre, diesen Ansatz überhaupt nicht zu verwenden. +One of the key features of Wails is generating bindings for your Go methods so they may be called from Javascript. The current method for doing this is a bit of a hack. It involves building the application with a special flag and then running the resultant binary which uses reflection to determine what has been bound. This leads to a bit of a chicken and egg situation: You can't build the application without the bindings and you can't generate the bindings without building the application. There are many ways around this but the best one would be not to use this approach at all. -Es gab eine Reihe von Versuchen, einen statischen Analysator für Wails-Projekte zu schreiben, aber wir sind nicht sehr weit gekommen. In der letzten Zeit ist das etwas einfacher geworden, da mehr Material zu diesem Thema verfügbar ist. +There was a number of attempts at writing a static analyser for Wails projects but they didn't get very far. In more recent times, it has become slightly easier to do this with more material available on the subject. -Im Vergleich zur Reflexion ist der AST-Ansatz wesentlich schneller, aber auch wesentlich komplizierter. Zunächst müssen wir möglicherweise bestimmte Einschränkungen festlegen, wie man die Verknüpfungen im Code angibt. Das Ziel ist es, die häufigsten Anwendungsfälle zu unterstützen und später zu erweitern. +Compared to reflection, the AST approach is much faster however it is significantly more complicated. To start with, we may need to impose certain constraints on how to specify bindings in the code. The goal is to support the most common use cases and then expand it later on. -### Das Build-System +### The Build System -Wie der deklarative Ansatz für die API wurde auch das Build-System entwickelt, um die Komplexität der Erstellung einer Desktop-Anwendung zu verbergen. Wenn du `wails build` ausführst, werden viele Dinge im Hintergrund erledigt: -- Erstellt die Backend-Binärdatei für Verknüpfungen und generiert die Verknüpfungen -- Installiert die Frontend-Abhängigkeiten -- Erstellt die Frontend Assets -- Legt fest, ob das Anwendungssymbol vorhanden ist und wenn ja, wird es eingebettet -- Erstellt die endgültige Binärdatei -- Wenn der Build für `darwin/universal` ist, werden 2 Binärdateien erstellt, eine für `darwin/amd64` und eine für `darwin/arm64` und dann wird eine "fat binary" mit `lipo` erstellt -- Wenn eine Komprimierung erforderlich ist, wird die Binärdatei mit UPX komprimiert -- Legt fest, ob dieses Binärprogramm paketiert werden soll und wenn ja: - - Stellt sicher, dass das Symbol und das Anwendungsmanifest in die Binärdatei (Windows) kompiliert werden - - Erstellt das Anwendungspaket, generiert das Icon-Bundle und kopiert es, die Binärdatei und Info.plist in das Anwendungspaket (Mac) -- Wenn ein NSIS-Installationsprogramm erforderlich ist, wird es erstellt +Like the declarative approach to the API, the build system was created to hide the complexities of building a desktop application. When you run `wails build`, it does a lot of things behind the scenes: +- Builds the backend binary for bindings and generates the bindings +- Installs the frontend dependencies +- Builds the frontend assets +- Determines if the application icon is present and if so, embeds it +- Builds the final binary +- If the build is for `darwin/universal` it builds 2 binaries, one for `darwin/amd64` and one for `darwin/arm64` and then creates a fat binary using `lipo` +- If compression is required, it compresses the binary with UPX +- Determines if this binary is to be packaged and if so: + - Ensures the icon and application manifest are compiled into the binary (Windows) + - Builds out the application bundle, generates the icon bundle and copies it, the binary and Info.plist to the application bundle (Mac) +- If an NSIS installer is required, it builds it -Dieser gesamte Prozess ist zwar sehr mächtig, aber auch sehr undurchsichtig. Es ist sehr schwierig, diese anzupassen und zu debuggen. +This entire process, whilst very powerful, is also very opaque. It is very difficult to customise it and it is very difficult to debug. -Um das in v3 zu beheben, möchte ich zu einem Build-System umziehen, das außerhalb von Wails existiert. Nachdem ich [Task](https://taskfile.dev/) für eine Weile benutzt habe, bin ich ein großer Fan davon. Es ist ein großartiges Werkzeug, um Build-Systeme zu konfigurieren und sollte jedem bekannt sein, der Makefiles verwendet hat. +To address this in v3, I would like to move to a build system that exists outside of Wails. After using [Task](https://taskfile.dev/) for a while, I am a big fan of it. It is a great tool for configuring build systems and should be reasonably familiar to anyone who has used Makefiles. -Das Build-System wird mit einer `Taskfile.yml` Datei konfiguriert, die standardmäßig mit einer der unterstützten Vorlagen erstellt wird. Das würde alle Schritte beinhalten, die benötigt werden, um alle aktuellen Aufgaben auszuführen, wie zum Beispiel das Erstellen oder Verpacken der Anwendung, was eine einfache Anpassung ermöglicht. +The build system would be configured using a `Taskfile.yml` file which would be generated by default with any of the supported templates. This would have all of the steps required to do all the current tasks, such as building or packaging the application, allowing for easy customisation. -Es wird keine externe Anforderung für diese Bearbeitung geben, da sie Teil des CLI sein wird. Das bedeutet, dass du immer noch `Wails Build` verwenden kannst und es wird alle Dinge tun, die es heute auch tut. Wenn du jedoch den Build-Prozess anpassen möchtest, kannst du das über das Bearbeiten der `Taskfile.yml` Datei tun. Das bedeutet auch, dass du die Build-Schritte leicht verstehen und dein eigenes Build-System verwenden könnest, wenn du dir das wünschst. +There will be no external requirement for this tooling as it would form part of the Wails CLI. This means that you can still use `wails build` and it will do all the things it does today. However, if you want to customise the build process, you can do so by editing the `Taskfile.yml` file. It also means you can easily understand the build steps and use your own build system if you wish. -Das fehlende Teil im Build-Puzzle sind die atomaren Operationen im Build-Prozess, wie zum Beispiel die Icon-Generierung, Komprimierung und Verpackung. Eine Vielzahl externer Tools zu benötigen, wäre für den Entwickler keine besonders gute Erfahrung. Um dieses Problem zu lösen, wird die Wails CLI all diese Fähigkeiten als Teil der CLI bereitstellen. Das bedeutet, dass die Builds immer noch wie erwartet funktionieren, jedoch ohne zusätzliche externe Werkzeuge, und dazu kommt, dass du hast die Fähigkeit jeden Schritt des Builds durch jedes beliebige Werkzeug zu ersetzen. +The missing piece in the build puzzle is the atomic operations in the build process, such as icon generation, compression and packaging. To require a bunch of external tooling would not be a great experience for the developer. To address this, the Wails CLI will provide all these capabilities as part of the CLI. This means that the builds still work as expected, with no extra external tooling, however you can replace any step of the build with any tool you like. -Das wird ein wesentlich transparenteres Build-System sein, das eine einfachere Anpassung ermöglicht und viele der damit verbundenen Probleme behebt. +This will be a much more transparent build system which will allow for easier customisation and address a lot of the issues that have been raised around it. -## Die Auszahlung +## The Payoff -Diese positiven Änderungen werden dem Projekt einen enormen Nutzen bringen: -- Die neue API wird viel intuitiver sein und die Erstellung komplexerer Anwendungen ermöglichen. -- Die statische Analyse für die Erzeugung von Verknüpfungen wird viel schneller sein und eine Menge der Komplexität um den aktuellen Prozess reduzieren. -- Durch die Verwendung eines etablierten externen Buildsystems wird der Buildvorgang vollständig transparent, was eine leistungsstarke Anpassung ermöglicht. +These positive changes will be a huge benefit to the project: +- The new API will be much more intuitive and will allow for more complex applications to be built. +- Using static analysis for bindings generation will be much faster and reduce a lot of the complexity around the current process. +- Using an established, external build system will make the build process completely transparent, allowing for powerful customisation. -Die Vorteile für die Projektbetreuer sind: +Benefits to the project maintainers are: -- Die neue API wird wesentlich einfacher zu verwalten und an neue Funktionen und Plattformen anzupassen. -- Das neue Build-System wird viel einfacher zu warten und zu erweitern. Ich hoffe, dass das zu einem neuen Ökosystem gemeinschaftlich getriebener Pipelines führen wird. -- Bessere Trennung der Anliegen innerhalb des Projekts. Das erleichtert das Hinzufügen neuer Funktionen und Plattformen. +- The new API will be much easier to maintain and adapt to new features and platforms. +- The new build system will be much easier to maintain and extend. I hope this will lead to a new ecosystem of community driven build pipelines. +- Better separation of concerns within the project. This will make it easier to add new features and platforms. -## Der Plan +## The Plan -Viele Experimente dafür wurden bereits durchgeführt und es sieht gut aus. Es gibt keinen aktuellen Zeitplan für diese Arbeit, aber ich hoffe, dass es bis zum Ende des ersten Quartals 2023 eine Alphaversion für Mac geben wird, damit die Community testen, experimentieren und Feedback geben kann. +A lot of the experimentation for this has already been done and it's looking good. There is no current timeline for this work but I'm hoping by the end of Q1 2023, there will be an alpha release for Mac to allow the community to test, experiment with and provide feedback. -## Zusammenfassung +## Summary -- Die v2 API ist deklarativ, versteckt viel vor dem Entwickler und eignet sich nicht für Funktionen wie mehrere Fenster. Es wird eine neue API erstellt, die einfacher, intuitiver und leistungsfähiger sein wird. -- Das Build-System ist undurchsichtig und schwer anpassbar, daher werden wir auf ein externes Build-System umsteigen, das alles offener macht. -- Die Erzeugung von Verknüpfungen ist langsam und komplex, daher werden wir zur statischen Analyse übergehen, die eine Menge der Komplexität der aktuellen Methode beseitigen wird. +- The v2 API is declarative, hides a lot from the developer and not suitable for features such as multiple windows. A new API will be created which will be simpler, intuitive and more powerful. +- The build system is opaque and difficult to customise so we will move to an external build system which will open it all up. +- The bindings generation is slow and complex so we will move to static analysis which will remove a lot of the complexity the current method has. -Es wurde viel Arbeit in das Innenleben von v2 gesteckt und es ist stabil. Jetzt ist es an der Zeit, sich mit der darüber liegenden Schicht zu befassen und sie für den Entwickler zu einem besseren Erlebnis zu machen. +There has been a lot of work put into the guts of v2 and it's solid. It's now time to address the layer on top of it and make it a much better experience for the developer. -Ich hoffe, du bist genauso begeistert davon wie ich. Ich freue mich auf deine Meinung und Feedback. +I hope you are as excited about this as I am. I'm looking forward to hearing your thoughts and feedback. -Viele Grüße, +Regards, ‐ Lea -PS: Wenn du oder dein Unternehmen Wails nützlich finden, erwäge bitte [das Projekt](https://github.com/sponsors/leaanthony) zu sponsern. Vielen Dank! +PS: If you or your company find Wails useful, please consider [sponsoring the project](https://github.com/sponsors/leaanthony). Thanks! -PPS: Ja, das ist ein echter Screenshot einer mit Wails erstellten Anwendung mit mehreren Fenstern. Es ist keine Attrappe. Es ist echt. Es ist großartig. Es kommt bald. \ No newline at end of file +PPS: Yes, that's a genuine screenshot of a multi-window application built with Wails. It's not a mockup. It's real. It's awesome. It's coming soon. \ No newline at end of file diff --git a/website/i18n/de/docusaurus-plugin-content-blog/authors.yml b/website/i18n/de/docusaurus-plugin-content-blog/authors.yml index 6defa05e2..a1621fab6 100644 --- a/website/i18n/de/docusaurus-plugin-content-blog/authors.yml +++ b/website/i18n/de/docusaurus-plugin-content-blog/authors.yml @@ -1,10 +1,10 @@ leaanthony: name: Lea Anthony - title: Entwickler von Wails + title: Maintainer of Wails url: https://github.com/leaanthony image_url: https://github.com/leaanthony.png misitebao: name: Misite Bao - title: Architekt + title: Architect url: https://github.com/misitebao image_url: https://github.com/misitebao.png diff --git a/website/i18n/de/docusaurus-plugin-content-blog/options.json b/website/i18n/de/docusaurus-plugin-content-blog/options.json index 0199e5ce3..9239ff706 100644 --- a/website/i18n/de/docusaurus-plugin-content-blog/options.json +++ b/website/i18n/de/docusaurus-plugin-content-blog/options.json @@ -8,7 +8,7 @@ "description": "The description for the blog used in SEO" }, "sidebar.title": { - "message": "Neueste Beiträge", + "message": "Recent posts", "description": "The label for the left sidebar" } } diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current.json b/website/i18n/de/docusaurus-plugin-content-docs/current.json index a9d63e8d9..b4e63124d 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current.json +++ b/website/i18n/de/docusaurus-plugin-content-docs/current.json @@ -1,18 +1,18 @@ { "version.label": { - "message": "Nächste Version 🚧", + "message": "Next Version 🚧", "description": "The label for version current" }, "sidebar.docs.category.Getting Started": { - "message": "Erste Schritte", + "message": "Getting Started", "description": "The label for category Getting Started in sidebar docs" }, "sidebar.docs.category.Reference": { - "message": "Referenz", + "message": "Reference", "description": "The label for category Reference in sidebar docs" }, "sidebar.docs.category.Runtime": { - "message": "Laufzeit", + "message": "Runtime", "description": "The label for category Runtime in sidebar docs" }, "sidebar.docs.category.Community": { @@ -24,7 +24,7 @@ "description": "The label for category Showcase in sidebar docs" }, "sidebar.docs.category.Guides": { - "message": "Anleitungen", + "message": "Guides", "description": "The label for category Guides in sidebar docs" }, "sidebar.docs.category.Tutorials": { @@ -32,7 +32,7 @@ "description": "The label for category Tutorials in sidebar docs" }, "sidebar.docs.link.Contributing": { - "message": "Mitwirken", + "message": "Contributing", "description": "The label for link Contributing in sidebar docs, linking to /community-guide#ways-of-contributing" } } diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/community/links.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/links.mdx index 1fab27701..e36a6edfe 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/links.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/links.mdx @@ -4,23 +4,23 @@ sidebar_position: 2 # Links -Diese Seite dient als Liste für Community-Links. Bitte sende einen PR (klicke unten auf `Edit this page`) um Links einzureichen. +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 -Die [endgültige Liste](https://github.com/wailsapp/awesome-wails) der Links im Zusammenhang mit Wails. +The [definitive list](https://github.com/wailsapp/awesome-wails) of links related to Wails. -## Support-Kanäle +## Support Channels - [Wails Discord Server](https://discord.gg/JDdSxwjhGf) - [Github Issues](https://github.com/wailsapp/wails/issues) -- [v2 Beta-Diskussionsforum](https://github.com/wailsapp/wails/discussions/828) +- [v2 Beta Discussion Board](https://github.com/wailsapp/wails/discussions/828) -## Soziale Medien +## Social Media - [Twitter](https://twitter.com/wailsapp) -- [Wails China Community QQ Group](https://qm.qq.com/cgi-bin/qm/qr?k=PmIURne5hFGNd7QWzW5qd6FV-INEjNJv&jump_from=webapi) - Gruppennummer: 1067173054 +- [Wails Chinese Community QQ Group](https://qm.qq.com/cgi-bin/qm/qr?k=PmIURne5hFGNd7QWzW5qd6FV-INEjNJv&jump_from=webapi) - Group number: 1067173054 -## Andere Anleitungen und Beiträge +## Other Tutorials and Articles -- [Bau des Bulletin-Boards](https://blog.customct.com/building-bulletin-board) +- [Building of Bulletin Board](https://blog.customct.com/building-bulletin-board) diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/bulletinboard.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/bulletinboard.mdx index 05cec9e4b..37be75135 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/bulletinboard.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/bulletinboard.mdx @@ -7,4 +7,4 @@

``` -Die [BulletinBoard](https://github.com/raguay/BulletinBoard)-Anwendung ist ein vielseitiges Nachrichtenbrett für statische Nachrichten oder Dialoge, um Informationen vom Benutzer für ein Skript zu erhalten. Es verfügt über eine TUI zum Erstellen neuer Dialoge, die später verwendet werden können, um Informationen vom Benutzer einzuholen. Das Design sieht vor, dass es auf dem System läuft, die Informationen nach Bedarf anzeigt und sich dann wieder ausblendet. Ich habe einen Prozess, um eine Datei auf meinem System zu überwachen und den Inhalt bei Änderungen an BulletinBoard zu senden. Es funktioniert großartig mit meinen Workflows. Es gibt auch einen [Alfred Workflow](https://github.com/raguay/MyAlfred/blob/master/Alfred%205/EmailIt.alfredworkflow) zum Senden von Informationen an das Programm. Der Workflow ist auch für die Arbeit mit [EmailIt](https://github.com/raguay/EmailIt). +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/de/docusaurus-plugin-content-docs/current/community/showcase/cfntracker.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/cfntracker.mdx index 0271ee99b..8fab23b75 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/cfntracker.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/cfntracker.mdx @@ -7,28 +7,33 @@

``` -[CFN Tracker](https://github.com/williamsjokvist/cfn-tracker) - Verfolge die Matches von Street -Fighter 6 oder V CFN Profilen live. Sieh dir [die Website](https://cfn.williamsjokvist.se/) an, um loszulegen. +[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. -## Funktionen +## Features -- Echtzeit-Match-Tracking -- Speichere Spielprotokolle und Statistiken -- Unterstützung für die Anzeige von Live-Statistiken zu OBS über Browser Source -- Unterstützung für SF6 und SFV -- Fähigkeit für Benutzer, eigene OBS Browser-Themes mit CSS zu erstellen +- 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 -### Haupttechnologien, die neben Wails verwendet werden +### Major tech used alongside Wails -- [Task](https://github.com/go-task/task) - Wrapper für Wails, damit häufig verwendete Befehle einfach zu benutzen sind -- [React](https://github.com/facebook/react) - ausgewählt für sein reiches Ökosystem - (Radix, Framer-Motion) -- [Bun](https://github.com/oven-sh/bun) - verwendet für seine schnelle Abhängigkeits-Auflösung und build time -- [Rod](https://github.com/go-rod/rod) - headless Browser-Automatisierung für Authentifizierung und das Abfragen von Änderungen -- [SQLite](https://github.com/mattn/go-sqlite3) - zum Speichern von Matches, - Sitzungen und Profilen -- [Server-sent Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) - - ein http-Stream, um Tracking-Updates an OBS Browser Quellen zu senden -- [i18next](https://github.com/i18next/) - mit Backend-Connector zur Bereitstellung von Lokalisierungsobjekten aus der Go-Ebene -- [xstate](https://github.com/statelyai/xstate) - State-Maschines für auth - Prozesse und Tracking +- [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/de/docusaurus-plugin-content-docs/current/community/showcase/emailit.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/emailit.mdx index ca6cadf61..c1817b70f 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/emailit.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/emailit.mdx @@ -7,4 +7,4 @@

``` -[EmailIt](https://github.com/raguay/EmailIt/) ist ein Wails 2-Programm, das ein rein Markdown-basierter E-Mail-Versender ist, ausgestattet mit neun Notizblöcken, Skripten zur Textmanipulation und Vorlagen. Es bietet auch ein Skript-Terminal zum Ausführen von Skripten in EmailIt auf Dateien auf Ihrem System. Die Skripte und Vorlagen können von der Kommandozeile selbst oder mit den Erweiterungen Alfred, Keyboard Maestro, Dropzone oder PopClip verwendet werden. Es unterstützt auch Skripte und Themes, die von GitHub heruntergeladen werden. Die Dokumentation ist nicht vollständig, aber die Programme funktionieren. Es wurde mit Wails2 und Svelte gebaut, und der Download ist eine universelle MacOS-Anwendung. +[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/de/docusaurus-plugin-content-docs/current/community/showcase/encrypteasy.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/encrypteasy.mdx index b39e950f1..7504950ea 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/encrypteasy.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/encrypteasy.mdx @@ -7,6 +7,6 @@

``` -**[EncryptEasy](https://www.encrypteasy.app) ist ein einfach zu bedienendes PGP-Verschlüsselungswerkzeug, das alle deine und die deiner Kontakte verwalten kann. Die Verschlüsselung sollte einfach sein. Entwickelt mit Wails.** +**[EncryptEasy](https://www.encrypteasy.app) is a simple and easy to use PGP encryption tool, managing all your and your contacts keys. Encryption should be simple. Developed with Wails.** -Das Verschlüsseln von Nachrichten mit PGP ist der Industriestandard. Jeder hat einen privaten und einen öffentlichen Schlüssel. Dein privater Schlüssel muss geheim gehalten werden, damit nur du deine Nachrichten lesen kannst. Dein öffentlicher Schlüssel wird an jeden verteilt, der dir geheime, verschlüsselte Nachrichten senden möchte. Das Verwalten von Schlüsseln, die Verschlüsselung von Nachrichten und das Entschlüsseln von Nachrichten sollte ein reibungsloses Erlebnis sein. EncryptEasy wurde alleine dafür entwickelt, es einfach zu machen. +Encrypting messages using PGP is the industry standard. Everyone has a private and a public key. Your private key, well, needs to be kept private so only you can read messages. Your public key is distributed to anyone who wants to send you secret, encrypted messages. Managing keys, encrypting messages and decrypting messages should be a smooth experience. EncryptEasy is all about making it easy. diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/espstudio.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/espstudio.mdx index a4eb07de0..44db858f9 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/espstudio.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/espstudio.mdx @@ -1,4 +1,4 @@ -# ESP-Studio +# ESP Studio ```mdx-code-block

@@ -9,5 +9,5 @@

``` -[ESP Studio](https://github.com/torabian/esp-studio) - Plattformübergreifend, Desktop, Cloud und Embedded Software -zur Steuerung von ESP/Arduino Geräten und zur Erstellung komplexer IOT Workflows und Steuerungssysteme +[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/de/docusaurus-plugin-content-docs/current/community/showcase/filehound.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/filehound.mdx index 378bd8063..bc569c3fe 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/filehound.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/filehound.mdx @@ -7,10 +7,10 @@

``` -[FileHound Export Utility](https://www.filehound.co.uk/) FileHound ist eine Cloud-Dokumentenverwaltungsplattform für sichere Dateispeicherung, Business Process Automation und SmartCapture Funktionen. +[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. -Das FileHound Export Utility ermöglicht es FileHound Administratoren, sichere Dokumenten- und Datenextrahierungsaufgaben für alternative Backup- und Wiederherstellungszwecke auszuführen. Diese Anwendung lädt alle in FileHound gespeicherten Dokumente und/oder Metadaten herunter, basierend auf den gewählten Filtern. Die Metadaten werden sowohl in JSON- als auch in XML-Formaten exportiert. +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. -Das Backend wurde mit folgendem gebaut: Go 1.15 Wails 1.11.0 go-sqlite3 1.14.6 go-linq 3.2 +Backend built with: Go 1.15 Wails 1.11.0 go-sqlite3 1.14.6 go-linq 3.2 -Das Frontend mit: Vue 2.6.11 Vuex 3.4.0 TypeScript Tailwind 1.9.6 +Frontend with: Vue 2.6.11 Vuex 3.4.0 TypeScript Tailwind 1.9.6 diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/grpcmd-gui.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/grpcmd-gui.mdx index 12138a3c6..891350290 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/grpcmd-gui.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/grpcmd-gui.mdx @@ -7,4 +7,4 @@

``` -[grpcmd-gui](https://grpc.md/gui) ist eine moderner plattformübergreifende Desktop-App und API-Client für die gRPC-Entwicklung und Testung. +[grpcmd-gui](https://grpc.md/gui) is a modern cross-platform desktop app and API client for gRPC development and testing. diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/hiposter.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/hiposter.mdx index d22d4f66e..87e5837d3 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/hiposter.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/hiposter.mdx @@ -7,4 +7,4 @@

``` -[hiposter](https://github.com/obity/hiposter) ist ein einfacher und effizienter http API Test Client. Basierend auf Wails, Go und sveltejs. +[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/de/docusaurus-plugin-content-docs/current/community/showcase/kafka-king.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/kafka-king.mdx index eac061030..9876cd9a0 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/kafka-king.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/kafka-king.mdx @@ -7,17 +7,17 @@

``` -[Kafka-King](https://github.com/Bronya0/Kafka-King) ist ein Kafka-GUI-Client, der verschiedene Systeme unterstützt und kompakt und einfach zu bedienen ist. -Dieser wurde in Kombination mit Wails und vue3 entwickelt. +[Kafka-King](https://github.com/Bronya0/Kafka-King) is a kafka GUI client that supports various systems and is compact and easy to use. +This is made of Wails+vue3 -# Kafka-King-Funktionsliste +# Kafka-King function list -- [x] Anzeigen von Cluster node listen, Unterstützung für dynamische Konfiguration von Broker- und Themen-Konfigurationselementen -- [x] Unterstützt consumer clients, verbraucht das angegebene topic, die Größe und den Timeout entsprechend der angegebenen Gruppe und zeigt die Nachrichteninformationen in verschiedenen Dimensionen in einer Tabelle an -- [x] Unterstützt PLAIN, SSL, SASL, kerberos, sasl_plaintext, etc. -- [x] Topics erstellen (unterstützt batches), Topics löschen, Repliken spezifizieren und Partitionen -- [x] Unterstützt Statistiken über die Gesamtzahl der Nachrichten, die Gesamtzahl der Beiträge und den backlog für jedes Thema basierend auf consumer Gruppen -- [x] Unterstützen das Betrachten von Topic Detailinformationen (Offset) der Partition und unterstützen das Hinzufügen von zusätzlichen Partitionen -- [x] Unterstützt simulierte Producer, das Senden von Nachrichten Batches, spezifizieren von Headern sowie Partitionen -- [x] Health-Check -- [x] Unterstützung für die Anzeige von consumer Gruppen, Consumer- …… +- [x] View the cluster node list, support dynamic configuration of broker and topic configuration items +- [x] Supports consumer clients, consumes the specified topic, size, and timeout according to the specified group, and displays the message information in various dimensions in a table +- [x] Supports PLAIN, SSL, SASL, kerberos, sasl_plaintext, etc. etc. +- [x] Create topics (support batches), delete topics, specify replicas, partitions +- [x] Support statistics of the total number of messages, total number of submissions, and backlog for each topic based on consumer groups +- [x] Support viewing topics Detailed information (offset) of the partition, and support adding additional partitions +- [x] Support simulated producers, batch sending messages, specify headers, partitions +- [x] Health check +- [x] Support viewing consumer groups , Consumer- …… diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/mchat.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/mchat.mdx index 4ced9e0ae..aa535a6f8 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/mchat.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/mchat.mdx @@ -7,4 +7,4 @@

``` -[Offizielle Seite](https://marcio199226.github.io/mchat-site/public/) Vollständig anonymer end2end verschlüsselter Chat. +[Official page](https://marcio199226.github.io/mchat-site/public/) Fully anonymous end2end encrypted chat. diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/minecraftupdater.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/minecraftupdater.mdx index 27e1f9917..2f6c7c72b 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/minecraftupdater.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/minecraftupdater.mdx @@ -1,4 +1,4 @@ -# Minecraft-Updater +# Minecraft Updater ```mdx-code-block

@@ -11,4 +11,4 @@

``` -[Minecraft Updater](https://github.com/Gurkengewuerz/MinecraftModUpdater) ist ein Utility Tool zum Aktualisieren und Synchronisieren von Minecraft Mods für deine Userbase. Es wurde mit Wails2 sowie React in Kombination mit [antd](https://ant.design/) als Frontend Framework entwickelt. +[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/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/minesweeper-xp.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/minesweeper-xp.mdx index 7a1b80609..f127a005f 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/minesweeper-xp.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/minesweeper-xp.mdx @@ -7,4 +7,4 @@

``` -[Minesweeper-XP](https://git.new/Minesweeper-XP) ermöglicht es dir das klassische Minesweeper XP (+ 98 und 3.1) auf macOS, Windows und Linux zu erleben! +[Minesweeper-XP](https://git.new/Minesweeper-XP) allows you to experience the classic Minesweeper XP (+ 98 and 3.1) on macOS, Windows, and Linux! diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/modalfilemanager.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/modalfilemanager.mdx index b06bc6489..bcd212396 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/modalfilemanager.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/modalfilemanager.mdx @@ -9,6 +9,6 @@

``` -[Modal File Manager](https://github.com/raguay/ModalFileManager) ist ein Dateimanager mit zwei Fenstern, der Webtechnologien verwendet. Mein ursprüngliches Design basierte auf NW.js und kann [hier ](https://github.com/raguay/ModalFileManager-NWjs) gefunden werden. Diese Version verwendet denselben auf Svelte basierenden Frontend-Code (der jedoch seit der Abkehr von NW.js stark verändert wurde), aber das Backend ist eine [Wails 2](https://wails.io/)-Implementierung. Durch diese Implementierung verwende ich nicht mehr die Kommandozeilenbefehle `rm`, `cp` usw., aber eine Git-Installation muss auf dem System vorhanden sein, um Themes und Erweiterungen herunterzuladen. Es ist vollständig in Go programmiert und läuft viel schneller als die vorherigen Versionen. +[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. -Dieser Dateimanager basiert auf dem gleichen Prinzip wie Vim: zustandskontrollierte Tastaturbefehle. Die Anzahl der Zustände ist nicht fixiert, aber sehr programmierbar. So kann eine unendliche Anzahl von Tastaturkonfigurationen erstellt und verwendet werden. Das ist der Hauptunterschied zu anderen Dateimanagern. Es stehen Themen und Erweiterungen zum Download von GitHub zur Verfügung. +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/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/mollywallet.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/mollywallet.mdx index 03df24990..5d846d06d 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/mollywallet.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/mollywallet.mdx @@ -7,4 +7,4 @@

``` -[Molly Wallet](https://github.com/grvlle/constellation_wallet/) der offizielle $DAG Wallet des Constellation Network. Es lässt Benutzer auf verschiedene Art und Weise mit dem Hypergraph Network interagieren, nicht beschränkt auf die Produktion von $DAG Transaktionen. +[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/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/october.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/october.mdx index 8233988ad..66d634dc5 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/october.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/october.mdx @@ -7,8 +7,8 @@

``` -[October](https://october.utf9k.net) ist eine kleine Wails Anwendung, die es sehr einfach macht, Highlights aus [Kobo eReaders](https://en.wikipedia.org/wiki/Kobo_eReader) zu extrahieren und diese dann an [Readwise](https://readwise.io) weiterzuleiten. +[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). -Es hat einen relativ kleinen Umfang; alle Plattformversionen sind kleiner als 10 MB, und das ohne Verwendung von [UPX Kompression](https://upx.github.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/)! -Im Gegensatz dazu waren die bisherigen Versuche des Autors mit Electron schnell auf mehrere hundert Megabyte aufgebläht. +In contrast, the author's previous attempts with Electron quickly bloated to several hundred megabytes. diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/optimus.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/optimus.mdx index 45f417ebe..4f87479d6 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/optimus.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/optimus.mdx @@ -7,4 +7,4 @@

``` -[Optimus](https://github.com/splode/optimus) ist eine Desktop-Bildoptimierungsanwendung. Es unterstützt die Konvertierung und Komprimierung zwischen WebP-, JPEG- und PNG-Bildformaten. +[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/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/portfall.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/portfall.mdx index 60c358d4c..03e740f4c 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/portfall.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/portfall.mdx @@ -7,4 +7,4 @@

``` -[Portfall](https://github.com/rekon-oss/portfall) - Ein Desktop-Portal für die Portweiterleitung von k8s für den einfachen Zugriff auf alle deine Cluster-Benutzeroberflächen +[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/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/resizem.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/resizem.mdx index b6dba8e55..27f168f48 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/resizem.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/resizem.mdx @@ -7,4 +7,4 @@

``` -[Resizem](https://github.com/barats/resizem) - ist eine App für Massenbild-Verarbeitung. Es ist besonders nützlich für Benutzer, die eine große Anzahl von Bilddateien auf einmal skalieren, konvertieren und oder verwalten müssen. +[Resizem](https://github.com/barats/resizem) - is an app designed for bulk image process. It is particularly useful for users who need to resize, convert, and manage large numbers of image files at once. diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/restic-browser.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/restic-browser.mdx index 28020730d..3646384ec 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/restic-browser.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/restic-browser.mdx @@ -9,4 +9,4 @@

``` -[Restik-Browser](https://github.com/emuell/restic-browser) - Eine einfache, plattformübergreifende [Restic](https://github.com/restic/restic) Backup-GUI zum Browsen und Wiederherstellen von Restic Repositorys. +[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/de/docusaurus-plugin-content-docs/current/community/showcase/riftshare.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/riftshare.mdx index 0f6d75cc9..9928b4785 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/riftshare.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/riftshare.mdx @@ -7,15 +7,15 @@

``` -Einfacher, sicherer und kostenloser Dateiaustausch für jeden. Erfahre mehr auf [Riftshare.app](https://riftshare.app) +Easy, Secure, and Free file sharing for everyone. Learn more at [Riftshare.app](https://riftshare.app) -## Funktionen +## Features -- Einfacher sicherer Dateiaustausch zwischen Computern sowohl im lokalen Netzwerk als auch über das Internet -- Unterstützt das sichere Senden von Dateien oder Verzeichnissen durch das [magic wormhole protocol](https://magic-wormhole.readthedocs.io/en/latest/) -- Kompatibel mit allen anderen Apps die magic wormhole verwenden (magic-wormhole oder wormhole-william CLI, wormhole-gui, etc.) -- Automatisches Zippen mehrerer zu sendender Dateien -- Vollständige Animationen, Fortschrittsbalken und Abbruch Unterstützung beim Senden und Empfangen -- Native OS Dateiauswahl -- Dateien mit einem Klick öffnen -- Auto Update - Sorgen dich nicht um die neueste Version! +- 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/de/docusaurus-plugin-content-docs/current/community/showcase/scriptbar.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/scriptbar.mdx index b72cfb469..3e41eb32a 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/scriptbar.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/scriptbar.mdx @@ -7,4 +7,4 @@

``` -[ScriptBar](https://GitHub.com/raguay/ScriptBarApp) ist ein Programm zum Anzeigen von Skript Ausgaben oder [Node-Red](https://nodered.org) Servern. Es führt Skripte aus, die in EmailIt definiert sind und zeigt die Ausgabe an. Skripte von xBar oder TextBar können verwendet werden, TextBar-Skripte funktionieren gut. Es zeigt auch die Ausgabe von Skripten auf deinem System an. ScriptBar platziert sie nicht in der Menüleiste, sondern bietet sie alle in einem praktischen Fenster zur einfachen Ansicht an. Du kannst mehrere Tabs haben, um viele verschiedene Dinge anzeigen zu lassen. Du kannst auch die Links auf deine am meisten besuchten Webseiten aufbewahren. +[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/de/docusaurus-plugin-content-docs/current/community/showcase/snippetexpander.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/snippetexpander.mdx index 484ff7c10..1f9fb6157 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/snippetexpander.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/snippetexpander.mdx @@ -18,10 +18,10 @@

``` -[Snippet Expander](https://snippetexpander.org) ist "Dein kleiner erweiterbarer Text-Snippets Helfer", für Linux. +[Snippet Expander](https://snippetexpander.org) is "Your little expandable text snippets helper", for Linux. -Snippet Expander besteht aus einer GUI-Anwendung, die mit Wails erstellt wurde, um Snippets und Einstellungen zu verwalten, mit einem Such- & Einfügen-Fenstermodus, um ein Snippet schnell auszuwählen und einzufügen. +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. -Der Wails basierende GUI, Go-lang CLI und vala-lang auto expander Daemon kommunizieren mit einem Go-lang Daemon über D-Bus. Der Daemon erledigt den Großteil der Arbeit, die Verwaltung der Datenbank von Snippets und gemeinsamen Einstellungen, die Bereitstellung von Diensten zum Aus- und Einfügen von Snippets usw. +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. -Schauen dir den [source code](https://git.sr.ht/~ianmjones/snippetexpander/tree/trunk/item/cmd/snippetexpandergui/app.go#L38) an, um zu sehen, wie die Wails-App Nachrichten von der Benutzeroberfläche an das Backend sendet, die dann an den Daemon gesendet werden, und wie sie ein D-Bus-Ereignis abonniert, um Änderungen an Snippets über eine andere Instanz der App oder CLI zu überwachen und diese sofort über ein Wails-Ereignis in der Benutzeroberfläche anzuzeigen. +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/de/docusaurus-plugin-content-docs/current/community/showcase/surge.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/surge.mdx index 6702e2642..c3b3fb4c0 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/surge.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/surge.mdx @@ -7,4 +7,4 @@

``` -[Surge](https://getsurge.io/) ist eine p2p Filesharing-App, die entwickelt wurde, um Blockchain-Technologien zu nutzen, um 100 % anonyme Dateiübertragungen zu ermöglichen. Surge ist Ende-zu-Ende-verschlüsselt, dezentral und Open Source. +[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/de/docusaurus-plugin-content-docs/current/community/showcase/tinyrdm.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/tinyrdm.mdx index a871950a5..e3124bab7 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/tinyrdm.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/tinyrdm.mdx @@ -8,4 +8,4 @@

``` -Die [Tiny RDM](https://redis.tinycraft.cc/) Anwendung ist eine speicherplatz sparende und moderne Open-Source Redis GUI. Es hat eine schöne Benutzeroberfläche, intuitive Redis-Datenbankverwaltung und ist kompatibel mit Windows, Mac und Linux. Es bietet visuelle Key-Value-Datenoperationen, unterstützt verschiedene Decodierungs- und Anzeigeoptionen, eine integrierte Konsole zum Ausführen von Befehlen, sowie langsame Log-Abfragen und vieles mehr. +The [Tiny RDM](https://redis.tinycraft.cc/) application is an open-source, modern lightweight Redis GUI. It has a beautful UI, intuitive Redis database management, and compatible with Windows, Mac, and Linux. It provides visual key-value data operations, supports various data decoding and viewing options, built-in console for executing commands, slow log queries and more. diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/wailsterm.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/wailsterm.mdx index 04facf646..9924dace5 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/wailsterm.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/wailsterm.mdx @@ -7,4 +7,4 @@

``` -[WailsTerm](https://github.com/rlshukhov/wailsterm) ist eine einfache transluzente Terminal-App, die von Wails und Xterm.js betrieben wird. +[WailsTerm](https://github.com/rlshukhov/wailsterm) is a simple translucent terminal app powered by Wails and Xterm.js. diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/wally.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/wally.mdx index a15b254f0..7408aa585 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/wally.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/wally.mdx @@ -7,4 +7,4 @@

``` -[Wally](https://ergodox-ez.com/pages/wally) ist der offizielle Firmware-Flasher für [Ergodox](https://ergodox-ez.com/) Tastaturen. Es sieht großartig aus und ist ein fantastisches Beispiel dafür, was man mit Wails erreichen kann: die Fähigkeit, die Kraft von Go und die reichen grafischen Werkzeuge der Web-Entwicklungswelt zu kombinieren. +[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/de/docusaurus-plugin-content-docs/current/community/showcase/warmine.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/warmine.mdx index 621ce012b..950dc3f3d 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/warmine.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/warmine.mdx @@ -1,4 +1,4 @@ -# Minecraft-Launcher für WarMine +# Minecraft launcher for WarMine ```mdx-code-block

@@ -12,8 +12,8 @@

``` -[Minecraft Launcher für WarMine](https://warmine.ru/) ist eine Wails-Anwendung, die es dir erlaubt, modded Gameserver ganz einfach zu betreten und deine Spielkonten zu verwalten. +[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. -Der Launcher lädt die Spieldateien herunter prüft deren Integrität und startet das Spiel mit einer Vielzahl von Anpassungsoptionen für die Startargumente aus dem Backend. +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. -Das Frontend ist in Svelte geschrieben, der ganze Launcher ist 9MB groß und unterstützt Windows 7-11. +Frontend is written in Svelte, whole launcher fits in 9MB and supports Windows 7-11. diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/wombat.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/wombat.mdx index f4bddcd31..f100c55e2 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/wombat.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/wombat.mdx @@ -7,4 +7,4 @@

``` -[Wombat](https://github.com/rogchap/wombat) ist ein plattformübergreifender gRPC-Client. +[Wombat](https://github.com/rogchap/wombat) is a cross platform gRPC client. diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/ytd.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/ytd.mdx index 1d18f8c83..5db428f72 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/ytd.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/showcase/ytd.mdx @@ -7,4 +7,4 @@

``` -[Ytd](https://github.com/marcio199226/ytd/tree/v2-wails) ist eine App zum Herunterladen von Tracks aus Youtube, sowie das Erstellen von Offline-Playlisten und zum Teilen mit deinen Freunden. Deine Freunde können Ihre Wiedergabelisten hören oder sie zum Offline-Hören herunterladen. +[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/de/docusaurus-plugin-content-docs/current/community/templates.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/community/templates.mdx index 6e64acef0..fb95b8ad9 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/community/templates.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/community/templates.mdx @@ -2,75 +2,75 @@ sidebar_position: 1 --- -# Vorlagen +# Templates -Diese Seite dient als Liste für Community-Links. Bitte sende einen PR (klicke unten auf `Edit this page`) um Links einzureichen. Um eine eigene Vorlage zu erstellen, lese bitte den [Vorlagen](../guides/templates.mdx) Guide. +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. -Um diese Vorlagen zu verwenden, führe `wails init -n "Projektname" -t [der Link unten[@version]]` aus. +To use these templates, run `wails init -n "Your Project Name" -t [the link below[@version]]` -Wenn kein Versions Suffix vorhanden ist, wird standardmäßig die Haupt-Branch-Code-Vorlage verwendet. Wenn es einen Versions Suffix gibt, wird die Codevorlage verwendet, die dem Tag dieser Version entspricht. +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. -Beispiel: `wails init -n "Projektname" -t https://github.com/misitebao/wails-template-vue` +Example: `wails init -n "Your Project Name" -t https://github.com/misitebao/wails-template-vue` -:::Warnung +:::warning Attention -**Das Wails Projekt pflegt keine Drittanbieter Vorlagen und ist auch nicht für diese verantwortlich!** +**The Wails project does not maintain, is not responsible nor liable for 3rd party templates!** -Wenn du dir wegen einer Vorlage unsicher bist, prüfe die `package.json` sowie die `wails.json` nach Scripts und installierten Paketen. +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 Vorlage basierend auf Vue (+ TypeScript, Dark Theme, Internationalisierung, Single page routing, TailwindCSS) -- [wails-template-quasar-js](https://github.com/sgosiaco/wails-template-quasar-js) - Eine Vorlage mit JavaScript + Quasar V2 (Vue 3, Vite, Sass, Pinia, ESLint, Prettier) -- [wails-template-quasar-ts](https://github.com/sgosiaco/wails-template-quasar-ts) - Eine Vorlage mit TypeScript + Quasar V2 (Vue 3, Vite, Sass, Pinia, ESLint, Prettier, Composition API mit <script setup>) -- [wails-template-naive](https://github.com/tk103331/wails-template-naive) - Wails Vorlage basierend auf Naive UI (Eine Vue 3 Komponenten Bibliothek) -- [wails-template-tdesign-js](https://github.com/tongque0/wails-template-tdesign-js) - Wails Template basierend auf TDesign UI (eine Vue 3 UI Bibliothek von Tencent), mit Vite, Pinia, Vue Router, ESLint, und Prettier. +- [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-template-quasar-js](https://github.com/sgosiaco/wails-template-quasar-js) - A template using JavaScript + Quasar V2 (Vue 3, Vite, Sass, Pinia, ESLint, Prettier) +- [wails-template-quasar-ts](https://github.com/sgosiaco/wails-template-quasar-ts) - A template using TypeScript + Quasar V2 (Vue 3, Vite, Sass, Pinia, ESLint, Prettier, Composition API with <script setup>) +- [wails-template-naive](https://github.com/tk103331/wails-template-naive) - Wails template based on Naive UI (A Vue 3 Component Library) +- [wails-template-tdesign-js](https://github.com/tongque0/wails-template-tdesign-js) - Wails template based on TDesign UI (a Vue 3 UI library by Tencent), using Vite, Pinia, Vue Router, ESLint, and Prettier. ## Angular -- [wails-template-angular](https://github.com/mateothegreat/wails-template-angular) - Angular 15+ Aktions verpackt & bereit für die Produktion. -- [wails-angular-template](https://github.com/TAINCER/wails-angular-template) - Angular mit TypeScript, Sass, Hot-Reload, Code-Splitting und i18n +- [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) - Eine Vorlage mit reactjs -- [wails-react-template](https://github.com/flin7/wails-react-template) - Eine minimale Vorlage für React, die Live-Entwicklung unterstützt -- [wails-template-nextjs](https://github.com/LGiki/wails-template-nextjs) - Eine Vorlage mit Next.js und TypeScript -- [wails-template-nextjs-app-router](https://github.com/thisisvk-in/wails-template-nextjs-app-router) - Eine Vorlage mit Next.js und TypeScript mit App-Router -- [wails-vite-react-ts-tailwind-template](https://github.com/hotafrika/wails-vite-react-ts-tailwind-template) - Eine Vorlage für React + TypeScript + Vite + TailwindCSS -- [wails-vite-react-ts-tailwind-shadcnui-template](https://github.com/Mahcks/wails-vite-react-tailwind-shadcnui-ts) - Eine Vorlage mit Vite, React, TypeScript, TailwindCSS, und shadcn/ui -- [wails-nextjs-tailwind-template](https://github.com/kairo913/wails-nextjs-tailwind-template) - Eine Vorlage mit Next.js und Typescript mit TailwindCSS +- [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-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) - A template for React + TypeScript + Vite + TailwindCSS +- [wails-vite-react-ts-tailwind-shadcnui-template](https://github.com/Mahcks/wails-vite-react-tailwind-shadcnui-ts) - A template with Vite, React, TypeScript, TailwindCSS, and shadcn/ui +- [wails-nextjs-tailwind-template](https://github.com/kairo913/wails-nextjs-tailwind-template) - A template using Next.js and Typescript with TailwindCSS ## Svelte -- [wails-svelte-template](https://github.com/raitonoberu/wails-svelte-template) - Eine Vorlage mit Svelte -- [wails-vite-svelte-template](https://github.com/BillBuilt/wails-vite-svelte-template) - Eine Vorlage mit Svelte und Vite -- [wails-vite-svelte-ts-tailwind-template](https://github.com/xvertile/wails-vite-svelte-tailwind-template) - Eine Vorlage mit Wails, Svelte, Vite, TypeScript und TailwindCSS v3 -- [wails-vite-svelte-tailwind-template](https://github.com/BillBuilt/wails-vite-svelte-tailwind-template) - Eine Vorlage mit Svelte und Vite mit TailwindCSS v3 -- [wails-svelte-tailwind-vite-template](https://github.com/PylotLight/wails-vite-svelte-tailwind-template/tree/master) - Eine aktualisierte Vorlage mit Svelte v4.2.0 und Vite mit TailwindCSS v3.3.3 -- [wails-sveltekit-template](https://github.com/h8gi/wails-sveltekit-template) - Eine Vorlage mit SvelteKit +- [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-ts-tailwind-template](https://github.com/xvertile/wails-vite-svelte-tailwind-template) - A template using Wails, Svelte, Vite, TypeScript, and TailwindCSS v3 +- [wails-vite-svelte-tailwind-template](https://github.com/BillBuilt/wails-vite-svelte-tailwind-template) - A template using Svelte and Vite with TailwindCSS v3 +- [wails-svelte-tailwind-vite-template](https://github.com/PylotLight/wails-vite-svelte-tailwind-template/tree/master) - An updated template using Svelte v4.2.0 and Vite with TailwindCSS v3.3.3 +- [wails-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) - Eine Vorlage mit Solid + Ts + Vite -- [wails-template-vite-solid-js](https://github.com/xijaja/wails-template-solid-js) - Eine Vorlage mit Solid + Js + Vite +- [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) - Entwickeln deine GUI-App mit funktionaler Programmierung und einem **snappy** Hot-reload Setup :tada: :rocket: -- [wails-template-elm-tailwind](https://github.com/rnice01/wails-template-elm-tailwind) - Kombiniere die Kräfte :muscle: von Elm + Tailwind CSS + Wails! Mit Hot-reload Unterstützung. +- [wails-elm-template](https://github.com/benjamin-thomas/wails-elm-template) - Develop your GUI app with functional programming and a **snappy** hot-reload setup :tada: :rocket: +- [wails-template-elm-tailwind](https://github.com/rnice01/wails-template-elm-tailwind) - Combine the powers :muscle: of Elm + Tailwind CSS + Wails! Hot reloading supported. ## HTMX -- [wails-htmx-templ-chi-tailwind](https://github.com/PylotLight/wails-hmtx-templ-template) - Verwende eine einzigartige Kombination aus reinem htmx für Interaktivität plus templ für die Erstellung von Komponenten und Formularen +- [wails-htmx-templ-chi-tailwind](https://github.com/PylotLight/wails-hmtx-templ-template) - Use a unique combination of pure htmx for interactivity plus templ for creating components and forms -## Pures JavaScript (Vanilla) +## Pure JavaScript (Vanilla) -- [wails-pure-js-template](https://github.com/KiddoV/wails-pure-js-template) - Eine Vorlage mit nichts anderem als standardmäßigem JavaScript, HTML und CSS +- [wails-pure-js-template](https://github.com/KiddoV/wails-pure-js-template) - A template with nothing but just basic JavaScript, HTML, and CSS -## Lit (web Komponenten) +## Lit (web components) -- [wails-lit-shoelace-esbuild-template](https://github.com/Braincompiler/wails-lit-shoelace-esbuild-template) - Wails Vorlage die ein Frontend bestehend aus lit der Shoelace Komponenten Bibliothek sowie vorkonfigurierten prettier und TypeScript anbietet. +- [wails-lit-shoelace-esbuild-template](https://github.com/Braincompiler/wails-lit-shoelace-esbuild-template) - Wails template providing frontend with lit, Shoelace component library + pre-configured prettier and typescript. diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/gettingstarted/building.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/gettingstarted/building.mdx index d0d8bd386..6dbe1cfd0 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/gettingstarted/building.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/gettingstarted/building.mdx @@ -2,15 +2,15 @@ sidebar_position: 6 --- -# Kompilieren deines Projektes +# Compiling your Project -Führe in deinem Projektverzeichnis `wails build` aus. Dadurch wird dein Projekt kompiliert und die produktionsfertige Binärdatei im `build/bin` Verzeichnis gespeichert. +From the project directory, run `wails build`. This will compile your project and save the production-ready binary in the `build/bin` directory. :::info Linux -Wenn eine Linux-Distribution ohne webkit2gtk-4.0 verwendet wird (wie Ubuntu 24.04), muss `-Tags webkit2_41` hinzugefügt werden. +If you are using a Linux distribution that does not have webkit2gtk-4.0 (such as Ubuntu 24.04), you will need to add `-tags webkit2_41`. ::: -Wenn die Binärdatei ausgeführt wird, sollte folgende Standardanwendung zu sehen sein: +If you run the binary, you should see the default application: ```mdx-code-block
@@ -23,4 +23,4 @@ Wenn die Binärdatei ausgeführt wird, sollte folgende Standardanwendung zu sehe
``` -Weitere Details zu den Kompilierungsoptionen findet man in der [CLI Referenz](../reference/cli.mdx#build). +For more details on compilation options, please refer to the [CLI Reference](../reference/cli.mdx#build). diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/gettingstarted/development.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/gettingstarted/development.mdx index 662a97cd3..034be31d6 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/gettingstarted/development.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/gettingstarted/development.mdx @@ -2,15 +2,15 @@ sidebar_position: 5 --- -# Entwicklung deiner Anwendung +# Developing your Application -Deine Anwendung kann im Entwicklungsmodus ausgeführt werden, indem `wails dev` in deinem Projektverzeichnis ausgeführt wird. Das wird folgende Dinge tun: +You can run your application in development mode by running `wails dev` from your project directory. This will do the following things: -- Erstellen und ausführen deiner Anwendung -- Verknüpfen deines Go Codes mit dem Frontend, sodass dieser mit JavaScript aufgerufen werden kann -- Mit hilfe von [Vite](https://vitejs.dev/) werden deine Go-Dateien auf Änderungen überwacht und bei Änderungen neu erstellt/ausgeführt -- Richtet einen [Webserver](http://localhost:34115) ein, der die Anwendung über einen Browser erreichbar macht. Das erlaubt dir, deine bevorzugten Browser-Erweiterungen zu verwenden. Es erlaubt ebenfalls, dass der Go-Code über die Konsole aufgerufen werden kann +- Build your application and run it +- Bind your Go code to the frontend so it can be called from JavaScript +- Using the power of [Vite](https://vitejs.dev/), will watch for modifications in your Go files and rebuild/re-run on change +- Sets up a [webserver](http://localhost:34115) that will serve your application over a browser. This allows you to use your favourite browser extensions. You can even call your Go code from the console -Um zu beginnen, führe `wails dev` im Projektverzeichnis aus. Weitere Informationen dazu [hier](../reference/cli.mdx#dev) +To get started, run `wails dev` in the project directory. More information on this can be found [here](../reference/cli.mdx#dev). -Demnächst: Anleitung +Coming soon: Tutorial diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/gettingstarted/firstproject.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/gettingstarted/firstproject.mdx index 90c61831f..e7cc86163 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/gettingstarted/firstproject.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/gettingstarted/firstproject.mdx @@ -2,13 +2,13 @@ sidebar_position: 2 --- -# Ein Projekt erstellen +# Creating a Project -## Projekterzeugung +## Project Generation -Nachdem das CLI installiert ist, kann ein neues Projekt generiert werden, indem der Befehl `wails init` ausgeführt wird. +Now that the CLI is installed, you can generate a new project by using the `wails init` command. -Wähle dein Lieblings-Framework: +Pick your favourite framework: ```mdx-code-block import Tabs from "@theme/Tabs"; @@ -26,61 +26,61 @@ import TabItem from "@theme/TabItem"; ]} > - Generiere ein Svelte Projekt mit JavaScript:

+ Generate a Svelte project using JavaScript with:

wails init -n myproject -t svelte -Oder TypeScript:
+If you would rather use TypeScript:
wails init -n myproject -t svelte-ts
- Generiere ein React Projekt mit JavaScript:

+ Generate a React project using JavaScript with:

wails init -n myproject -t react -Oder TypeScript:
+If you would rather use TypeScript:
wails init -n myproject -t react-ts
- Generiere ein Vue Projekt mit JavaScript:

+ Generate a Vue project using JavaScript with:

wails init -n myproject -t vue -Oder TypeScript:
+If you would rather use TypeScript:
wails init -n myproject -t vue-ts
- Generiere ein Preact Projekt mit JavaScript:

+ Generate a Preact project using JavaScript with:

wails init -n myproject -t preact -Oder TypeScript:
+If you would rather use TypeScript:
wails init -n myproject -t preact-ts
- Generiere ein Lit Projekt mit JavaScript:

+ Generate a Lit project using JavaScript with:

wails init -n myproject -t lit -Oder TypeScript:
+If you would rather use TypeScript:
wails init -n myproject -t lit-ts
- Generiere ein Vanilla Projekt mit JavaScript:

+ Generate a Vanilla project using JavaScript with:

wails init -n myproject -t vanilla -Oder TypeScript:
+If you would rather use TypeScript:
wails init -n myproject -t vanilla-ts @@ -90,13 +90,13 @@ Oder TypeScript:

-Es sind auch [Community-Vorlagen](../community/templates.mdx) verfügbar, die unterschiedliche Fähigkeiten sowie Frameworks bieten. +There are also [community templates](../community/templates.mdx) available that offer different capabilities and frameworks. -Um die anderen verfügbaren Optionen zu sehen, `wails init -help` ausführen. Weitere Informationen sind in der [CLI Referenz](../reference/cli.mdx#init) zu finden. +To see the other options available, you can run `wails init -help`. More details can be found in the [CLI Reference](../reference/cli.mdx#init). -## Projektstruktur +## Project Layout -Wails Projekte haben die folgende Struktur: +Wails projects have the following layout: ``` . @@ -111,18 +111,18 @@ Wails Projekte haben die folgende Struktur: └── wails.json ``` -### Projektstruktur Erkläung +### Project structure rundown -- `/main.go` - Die Hauptanwendung -- `/frontend/` - Frontend Projektdateien -- `/build/` - Projekterstellungsverzeichnis -- `/build/appicon.png` - Das Anwendungssymbol -- `/build/darwin/` - Mac-spezifische Projektdateien -- `/build/windows/` - Windows-spezifische Projektdateien -- `/wails.json` - Die Projekt-Konfiguration -- `/go.mod` - Go module Datei -- `/go.sum` - Go module checksum Datei +- `/main.go` - The main application +- `/frontend/` - Frontend project files +- `/build/` - Project build directory +- `/build/appicon.png` - The application icon +- `/build/darwin/` - Mac specific project files +- `/build/windows/` - Windows specific project files +- `/wails.json` - The project configuration +- `/go.mod` - Go module file +- `/go.sum` - Go module checksum file -Das `Frontend` Verzeichnis ist nicht an Wails gebunden und kann ein beliebiges Frontend-Projekt sein. +The `frontend` directory has nothing specific to Wails and can be any frontend project of your choosing. -Das `build` Verzeichnis wird während des Build-Prozesses verwendet. Diese Dateien können aktualisiert werden, um deine Builds anzupassen. Wenn Dateien aus dem Build-Verzeichnis entfernt werden, werden die Standardversionen neu generiert. +The `build` directory is used during the build process. These files may be updated to customise your builds. If files are removed from the build directory, default versions will be regenerated. diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/gettingstarted/installation.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/gettingstarted/installation.mdx index f6d6dbe99..028b167da 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/gettingstarted/installation.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/gettingstarted/installation.mdx @@ -4,38 +4,38 @@ sidebar_position: 1 # Installation -## Unterstützte Plattformen +## Supported Platforms - Windows 10/11 AMD64/ARM64 -- MacOS 10.15+ AMD64 für die Entwicklung, MacOS 10.13+ für die Veröffentlichung +- MacOS 10.15+ AMD64 for development, MacOS 10.13+ for release - MacOS 11.0+ ARM64 - Linux AMD64/ARM64 -## Abhängigkeiten +## Dependencies -Wails hat eine Reihe von Abhängigkeiten, die vor der Installation benötigt werden: +Wails has a number of common dependencies that are required before installation: -- Go 1.21+ (macOS 15+ benötigt Go 1.23.3+) +- Go 1.21+ (macOS 15+ requires Go 1.23.3+) - NPM (Node 15+) ### Go -Lade Go von der [Download Seite](https://go.dev/dl/) runter. +Download Go from the [Go Downloads Page](https://go.dev/dl/). -Befolge bitte die offiziellen [Installationsanweisungen](https://go.dev/doc/install). Außerdem muss sichergestellt werden, dass die `PATH` Umgebungsvariable auch den Pfad zu Ihrem `~/go/bin` Verzeichnis enthält. Starte dein Terminal neu und führe folgende Überprüfungen durch: +Ensure that you follow the official [Go installation instructions](https://go.dev/doc/install). You will also need to ensure that your `PATH` environment variable also includes the path to your `~/go/bin` directory. Restart your terminal and do the following checks: -- Prüfe ob Go korrekt installiert ist: `go version` -- Überprüfe ob "~/go/bin" in der PATH-Variable vorhanden ist: `echo $PATH | grep go/bin` +- Check Go is installed correctly: `go version` +- Check "~/go/bin" is in your PATH variable: `echo $PATH | grep go/bin` ### NPM -NPM von der [Node Downloads Seite](https://nodejs.org/en/download/) herunterladen. Es ist am besten, die neueste Version zu verwenden, da wir damit im Allgemeinen testen. +Download NPM from the [Node Downloads Page](https://nodejs.org/en/download/). It is best to use the latest release as that is what we generally test against. -Führe `npm --version` aus, um zu überprüfen, ob NPM richtig installiert wurde. +Run `npm --version` to verify. -## Plattformspezifische Abhängigkeiten +## Platform Specific Dependencies -Außerdem müssen plattformspezifische Abhängigkeiten installiert werden: +You will also need to install platform specific dependencies: ```mdx-code-block import Tabs from "@theme/Tabs"; @@ -50,43 +50,43 @@ import TabItem from "@theme/TabItem"; ]} > - Wails erfordert die Installation der Xcode-Kommandozeilenprogramme. Dies kann - über xcode-select --install erfolgen. + Wails requires that the xcode command line tools are installed. This can be + done by running xcode-select --install. - Wails erfordert die Installation der WebView2-Laufzeit. Einige Windows-Installationen werden dies bereits installiert haben. Du kannst den Befehl wails doctor ausführen zum überprüfen. + 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 benötigt die Standard gcc Build-Tools sowie libgtk3 und libwebkit. Anstatt eine Vielzahl von Befehlen für verschiedene Distributionen aufzulisten, kann Wails versuchen herauszufinden, was die Installationsbefehle für deine spezifische Distribution sind. Führe wails doctor nach der Installation aus, um zu sehen, wie die Abhängigkeiten installiert werden sollen. Wenn deine Distribution oder dein Paketmanager nicht unterstützt wird, schaue dir die Füge ein Linux Distro hinzu Anleitung an. -
Hinweis:
- Wenn die neueste Linux-Version verwendet wird (Beispiel: Ubuntu 24. 4) und es libwebkit2gtk-4.0-dev nicht unterstützt, dann könnte folgendes Problem in wails doctor auftreten: libwebkit nicht gefunden. Um dieses Problem zu beheben, kann libwebkit2gtk-4.1-dev installiert werden und während des Builds der Tag -tags webkit2_41 verwendet werden. + 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. +
Note:
+ If you are using latest Linux version (example: Ubuntu 24.04) and it is not supporting libwebkit2gtk-4.0-dev, then you might encounter an issue in wails doctor: libwebkit not found. To resolve this issue you can install libwebkit2gtk-4.1-dev and during your build use the tag -tags webkit2_41.
``` -## Optionale Abhängigkeiten +## Optional Dependencies -- [UPX](https://upx.github.io/) zum Komprimieren der Anwendungen. -- [NSIS](https://wails.io/docs/guides/windows-installer/) zur Erzeugung von Windows-Installern. +- [UPX](https://upx.github.io/) for compressing your applications. +- [NSIS](https://wails.io/docs/guides/windows-installer/) for generating Windows installers. -## Wails installieren +## Installing Wails -Führe `go install github.com/wailsapp/wails/v2/cmd/wails@latest` aus, um das Wails CLI zu installieren. +Run `go install github.com/wailsapp/wails/v2/cmd/wails@latest` to install the Wails CLI. -Hinweis: Wenn ein ähnlicher Fehler auftritt: +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 ``` -überprüfe, ob Go 1.18+ installiert wurde: +please check you have Go 1.18+ installed: ```shell go version ``` -## Systemprüfung +## System Check -Führe `wails doctor` aus um zu prüfen ob die richtigen Abhängigkeiten installiert wurden. Sollte das nicht der Fall sein, wird es Hinweise darauf geben, was fehlt, sowie eine Hilfestellung, wie eventuelle Probleme behoben werden können. +Running `wails doctor` will check if you have the correct dependencies installed. If not, it will advise on what is missing and help on how to rectify any problems. -## Der `wails` Befehl fehlt? +## The `wails` command appears to be missing? -Wenn das System meldet, dass der `wails` Befehl fehlt, stelle sicher, dass die Go-Installationsanleitung korrekt befolgt wurde. Normalerweise bedeutet dies, dass sich das `go/bin` Verzeichnis im Home-Verzeichnis Ihres Benutzers nicht in der `PATH` Umgebungsvariable befindet. Normalerweise müssen alle Eingabeaufforderungen geschlossen und neu geöffnet werden, so dass Änderungen an der Umgebung des Installers in der Eingabeaufforderung übernommen werden. +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. diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/angular.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/angular.mdx index 30b31f204..2b6c5a845 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/angular.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/angular.mdx @@ -1,10 +1,10 @@ # Angular -Obwohl Wails kein Angular Template hat, ist es möglich, Angular in Kombination mit Wails zu verwenden. +Whilst Wails does not have an Angular template, it is possible to use Angular with Wails. -## Dev-Modus +## Dev Mode -Damit der Dev-Modus mit Angular funktioniert, musst du Folgendes zu deiner `wails.json` hinzufügen: +To get dev mode working with Angular, you need to add the following to your `wails.json`: ```json "frontend:build": "npx ng build", diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/application-development.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/application-development.mdx index 27bcc53b1..687b89791 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/application-development.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/application-development.mdx @@ -1,12 +1,12 @@ -# Entwicklung von Anwendungen +# Application Development -Es gibt keine festen Regeln für die Entwicklung von Anwendungen mit Wails, aber einige grundlegende Richtlinien. +There are no hard and fast rules for developing applications with Wails, but there are some basic guidelines. -## Anwendungseinrichtung +## Application Setup -Das von den Standardvorlagen verwendete Muster ist, dass `main.go` zum Konfigurieren und Ausführen der Anwendung verwendet wird, während `app.go` zur Definition der Anwendungslogik verwendet wird. +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. -Die `app.go` Datei definiert einen Struct mit 2 Methoden, die als Hooks in der Hauptanwendung fungieren: +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 { @@ -25,11 +25,11 @@ func (a *App) shutdown(ctx context.Context) { } ``` -- Die startup Methode wird aufgerufen, sobald Wails die benötigten Ressourcen angefordert hat und ist ein guter Ort für die Erstellung von eigenen Ressourcen sowie die Konfigurierung von Events und alles andere, was die Anwendung beim Start braucht. Es wird ein `context.Context` übergeben, der normalerweise in einem Struct-Feld gespeichert wird. Dieser Kontext wird benötigt, um die [Laufzeit](../reference/runtime/intro.mdx) aufzurufen. Gibt diese Methode einen Fehler zurück, wird die Anwendung beendet. Im Dev-Modus wird der Fehler in die Konsole ausgegeben. +- 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. -- Die shutdown Methode wird von Wails direkt am Ende des Shutdown-Prozesses aufgerufen. Dies ist ein guter Ort, um Ressourcen wieder freizugeben und um alle anderen Aufgaben zu beenden. +- 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. -Die `main.go` Datei besteht im Allgemeinen aus einem einzigen Aufruf von `wails.Run()`, der die Anwendungskonfiguration akzeptiert. Das Muster, das in den Vorlagen verwendet wird, besteht darin, dass vor dem Aufruf von `wails.Run()` eine Instanz des Structs, die wir in `app.go` definiert haben, erstellt und in einer Variable namens `app` gespeichert wird. Diese Konfiguration ist der Ort, an dem wir unsere Callbacks hinzufügen: +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() { @@ -50,11 +50,11 @@ func main() { ``` -Weitere Informationen zu Anwendungslaufzeit hooks sind [hier](../howdoesitwork.mdx#application-lifecycle-callbacks) zu finden. +More information on application lifecycle hooks can be found [here](../howdoesitwork.mdx#application-lifecycle-callbacks). -## Methoden Verknüpfen +## Binding Methods -Es ist wahrscheinlich, dass Go-Methoden vom Frontend aufgerufen werden sollen. Normalerweise wird das durch das Hinzufügen öffentlicher Methoden zu den bereits definierten structs in `app.go` gemacht: +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 { @@ -77,7 +77,7 @@ func (a *App) Greet(name string) string { } ``` -In der Hauptanwendungskonfiguration ist der `Bind` Key, der, bei dem wir Wails sagen können, was wir verknüpfen wollen: +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() { @@ -101,11 +101,11 @@ func main() { ``` -Das wird alle öffentlichen Methoden in unserem `App` struct verknüpfen (ausgenommen davon sind die Start- und Herunterfahrmethoden). +This will bind all public methods in our `App` struct (it will never bind the startup and shutdown methods). -### Umgang mit dem Kontext, wenn mehrere structs verknüpft werden +### Dealing with context when binding multiple structs -Solltest du mehrmals den Anwendungskontext in verschiedenen Structs referenzieren wollen, ist es sinnvoll, das in der `OnStartup` Methode zu machen: +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() { @@ -133,7 +133,7 @@ func main() { } ``` -Auch Enums können in Structs verwendet werden, diese erhalten im Frontend entsprechende Modelle. In diesem Fall sollte ein Array erstellt werden, das alle möglichen Enum-Werte enthält: +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 @@ -162,7 +162,7 @@ var AllWeekdays = []struct { } ``` -In der Hauptanwendungskonfiguration ist der `EnumBind` Key, der, bei dem wir Wails sagen können, welche Emums wir verknüpfen wollen: +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() { @@ -189,13 +189,13 @@ func main() { ``` -Dadurch werden fehlende Enums zu der `model.ts` Datei hinzugefügt. +This will add missing enums to your `model.ts` file. -Weitere Informationen dazu [hier](../howdoesitwork.mdx#method-binding). +More information on Binding can be found [here](../howdoesitwork.mdx#method-binding). -## Anwendungsmenü +## Application Menu -Wails unterstützt das Hinzufügen eines Menüs zur Anwendung. Das geschieht durch die Übergabe eines [Menu](../reference/menus.mdx#menu)-Structs an die Anwendungskonfiguration. Es ist üblich, eine Methode zu verwenden, die ein Menü zurückgibt, vorzugsweise eine Methode im `App` struct, die für die Laufzeit Hooks verwendet wird. +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() { @@ -222,41 +222,41 @@ func main() { ## Assets -Das Großartige an der Art und Weise, wie Wails v2 mit Assets umgeht, ist, dass es das nicht tut! Das Einzige, was Wails benötigt, ist `embed.FS`. Wie ein embed.FS erzeugt wird, ist dir überlassen. Du kannst Vanilla html/css/js Dateien wie das Vanilla Template verwenden. Oder auch ein kompliziertes Build-System, es spielt keine Rolle. +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. -Wenn `wails build` ausführt wird, wird die `wails.json` Projektdatei im Projektverzeichnis überprüft. Es gibt 2 Schlüssel in der Projektdatei, die gelesen werden: +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" -Der erste, falls angegeben, wird im `Frontend` Verzeichnis ausgeführt, um die node Modules zu installieren. Der zweite, falls angegeben, wird im `frontend`-Verzeichnis ausgeführt, um das Frontend-Projekt zu erstellen. +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. -Wenn diese 2 Keys nicht gegeben werden, dann tut Wails absolut nichts mit dem Frontend. Es wird nur erwartet, dass `embed.FS` vorhanden ist. +If these 2 keys aren't given, then Wails does absolutely nothing with the frontend. It is only expecting that `embed.FS`. ### AssetsHandler -Eine Wails v2 App kann optional einen `http.Handler` in den `options.App` definieren, der das Hooking in den AssetServer erlaubt, um Dateien zu erstellen oder POST/PUT-Anfragen zu verarbeiten. GET-Anfragen werden immer zuerst vom `assets` FS bearbeitet. Wenn der FS die angeforderte Datei nicht findet, wird die Anfrage an den `http.Handler` weitergeleitet, um diese zu verarbeiten. Alle anderen Anfragen als GET werden direkt vom `AssetsHandler` bearbeitet, sofern angegeben. Es ist auch möglich, nur den `AssetsHandler` zu verwenden, indem `nil` als `Assets` Option angegeben wird. +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 specifying `nil` as the `Assets` option. -## Eingebauter Dev Server +## Built in Dev Server -Das Ausführen von `wails dev` startet den eingebauten Entwicklungsserver, der einen Dateibeobachter im Projektverzeichnis startet. Standardmäßig prüft wails bei Änderungen an Dateien, ob es sich um eine Anwendungsdatei handelt (Standard: `.go`, konfigurierbar mit der `-e`-Flagge). Wenn das der Fall ist, wird wails automatisch die Anwendung neu builden und neu starten. Wenn sich die geänderte Datei in den Assets befindet, wird nach kurzer Zeit neu geladen. +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. -Der Dev-Server verwendet eine Technik namens "debouncing", was bedeutet, dass er nicht sofort neu geladen wird, da mehrere Dateien in kurzer Zeit geändert werden können. Wenn ein Trigger ausgelöst wird, wartet er eine festgelegte Zeit, bevor er ein Nachladen ausführt. Falls ein anderer Trigger auftritt, wird die Wartezeit erneut gesetzt. Standardmäßig ist dieser Wert `100ms`. Wenn dieser Wert für dein Projekt nicht funktioniert, kann er mit der `-debounce` Flag konfiguriert werden. Wenn verwendet, wird dieser Wert in deiner Projekt-Konfiguration gespeichert und zur Standardeinstellung. +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. -## Externer Dev Server +## External Dev Server -Einige Frameworks haben ihren eigenen Live-Reloading-Server, aber diese werden nicht in der Lage sein, die Wails Go-Verknüpfungen zu nutzen. In diesem Szenario ist es am besten, ein Watcher-Skript auszuführen, das das Projekt in das Build-Verzeichnis umbaut, welches Wails beobachten wird. Siehe die svelte Standardvorlage, die [rollup](https://rollupjs.org/guide/en/) verwendet. +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/). ### Create React App -Der Prozess für ein Create-React-App-Projekt ist etwas komplizierter. Um das Live-Frontend neu laden zu können, muss die folgende Konfiguration zur `wails.json` hinzugefügt werden: +The process for a Create-React-App project is slightly more complicated. In order to support live frontend reloading the following configuration needs to be added to your `wails.json`: ```json "frontend:dev:watcher": "yarn start", "frontend:dev:serverUrl": "http://localhost:3000", ``` -Der `frontend:dev:watcher` Befehl startet den Create-React-App Entwicklungsserver (typischerweise auf Port `3000` gehostet). Der Befehl `frontend:dev:serverUrl` weist Wails dann an, beim Laden des Frontends Assets vom Entwicklungsserver zu verwenden, anstatt aus dem Build-Ordner. Zusätzlich zu den oben genannten Schritten muss die `index.html` mit folgendem aktualisiert werden: +The `frontend:dev:watcher` command will start the Create-React-App development server (hosted on port `3000` typically). The `frontend:dev:serverUrl` command then instructs Wails to serve assets from the development server when loading the frontend rather than from the build folder. In addition to the above, the `index.html` needs to be updated with the following: ```html @@ -266,8 +266,8 @@ Der `frontend:dev:watcher` Befehl startet den Create-React-App Entwicklungsserve ``` -Dies wird benötigt, da der Watcher-Befehl, der das Frontend neu aufbaut, Wails daran hindert, die benötigten Skripte zu injizieren. Dies umgeht diese Fehlermeldung, indem sichergestellt wird, dass die Skripte immer injiziert werden. Mit dieser Konfiguration kann `wails dev` ausgeführt werden, wodurch Frontend und Backend mit aktiviertem Hot-Reloading entsprechend erstellt werden. Zusätzlich beim Zugriff auf die Anwendung von einem Browser aus können die React Entwicklerwerkzeuge jetzt auf einer nicht minifizierten Version der Anwendung für einfaches Debuggen verwendet werden. Schließlich kann zur Beschleunigung der Builds `wails dev -s` ausgeführt werden, um den standardmäßigen Build des Frontends durch Wails zu überspringen, da dies ein unnötiger Schritt ist. +This is required as the watcher command that rebuilds the frontend prevents Wails from injecting the required scripts. This circumvents that issue by ensuring the scripts are always injected. With this configuration, `wails dev` can be run which will appropriately build the frontend and backend with hot-reloading enabled. Additionally, when accessing the application from a browser the React developer tools can now be used on a non-minified version of the application for straightforward debugging. Finally, for faster builds, `wails dev -s` can be run to skip the default building of the frontend by Wails as this is an unnecessary step. ## Go Module -Die Standard-Wails Vorlagen erzeugen eine `go.mod` Datei, die den Modulnamen "changeme" enthält. Du solltest dies nach der Projekterstellung in etwas passenderes ändern. +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/de/docusaurus-plugin-content-docs/current/guides/crossplatform-build.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/crossplatform-build.mdx index fc4859d4e..e7ea6dfc8 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/crossplatform-build.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/crossplatform-build.mdx @@ -1,14 +1,14 @@ -# Crossplatform build mit Github Actions +# Crossplatform build with Github Actions -Um ein Wails Projekt für alle verfügbaren Plattformen zu erstellen, muss für jedes Betriebssystem eine Applikation erstellt werden. Eine effektive Methode, um dies zu erreichen, ist die Verwendung von 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. -Eine Aktion, die das Erstellen einer Wails App erleichtert, ist verfügbar unter: +An action that facilitates building a Wails app is available at: https://github.com/dAppServer/wails-build-action -Falls die bestehende Aktion die Anforderungen nicht erfüllt, können nur die notwendigen Schritte aus der Quelle ausgewählt werden: +In case the existing action doesn't fulfill your requirements, you can select only the necessary steps from the source: https://github.com/dAppServer/wails-build-action/blob/main/action.yml -Nachfolgend findest du ein umfassendes Beispiel, das die Erstellung einer App nach der Erstellung eines neuen Git-Tags und das anschließende Hochladen in die Actions-Artefakte zeigt: +Below is a comprehensive example that demonstrates building an app upon the creation of a new Git tag and subsequently uploading it to the Actions artifacts: ```yaml name: Wails build @@ -57,10 +57,10 @@ jobs: go-version: '1.20' ``` -Dieses Beispiel bietet Möglichkeiten für verschiedene Verbesserungen, unter anderem: +This example offers opportunities for various enhancements, including: -- Cache-Abhängigkeiten -- Code-Signierung -- Hochladen auf Plattformen wie S3, Supabase, etc. -- Secrets als Umgebungsvariablen einfügen -- Verwendung von Umgebungsvariablen als Build-Variablen (wie zum Beispiel aus dem aktuellen Git-Tag extrahierte Versionsvariablen) +- Caching dependencies +- Code signing +- Uploading to platforms like S3, Supabase, etc. +- Injecting secrets as environment variables +- Utilizing environment variables as build variables (such as version variable extracted from the current Git tag) diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/custom-protocol-schemes.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/custom-protocol-schemes.mdx index 91ba71e4a..3dccf4e3c 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/custom-protocol-schemes.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/custom-protocol-schemes.mdx @@ -1,14 +1,15 @@ -# Benutzerdefinierte Protokollschema-Zuordnung +# Custom Protocol Scheme association -Die benutzerdefinierte Protokoll-Funktion erlaubt es dir, spezifische benutzerdefinierte Protokolle mit deiner App zu verknüpfen, sodass, wenn Benutzer Links mit diesem Protokoll öffnen, die App gestartet wird. Dies kann besonders nützlich sein, um die Desktop-App mit der Web-App zu verbinden. -In dieser Anleitung werden wir die Schritte durchgehen, um benutzerdefinierte Protokolle in Wails App zu implementieren. +Custom Protocols feature allows you to associate specific custom protocol with your app so that when users open links with this protocol, +your app is launched to handle them. This can be particularly useful to connect your desktop app with your web app. +In this guide, we'll walk through the steps to implement custom protocols in Wails app. -## Benutzerdefinierte Protokollschema-Zuordnung einrichten: +## Set Up Custom Protocol Schemes Association: -Um ein benutzerdefiniertes Protokoll einzurichten, muss die wails.json Datei der Anwendung angepasst werden. -Füge im Abschnitt "info" einen Abschnitt mit dem Namen "protocols" hinzu, in diesem werden die Protokolle angegeben, die mit der App verknüpft werden sollen. +To set up custom protocol, you need to modify your application's wails.json file. +In "info" section add a "protocols" section specifying the protocols your app should be associated with. -Zum Beispiel: +For example: ```json { @@ -24,17 +25,17 @@ Zum Beispiel: } ``` -| Eigenschaft | Beschreibung | -| :------------- | :-------------------------------------------------------------------------------------------------- | -| scheme | Benutzerdefiniertes Protokollschema. z. B. myapp | -| description | Nur für Windows. Beschreibung. | -| role | Nur für macOS. Die Rolle der App in Bezug auf den Typ. Entspricht CFBundleTypeRoll. | +| 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. | -## Plattformspezifisches: +## Platform Specifics: ### macOS -Wenn du ein benutzerdefiniertes Protokoll mit deiner App öffnest, wird das System deine App starten und die "OnUrlOpen"-Funktion in deiner Wails App aufrufen. Beispiel: +When you open custom protocol with your app, the system will launch your app and call the `OnUrlOpen` function in your Wails app. Example: ```go title="main.go" func main() { @@ -63,8 +64,9 @@ func main() { ### Windows -Auf Windows werden benutzerdefinierte Protokollschma nur mit NSIS Installer unterstützt. Während der Installation wird der Installer einen -Registrierungseintrag für dein Schema erstellen. Wenn eine Url mit der App geöffnet wird, wird eine neue Instanz der App gestartet und die Url als Argument an deine App zu übergeben. Um dies zu verarbeiten, solltest du Kommandozeilenargumente in der App parsen. Beispiel: +On Windows Custom Protocol Schemes is supported only with NSIS installer. During installation, the installer will create a +registry entry for your schemes. When you open url with your app, new instance of app is launched and url is passed +as argument to your app. To handle this you should parse command line arguments in your app. Example: ```go title="main.go" func main() { @@ -76,8 +78,8 @@ func main() { } ``` -Du kannst auch einzelne Instanzsperren für deine App aktivieren. In diesem Fall, wenn die Url mit deiner App geöffnet wird, wird eine neue Instanz der App nicht gestartet -und Argumente werden an bereits laufende Instanz übergeben. Überprüfe die Einzelinstanz-Sperren Anleitung für Details. Beispiel: +You also can enable single instance lock for your app. In this case, when you open url with your app, new instance of app is not launched +and arguments are passed to already running instance. Check single instance lock guide for details. Example: ```go title="main.go" func main() { @@ -103,11 +105,11 @@ func main() { ### Linux -Derzeit unterstützt Wails kein Bundling für Linux. Dateiassoziationen müssen dem nach manuell erstellt werden. -Zum Beispiel, wenn du deine App als .deb-Paket verteilst, können Datei-Assoziationen erstellt werden, indem du benötigte Dateien in deinem Bundle hinzufügst. -Du kannst [nfpm](https://nfpm.goreleaser.com/) verwenden, um .deb-Paket für deine App zu erstellen. +Currently, Wails doesn't support bundling for Linux. So, you need to create file associations manually. +For example if you distribute your app as a .deb package, you can create file associations by adding required files in you bundle. +You can use [nfpm](https://nfpm.goreleaser.com/) to create .deb package for your app. -1. Erstelle eine .desktop Datei für deine App und gib dort Dateizuordnungen an (beachte, dass `%u` wichtig ist in Exec). Beispiel: +1. Create a .desktop file for your app and specify file associations there (note that `%u` is important in Exec). Example: ```ini [Desktop Entry] @@ -120,14 +122,14 @@ Type=Application MimeType=x-scheme-handler/myapp; ``` -2. Bereite PostInstall/PostRemove Skripte für dein Paket vor. Beispiel: +2. Prepare postInstall/postRemove scripts for your package. Example: ```sh # reload desktop database to load app in list of available -update-desktop-database /usr/s +update-desktop-database /usr/share/applications ``` -3. Konfiguriere nfpm, um deine Skripte und Dateien zu verwenden. Beispiel: +3. Configure nfpm to use your scripts and files. Example: ```yaml name: "wails-open-file" @@ -156,14 +158,15 @@ scripts: postremove: ./postRemove.sh ``` -6. Erstellen dein .deb-Paket mit nfpm: +6. Build your .deb package using nfpm: ```sh nfpm pkg --packager deb --target . ``` -7. Wenn dein Paket nun installiert ist, wird deine App mit dem benutzerdefiniertem Protokollschema verknüpft. Wenn eine Url mit der App geöffnet wird, wird eine neue Instanz der App gestartet und der Dateipfad wird als Argument an deine App übergeben. - Um dies zu verarbeiten, solltest du Kommandozeilenargumente in der App parsen. Beispiel: +7. Now when your package is installed, your app will be associated with custom protocol scheme. When you open url with your app, + new instance of app is launched and file path is passed as argument to your app. + To handle this you should parse command line arguments in your app. Example: ```go title="main.go" func main() { @@ -175,8 +178,8 @@ func main() { } ``` -Du kannst auch einzelne Instanzsperren für deine App aktivieren. In diesem Fall, wenn die Url mit deiner App geöffnet wird, wird eine neue Instanz der App nicht gestartet -und Argumente werden an bereits laufende Instanz übergeben. Überprüfe die Einzelinstanz-Sperren Anleitung für Details. Beispiel: +You also can enable single instance lock for your app. In this case, when you open url with your app, new instance of app is not launched +and arguments are passed to already running instance. Check single instance lock guide for details. Example: ```go title="main.go" func main() { diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/dynamic-assets.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/dynamic-assets.mdx index 9c89f12f5..242276641 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/dynamic-assets.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/dynamic-assets.mdx @@ -1,18 +1,18 @@ -# Dynamische Assets +# Dynamic Assets :::info -Diese Funktion funktioniert nicht mit vite v5.0.0+ und wails v2 aufgrund von Veränderungen in vite. Änderungen sind in v3 geplant, um ähnliche Funktionen unter v5.0.0+ zu unterstützen. Wenn du diese Funktion benötigst, bleibe bei vite v4.0.0+. Siehe [Issue 3240](https://github.com/wailsapp/wails/issues/3240) für Details +This does not work with vite v5.0.0+ and wails v2 due to changes in vite. Changes are planned in v3 to support similar functionality under vite v5.0.0+. If you need this feature, stay with vite v4.0.0+. See [issue 3240](https://github.com/wailsapp/wails/issues/3240) for details ::: -Wenn Dateien für dein Frontend dynamisch geladen oder erzeugt werden sollen, kann das mit der [AssetsHandler](../reference/options#assetshandler) Option erreicht werden. Der AssetsHandler ist ein generischer `http.Handler`, der für alle Nicht-GET-Anfragen an den Asset-Server und für GET-Anfragen aufgerufen wird, die nicht aus den gebündelten Assets bedient werden können, weil die Datei nicht gefunden wird. +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. -Durch die Installation eines benutzerdefinierten AssetsHandlers können eigene Assets über einen eigenen Asset-Server geserved werden. +By installing a custom AssetsHandler, you can serve your own assets using a custom asset server. -## Beispiel +## Example -In unserem Beispielprojekt werden wir einen einfachen Asset-Handler erstellen, der Dateien von der Festplatte lädt: +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 @@ -78,7 +78,7 @@ func main() { } ``` -Wenn wir die Anwendung im Dev-Modus mit `wails dev`ausführen, sehen wir die folgende Ausgabe: +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' @@ -86,15 +86,15 @@ DEB | [ExternalAssetHandler] Loading 'http://localhost:3001/favicon.ico' failed, Requesting file: favicon.ico ``` -Wie man sehen kann, wird der Asset-Handler aufgerufen, wenn der Standard-Asset-Server nicht in der Lage ist, die `favicon.ico` Datei zu serven. +As you can see, the assets handler is called when the default assets server is unable to serve the `favicon.ico` file. -Um diese Funktion zu testen kannst du in der Hauptanwendung mit der rechten Maustaste "inspect" auswählen, um die devtools hervorzubringen. In die Konsole muss nun folgendes eingegeben werden: +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'); ``` -Das wird einen Fehler in den devtools erzeugen. Wir können sehen, dass der Fehler ist, was wir erwarten, von unserem benutzerdefinierten Asset-Handler: +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

@@ -104,7 +104,7 @@ Das wird einen Fehler in den devtools erzeugen. Wir können sehen, dass der Fehl

``` -Wenn wir jedoch `go.mod`anfordern, sehen wir die folgende Ausgabe: +However, if we request `go.mod`, we will see the following output: ```mdx-code-block

@@ -112,19 +112,19 @@ Wenn wir jedoch `go.mod`anfordern, sehen wir die folgende Ausgabe:

``` -Diese Technik kann benutzt werden, um Bilder direkt in die Seite zu laden. Wenn wir unsere Standardvorlage für Vanilla aktualisiert haben und das Logobild: +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 ``` -mit folgendem ersetzen: +with: ```html ``` -Dann sollten wir folgendes sehen: +Then we would see the following: ```mdx-code-block

@@ -137,6 +137,6 @@ Dann sollten wir folgendes sehen: :::warning -Das Exposen des Dateisystems auf diese Art ist ein Sicherheitsrisiko. Es wird empfohlen, dass der Zugriff auf das Dateisystem korrekt verwaltet wird. +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/de/docusaurus-plugin-content-docs/current/guides/file-association.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/file-association.mdx index c753a1d64..15c6bbfcf 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/file-association.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/file-association.mdx @@ -1,13 +1,15 @@ -# Dateizuordnung +# File Association -Die Funktion zur Dateizuordnung ermöglicht es dir, bestimmte Dateitypen mit deiner App zu verknüpfen, sodass die App gestartet wird, wenn Benutzer diese Dateien öffnen. Dies kann besonders nützlich für Texteditoren, Bild Viewer oder beliebige Anwendungen sein, die mit spezifischen Dateiformaten arbeiten. In dieser Anleitung werden wir die Schritte zur Implementierung von Datei-Assoziationen in Wails App durchlaufen. +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. -## Dateizuordnung einrichten: +## Set Up File Association: -Um eine Datei-Assoziation einzurichten, muss die wails.json Datei der Anwendung angepasst werden. -Füge im Abschnitt "info" einen Abschnitt mit dem Namen "fileAssociations" hinzu, in diesem werden die Dateien angegeben, die mit der App verknüpft werden sollen. +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. -Zum Beispiel: +For example: ```json { @@ -32,19 +34,19 @@ Zum Beispiel: } ``` -| Eigenschaft | Beschreibung | -| :------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| ext | Die Dateiendung (ohne den Punkt). e.g. png | -| name | Der Name. z.B. PNG Datei | -| iconName | Der Symbolname ohne Erweiterung. Icons sollten sich im Build-Ordner befinden. Richtige Icons werden aus der .png-Datei sowohl für macOS als auch für Windows generiert | -| description | Nur für Windows. Die Beschreibung. Es wird in der Spalte `Type` im Windows Explorer angezeigt. | -| role | Nur für macOS. Die Rolle der App in Bezug auf den Typ. Entspricht CFBundleTypeRoll. | +| 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. | -## Plattformspezifisches: +## Platform Specifics: ### macOS -Wenn du die Datei (oder Dateien) mit deiner App öffnest, startet das System deine App und ruft die "OnFileOpen"-Funktion in deiner Wails App auf. Beispiel: +When you open file (or files) with your app, the system will launch your app and call the `OnFileOpen` function in your Wails app. Example: ```go title="main.go" func main() { @@ -73,7 +75,9 @@ func main() { ### Windows -Unter Windows wird die Verknüpfung nur mit dem NSIS Installer unterstützt. Während der Installation wird der Installer einen Registrierungseintrag für deine Datei-Assoziation erstellen. Wenn eine Datei mit deiner App geöffnet wird, wird eine neue Instanz der App gestartet und der Dateipfad wird als Argument an deine App übergeben. Um dies zu verarbeiten, solltest du Kommandozeilenargumente in der App parsen. Beispiel: +On Windows file association is supported only with NSIS installer. During installation, the installer will create a +registry entry for your file associations. When you open file with your app, new instance of app is launched and file path is passed +as argument to your app. To handle this you should parse command line arguments in your app. Example: ```go title="main.go" func main() { @@ -85,7 +89,8 @@ func main() { } ``` -Du kannst auch Einzel-Instanzsperren für deine App aktivieren. In diesem Fall, wird, wenn die Datei mit deiner App geöffnet wird, keine neue Instanz der App gestartet und Argumente werden an die bereits laufende Instanz übergeben. Überprüfe die Einzel-Instanz sperren Anleitung für Details. Beispiel: +You also can enable single instance lock for your app. In this case, when you open file with your app, new instance of app is not launched +and arguments are passed to already running instance. Check single instance lock guide for details. Example: ```go title="main.go" func main() { @@ -111,11 +116,11 @@ func main() { ### Linux -Derzeit unterstützt Wails kein Bundling für Linux. Dateiassoziationen müssen dem nach manuell erstellt werden. -Zum Beispiel, wenn du deine App als .deb-Paket verteilst, können Datei-Assoziationen erstellt werden, indem du benötigte Dateien in deinem Bundle hinzufügst. -Du kannst [nfpm](https://nfpm.goreleaser.com/) verwenden, um .deb-Paket für deine App zu erstellen. +Currently, Wails doesn't support bundling for Linux. So, you need to create file associations manually. +For example if you distribute your app as a .deb package, you can create file associations by adding required files in you bundle. +You can use [nfpm](https://nfpm.goreleaser.com/) to create .deb package for your app. -1. Erstelle eine .desktop Datei für deine App und gib dort die Datei-Assoziationen an. Beispiel: +1. Create a .desktop file for your app and specify file associations there. Example: ```ini [Desktop Entry] @@ -128,7 +133,7 @@ Type=Application MimeType=application/x-wails;application/x-test ``` -2. Erstelle eine Datei für Mime-Typen. Beispiel: +2. Create mime types file. Example: ```xml @@ -140,19 +145,19 @@ MimeType=application/x-wails;application/x-test ``` -3. Erstelle Icons für deine Dateitypen. SVG-Icons werden empfohlen. -4. Bereite PostInstall/PostRemove Skripte für dein Paket vor. Beispiel: +3. Create icons for your file types. SVG icons are recommended. +4. Prepare postInstall/postRemove scripts for your package. Example: ```sh -# Mime-Typen neu laden, um Dateizuordnungen zu registrieren +# reload mime types to register file associations update-mime-database /usr/share/mime -# Desktop-Datenbank neu laden, um die App in der Liste der verfügbaren Apps anzuzeigen. +# reload desktop database to load app in list of available update-desktop-database /usr/share/applications -# Icons aktualisieren +# update icons update-icon-caches /usr/share/icons/* ``` -5. Konfiguriere nfpm, um deine Skripte und Dateien zu verwenden. Beispiel: +5. Configure nfpm to use your scripts and files. Example: ```yaml name: "wails-open-file" @@ -181,7 +186,7 @@ contents: dst: /usr/share/icons/hicolor/scalable/mimetypes/application-x-wails.svg - src: ../testFileIcon.svg dst: /usr/share/icons/hicolor/scalable/mimetypes/application-x-test.svg -# Kopiere Symbole auch in das Yaru-Theme. Aus irgendeinem Grund hat Ubuntu die Datei-Icons aus dem hicolor-Theme nicht übernommen. +# copy icons to Yaru theme as well. For some reason Ubuntu didn't pick up fileicons from hicolor theme - src: ../appicon.svg dst: /usr/share/icons/Yaru/scalable/apps/wails-open-file.svg - src: ../wailsFileIcon.svg @@ -193,14 +198,15 @@ scripts: postremove: ./postRemove.sh ``` -6. Erstelle dein .deb-Paket mit nfpm: +6. Build your .deb package using nfpm: ```sh nfpm pkg --packager deb --target . ``` -7. Nachdem dein Paket installiert ist, wird deine App den angegebenen Dateitypen zugeordnet. Wenn eine Datei mit deiner App geöffnet wird, wird eine neue Instanz der App gestartet und der Dateipfad wird als Argument an deine App übergeben. - Um dies zu verarbeiten, solltest du Kommandozeilenargumente in der App parsen. Beispiel: +7. Now when your package is installed, your app will be associated with specified file types. When you open file with your app, + new instance of app is launched and file path is passed as argument to your app. + To handle this you should parse command line arguments in your app. Example: ```go title="main.go" func main() { @@ -212,7 +218,8 @@ func main() { } ``` -Du kannst auch Einzel-Instanzsperren für deine App aktivieren. In diesem Fall, wird, wenn die Datei mit deiner App geöffnet wird, keine neue Instanz der App gestartet und Argumente werden an die bereits laufende Instanz übergeben. Überprüfe die Einzel-Instanz sperren Anleitung für Details. Beispiel: +You also can enable single instance lock for your app. In this case, when you open file with your app, new instance of app is not launched +and arguments are passed to already running instance. Check single instance lock guide for details. Example: ```go title="main.go" func main() { diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/frameless.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/frameless.mdx index 7fb74ce54..3845736f4 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/frameless.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/frameless.mdx @@ -1,8 +1,8 @@ -# Rahmenlose Anwendungen +# Frameless Applications -Wails unterstützt Anwendungen, die keine Rahmen haben. Dies kann über das Feld [frameless](../reference/options.mdx#frameless) in den [Anwendungsoptionen](../reference/options.mdx#application-options) erreicht werden. +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 bietet eine einfache Lösung zum Ziehen des Fensters: Jedes HTML-Element, das den CSS-Stil `--wails-draggable:drag` besitzt, fungiert als "Ziehpunkt". Diese Eigenschaft gilt für alle untergeordneten Elemente. Wenn du angeben musst, dass ein verschachteltes Element nicht ziehbar sein soll, dann verwende das Attribut '--wails-draggable:no-drag' auf diesem Element. +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 @@ -23,7 +23,7 @@ Wails bietet eine einfache Lösung zum Ziehen des Fensters: Jedes HTML-Element, ``` -Bei einigen Projekten ist die Verwendung einer CSS-Variable aufgrund des dynamischen Stylings möglicherweise nicht möglich. In diesem Fall kann die Anwendungsoptionen `CSSDragProperty` und `CSSDragValue` verwendet werden, um eine Eigenschaft und einen Wert zu definieren, der zur Angabe von ziehbaren Regionen verwendet wird: +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 @@ -80,8 +80,8 @@ func main() { ``` -:info Vollbildmodus +:::info Fullscreen -Wenn zugelassen wird, dass die Anwendung im Vollbildmodus geöffnet wird, wird diese Funktion deaktiviert. +If you allow your application to go fullscreen, this drag functionality will be disabled. ::: diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/frontend.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/frontend.mdx index cf9582614..f057056c1 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/frontend.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/frontend.mdx @@ -1,10 +1,10 @@ # Frontend -## Skript-Injektion +## Script Injection -Wenn Wails die `index.html` served, werden standardmäßig zwei Skript-Einträge in die `` tags eingefügt, um `/wails/ipc.js` und `/wails/runtime.js` zu laden. Diese Dateien installieren die Verknüpfungen bzw. die Laufzeit. +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. -Der folgende Code zeigt an, wo diese standardmäßig injiziert werden: +The code below shows where these are injected by default: ```html @@ -28,25 +28,25 @@ Der folgende Code zeigt an, wo diese standardmäßig injiziert werden: ``` -### Standardskript-Injektion überschreiben +### Overriding Default Script Injection -Um den Entwicklern mehr Flexibilität zu bieten, gibt es einen Meta-Tag, der verwendet werden kann, um dieses Verhalten anzupassen: +To provide more flexibility to developers, there is a meta tag that may be used to customise this behaviour: ```html ``` -Die Optionen sind folgende: +The options are as follows: -| Wert | Beschreibung | -| ------------------- | ------------------------------------------------------------------ | -| noautoinjectruntime | Deaktiviert die automatische Injektion von der `/wails/runtime.js` | -| noautoinjectipc | Deaktiviert die automatische Injektion von der `/wails/ipc.js` | -| noautoinject | Deaktiviert die automatische Injektion von allen Skripts | +| Value | Description | +| ------------------- | ------------------------------------------------ | +| noautoinjectruntime | Disable the autoinjection of `/wails/runtime.js` | +| noautoinjectipc | Disable the autoinjection of `/wails/ipc.js` | +| noautoinject | Disable all autoinjection of scripts | -Mehrere Optionen können verwendet werden, sofern sie durch Kommata getrennt werden. +Multiple options may be used provided they are comma separated. -Dieser Code ist vollkommen gültig und funktioniert genauso wie die autoinjection Version: +This code is perfectly valid and operates the same as the autoinjection version: ```html diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/ides.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/ides.mdx index 11c74885d..e59e144ee 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/ides.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/ides.mdx @@ -1,8 +1,8 @@ # IDEs -Wails versucht eine gute Entwicklungserfahrung zu bieten. Zu diesem Zweck unterstützen wir die Erstellung einer IDE-spezifischen Konfiguration, um eine reibungslose Projekteinstellung zu ermöglichen. +Wails aims to provide a great development experience. To that aim, we now support generating IDE specific configuration to provide smoother project setup. -Derzeit unterstützen wir [Visual Studio Code](https://code.visualstudio.com/) und [Goland](https://www.jetbrains.com/go/). +Currently, we support [Visual Studio Code](https://code.visualstudio.com/) and [Goland](https://www.jetbrains.com/go/). ## Visual Studio Code @@ -15,9 +15,9 @@ Derzeit unterstützen wir [Visual Studio Code](https://code.visualstudio.com/) u

``` -Beim Generieren eines Projekts mit der `-Ide vscode` Flag werden IDE Dateien zusammen mit den anderen Projektdateien erstellt. Diese Dateien werden im Verzeichnis `.vscode` gespeichert und geben die richtige Konfiguration für das Debuggen der Anwendung an. +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. -Die 2 erzeugten Dateien sind `tasks.json` und `launch.json`. Unten sind die Dateien, die für das Standardprojekt generiert wurden: +The 2 files generated are `tasks.json` and `launch.json`. Below are the files generated for the default vanilla project: ```json title="tasks.json" { @@ -62,9 +62,9 @@ Die 2 erzeugten Dateien sind `tasks.json` und `launch.json`. Unten sind die Date } ``` -### Installations- und Buildschritte konfigurieren +### Configuring the install and build steps -Die `tasks.json` Datei ist für das Standardprojekt, da kein `npm install` oder `npm build` Schritt benötigt wird. Für Projekte, die einen Frontend-Build-Schritt benötigen, wie zum Beispiel, das Svelte-Template, müssen wir `tasks.json` editieren und folgende Installations- und Build-Schritte hinzufügen: +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" { @@ -120,8 +120,8 @@ Die `tasks.json` Datei ist für das Standardprojekt, da kein `npm install` oder } ``` -:::info Zukünftige Verbesserung +:::info Future Enhancement -In Zukunft hoffen wir, eine `tasks.json` zu generieren, die die Installations- und Bauschritte automatisch beinhaltet. +In the future, we hope to generate a `tasks.json` that includes the install and build steps automatically. ::: diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/linux-distro-support.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/linux-distro-support.mdx index 336cfa84c..8b25c1575 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/linux-distro-support.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/linux-distro-support.mdx @@ -1,8 +1,8 @@ -# Linux Distro Unterstützung +# Linux Distro Support -## Übersicht +## Overview -Wails bietet Linux-Unterstützung an, aber die Installationsanleitung für alle verfügbaren Distributionen ist eine unmögliche Aufgabe. Stattdessen versucht Wails herauszufinden, ob die Pakete, die zur Entwicklung von Anwendungen benötigt werden, über den System Paketmanager verfügbar sind. Zur Zeit unterstützen wir die folgenden Paketmanager: +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 @@ -12,11 +12,11 @@ Wails bietet Linux-Unterstützung an, aber die Installationsanleitung für alle - pacman - zypper -## Paketnamen hinzufügen +## Adding package names -Es kann Situationen geben, in denen die Distribution einen der unterstützten Paketmanager verwendet, jedoch der Paketname ein anderer ist. Zum Beispiel kannst du eine Ubuntu-Ableitung verwenden, aber der Paketname für gtk kann anders sein. Wails versucht das richtige Paket zu finden, indem es durch eine Liste von Paketnamen iteriert. Die Liste der Pakete wird im Verzeichnis `v2/internal/system/packagemanager` gespeichert. In unserem Beispiel wäre dies `v2/internal/system/packagemanager/apt.go`. +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 dieser Datei wird die Liste der Pakete durch die `Packages()` Methode definiert: +In this file, the list of packages are defined by the `Packages()` method: ```go func (a *Apt) Packages() packagemap { @@ -43,7 +43,7 @@ func (a *Apt) Packages() packagemap { } ``` -Nehmen wir an, dass `libgtk-3` in unserer Linux-Distribution unter dem Namen `lib-gtk3-dev` paketiert ist. Wir könnten die Unterstützung dafür hinzufügen, indem wir die folgende Zeile hinzufügen: +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 { @@ -71,12 +71,12 @@ func (a *Apt) Packages() packagemap { } ``` -## Neue Paketmanager hinzufügen +## Adding new package managers -Um einen neuen Paketmanager hinzuzufügen, führe folgende Schritte durch: +To add a new package manager, perform the following steps: -- Erstelle eine neue Datei in `v2/internal/system/packagemanager` mit dem Namen `.go`, wobei `` der Name des Paketmanagers ist. -- Definiere ein Struct, das mit der Paketmanager-Schnittstelle übereinstimmt, die in `pm.go` definiert ist: +- 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 { @@ -88,16 +88,16 @@ type PackageManager interface { } ``` -- `Name()` sollte den Namen des Paket-Managers zurückgeben -- `Packages()` sollte eine `packagemap`zurückgeben, die Kandidaten-Dateinamen für Abhängigkeiten zur Verfügung stellt -- `PackageInstalled()` sollte `true` zurückgeben, wenn das angegebene Paket installiert ist -- `PackageAvailable()` sollte `true` zurückgeben, wenn das angegebene Paket nicht installiert ist, aber für die Installation verfügbar ist -- `InstallCommand()` sollte den exakten Befehl zurückgeben, um den angegebenen Paketnamen zu installieren +- `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 -Werfe einen Blick auf den Code der anderen Paketmanager, um eine Vorstellung davon zu bekommen, wie es funktioniert. +Take a look at the other package managers code to get an idea how this works. -:::info Merke dir +:::info Remember -Wenn du die Unterstützung für einen neuen Paketmanager hinzufügst, vergiss nicht, auch diese Seite zu aktualisieren! +If you add support for a new package manager, don't forget to also update this page! ::: diff --git a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/linux.mdx b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/linux.mdx index 5b4ab362b..f833ceffa 100644 --- a/website/i18n/de/docusaurus-plugin-content-docs/current/guides/linux.mdx +++ b/website/i18n/de/docusaurus-plugin-content-docs/current/guides/linux.mdx @@ -1,10 +1,10 @@ # Linux -Diese Seite enthält verschiedene Anleitungen zur Entwicklung von Wails Anwendungen für Linux. +This page has miscellaneous guides related to developing Wails applications for Linux. -## Der Video-Tag löst nicht das "ended" Event aus +## Video tag doesn't fire "ended" event -Wenn ein Video-Tag verwendet wird, wird das "ended" Event nicht ausgelöst, wenn das Video beendet ist. Dies ist ein Fehler in WebkitGTK, aber du kannst den folgenden Workaround verwenden, um diesen zu beheben: +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) => { @@ -15,19 +15,19 @@ videoTag.addEventListener("timeupdate", (event) => { }); ``` -Quelle: [Lyimmi](https://github.com/Lyimmi) auf dem [Diskussion Board](https://github.com/wailsapp/wails/issues/1729#issuecomment-1212291275) +Source: [Lyimmi](https://github.com/Lyimmi) on the [discussions board](https://github.com/wailsapp/wails/issues/1729#issuecomment-1212291275) -## GStreamer-Fehler bei Verwendung von Audio- oder Videoelementen +## GStreamer error when using Audio or Video elements -Wenn der folgende Fehler beim Einfügen von `