Custom window title #8

Merged
ardocrat merged 29 commits from custom_window_title into master 2024-07-03 13:44:26 +03:00
4 changed files with 458 additions and 0 deletions
Showing only changes of commit f6eda4d2ad - Show all commits

290
locales/de.yml Normal file
View file

@ -0,0 +1,290 @@
lang_name: Deutsch
copy: Kopieren
paste: Einfügen
continue: Weiter
complete: Fertig
error: Error
retry: Erneut versuchen
close: Schließen
change: Ändern
show: Zeigen
delete: Löschen
clear: Clear
create: Erstellen
id: ID
kernel: Kernel
settings: Einstellungen
language: Sprache
scan: Scannen
qr_code: QR-Code
scan_qr: QR-Code scannen
repeat: wiederholen
scan_result: Scan Ergebnis
back: zurück
share: teilen
theme: 'Theme:'
dark: dunkel
light: hell
choose_file: Datei auswählen
wallets:
await_conf_amount: Erwarte Bestätigung
await_fin_amount: Warten auf die Fertigstellung
locked_amount: Gesperrt
txs_empty: 'Um Geld manuell oder per Transport zu empfangen oder zu senden, verwenden Sie die Schaltflächen %{message} oder %{transport} unten auf dem Bildschirm. Um die Wallet-Einstellungen zu ändern, drücken Sie %{settings}.'
title: Wallets
create_desc: Erstellen oder importieren Sie ein bestehendes Wallet mit dem Seed-Phrase.
add: Wallet hinzufügen
name: 'Name:'
pass: 'Passwort:'
pass_empty: Wallet Passwort eingeben
current_pass: 'Aktuelles Passwort:'
new_pass: 'Neues Passwort:'
min_tx_conf_count: 'Mindestanzahl an Bestätigungen für Transaktionen:'
recover: Wiederherstellen
recovery_phrase: Wiederherstellungssatz
words_count: 'Wortanzahl:'
enter_word: 'Wort #%{number} eingeben:'
not_valid_word: Das eingegebene Wort ist ungültig
not_valid_phrase: Der eingegebene Satz ist ungültig
create_phrase_desc: Schreiben Sie Ihre Wiederherstellungsphrase sicher auf und speichern Sie sie.
restore_phrase_desc: Geben Sie Wörter aus Ihrer gespeicherten Wiederherstellungsphrase ein.
setup_conn_desc: Wählen Sie aus, wie Ihr Wallet eine Verbindung zum Netzwerk herstellt.
conn_method: Verbindungsmethode
ext_conn: 'Externe Verbindungen:'
add_node: Node hinzufügen
node_url: 'Node URL:'
node_secret: 'API Secret (optional):'
invalid_url: Die eingegebene URL ist ungültig
open: Wallet öffnen
wrong_pass: Das eingegebene Passwort ist falsch
locked: Gesperrt
unlocked: Entsperrt
enable_node: 'Aktivieren Sie die integrierte Node, um das Wallet zu verwenden, oder ändern Sie die Verbindungseinstellungen, indem Sie unten auf dem Bildschirm %{settings} auswählen.'
node_loading: 'Das Wallet wird nach der synchronisation der integrierten Node geladen. Sie können die Verbindungseinstellungen ändern, indem Sie unten auf dem Bildschirm %{settings} auswählen.'
loading: Wird geladen
closing: Schließen
checking: Überprüfung
default_wallet: Standard-Wallet
new_account_desc: 'Namen des neuen Accounts eingeben:'
wallet_loading: Wallet wird geladen
wallet_closing: Wallet schließen
wallet_checking: Wallet prüfen
tx_loading: Laden von Transaktionen
default_account: Standardaccount
accounts: Accounts
tx_sent: Gesendet
tx_received: Erhalten
tx_sending: Senden
tx_receiving: Erhalten
tx_confirming: Erwarte Bestätigung
tx_canceled: Abgebrochen
tx_cancelling: Abbrechen
tx_finalizing: Finalisierung
tx_confirmed: Bestätigt
txs: Transaktionen
tx: Transaktion
messages: Nachrichten
transport: Transport
input_slatepack_desc: 'Geben Sie eine Nachricht ein, um eine Antwort zu erstellen oder die Transaktion abzuschließen:'
parse_slatepack_err: 'Bei der Verarbeitung der Nachricht ist ein Fehler aufgetreten. Überprüfen Sie die Eingabedaten:'
pay_balance_error: 'Der Kontostand reicht nicht aus, um %{amount} ツ und die Netzwerkgebühr zu bezahlen.'
parse_i1_slatepack_desc: 'Um %{amount} zu zahlen, senden Sie diese Nachricht an den Empfänger:'
parse_i2_slatepack_desc: 'Schließen Sie die Transaktion ab, um %{amount} ツ zu erhalten:'
parse_i3_slatepack_desc: 'Transaktion posten, um den Erhalt von %{amount} abzuschließen ツ:'
parse_s1_slatepack_desc: 'Um %{amount} zu erhalten, senden Sie diese Nachricht an den Absender:'
parse_s2_slatepack_desc: 'Schließen Sie die Transaktion ab, um %{amount} ツ zu senden:'
parse_s3_slatepack_desc: 'Transaktion posten, um das Senden von %{amount} abzuschließen ツ:'
resp_slatepack_err: 'Beim Erstellen der Antwort ist ein Fehler aufgetreten. Überprüfen Sie die Eingabedaten:'
resp_exists_err: 'Eine solche Transaktion existiert bereits.'
resp_canceled_err: 'Eine solche Transaktion wurde schon abgebrochen.
create_request_desc: 'Erstellen Sie eine Anfrage zum Senden oder Empfangen der Gelder:'
send_request_desc: 'Sie haben eine Anfrage zum Senden von %{amount} ツ erstellt. Senden Sie diese Nachricht an den Empfänger:'
send_slatepack_err: Beim Erstellen der Anfrage zum Senden von Geldern ist ein Fehler aufgetreten. Überprüfen Sie die Eingabedaten.
invoice_desc: 'Sie haben eine Anfrage zum Erhalt von %{amount} ツ erstellt. Senden Sie diese Nachricht an den Absender der Gelder:'
invoice_slatepack_err: Bei der Rechnungsstellung ist ein Fehler aufgetreten, überprüfen Sie die Eingabedaten.
finalize_slatepack_err: 'Bei der Finalisierung ist ein Fehler aufgetreten. Überprüfen Sie die Eingabedaten:'
finalize: Abschließen
use_dandelion: Dandelion verwenden
enter_amount_send: 'Sie haben %{amount} ツ. Geben Sie den zu sendenden Betrag ein:'
enter_amount_receive: 'Geben Sie den zu erhaltenden Betrag ein:'
recovery: Wiederherstellung
repair_wallet: Wallet reparieren
repair_desc: Überprüfen Sie ein Wallet und reparieren und stellen Sie bei Bedarf fehlende Ausgaben wieder her. Dieser Vorgang wird einige Zeit dauern.
repair_unavailable: Sie benötigen eine aktive Verbindung zum Knoten und eine abgeschlossene Wallet-Synchronisierung.
delete: Wallet löschen
delete_conf: Sind Sie sicher, dass Sie das Wallet löschen möchten?
delete_desc: Stellen Sie sicher, dass Sie Ihre Wiederherstellungsphrase gespeichert haben, um auf Gelder zugreifen zu können.
wallet_loading_err: 'Bei der Synchronisierung des Wallets ist ein Fehler aufgetreten. Sie können es erneut versuchen oder die Verbindungseinstellungen ändern, indem Sie unten auf dem Bildschirm %{settings} auswählen.'
wallet: Wallet
send: Senden
receive: Empfangen
settings: Wallet Einstellungen
tx_send_cancel_conf: 'Sind Sie sicher, dass Sie das Senden von %{amount} ツ abbrechen wollen?'
tx_receive_cancel_conf: 'Sind Sie sicher, dass Sie das Empfangen von %{amount} ツ abbrechen wollen?'
rec_phrase_not_found: Wiederhestellungsphrase nicht gefunden.
restore_wallet_desc: Stellen Sie das Wallet wieder her, indem Sie alle Dateien löschen. Wenn die normale Reparatur nicht geholfen hat, müssen Sie Ihr Wallet erneut öffnen.
transport:
desc: 'Transport verwenden, um Nachrichten synchron zu empfangen oder zu senden:'
tor_network: Tor Netzwek
connected: verbunden
connecting: verbinden
disconnecting: Verbindung trennen
conn_error: Verbindungsproblem
disconnected: Verbindung getrennt
receiver_address: 'Empfängeraddresse:'
incorrect_addr_err: 'Eingegebene Addresse ist inkorrekt:'
tor_send_error: Beim Senden über Tor ist ein Fehler aufgetreten. Stellen Sie sicher, dass der Empfänger online ist. Die Transaktion wurde abgebrochen.
tor_autorun_desc: Gibt an, ob beim Öffnen des Wallets der Tor-Dienst gestartet werden soll, um Transaktionen synchron zu empfangen.
tor_sending: 'Sende %{amount} ツ über Tor'
tor_settings: Tor Einstellungen
bridges: Brücken
bridges_desc: Richten Sie Brücken ein, um die Zensur des Tor-Netzwerks zu umgehen, wenn die normale Verbindung nicht funktioniert.
bin_file: 'Binärdatei:'
conn_line: 'Verbindungsleitung:'
bridges_disabled: Brücken deaktiviert
bridge_name: 'Brücke %{b}
network:
self: Netzwerk
type: 'Netzwerk Typ:'
mainnet: Haupt
testnet: Test
connections: Verbindungen
node: Integrierte Node
metrics: Metriken
mining: Mining
settings: Node Einstellungen
enable_node: Node aktivieren
autorun: Autorun
disabled_server: 'Aktivieren Sie die integrierte Node oder fügen Sie eine weitere Verbindungsmethode hinzu, indem Sie oben links auf dem Bildschirm auf %{dots} drücken.'
no_ips: Auf Ihrem System sind keine IP-Adressen verfügbar. Der Server kann nicht gestartet werden. Überprüfen Sie Ihre Netzwerkkonnektivität.
available: Verfügbar
not_available: Nicht verfügbar
availability_check: Verfügbarkeitsprüfung
android_warning: Achtung an Android-Benutzer. Um integrierte Nodes erfolgreich zu synchronisieren, müssen Sie in den Systemeinstellungen Ihres Telefons den Zugriff auf Benachrichtigungen zulassen und die Beschränkungen für die Akkunutzung für die Grim-Anwendung entfernen. Dies ist ein notwendiger Vorgang, damit die Anwendung im Hintergrund korrekt funktioniert.
sync_status:
node_restarting: Node wird neu gestartet
node_down: Node ist ausgefallen
initial: Node startet
no_sync: Node läuft
awaiting_peers: Warten auf Peers
header_sync: Header werden heruntergeladen
header_sync_percent: 'Header werden heruntergeladen: %{percent}%'
tx_hashset_pibd: Downloadstatus (PIBD)
tx_hashset_pibd_percent: 'Downloadstatus (PIBD): %{percent}%'
tx_hashset_download: Downloadstatus
tx_hashset_download_percent: 'Downloadstatus: %{percent}%'
tx_hashset_setup_history: 'Vorbereitungsstatus (Verlauf): %{percent}%'
tx_hashset_setup_position: 'Vorbereitungsstatus (Position): %{percent}%'
tx_hashset_setup: Vorbereitungszustand
tx_hashset_range_proofs_validation: 'Validierungsstatus (range proofs): %{percent}%'
tx_hashset_kernels_validation: 'Validierungsstatus (Kernel): %{percent}%'
tx_hashset_save: Finalisierender Chainstatus
body_sync: Blöcke herunterladen
body_sync_percent: 'Blöcke herunterladen: %{percent}%'
shutdown: Node wird heruntergefahren
network_node:
header: Header
block: Block
hash: Hash
height: Höhe
difficulty: Schwierigkeit
time: Zeit
main_pool: Hauptpool
stem_pool: Stem-Pool
data: Daten
size: Größe (GB)
peers: Peers
error_clean:
resync: Neu synchronisieren
error_p2p_api: 'Während der Initialisierung des %{p2p_api}-Servers ist ein Fehler aufgetreten. Überprüfen Sie die %{p2p_api}-Einstellungen, indem Sie unten auf dem Bildschirm %{settings} auswählen.'
error_config: 'Während der Initialisierung der Konfiguration ist ein Fehler aufgetreten. Überprüfen Sie die Einstellungen, indem Sie unten auf dem Bildschirm %{settings} auswählen.'
error_unknown: 'Während der Initialisierung ist ein Fehler aufgetreten. Überprüfen Sie die integrierten Knoteneinstellungen, indem Sie unten auf dem Bildschirm %{settings} auswählen oder erneut synchronisieren.'
network_metrics:
loading: Metriken werden nach der Synchronisierung verfügbar sein
emission: Emission
inflation: Inflation
supply: Supply
block_time: Blockzeit
reward: Belohnung
difficulty_window: 'Schwierigkeitsfenster %{size}'
network_mining:
loading: Mining wird nach der Synchronisierung verfügbar sein
info: 'Mining-Server aktiviert ist, können Sie seine Einstellungen ändern, indem Sie unten auf dem Bildschirm %{settings} wählen. Die Daten werden aktualisiert, wenn Geräte angeschlossen sind.'
restart_server_required: Ein Neustart des Servers ist erforderlich, um die Änderungen zu übernehmen.
rewards_wallet: Brieftasche für Belohnungen
server: Stratum Server
address: Addresse
miners: Miner
devices: Geräte
blocks_found: Gefundene Blöcke
hashrate: 'Hashrate (C%{bits})'
connected: Verbunden
disconnected: Getrennt
network_settings:
change_value: Wert ändern
stratum_ip: 'Stratum IP Addresse:'
stratum_port: 'Stratum Port:'
port_unavailable: Der angegebene Port ist nicht verfügbar
restart_node_required: Ein Neustart der Node ist erforderlich, um die Änderungen zu übernehmen.
enable: Aktivieren
disable: Deaktivieren
restart: Neustarten
server: Server
api_ip: 'API IP Addresse:'
api_port: 'API Port:'
api_secret: 'Rest API and V2 Owner API token:'
foreign_api_secret: 'Fremdes API token:'
disabled: Deaktiviert
enabled: Aktiviert
ftl: 'Das Future Time Limit (FTL):'
ftl_description: Begrenzung, wie weit in der Zukunft, relativ zur lokalen Zeit eines Knotens in Sekunden, der Zeitstempel eines neuen Blocks liegen darf, damit der Block akzeptiert wird.
not_valid_value: Eingegebener Wert ist nicht gültig
full_validation: Vollständige Validierung
full_validation_description: Ob bei der Verarbeitung jedes Blocks eine vollständige Kettenvalidierung durchgeführt werden soll (außer bei der Synchronisierung).
archive_mode: Archiv Modus
archive_mode_desc: Führen Sie den Knoten im vollständigen Archivmodus aus (für die Synchronisierung wird mehr Speicherplatz und Zeit benötigt).
attempt_time: 'Zeit des Miningsversuches (in Sekunden):'
attempt_time_desc: Die Zeitspanne, in der versucht wird, eine bestimmte Kopfzeile abzubauen, bevor der Abbau gestoppt und die Transaktionen erneut aus dem Pool gesammelt werden
min_share_diff: 'Der Mindestschwierigkeitsgrad des Shares:'
reset_settings_desc: Nodeeinstellungen auf Standardwerte zurücksetzen
reset_settings: Einstellungen zurücksetzen
reset: zurücksetzen
tx_pool: Transaktionspool
pool_fee: 'Grundgebühr, die in den Pool aufgenommen wird:'
reorg_period: 'Aufbewahrungsdauer des Reorg-Caches (in Minuten):'
max_tx_pool: 'Maximale Anzahl von Transaktionen im Pool:'
max_tx_stempool: 'Maximale Anzahl von Transaktionen im Stamm-Pool:'
max_tx_weight: 'Maximales Gesamtgewicht der Transaktionen, die zur Bildung eines Blocks ausgewählt werden können:'
epoch_duration: 'Epochendauer (in Sekunden):'
embargo_timer: 'Embargo-Timer (in Sekunden):'
aggregation_period: 'Aggregationszeitraum (in Sekunden):'
stem_probability: 'Wahrscheinlichkeit der Stem-Phase:'
stem_txs: Stem Transaktionen
p2p_server: P2P Server
p2p_port: 'P2P port:'
add_seed: DNS-Seed hinzufügen
seed_address: 'DNS Seed Addresse:'
add_peer: Peer hinzufügen
peer_address: 'Peer Addresse:'
peer_address_error: 'Geben Sie die IP-Adresse oder den DNS-Namen (stellen Sie sicher, dass der angegebene Host verfügbar ist) im richtigen Format ein, z. B: 192.168.0.1:1234 oder example.com:5678'
default: Standardeinstellung
allow_list: Erlaubt-Liste
allow_list_desc: Nur mit diesen Peers verbinden
deny_list: Ablehnungsliste
deny_list_desc: Niemals mit diesen Peers verbinden
favourites: Favoriten
favourites_desc: Eine Liste der bevorzugten Peers, mit denen eine Verbindung hergestellt werden soll.
ban_window: 'Wie viel Zeit (in Sekunden) ein gesperrter Peer gesperrt bleiben soll:'
ban_window_desc: Die Entscheidung über das Verbot trifft der Knoten auf der Grundlage der Korrektheit der von der Gegenstelle erhaltenen Daten.
max_inbound_count: 'Maximale Anzahl der eingehenden Peer-Verbindungen:'
max_outbound_count: 'Maximale Anzahl von ausgehenden Peer-Verbindungen:'
reset_peers_desc: Peer-Daten zurücksetzen. Verwenden Sie diese Funktion nur, wenn es Probleme beim finden von Peers gibt.
reset_peers: Peers zurücksetzten
modal:
cancel: Abbrechen
save: Speichern
confirmation: Bestätigung
add: Hinzufügen
modal_exit:
description: Sind Sie sicher, dass Sie die Anwendung beenden wollen?
exit: Schließen

