Rework [stage]

This commit is contained in:
crschnick committed 2026-08-26 19:02:22 +00:00
1 parent 014444fe47
commit 81f4e0359c
33 files changed
+118 -521

No files matched your search

@@ -298,7 +298,7 @@ public class AppLayoutModel {
if (AppLogs.get().isWriteToFile()) {
event.attachment(AppLogs.get().getSessionLogsDirectory());
}
UserReportComp.show(event.build());
UserReportComp.show(event.build(), true);
},
null));
@@ -63,7 +63,7 @@ public class ErrorHandlerDialog {
.addButton(new ModalButton(
"report",
() -> {
if (UserReportComp.show(event)) {
if (UserReportComp.show(event, false)) {
reported.set(true);
}
},
@@ -1,11 +1,13 @@
package io.xpipe.app.issue;
import atlantafx.base.theme.Styles;
import io.xpipe.app.comp.BaseRegionBuilder;
import io.xpipe.app.comp.RegionBuilder;
import io.xpipe.app.comp.base.*;
import io.xpipe.app.core.*;
import io.xpipe.app.prefs.AppPrefs;
import io.xpipe.app.util.Hyperlinks;
import javafx.beans.property.*;
import javafx.collections.FXCollections;
import javafx.geometry.Orientation;
@@ -25,15 +27,17 @@ public class UserReportComp extends ModalOverlayContentComp {
private final StringProperty text = new SimpleStringProperty();
private final ListProperty<Path> includedDiagnostics;
private final ErrorEvent event;
private final boolean troubleshoot;
public UserReportComp(ErrorEvent event) {
public UserReportComp(ErrorEvent event, boolean troubleshoot) {
this.event = event;
this.troubleshoot = troubleshoot;
this.includedDiagnostics = new SimpleListProperty<>(FXCollections.observableArrayList());
}
public static boolean show(ErrorEvent event) {
var comp = new UserReportComp(event);
var modal = ModalOverlay.of("errorHandler", comp);
public static boolean show(ErrorEvent event, boolean troubleshoot) {
var comp = new UserReportComp(event, troubleshoot);
var modal = ModalOverlay.of(troubleshoot ? "reportError" : "errorHandler", comp);
var sent = new SimpleBooleanProperty();
modal.addButtonBarComp(privacyPolicy());
modal.addButtonBarComp(RegionBuilder.hspacer());
@@ -53,20 +57,9 @@ public class UserReportComp extends ModalOverlayContentComp {
return RegionBuilder.of(() -> {
var dataPolicyButton = new Hyperlink(AppI18n.get("dataHandlingPolicies"));
AppFontSizes.xs(dataPolicyButton);
dataPolicyButton.setOnAction(event1 -> {
AppResources.with(AppResources.MAIN_MODULE, "misc/report_privacy_policy.md", file -> {
var markDown = new MarkdownComp(Files.readString(file), s -> s, true)
.apply(struc -> struc.setMaxWidth(500))
.apply(struc -> struc.setMaxHeight(400));
var popover = new Popover(markDown.build());
popover.setAutoHide(!AppPrefs.get().limitedTouchscreenMode().get());
popover.setCloseButtonEnabled(true);
popover.setHeaderAlwaysVisible(false);
popover.setDetachable(true);
AppFontSizes.xs(popover.getContentNode());
popover.show(dataPolicyButton);
});
event1.consume();
dataPolicyButton.setOnAction(e -> {
Hyperlinks.open(Hyperlinks.REPORTER_PRIVACY_POLICY);
e.consume();
});
var buttons = new HBox(dataPolicyButton);
@@ -80,11 +73,15 @@ public class UserReportComp extends ModalOverlayContentComp {
protected Region createSimple() {
var emailHeader = new Label(AppI18n.get("provideEmail"));
emailHeader.setWrapText(true);
var emailFooter = new Label(AppI18n.get("emailAnonymous"));
emailFooter.getStyleClass().add(Styles.TEXT_MUTED);
emailFooter.setWrapText(true);
var email = new TextField();
email.promptTextProperty().bind(AppI18n.observable("provideEmailPrompt"));
this.email.bind(email.textProperty());
VBox.setVgrow(email, Priority.ALWAYS);
var infoHeader = new Label(AppI18n.get("additionalErrorInfo"));
var infoHeader = new Label(AppI18n.get(troubleshoot ? "describeYourIssue" : "additionalErrorInfo"));
var tf = new TextArea();
tf.setWrapText(true);
text.bind(tf.textProperty());
@@ -116,7 +113,7 @@ public class UserReportComp extends ModalOverlayContentComp {
attachments);
reportSection.setSpacing(5);
reportSection.getStyleClass().add("report");
reportSection.getChildren().addAll(new Spacer(8, Orientation.VERTICAL), emailHeader, email);
reportSection.getChildren().addAll(new Spacer(8, Orientation.VERTICAL), emailHeader, email, emailFooter);
reportSection.setPrefWidth(600);
reportSection.setPrefHeight(550);
return reportSection;
@@ -61,7 +61,7 @@ public class TroubleshootCategory extends AppPrefsCategory {
if (AppLogs.get().isWriteToFile()) {
event.attachment(AppLogs.get().getSessionLogsDirectory());
}
UserReportComp.show(event.build());
UserReportComp.show(event.build(), true);
e.consume();
})
.maxWidth(2000),
@@ -8,6 +8,7 @@ public class Hyperlinks {
public static final String TRANSLATE = "https://github.com/xpipe-io/xpipe/tree/master/lang";
public static final String DISCORD = "https://discord.gg/8y89vS8cRb";
public static final String REDDIT = "https://reddit.com/r/xpipe";
public static final String REPORTER_PRIVACY_POLICY = "https://docs.xpipe.io/legal/reporter-privacy-policy";
public static void open(String uri) {
DesktopHelper.openBrowser(uri);
@@ -1,65 +0,0 @@
# End User License Agreement
## Preamble
This end user license agreement (hereinafter “**EULA**”) is a license agreement between you as the end user and **XPipe UG (haftungsbeschränkt)**, Reichertshalde 81, 71642 Ludwigsburg, (hereinafter “**XPipe**”) for the use of the products “XPipe”, a server connection and server management software (hereinafter “**Software**”).
This document can be viewed and printed out at any time in the XPipe desktop application or at http://docs.xpipe.io/end-user-license-agreement. The customer is independently responsible for saving the text of the contract at the time the contract is concluded. No copies will be provided by XPipe after the fact.
## § 1 Subject matter and validity of the EULA
(1) The EULA governs the terms under which you may use the Software. By accepting the EULA or using the Software, you agree to be bound by the terms of the EULA.
(2) This EULA does not establish a service relationship between XPipe and you in return for payment. The payment of a license fee is solely the subject of the contractual relationship between you and the payment service provider Lemonsqueezy, to whom you pay license fees and in return we grant you a right to use additional software features. “Lemonsqueezy” collectively means Lemon Squeezy, LLC, 222 South Main Street Suite 500, Salt Lake City, Utah. Lemon Squeezy, LLC is a global payment service provider that facilitates online transactions using common online payment methods and acts as the seller of the product.
## § 2 License
(1) By entering into the EULA, you receive the non-exclusive, non-transferable and non-sublicensable right, unlimited in time, to run the Software installed on a computer in machine-readable format in accordance with the terms of the EULA (“License”).
(2) The rights granted with the license include the right to obtain updates of the software provided by XPipe for the period of an active license. The use of updates is voluntary. Insofar as new software functions are introduced with an update, this does not justify any claim by you that these will also be maintained with future updates.
## § 3 Provision of the Software, Activation of the License
(1) The software is made available by you downloading it from the XPipe website and installing it independently on your device. XPipe itself owes you neither provision nor installation or integration of the software on a computer.
(2) Any active license is checked for validity each time the program is started. For this purpose, an Internet connection is required at least once a week when the program is started. Any circumvention of a license activation and any unauthorized use of the software not authorized by XPipe and in violation of this EULA is prohibited.
(3) Activation of a license is done individually for you as an end user, and the activated license is verified when the program is started. You may install the software on multiple computers.
(4) Any circumvention of the aforementioned activation is prohibited.
## § 4 Rights to the Software
(1) Subject to the terms of any license granted and except as expressly provided in this EULA or otherwise agreed, you acquire no rights in the Software or Documentation. All Software and Documentation provided by XPipe, all copies, compilations, derivative products, programmatic enhancements, patches, revisions and updates to or relating to the Software, and all patent, utility model, trademark, design and copyright, trade secret, trade name and any other invention, design and information protected by law contained in any of the foregoing are and shall remain the property or ownership of XPipe.
(2) You are prohibited from asserting the rights set forth in § 4 (1) or claims for the granting of any of the aforementioned rights to the Software or the Documentation and, in particular, from registering or claiming intellectual property rights to the Software against XPipe or third parties.
(3) With the exception of §§ 69d, 69e UrhG, the customer is prohibited from attempting to reconstruct, decompile or decrypt any source code or underlying ideas or algorithms of any software or to permit a third party to do so. Except as otherwise provided in this EULA, or as otherwise expressly agreed between the parties, you may not modify the Software, make it available for use by third parties against payment, sublet it, or otherwise transfer any rights of use to third parties. Your right to execute the software installed on a specific computer in accordance with this EULA remains unaffected.
(4) You are obligated to notify XPipe immediately of any violations of these provisions or any other violations of XPipe's rights to the software that are known to you or become known to you in the future.
## § 5 No warranty
XPipe does not warrant to you that the software has a certain quality or a certain scope of functions and is free of defects.
## § 6 Liability
(1) XPipe shall be liable without limitation in the event of (i) intent and gross negligence, (ii) for injury to life, limb and health, (iii) in accordance with the provisions of the Product Liability Act, from Art. 82 of Regulation 2016/670/EU (DSGVO) or other mandatory statutory liability provisions in accordance with the standards set forth therein, and (iv) to the extent of any warranty assumed.
(2) XPipe shall further be liable for culpable breach of a material contractual obligation, the fulfillment of which is a prerequisite for proper performance of the contract and compliance with which the contractual partner may regularly rely on (“cardinal obligation”), but in the event of simple (minor) negligence limited to the damage reasonably to be expected and foreseeable at the time of conclusion of the contract.
(3) XPipe shall have no further liability.
(4) The above limitation of liability shall also apply to the personal liability of employees, representatives and members of XPipe's governing bodies.
## § 7 Data protection
XPipe is obligated to comply with the applicable data protection regulations. Information on data protection and the processing of personal data by XPipe can be found in the privacy policy for the Software: https://docs.xpipe.io/legal/privacy-policy
## § 8 Final provisions
(1) Neither party may transfer or assign this EULA in whole or any rights or obligations hereunder without the prior written consent of the other party. Any such transfer or assignment shall be void. Notwithstanding the foregoing, (i) a party may assign this agreement to a third party that assumes all or substantially all of its related business activities as a result of a merger, sale of shares or assets, or similar transaction, and (ii) XPipe may use third parties to perform its obligations under this agreement, provided that XPipe shall remain liable for any breach of such obligations.
(2) This EULA shall be governed by the laws of the Federal Republic of Germany, excluding the United Nations Convention on Contracts for the International Sale of Goods (CISG) and conflict of law provisions. The place of performance and jurisdiction shall be Stuttgart, Germany.
(3) If any provision of this EULA is invalid, void or unenforceable under any present or future law, the remainder of this EULA shall continue in full force and effect. To the extent that the invalid, void or unenforceable provision is a material term of the agreement, the parties agree to jointly negotiate a valid alternative provision.
@@ -1,270 +0,0 @@
**PRIVACY NOTICE**
**Last updated September 19, 2023**
This privacy notice for the XPipe error reporter, in which ("**we**," "**us**," or "**our**") refers to XPipe UG (haftungsbeschränkt), describes how
and why we
might collect, store, use, and/or share ("**process**") your information when you use our services ("**Services**"),
such as when you:
* Use the error reporter of our application (XPipe)
**Questions or concerns?** Reading this privacy notice will help you understand your privacy rights and choices. If you
do not agree with our policies and practices, please do not use our Services. If you still have any questions or
concerns, please contact us at hello@xpipe.io.
<a name="toc"></a> **TABLE OF CONTENTS**
[1\. WHAT INFORMATION DO WE COLLECT?](#infocollect)
[2\. HOW DO WE PROCESS YOUR INFORMATION?](#infouse)
[3\. WHAT LEGAL BASES DO WE RELY ON TO PROCESS YOUR PERSONAL INFORMATION?](#legalbases)
[4\. WHEN AND WITH WHOM DO WE SHARE YOUR PERSONAL INFORMATION?](#whoshare)
[5\. IS YOUR INFORMATION TRANSFERRED INTERNATIONALLY?](#intltransfers)
[6\. HOW LONG DO WE KEEP YOUR INFORMATION?](#inforetain)
[7\. HOW DO WE KEEP YOUR INFORMATION SAFE?](#infosafe)
[8\. WHAT ARE YOUR PRIVACY RIGHTS?](#privacyrights)
[9\. DO CALIFORNIA RESIDENTS HAVE SPECIFIC PRIVACY RIGHTS?](#caresidents)
[10\. DO WE MAKE UPDATES TO THIS NOTICE?](#policyupdates)
[11\. HOW CAN YOU CONTACT US ABOUT THIS NOTICE?](#contact)
[12\. HOW CAN YOU REVIEW, UPDATE, OR DELETE THE DATA WE COLLECT FROM YOU?](#request)
<a name="infocollect"></a> **1\. WHAT INFORMATION DO WE COLLECT?**
**Error reports.** If you encounter and send application error reports using the issue reporter,
we also may collect the following information:
* _Error Messages._ An error message can contain a variety of information, some of which might be personal information. You can review the exact data in the shown error message before reporting.
* _Email address. (Optional choice)_ You can choose to provide your email address to be contacted about any states updates for your reported issue.
* _Log Data. (Optional choice)_ Log and usage data is service-related, diagnostic, usage, and performance information our
application automatically collect when you use it and which we record in log files. Depending on how
you interact with it, this log data may include your used IP addresses, device information, and settings and
information about your activity in the services (such as the date/time stamps associated with your usage, actions and
files viewed, searches, and other actions you take such as which features you use), device event information (such as
system activity, error reports, and hardware settings).
This information is primarily needed to maintain the security and operation of our application(s), for troubleshooting,
and for our internal analytics and reporting purposes.
<a name="infouse"></a> **2\. HOW DO WE PROCESS YOUR INFORMATION?**
**We process your personal information for a variety of reasons, depending on how you interact with our Services,
including:**
* **To protect our Services.** We may process your information as part of our efforts to keep our Services safe and
secure, including error and exploit monitoring and prevention.
* **To save or protect an individual's vital interest.** We may process your information when necessary to save or
protect an individual’s vital interest, such as to prevent harm.
<a name="legalbases"></a> **3\. WHAT LEGAL BASES DO WE RELY ON TO PROCESS YOUR INFORMATION?**
_**In Short:** We only process your personal information when we believe it is necessary and we have a valid legal
reason (i.e., legal basis) to do so under applicable law, like with your consent, to comply with laws, to provide you
with services to enter into or fulfill our contractual obligations, to protect your rights, or to fulfill our legitimate
business interests._
_**If you are located in the EU or UK, this section applies to you.**_
The General Data Protection Regulation (GDPR) and UK GDPR require us to explain the valid legal bases we rely on in
order to process your personal information. As such, we may rely on the following legal bases to process your personal
information:
* **Legitimate Interests.** We may process your information when we believe it is reasonably necessary to achieve our
legitimate business interests and those interests do not outweigh your interests and fundamental rights and freedoms.
For example, we may process your personal information for some of the purposes described in order to:
* Diagnose problems and/or prevent errors and exploits
* Understand how our users use our products and services so we can improve user experience
In legal terms, we are generally the "data controller" under European data protection laws of the personal information
described in this privacy notice, since we determine the means and/or purposes of the data processing we perform. This
privacy notice does not apply to the personal information we process as a "data processor" on behalf of our customers.
In those situations, the customer that we provide services to and with whom we have entered into a data processing
agreement is the "data controller" responsible for your personal information, and we merely process your information on
their behalf in accordance with your instructions. If you want to know more about our customers' privacy practices, you
should read their privacy policies and direct any questions you have to them.
**_If you are located in Canada, this section applies to you._**
We may process your information if you have given us specific permission (i.e., express consent) to use your personal
information for a specific purpose, or in situations where your permission can be inferred (i.e., implied consent). You
can withdraw your consent at any time. Click [here](#request) to learn more.
In some exceptional cases, we may be legally permitted under applicable law to process your information without your
consent, including, for example:
* If collection is clearly in the interests of an individual and consent cannot be obtained in a timely way
* For investigations and fraud detection and prevention
* For business transactions provided certain conditions are met
* If it is contained in a witness statement and the collection is necessary to assess, process, or settle an insurance
claim
* For identifying injured, ill, or deceased persons and communicating with next of kin
* If we have reasonable grounds to believe an individual has been, is, or may be victim of financial abuse
* If it is reasonable to expect collection and use with consent would compromise the availability or the accuracy of the
information and the collection is reasonable for purposes related to investigating a breach of an agreement or a
contravention of the laws of Canada or a province
* If disclosure is required to comply with a subpoena, warrant, court order, or rules of the court relating to the
production of records
* If it was produced by an individual in the course of their employment, business, or profession and the collection is
consistent with the purposes for which the information was produced
* If the collection is solely for journalistic, artistic, or literary purposes
* If the information is publicly available and is specified by the regulations
<a name="whoshare"></a> **4\. WHEN AND WITH WHOM DO WE SHARE YOUR PERSONAL INFORMATION?**
**_In Short:_** _We may share information in specific situations described in this section and/or with the following
third parties._
* **Error reporting and usage tracking**
**_Sentry_**:
Functional Software, Inc. dba Sentry, 45 Fremont Street, 8th Floor, San Francisco, CA 94105.
You can find their privacy policy here: [https://sentry.io/privacy/](https://sentry.io/privacy/)
<a name="intltransfers"></a> **5\. IS YOUR INFORMATION TRANSFERRED INTERNATIONALLY?**
**_In Short:_** _We may transfer, store, and process your information in countries other than your own._
Please be aware that your information may be transferred to, stored, and processed by us in our
facilities and by those third parties with whom we may share your personal information (
see "[WHEN AND WITH WHOM DO WE SHARE YOUR PERSONAL INFORMATION?](#whoshare)" above), in the United States, and other
countries.
If you are a resident in the European Economic Area (EEA) or United Kingdom (UK), then these countries may not
necessarily have data protection laws or other similar laws as comprehensive as those in your country. However, we will
take all necessary measures to protect your personal information in accordance with this privacy notice and applicable
law.
European Commission's Standard Contractual Clauses:
We have implemented measures to protect your personal information, including by using the European Commission's Standard
Contractual Clauses for transfers of personal information between our group companies and between us and our third-party
providers. These clauses require all recipients to protect all personal information that they process originating from
the EEA or UK in accordance with European data protection laws and regulations. Our Data Processing Agreements that
include Standard Contractual Clauses are available here: [https://sentry.io/legal/dpa/](https://sentry.io/legal/dpa/).
We have implemented similar appropriate safeguards with our third-party service providers and partners and further
details can be provided upon request.
<a name="inforetain"></a> **6\. HOW LONG DO WE KEEP YOUR INFORMATION?**
**_In Short:_** _We keep your information for as long as necessary to fulfill the purposes outlined in this privacy
notice unless otherwise required by law._
We will only keep your personal information for as long as it is necessary for the purposes set out in this privacy
notice, unless a longer retention period is required or permitted by law (such as tax, accounting, or other legal
requirements).
When we have no ongoing legitimate business need to process your personal information, we will either delete or
anonymize such information, or, if this is not possible (for example, because your personal information has been stored
in backup archives), then we will securely store your personal information and isolate it from any further processing
until deletion is possible.
<a name="infosafe"></a> **7\. HOW DO WE KEEP YOUR INFORMATION SAFE?**
**_In Short:_** _We aim to protect your personal information through a system of organizational and technical security
measures._
We have implemented appropriate and reasonable technical and organizational security measures designed to protect the
security of any personal information we process. However, despite our safeguards and efforts to secure your information,
no electronic transmission over the Internet or information storage technology can be guaranteed to be 100% secure, so
we cannot promise or guarantee that hackers, cybercriminals, or other unauthorized third parties will not be able to
defeat our security and improperly collect, access, steal, or modify your information. Although we will do our best to
protect your personal information, transmission of personal information to and from our Services is at your own risk.
You should only access the Services within a secure environment.
<a name="privacyrights"></a> **8\. WHAT ARE YOUR PRIVACY RIGHTS?**
**_In Short:_** _In some regions, such as the European Economic Area (EEA), United Kingdom (UK), and Canada, you have
rights that allow you greater access to and control over your personal information. You may review, change, or terminate
your account at any time._
In some regions (like the EEA, UK, and Canada), you have certain rights under applicable data protection laws. These may
include the right (i) to request access and obtain a copy of your personal information, (ii) to request rectification or
erasure; (iii) to restrict the processing of your personal information; and (iv) if applicable, to data portability. In
certain circumstances, you may also have the right to object to the processing of your personal information. You can
make such a request by contacting us by using the contact details provided in the
section "[HOW CAN YOU CONTACT US ABOUT THIS NOTICE?](#contact)" below.
We will consider and act upon any request in accordance with applicable data protection laws.
If you are located in the EEA or UK and you believe we are unlawfully processing your personal information, you also
have the right to complain to your local data protection supervisory authority. You can find their contact details
here: [https://ec.europa.eu/justice/data-protection/bodies/authorities/index\_en.htm](https://ec.europa.eu/justice/data-protection/bodies/authorities/index_en.htm)
.
If you are located in Switzerland, the contact details for the data protection authorities are available
here: [https://www.edoeb.admin.ch/edoeb/en/home.html](https://www.edoeb.admin.ch/edoeb/en/home.html).
**Withdrawing your consent:** If we are relying on your consent to process your personal information, which may be
express and/or implied consent depending on the applicable law, you have the right to withdraw your consent at any time.
You can withdraw your consent at any time by contacting us by using the contact details provided in the
section "[HOW CAN YOU CONTACT US ABOUT THIS NOTICE?](#contact)" below.
However, please note that this will not affect the lawfulness of the processing before its withdrawal nor, when
applicable law allows, will it affect the processing of your personal information conducted in reliance on lawful
processing grounds other than consent.
If you have questions or comments about your privacy rights, you may email us at hello@xpipe.io.
<a name="caresidents"></a> **9\. DO CALIFORNIA RESIDENTS HAVE SPECIFIC PRIVACY RIGHTS?**
**_In Short:_** _Yes, if you are a resident of California, you are granted specific rights regarding access to your
personal information._
California Civil Code Section 1798.83, also known as the "Shine The Light" law, permits our users who are California
residents to request and obtain from us, once a year and free of charge, information about categories of personal
information (if any) we disclosed to third parties for direct marketing purposes and the names and addresses of all
third parties with which we shared personal information in the immediately preceding calendar year. If you are a
California resident and would like to make such a request, please submit your request in writing to us using the contact
information provided below.
If you are under 18 years of age, reside in California, and have a registered account with Services, you have the right
to request removal of unwanted data that you publicly post on the Services. To request removal of such data, please
contact us using the contact information provided below and include the email address associated with your account and a
statement that you reside in California. We will make sure the data is not publicly displayed on the Services, but
please be aware that the data may not be completely or comprehensively removed from all our systems (e.g., backups,
etc.).
<a name="policyupdates"></a> **10\. DO WE MAKE UPDATES TO THIS NOTICE?**
_**In Short:** Yes, we will update this notice as necessary to stay compliant with relevant laws._
We may update this privacy notice from time to time. The updated version will be indicated by an updated "Revised" date
and the updated version will be effective as soon as it is accessible. If we make material changes to this privacy
notice, we may notify you either by prominently posting a notice of such changes or by directly sending you a
notification. We encourage you to review this privacy notice frequently to be informed of how we are protecting your
information.
<a name="contact"></a> **11\. HOW CAN YOU CONTACT US ABOUT THIS NOTICE?**
If you have questions or comments about this notice, you may contact us by email at hello@xpipe.io.
<a name="request"></a> **12\. HOW CAN YOU REVIEW, UPDATE, OR DELETE THE DATA WE COLLECT FROM YOU?**
Based on the applicable laws of your country, you may have the right to request access to the personal information we
collect from you, change that information, or delete it. To request to review, update, or delete your personal
information, please submit a request form by writing to hello@xpipe.io.
@@ -1,10 +0,0 @@
## Welcome
Welcome to XPipe!
You can view the development status, report issues, and more at the following places:
- [GitHub Repository](https://github.com/xpipe-io/xpipe/)
- [Email us](mailto://hello@xpipe.io)
- [Discord Server](https://discord.gg/8y89vS8cRb)
- [XPipe subreddit](https://reddit.com/r/xpipe)
-57
View File
@@ -1,57 +0,0 @@
import io.xpipe.app.util.StorePath;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
public class StorePathTest {
@Test
public void testCreateInvalidParameters() {
Assertions.assertThrows(IllegalArgumentException.class, () -> {
StorePath.create("a/bc", "abc");
});
Assertions.assertThrows(IllegalArgumentException.class, () -> {
StorePath.create(" \t", "abc");
});
Assertions.assertThrows(IllegalArgumentException.class, () -> {
StorePath.create("", "abc");
});
Assertions.assertThrows(IllegalArgumentException.class, () -> {
StorePath.create("abc", null);
});
Assertions.assertThrows(IllegalArgumentException.class, () -> {
StorePath.create("abc", "a/bc");
});
Assertions.assertThrows(IllegalArgumentException.class, () -> {
StorePath.create("abc", " \t");
});
Assertions.assertThrows(IllegalArgumentException.class, () -> {
StorePath.create("abc", "");
});
}
@Test
public void testFromStringNullParameters() {
Assertions.assertThrows(IllegalArgumentException.class, () -> {
StorePath.fromString(null);
});
}
@ParameterizedTest
@ValueSource(strings = {"abc/", "ab//c", "//abc", "////", "", " "})
public void testFromStringInvalidParameters(String arg) {
Assertions.assertThrows(IllegalArgumentException.class, () -> {
StorePath.fromString(arg);
});
}
@Test
public void testFromStringValidParameters() {
Assertions.assertEquals(StorePath.fromString("ab/c"), StorePath.fromString(" ab/ c "));
Assertions.assertEquals(StorePath.fromString("ab/c"), StorePath.fromString(" AB/ C "));
Assertions.assertEquals(StorePath.fromString("ab/c"), StorePath.fromString("ab/c "));
}
}
-10
View File
@@ -1,10 +0,0 @@
import io.xpipe.app.util.ThreadHelper;
public class Test {
@org.junit.jupiter.api.Test
public void test() {
System.out.println("a");
ThreadHelper.sleep(1000);
}
}
-28
View File
@@ -1,28 +0,0 @@
Copyright (c) 2012-2022 The ANTLR Project. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither name of copyright holders nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-4
View File
@@ -1,4 +0,0 @@
name=antlr4
version=3.3
license=BSD 3-Clause
link=https://github.com/antlr/antlr4
-26
View File
@@ -1,26 +0,0 @@
[The "BSD license"]
Copyright (c) 2011-2022 Terence Parr
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-4
View File
@@ -1,4 +0,0 @@
name=stringtemplate4
version=4.0.2
license=BSD 3-Clause
link=https://github.com/antlr/stringtemplate4
+5 -1
View File
@@ -129,12 +129,16 @@ ignore=Ignorer
possibleActions=Tilgængelige handlinger
ignoreError=Ignorer fejl
ignoreErrorDescription=Ignorer denne fejl og fortsæt, som om intet var sket
provideEmail=Hvordan kan vi kontakte dig (valgfrit, kun hvis du ønsker at modtage et svar)? Din rapport er som standard anonym, så du kan angive kontaktoplysninger, f.eks. en e-mailadresse, her.
provideEmail=Hvordan kan vi kontakte dig (valgfrit, kun hvis du ønsker at modtage et svar)
provideEmailPrompt=F.eks. e-mailadresse, Discord-brugernavn osv.
emailAnonymous=Din rapport er som standard anonym, selvom du har aktiveret en licens, så du kan angive kontaktoplysninger her
additionalErrorInfo=Angiv yderligere oplysninger (valgfrit)
describeYourIssue=Beskriv dit problem (valgfrit)
additionalErrorAttachments=Vælg vedhæftede filer (valgfrit)
dataHandlingPolicies=Privatlivspolitik
sendReport=Send rapport
errorHandler=Fejlhåndtering
reportError=Rapporter et problem
events=Begivenheder
validate=Valider
stackTrace=Stakspor
+6 -2
View File
@@ -132,12 +132,16 @@ ignore=Ignorieren
possibleActions=Verfügbare Aktionen
ignoreError=Fehler ignorieren
ignoreErrorDescription=Ignoriere diesen Fehler und mach einfach weiter, als wäre nichts passiert
provideEmail=Wie können wir dich kontaktieren (optional, nur wenn du eine Antwort erhalten möchtest)? Deine Meldung ist standardmäßig anonym, daher kannst du hier Kontaktdaten wie eine E-Mail-Adresse angeben.
provideEmail=Wie können wir dich kontaktieren (optional, nur wenn du eine Antwort erhalten möchtest)?
provideEmailPrompt=Z. B. E-Mail-Adresse, Discord-Benutzername usw.
emailAnonymous=Dein Bericht ist standardmäßig anonym, auch wenn du eine Lizenz aktiviert hast. Du kannst hier also deine Kontaktdaten angeben
additionalErrorInfo=Gib zusätzliche Informationen an (optional)
describeYourIssue=Beschreibe dein Problem (optional)
additionalErrorAttachments=Anhänge auswählen (optional)
dataHandlingPolicies=Datenschutzerklärung
sendReport=Bericht senden
errorHandler=Fehlerbehandlung
reportError=Ein Problem melden
events=Ereignisse
validate=Überprüfen
stackTrace=Stack-Trace
@@ -1939,7 +1943,7 @@ passwordManagerSshAgentSocketDescription=Der Socket, der für die Kommunikation
passwordManagerSshKeysNotSupported=Die aktuelle Konfiguration des Passwort-Managers unterstützt das Abrufen von SSH-Schlüsseln nicht
passwordManagerAdditionalKey=Zusätzlicher SSH-Schlüssel
passwordManagerAdditionalKeyDescription=Der SSH-Schlüssel, der zusätzlich zu den Zugangsdaten aus dem Passwort-Manager verwendet werden soll
multiIdentity.displayName=Mehrere Identitäten
multiIdentity.displayName=Mehrfachidentität
multiIdentity.displayDescription=Wähle aus mehreren verschiedenen Identitäten aus, um dich mit einem System zu verbinden
multiIdentityList=Identitätsliste
multiIdentityListDescription=Die Liste der Identitäten, zwischen denen gewechselt werden soll
+6 -1
View File
@@ -134,12 +134,16 @@ ignore=Ignore
possibleActions=Available actions
ignoreError=Ignore error
ignoreErrorDescription=Ignore this error and continue like nothing happened
provideEmail=How can we contact you (optional, only if you want to get a response). Your report is anonymous by default, so you can provide contact info like an email address here.
provideEmail=How can we contact you (optional, only if you want to get a response)
provideEmailPrompt=E.g. email address, discord username, etc.
emailAnonymous=Your report is anonymous by default, even if you activated a license, so you can provide contact info here
additionalErrorInfo=Provide additional information (optional)
describeYourIssue=Describe your issue (optional)
additionalErrorAttachments=Select attachments (optional)
dataHandlingPolicies=Privacy policy
sendReport=Send report
errorHandler=Error handler
reportError=Report an issue
events=Events
validate=Validate
stackTrace=Stack trace
@@ -1986,6 +1990,7 @@ passwordManagerSshAgentSocketDescription=The socket that should be used to commu
passwordManagerSshKeysNotSupported=The current password manager configuration does not support retrieving SSH keys
passwordManagerAdditionalKey=Additional SSH key
passwordManagerAdditionalKeyDescription=The SSH key to use in addition to the credentials from the password manager
#context: keep multi in name
multiIdentity.displayName=Multi identity
multiIdentity.displayDescription=Choose from multiple different identities to connect to a system
multiIdentityList=Identity list
+5 -1
View File
@@ -127,12 +127,16 @@ ignore=Ignorar
possibleActions=Acciones disponibles
ignoreError=Ignorar error
ignoreErrorDescription=Ignora este error y sigue como si nada hubiera pasado
provideEmail=¿Cómo podemos ponernos en contacto contigo (opcional, solo si quieres recibir una respuesta)? Tu informe es anónimo por defecto, así que aquí puedes dejar tus datos de contacto, como una dirección de correo electrónico.
provideEmail=¿Cómo podemos ponernos en contacto contigo? (opcional, solo si quieres que te respondamos)
provideEmailPrompt=Por ejemplo, dirección de correo electrónico, nombre de usuario de Discord, etc.
emailAnonymous=Tu informe es anónimo por defecto, aunque hayas activado una licencia, así que aquí puedes dejar tus datos de contacto
additionalErrorInfo=Añade información adicional (opcional)
describeYourIssue=Describe tu problema (opcional)
additionalErrorAttachments=Selecciona archivos adjuntos (opcional)
dataHandlingPolicies=Política de privacidad
sendReport=Enviar informe
errorHandler=Gestor de errores
reportError=Informar de un problema
events=Eventos
validate=Validar
stackTrace=Traza de pila
+6 -2
View File
@@ -129,12 +129,16 @@ ignore=Ignorer
possibleActions=Actions disponibles
ignoreError=Ignorer l'erreur
ignoreErrorDescription=Ignore cette erreur et continue comme si de rien n'était
provideEmail=Comment peut-on te contacter (facultatif, uniquement si tu souhaites recevoir une réponse) ? Ton signalement est anonyme par défaut, tu peux donc indiquer ici tes coordonnées, comme une adresse e-mail.
provideEmail=Comment on peut te contacter (facultatif, uniquement si tu souhaites recevoir une réponse)
provideEmailPrompt=Par exemple : adresse e-mail, pseudo Discord, etc.
emailAnonymous=Ton rapport est anonyme par défaut, même si tu as activé une licence ; tu peux donc indiquer tes coordonnées ici
additionalErrorInfo=Donne des infos supplémentaires (facultatif)
describeYourIssue=Décris ton problème (facultatif)
additionalErrorAttachments=Sélectionne les pièces jointes (facultatif)
dataHandlingPolicies=Politique de confidentialité
sendReport=Envoyer un rapport
errorHandler=Gestionnaire d'erreurs
reportError=Signaler un problème
events=Événements
validate=Valider
stackTrace=Trace de pile
@@ -1942,7 +1946,7 @@ passwordManagerSshAgentSocketDescription=Le socket à utiliser pour communiquer
passwordManagerSshKeysNotSupported=La configuration actuelle du gestionnaire de mots de passe ne permet pas de récupérer les clés SSH
passwordManagerAdditionalKey=Clé SSH supplémentaire
passwordManagerAdditionalKeyDescription=La clé SSH à utiliser en plus des identifiants fournis par le gestionnaire de mots de passe
multiIdentity.displayName=Identités multiples
multiIdentity.displayName=Identité multiple
multiIdentity.displayDescription=Choisis parmi plusieurs identités différentes pour te connecter à un système
multiIdentityList=Liste d'identités
multiIdentityListDescription=La liste des identités entre lesquelles basculer
+5 -1
View File
@@ -127,12 +127,16 @@ ignore=Abaikan
possibleActions=Tindakan yang tersedia
ignoreError=Abaikan kesalahan
ignoreErrorDescription=Abaikan kesalahan ini dan lanjutkan seolah-olah tidak terjadi apa-apa
provideEmail=Bagaimana kami dapat menghubungi Anda (opsional, hanya jika Anda ingin mendapatkan tanggapan). Laporan Anda bersifat anonim secara default, jadi Anda dapat mencantumkan informasi kontak seperti alamat email di sini.
provideEmail=Bagaimana kami dapat menghubungi Anda (opsional, hanya jika Anda ingin mendapatkan tanggapan)
provideEmailPrompt=Misalnya, alamat email, nama pengguna Discord, dll.
emailAnonymous=Laporan Anda bersifat anonim secara default, meskipun Anda telah mengaktifkan lisensi, sehingga Anda dapat mencantumkan informasi kontak di sini
additionalErrorInfo=Berikan informasi tambahan (opsional)
describeYourIssue=Jelaskan masalah Anda (opsional)
additionalErrorAttachments=Pilih lampiran (opsional)
dataHandlingPolicies=Kebijakan privasi
sendReport=Kirim laporan
errorHandler=Penanganan kesalahan
reportError=Laporkan masalah
events=Peristiwa
validate=Validasi
stackTrace=Jejak tumpukan
+6 -2
View File
@@ -127,12 +127,16 @@ ignore=Ignora
possibleActions=Azioni disponibili
ignoreError=Ignora l'errore
ignoreErrorDescription=Ignora questo errore e vai avanti come se nulla fosse
provideEmail=Come possiamo contattarti (facoltativo, solo se vuoi ricevere una risposta)? La tua segnalazione è anonima per impostazione predefinita, quindi qui puoi inserire le tue informazioni di contatto, come un indirizzo e-mail.
provideEmail=Come possiamo contattarti (facoltativo, solo se vuoi ricevere una risposta)
provideEmailPrompt=Ad esempio: indirizzo e-mail, nome utente su Discord, ecc.
emailAnonymous=Il tuo rapporto è anonimo per impostazione predefinita, anche se hai attivato una licenza, quindi qui puoi inserire le tue informazioni di contatto
additionalErrorInfo=Fornisci ulteriori informazioni (facoltativo)
describeYourIssue=Descrivi il tuo problema (facoltativo)
additionalErrorAttachments=Seleziona gli allegati (facoltativo)
dataHandlingPolicies=Informativa sulla privacy
sendReport=Invia rapporto
errorHandler=Gestore degli errori
reportError=Segnala un problema
events=Eventi
validate=Convalida
stackTrace=Traccia dello stack
@@ -1905,7 +1909,7 @@ passwordManagerSshAgentSocketDescription=Il socket da utilizzare per comunicare
passwordManagerSshKeysNotSupported=L'attuale configurazione del gestore di password non supporta il recupero delle chiavi SSH
passwordManagerAdditionalKey=Chiave SSH aggiuntiva
passwordManagerAdditionalKeyDescription=La chiave SSH da usare in aggiunta alle credenziali del gestore di password
multiIdentity.displayName=Identità multiple
multiIdentity.displayName=Identità multipla
multiIdentity.displayDescription=Scegli tra diverse identità per collegarti a un sistema
multiIdentityList=Elenco delle identità
multiIdentityListDescription=L'elenco delle identità tra cui passare
+6 -2
View File
@@ -127,12 +127,16 @@ ignore=無視する
possibleActions=利用可能な操作
ignoreError=エラーを無視する
ignoreErrorDescription=このエラーを無視し、何事もなかったかのように続行する
provideEmail=連絡方法(任意。返信を希望する場合のみ記入)。報告はデフォルトで匿名となるため、ここにメールアドレスなどの連絡先情報を記入することができる。
provideEmail=連絡方法(任意、返信を希望する場合のみ)
provideEmailPrompt=例:メールアドレス、Discordのユーザー名など。
emailAnonymous=ライセンスを有効にした場合でも、レポートはデフォルトで匿名扱いとなるため、ここに連絡先情報を記載することができる
additionalErrorInfo=追加情報を記入する(任意)
describeYourIssue=問題の内容を記述する(任意)
additionalErrorAttachments=添付ファイルを選択(任意)
dataHandlingPolicies=プライバシーポリシー
sendReport=レポートを送信する
errorHandler=エラーハンドラ
reportError=問題を報告する
events=イベント
validate=検証
stackTrace=スタックトレース
@@ -1905,7 +1909,7 @@ passwordManagerSshAgentSocketDescription=エージェントとの通信に使用
passwordManagerSshKeysNotSupported=現在のパスワードマネージャーの設定では、SSHキーの取得に対応していない
passwordManagerAdditionalKey=追加のSSH鍵
passwordManagerAdditionalKeyDescription=パスワードマネージャーからの認証情報に加えて使用するSSHキー
multiIdentity.displayName=マルチアイデンティティ
multiIdentity.displayName=マルチ・アイデンティティ
multiIdentity.displayDescription=システムに接続するために、複数の異なるIDから選択する
multiIdentityList=識別子リスト
multiIdentityListDescription=切り替え対象のIDの一覧
+5 -1
View File
@@ -140,12 +140,16 @@ ignore=무시
possibleActions=사용 가능한 작업
ignoreError=오류 무시
ignoreErrorDescription=이 오류를 무시하고 아무 일도 없었던 것처럼 계속 진행하십시오
provideEmail=연락처 정보 (선택 사항, 답변을 받고 싶은 경우에만 기재해 주세요). 기본적으로 신고 내용은 익명으로 처리되므로, 여기에서 이메일 주소와 같은 연락처 정보를 기재할 수 있습니다.
provideEmail=연락처 정보 (선택 사항, 답변을 받고 싶은 경우에만 기재해 주세요)
provideEmailPrompt=예: 이메일 주소, 디스코드 사용자 이름 등
emailAnonymous=라이선스를 활성화한 경우에도 기본적으로 보고서는 익명으로 처리되므로, 여기에서 연락처 정보를 기재할 수 있습니다.
additionalErrorInfo=추가 정보 제공 (선택 사항)
describeYourIssue=문제를 설명해 주세요 (선택 사항)
additionalErrorAttachments=첨부 파일 선택 (선택 사항)
dataHandlingPolicies=개인정보 처리방침
sendReport=보고서 보내기
errorHandler=오류 처리기
reportError=문제 신고
events=이벤트
validate=유효성 검사
stackTrace=스택 트레이스
+5 -1
View File
@@ -127,12 +127,16 @@ ignore=Negeer
possibleActions=Beschikbare acties
ignoreError=Fout negeren
ignoreErrorDescription=Negeer deze fout en ga gewoon door alsof er niets aan de hand is
provideEmail=Hoe kunnen we contact met je opnemen (optioneel, alleen als je een reactie wilt krijgen)? Je melding is standaard anoniem, dus je kunt hier contactgegevens zoals een e-mailadres invullen.
provideEmail=Hoe kunnen we contact met je opnemen (optioneel, alleen als je een reactie wilt krijgen)
provideEmailPrompt=Bijv. e-mailadres, Discord-gebruikersnaam, enz.
emailAnonymous=Je rapport is standaard anoniem, zelfs als je een licentie hebt geactiveerd, dus je kunt hier je contactgegevens invullen
additionalErrorInfo=Geef aanvullende informatie (optioneel)
describeYourIssue=Beschrijf je probleem (optioneel)
additionalErrorAttachments=Selecteer bijlagen (optioneel)
dataHandlingPolicies=Privacybeleid
sendReport=Rapport verzenden
errorHandler=Foutverwerker
reportError=Een probleem melden
events=Gebeurtenissen
validate=Valideren
stackTrace=Stacktrace
+5 -1
View File
@@ -127,12 +127,16 @@ ignore=Zignoruj
possibleActions=Dostępne działania
ignoreError=Zignoruj błąd
ignoreErrorDescription=Zignoruj ten błąd i działaj dalej, jakby nic się nie stało
provideEmail=Jak możemy się z tobą skontaktować (opcjonalnie, tylko jeśli chcesz otrzymać odpowiedź). Twoje zgłoszenie jest domyślnie anonimowe, więc możesz podać tutaj dane kontaktowe, np. adres e-mail.
provideEmail=Jak możemy się z tobą skontaktować (opcjonalnie, tylko jeśli chcesz otrzymać odpowiedź)
provideEmailPrompt=Np. adres e-mail, nazwa użytkownika na Discordzie itp.
emailAnonymous=Twój raport jest domyślnie anonimowy, nawet jeśli aktywowałeś licencję, więc możesz podać tutaj swoje dane kontaktowe
additionalErrorInfo=Podaj dodatkowe informacje (opcjonalnie)
describeYourIssue=Opisz swój problem (opcjonalnie)
additionalErrorAttachments=Wybierz załączniki (opcjonalnie)
dataHandlingPolicies=Polityka prywatności
sendReport=Wyślij raport
errorHandler=Obsługa błędów
reportError=Zgłoś problem
events=Zdarzenia
validate=Sprawdź poprawność
stackTrace=Ślad stosu
+6 -2
View File
@@ -127,12 +127,16 @@ ignore=Ignorar
possibleActions=Ações disponíveis
ignoreError=Ignorar erro
ignoreErrorDescription=Ignora este erro e continua como se nada tivesse acontecido
provideEmail=Como podemos entrar em contacto contigo (opcional, só se quiseres receber uma resposta). O teu relatório é anónimo por predefinição, por isso podes deixar aqui os teus dados de contacto, como um endereço de e-mail.
provideEmail=Como podemos entrar em contacto contigo (opcional, só se quiseres receber uma resposta)
provideEmailPrompt=Por exemplo: endereço de e-mail, nome de utilizador no Discord, etc.
emailAnonymous=O teu relatório é anónimo por predefinição, mesmo que tenhas ativado uma licença, por isso podes deixar aqui os teus dados de contacto
additionalErrorInfo=Dá mais informações (opcional)
describeYourIssue=Descreve o teu problema (opcional)
additionalErrorAttachments=Seleciona os anexos (opcional)
dataHandlingPolicies=Política de privacidade
sendReport=Enviar relatório
errorHandler=Gestor de erros
reportError=Comunicar um problema
events=Eventos
validate=Validar
stackTrace=Rastreio da pilha
@@ -1905,7 +1909,7 @@ passwordManagerSshAgentSocketDescription=O socket que deve ser usado para comuni
passwordManagerSshKeysNotSupported=A configuração atual do gestor de palavras-passe não suporta a recuperação de chaves SSH
passwordManagerAdditionalKey=Chave SSH adicional
passwordManagerAdditionalKeyDescription=A chave SSH a utilizar além das credenciais do gestor de palavras-passe
multiIdentity.displayName=Identidades múltiplas
multiIdentity.displayName=Identidade múltipla
multiIdentity.displayDescription=Escolhe entre várias identidades diferentes para te ligares a um sistema
multiIdentityList=Lista de identidades
multiIdentityListDescription=A lista de identidades entre as quais alternar
+5 -1
View File
@@ -132,12 +132,16 @@ ignore=Пропустить
possibleActions=Доступные действия
ignoreError=Игнорировать ошибку
ignoreErrorDescription=Просто игнорируй эту ошибку и продолжай, как ни в чём не бывало
provideEmail=Как с тобой связаться (необязательно, только если хочешь получить ответ). По умолчанию твоё сообщение анонимное, так что здесь можешь указать контактные данные, например, адрес электронной почты.
provideEmail=Как с тобой связаться (необязательно, только если хочешь получить ответ)
provideEmailPrompt=Например, адрес электронной почты, имя пользователя в Discord и т. д.
emailAnonymous=По умолчанию твой отчёт анонимный, даже если ты активировал лицензию, поэтому здесь ты можешь указать свои контактные данные
additionalErrorInfo=Укажи дополнительную информацию (необязательно)
describeYourIssue=Опиши свою проблему (необязательно)
additionalErrorAttachments=Выбери вложения (по желанию)
dataHandlingPolicies=Политика конфиденциальности
sendReport=Отправить отчёт
errorHandler=Обработка ошибок
reportError=Сообщить о проблеме
events=События
validate=Проверить
stackTrace=Трассировка стека
+5 -1
View File
@@ -127,12 +127,16 @@ ignore=Ignorera
possibleActions=Tillgängliga åtgärder
ignoreError=Ignorera fel
ignoreErrorDescription=Ignorera detta fel och fortsätt som om ingenting har hänt
provideEmail=Hur kan vi kontakta dig (valfritt, endast om du vill få ett svar). Din rapport är anonym som standard, så du kan ange kontaktuppgifter, till exempel en e-postadress, här.
provideEmail=Hur kan vi kontakta dig (valfritt, endast om du vill få ett svar)
provideEmailPrompt=T.ex. e-postadress, användarnamn på Discord osv.
emailAnonymous=Din rapport är anonym som standard, även om du har aktiverat en licens, så du kan ange kontaktuppgifter här
additionalErrorInfo=Ange ytterligare information (valfritt)
describeYourIssue=Beskriv ditt problem (valfritt)
additionalErrorAttachments=Välj bilagor (valfritt)
dataHandlingPolicies=Integritetspolicy
sendReport=Skicka rapport
errorHandler=Felhanterare
reportError=Rapportera ett problem
events=Händelser
validate=Validera
stackTrace=Stacktrace
+5 -1
View File
@@ -127,12 +127,16 @@ ignore=Yoksay
possibleActions=Kullanılabilir eylemler
ignoreError=Hatayı yok say
ignoreErrorDescription=Bu hatayı görmezden gelin ve hiçbir şey olmamış gibi devam edin
provideEmail=Sizinle nasıl iletişime geçebiliriz (isteğe bağlı, yalnızca yanıt almak istiyorsanız)? Bildiriminiz varsayılan olarak anonimdir, bu nedenle buraya e-posta adresi gibi iletişim bilgilerinizi girebilirsiniz.
provideEmail=Sizinle nasıl iletişime geçebiliriz (isteğe bağlı, yalnızca yanıt almak istiyorsanız)
provideEmailPrompt=Örneğin: e-posta adresi, Discord kullanıcı adı vb.
emailAnonymous=Lisansınızı etkinleştirmiş olsanız bile raporunuz varsayılan olarak anonimdir; bu nedenle buraya iletişim bilgilerinizi girebilirsiniz
additionalErrorInfo=Ek bilgi girin (isteğe bağlı)
describeYourIssue=Sorununuzu açıklayın (isteğe bağlı)
additionalErrorAttachments=Ekleri seçin (isteğe bağlı)
dataHandlingPolicies=Gizlilik politikası
sendReport=Raporu gönder
errorHandler=Hata işleyici
reportError=Bir sorunu bildir
events=Olaylar
validate=Doğrula
stackTrace=Yığın izleme
+5 -1
View File
@@ -127,12 +127,16 @@ ignore=Bỏ qua
possibleActions=Các thao tác có sẵn
ignoreError=Bỏ qua lỗi
ignoreErrorDescription=Bỏ qua lỗi này và tiếp tục như không có chuyện gì xảy ra nhé
provideEmail=Tớ có thể liên hệ với cậu bằng cách nào (tùy chọn, chỉ khi cậu muốn nhận phản hồi thôi nhé). Theo mặc định, báo cáo của cậu là ẩn danh, nên cậu có thể cung cấp thông tin liên hệ như địa chỉ email ở đây.
provideEmail=Tớ có thể liên hệ với cậu bằng cách nào (không bắt buộc, chỉ khi cậu muốn nhận phản hồi thôi)
provideEmailPrompt=Ví dụ: địa chỉ email, tên người dùng Discord, v.v.
emailAnonymous=Báo cáo của cậu mặc định là ẩn danh, ngay cả khi cậu đã kích hoạt giấy phép, nên cậu có thể cung cấp thông tin liên hệ tại đây
additionalErrorInfo=Cung cấp thêm thông tin (tùy chọn)
describeYourIssue=Mô tả vấn đề của cậu (tùy chọn)
additionalErrorAttachments=Chọn tệp đính kèm (tùy chọn)
dataHandlingPolicies=Chính sách bảo mật
sendReport=Gửi báo cáo
errorHandler=Bộ xử lý lỗi
reportError=Báo cáo sự cố
events=Các sự kiện
validate=Xác thực
stackTrace=Dấu vết ngăn xếp
+5 -1
View File
@@ -176,13 +176,17 @@ possibleActions=可用操作
ignoreError=忽略该错误
#custom
ignoreErrorDescription=忽略该错误并继续运行
provideEmail=我们如何与您联系(可选,仅当您希望收到回复时填写)。您的报告默认是匿名的,因此您可以在此处提供联系方式,例如电子邮箱地址。
provideEmail=如何联系您(可选,仅当您希望收到回复时填写)
provideEmailPrompt=例如:电子邮件地址、Discord 用户名等。
emailAnonymous=您的报告默认是匿名的,即使您已激活许可证,因此您可以在此处提供联系信息
additionalErrorInfo=提供补充信息(可选)
describeYourIssue=描述您的问题(可选)
additionalErrorAttachments=选择附件(可选)
dataHandlingPolicies=隐私政策
#custom
sendReport=提交报告
errorHandler=错误处理程序
reportError=报告问题
events=事件
validate=验证
#custom
+5 -1
View File
@@ -127,12 +127,16 @@ ignore=忽略
possibleActions=可用操作
ignoreError=忽略錯誤
ignoreErrorDescription=忽略此錯誤,並繼續操作,彷彿什麼事都沒發生一樣
provideEmail=我們該如何與您聯繫(非必填,僅限您希望收到回覆時填寫)。您的回報預設為匿名,因此您可在此處提供聯絡資訊(例如電子郵件地址)。
provideEmail=我們該如何聯絡您(可選,僅限您希望收到回覆時填寫)
provideEmailPrompt=例如:電子郵件地址、Discord 用戶名等。
emailAnonymous=您的報告預設為匿名,即使您已啟用授權,因此您可在此處提供聯絡資訊
additionalErrorInfo=提供額外資訊(可選)
describeYourIssue=請描述您的問題(可選)
additionalErrorAttachments=選擇附件(可選)
dataHandlingPolicies=隱私權政策
sendReport=傳送報告
errorHandler=錯誤處理程式
reportError=回報問題
events=事件
validate=驗證
stackTrace=堆疊追蹤
+1 -1
View File
@@ -1 +1 @@
24.0-58
24.0-59