70
wix/License.rtf Normal file
View file

@ -0,0 +1,70 @@
{\rtf1\ansi\ansicpg1252\deff0\nouicompat{\fonttbl{\f0\fnil\fcharset0 Arial;}{\f1\fnil\fcharset0 Courier New;}}
{\colortbl ;\red0\green0\blue255;}
{\*\generator Riched20 10.0.15063}\viewkind4\uc1
\pard\sa180\qc\fs24\lang9 Apache License\line Version 2.0, January 2004\line {{\field{\*\fldinst{HYPERLINK http://www.apache.org/licenses/ }}{\fldrslt{http://www.apache.org/licenses/\ul0\cf0}}}}\f0\fs24\par
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\par
\pard\fi-360\li360\sa180\tx360 1. Definitions.\par
\pard\sa180 "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.\par
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.\par
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.\par
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.\par
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.\par
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.\par
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).\par
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.\par
"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."\par
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.\par
\pard\fi-360\li360\sa180\tx360 2. Grant of Copyright License.\par
\pard\sa180\tx360 Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.\par
\pard\fi-360\li360\sa180\tx360 3. Grant of Patent License.\par
\pard\sa180\tx360 Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.\par
\pard\fi-360\li360\sa180\tx360 4. Redistribution. \par
\pard\sa180\tx360 You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:\par
\pard
{\pntext\f0 a.\tab}{\*\pn\pnlvlbody\pnf0\pnindent0\pnstart1\pnlcltr{\pntxta.}}
\fi-360\li720\sa180\tx360 You must give any other recipients of the Work or Derivative Works a copy of this License; and\par
{\pntext\f0 b.\tab}You must cause any modified files to carry prominent notices stating that You changed the files; and\par
{\pntext\f0 c.\tab}You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and \par
{\pntext\f0 d.\tab}If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.\par
\pard\sa180 You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.\par
\pard\fi-360\li360\sa180\tx360 5.\tab Submission of Contributions. \par
\pard\sa180\tx360 Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.\par
\pard\fi-360\li360\sa180\tx360 6.\tab Trademarks. \par
\pard\sa180\tx360 This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.\par
\pard\fi-360\li360\sa180\tx360 7.\tab Disclaimer of Warranty. \par
\pard\sa180\tx360 Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.\par
\pard\fi-360\li360\sa180\tx360 8.\tab Limitation of Liability.\par
\pard\sa180\tx360 In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.\par
\pard\fi-360\li360\sa180\tx360 9.\tab Accepting Warranty or Additional Liability. \par
\pard\sa180\tx360 While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.\par
\pard\sa180\qc END OF TERMS AND CONDITIONS\par
How to apply the Apache License to your work.\par
\pard\sa180 To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.\par
\f1 Copyright (C) [YYYY] [Copyright Holder]\par
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at\par
{{\field{\*\fldinst{HYPERLINK http://www.apache.org/licenses/LICENSE-2.0 }}{\fldrslt{http://www.apache.org/licenses/LICENSE-2.0\ul0\cf0}}}}\f1\fs24\par
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\par
}

BIN
wix/Product.ico Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

98
wix/main.wxs Normal file
View file

@ -0,0 +1,98 @@
<?xml version="1.0" encoding="UTF-8"?>
<?if $(sys.BUILDARCH) = x64 or $(sys.BUILDARCH) = arm64 ?>
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
<?else ?>
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
<?endif ?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" UpgradeCode="C19F9B41-CD13-4F0E-B27D-E0EF8CF1CE91" Version="0.1.0" Language="1033" Name="Grim" Manufacturer="Ardocrat">
<Package InstallerVersion="300" Compressed="yes"/>
<Media Id="1" Cabinet="grim.cab" EmbedCab="yes" />
<Icon Id='ProductICO' SourceFile='wix\Product.ico'/>
<Property Id='ARPPRODUCTICON' Value='ProductICO' />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id='$(var.PlatformProgramFilesFolder)'>
<Directory Id="APPLICATIONROOTDIRECTORY" Name="Grim"/>
</Directory>
<Directory Id="DesktopFolder" Name="Desktop">
<Component Id="ApplicationShortcutDesktop" Guid="14efa019-7ed7-4765-8263-fa5460f92495">
<Shortcut Id="ApplicationDesktopShortcut"
Name="Grim"
Icon="ProductICO"
Description="GUI for Grin"
Target="[APPLICATIONROOTDIRECTORY]grim.exe"
WorkingDirectory="APPLICATIONROOTDIRECTORY"/>
<RemoveFolder Id="DesktopFolder" On="uninstall"/>
<RegistryValue
Root="HKCU"
Key="Software\Ardocrat\Grim"
Name="installed"
Type="integer"
Value="1"
KeyPath="yes"/>
</Component>
</Directory>
<!-- Step 1: Define the directory structure -->
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="Grim"/>
</Directory>
</Directory>
<DirectoryRef Id="APPLICATIONROOTDIRECTORY">
<Component Id="License" Guid="4b1d11d3-5d76-430e-b5ef-87f1a62cf21b">
<File Id="LicenseFile" DiskId="1" Source="wix\License.rtf" KeyPath="yes"/>
</Component>
<Component Id="grim.exe" Guid="95444223-45BF-427A-85CA-61B035044305">
<File Id="grim.exe" Source="$(var.CargoTargetBinDir)\grim.exe" KeyPath="yes" Checksum="yes"/>
</Component>
</DirectoryRef>
<!-- Step 2: Add the shortcut to your installer package -->
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="ApplicationShortcut" Guid="07f7fc68-bc3e-4715-9c10-0231a92b5ccb">
<Shortcut Id="ApplicationStartMenuShortcut"
Name="Grim"
Description="Cross-platform GUI for Grin with focus on usability and availability to be used by anyone, anywhere."
Icon="ProductICO"
Target="[#grim.exe]"
WorkingDirectory="APPLICATIONROOTDIRECTORY"/>
<RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\Ardocrat\Grim" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
<Feature Id="MainApplication" Title="Grim" Level="1">
<ComponentRef Id="grim.exe" />
<ComponentRef Id="License" />
<!-- Step 3: Tell WiX to install the shortcut -->
<ComponentRef Id="ApplicationShortcutDesktop" />
<ComponentRef Id="ApplicationShortcut" />
</Feature>
<Property Id='ARPHELPLINK' Value='https://github.com/ardocrat/grim'/>
<UI>
<UIRef Id="WixUI_Minimal" />
<Publish Dialog="ExitDialog"
Control="Finish"
Event="DoAction"
Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
</UI>
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch Application" />
<Property Id="WixShellExecTarget" Value="[#grim.exe]" />
<CustomAction Id="LaunchApplication"
BinaryKey="WixCA"
DllEntry="WixShellExec"
Impersonate="yes" />
<WixVariable Id='WixUILicenseRtf' Value='wix\License.rtf'/>
</Product>
</Wix>