diff --git a/build.xml b/build.xml
index 203f5fb27..71c13139f 100644
--- a/build.xml
+++ b/build.xml
@@ -38,6 +38,7 @@
+
@@ -61,6 +62,7 @@
+
@@ -78,6 +80,7 @@
+
diff --git a/org/w3c/css/servlet/CssValidator.java b/org/w3c/css/servlet/CssValidator.java
index ee4491858..5252f85f2 100644
--- a/org/w3c/css/servlet/CssValidator.java
+++ b/org/w3c/css/servlet/CssValidator.java
@@ -7,6 +7,7 @@
package org.w3c.css.servlet;
+import org.apache.commons.validator.routines.EmailValidator;
import org.w3c.css.css.CssParser;
import org.w3c.css.css.DocumentParser;
import org.w3c.css.css.StyleReport;
@@ -17,11 +18,14 @@
import org.w3c.css.error.ErrorReport;
import org.w3c.css.error.ErrorReportFactory;
import org.w3c.css.index.IndexGenerator;
+import org.w3c.css.parser.CssError;
+import org.w3c.css.parser.Errors;
import org.w3c.css.util.ApplContext;
import org.w3c.css.util.Codecs;
import org.w3c.css.util.CssVersion;
import org.w3c.css.util.FakeFile;
import org.w3c.css.util.HTTPURL;
+import org.w3c.css.util.InvalidParamException;
import org.w3c.css.util.NVPair;
import org.w3c.css.util.Utf8Properties;
import org.w3c.css.util.Util;
@@ -367,65 +371,76 @@ public void doGet(HttpServletRequest req, HttpServletResponse res)
// " (" + req.getRemoteAddr() + ") at " + (new Date()) );
if (uri != null) {
- // HTML document
- try {
- uri = HTTPURL.getURL(uri).toString(); // needed to be sure
- // that it is a valid
- // url
- uri = uri.replaceAll(" ", "%20");
- if (Util.checkURI(uri)) {
- DocumentParser URLparser = new DocumentParser(ac, uri);
- handleRequest(ac, res, uri, URLparser.getStyleSheet(), output,
- warningLevel, errorReport);
- } else {
- res.setHeader("Rejected", "Requested URI Forbidden by Rule");
- handleError(res, ac, output, "Forbidden", new IOException(
- "URI Forbidden by rule"), false);
- }
- } catch (ProtocolException pex) {
- if (Util.onDebug) {
- pex.printStackTrace();
+ // check for scammers
+ EmailValidator ev = EmailValidator.getInstance();
+ if (ev.isValid(uri)) {
+ handleScam(ac, uri, res, output, warningLevel, errorReport);
+ } else {
+ // HTML document
+ try {
+ uri = HTTPURL.getURL(uri).toString(); // needed to be sure
+ // that it is a valid
+ // url
+ uri = uri.replaceAll(" ", "%20");
+ if (Util.checkURI(uri)) {
+ DocumentParser URLparser = new DocumentParser(ac, uri);
+ handleRequest(ac, res, uri, URLparser.getStyleSheet(), output,
+ warningLevel, errorReport);
+ } else {
+ res.setHeader("Rejected", "Requested URI Forbidden by Rule");
+ handleError(res, ac, output, "Forbidden", new IOException(
+ "URI Forbidden by rule"), false);
+ }
+ } catch (ProtocolException pex) {
+ if (Util.onDebug) {
+ pex.printStackTrace();
+ }
+ res.setHeader("WWW-Authenticate", pex.getMessage());
+ res.sendError(HttpServletResponse.SC_UNAUTHORIZED);
+ } catch (Exception e) {
+ handleError(res, ac, output, uri, e, true);
}
- res.setHeader("WWW-Authenticate", pex.getMessage());
- res.sendError(HttpServletResponse.SC_UNAUTHORIZED);
- } catch (Exception e) {
- handleError(res, ac, output, uri, e, true);
}
} else if (text != null) {
String fileName = "TextArea";
Util.verbose("- " + fileName + " Data -");
Util.verbose(text);
Util.verbose("- End of " + fileName + " Data");
- InputStream is = new ByteArrayInputStream(text.getBytes());
- fileName = "file://localhost/" + fileName;
+ EmailValidator ev = EmailValidator.getInstance();
+ if (ev.isValid(text)) {
+ handleScam(ac, text, res, output, warningLevel, errorReport);
+ } else {
+ InputStream is = new ByteArrayInputStream(text.getBytes());
+ fileName = "file://localhost/" + fileName;
- try {
+ try {
- if ("css".equals(type) || ("none".equals(type) && isCSS(text))) {
- // if CSS:
- parser = new StyleSheetParser();
- parser.parseStyleElement(ac, is, null, usermedium,
- new URL(fileName), 0);
+ if ("css".equals(type) || ("none".equals(type) && isCSS(text))) {
+ // if CSS:
+ parser = new StyleSheetParser();
+ parser.parseStyleElement(ac, is, null, usermedium,
+ new URL(fileName), 0);
- handleRequest(ac, res, fileName, parser
- .getStyleSheet(), output, warningLevel, errorReport);
- } else {
- // else, trying HTML
+ handleRequest(ac, res, fileName, parser.getStyleSheet(),
+ output, warningLevel, errorReport);
+ } else {
+ // else, trying HTML
// HTMLParserStyleSheetHandler handler = new HTMLParserStyleSheetHandler(null, ac);
- TagSoupStyleSheetHandler handler = new TagSoupStyleSheetHandler(null, ac);
- handler.parse(is, fileName);
-
- handleRequest(ac, res, fileName, handler.getStyleSheet(), output,
- warningLevel, errorReport);
- }
- } catch (ProtocolException pex) {
- if (Util.onDebug) {
- pex.printStackTrace();
+ TagSoupStyleSheetHandler handler = new TagSoupStyleSheetHandler(null, ac);
+ handler.parse(is, fileName);
+
+ handleRequest(ac, res, fileName, handler.getStyleSheet(), output,
+ warningLevel, errorReport);
+ }
+ } catch (ProtocolException pex) {
+ if (Util.onDebug) {
+ pex.printStackTrace();
+ }
+ res.setHeader("WWW-Authenticate", pex.getMessage());
+ res.sendError(HttpServletResponse.SC_UNAUTHORIZED);
+ } catch (Exception e) {
+ handleError(res, ac, output, fileName, e, false);
}
- res.setHeader("WWW-Authenticate", pex.getMessage());
- res.sendError(HttpServletResponse.SC_UNAUTHORIZED);
- } catch (Exception e) {
- handleError(res, ac, output, fileName, e, false);
}
}
Util.verbose("CssValidator: Request terminated.\n");
@@ -667,6 +682,12 @@ public void doPost(HttpServletRequest req, HttpServletResponse res)
fileName = file.getName();
Util.verbose("File : " + fileName);
} else {
+ // check POSTED text for possible scam
+ EmailValidator ev = EmailValidator.getInstance();
+ if (ev.isValid(text)) {
+ handleScam(ac, text, res, output, warningLevel, errorReport);
+ return;
+ }
ac.setFakeText(text);
fileName = "TextArea";
Util.verbose("- " + fileName + " Data -");
@@ -724,6 +745,27 @@ public void doPost(HttpServletRequest req, HttpServletResponse res)
Util.verbose("CssValidator: Request terminated.\n");
}
+ private void handleScam(ApplContext ac, String uri, HttpServletResponse res, String output,
+ int warningLevel, boolean errorReport)
+ throws IOException {
+ // so it is an email and not a URL, do something clever.
+ String fileName = "email";
+ InputStream is = new ByteArrayInputStream("".getBytes());
+ fileName = "file://" + fileName;
+ try {
+ TagSoupStyleSheetHandler handler = new TagSoupStyleSheetHandler(null, ac);
+ handler.parse(is, fileName);
+ // add a warning
+ Errors e = new Errors();
+ e.addError(new CssError(new InvalidParamException("email", uri, ac)));
+ handler.getStyleSheet().addErrors(e);
+ handleRequest(ac, res, fileName, handler.getStyleSheet(), output,
+ warningLevel, errorReport);
+ } catch (Exception e) {
+ handleError(res, ac, output, fileName, e, false);
+ }
+ }
+
private void handleRequest(ApplContext ac, HttpServletResponse res,
String title, StyleSheet styleSheet,
String output, int warningLevel,
diff --git a/org/w3c/css/util/Messages.properties.en b/org/w3c/css/util/Messages.properties.en
index 4b59a66da..6251efebc 100644
--- a/org/w3c/css/util/Messages.properties.en
+++ b/org/w3c/css/util/Messages.properties.en
@@ -444,3 +444,5 @@ error.invalidtype: Invalid type: \u201C%s\u201D
error.typevaluemismatch: The value \u201C%s\u201D is incompatible with its type definition <\u201C%s\u201D>
error.emptymedia: In CSS2, the media type in @media is mandatory
+
+error.email: email addresses cannot be validated by this tool, you might be scammed
diff --git a/org/w3c/css/util/Messages.properties.fr b/org/w3c/css/util/Messages.properties.fr
index d57342dec..b86ba1c35 100644
--- a/org/w3c/css/util/Messages.properties.fr
+++ b/org/w3c/css/util/Messages.properties.fr
@@ -465,3 +465,5 @@ error.invalidtype: Type invalide: \u201C%s\u201D
error.typevaluemismatch: La valeur \u201C%s\u201D est incompatible avec sa définition de type <\u201C%s\u201D>
error.emptymedia: En CSS2, l'indication du type de media dans la règle @media est ogligatoire
+
+error.email: Les adresses email ne peuvent être validées par cet outil, il est possible que vous soyez victime d'une escroquerie
diff --git a/translations.html b/translations.html
index a834dac9e..23302304a 100644
--- a/translations.html
+++ b/translations.html
@@ -52,11 +52,11 @@
Help complete the translation of the validator in your language
Italiano 82% |
Nederlands 82% |
日本語 82% |
- Polski 93% |
+ Polski 92% |
Português 96% |
Русский 86% |
فارسی 80% |
- Svenska 100% |
+ Svenska 99% |
Български 85% |
Українська 83% |
Čeština 83% |
@@ -1068,6 +1068,26 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
+| error.email email addresses cannot be validated by this tool, you might be scammed | ✘ |
+✘ |
+✔ |
+✘ |
+✘ |
+✘ |
+✘ |
+✘ |
+✘ |
+✘ |
+✘ |
+✘ |
+✘ |
+✘ |
+✘ |
+✘ |
+✘ |
+✘ |
+✘ |
+✘ |
|---|
| error.emptymedia In CSS2, the media type in @media is mandatory | ✘ |
✘ |
✔ |
@@ -1248,7 +1268,7 @@ Help complete the translation of the validator in your language
✘ |
✔ |
✘ |
-
|---|
| error.groupname “%s” is not a correct groupname. Use a valid identifier | ✔ |
+
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| error.groupname “%s” is not a correct groupname. Use a valid identifier | ✔ |
✔ |
✔ |
✔ |
@@ -1268,7 +1288,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| error.id ID selector #%s is invalid ! Only one ID selector can be specified in a simple selector: %s. | ✔ |
+
|---|
| error.id ID selector #%s is invalid ! Only one ID selector can be specified in a simple selector: %s. | ✔ |
✔ |
✔ |
✔ |
@@ -1488,7 +1508,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| error.negative-value “%s” negative values are not allowed | ✔ |
+
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| error.negative-value “%s” negative values are not allowed | ✔ |
✔ |
✔ |
✔ |
@@ -1508,7 +1528,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| error.noatruleyet Other @rules than @import are not supported by CSS1 “%s” | ✔ |
+
|---|
| error.noatruleyet Other @rules than @import are not supported by CSS1 “%s” | ✔ |
✔ |
✔ |
✔ |
@@ -1728,7 +1748,7 @@ Help complete the translation of the validator in your language
✘ |
✔ |
✘ |
-
|---|
| error.notforatsc “%s” can not be used with ATSC profile | ✔ |
+
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| error.notforatsc “%s” can not be used with ATSC profile | ✔ |
✔ |
✔ |
✔ |
@@ -1748,7 +1768,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| error.notforcss1 Value “%s” does not exist for CSS1 | ✔ |
+
|---|
| error.notforcss1 Value “%s” does not exist for CSS1 | ✔ |
✔ |
✔ |
✔ |
@@ -1968,7 +1988,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| error.pseudo-class The pseudo-class .“%s” can't appear here in the HTML context “%s” | ✔ |
+
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| error.pseudo-class The pseudo-class .“%s” can't appear here in the HTML context “%s” | ✔ |
✔ |
✔ |
✔ |
@@ -1988,7 +2008,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| error.pseudo-element The pseudo-element “%s” can't appear here in the context “%s” | ✔ |
+
|---|
| error.pseudo-element The pseudo-element “%s” can't appear here in the context “%s” | ✔ |
✔ |
✔ |
✔ |
@@ -2208,7 +2228,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| error.system-font-keyword-not-sole-value No other property values should be used with “%s”. It should be the sole value; e.g., “p { font: %s; }” | ✘ |
+
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| error.system-font-keyword-not-sole-value No other property values should be used with “%s”. It should be the sole value; e.g., “p { font: %s; }” | ✘ |
✘ |
✔ |
✘ |
@@ -2228,7 +2248,7 @@ Help complete the translation of the validator in your language
✘ |
✘ |
✘ |
-
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| error.todo Sorry the feature “%s” is not implemented yet. | ✔ |
+
|---|
| error.todo Sorry the feature “%s” is not implemented yet. | ✔ |
✔ |
✔ |
✔ |
@@ -2448,7 +2468,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| errors_sorry_msg Sorry! We found the following errors | ✔ |
+
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| errors_sorry_msg Sorry! We found the following errors | ✔ |
✔ |
✔ |
✔ |
@@ -2468,7 +2488,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| feedback Feedback | ✔ |
+
|---|
| feedback Feedback | ✔ |
✔ |
✔ |
✔ |
@@ -2688,7 +2708,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| generator.unrecognize Parse Error | ✔ |
+
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| generator.unrecognize Parse Error | ✔ |
✔ |
✔ |
✔ |
@@ -2708,7 +2728,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| generator.unrecognized Unrecognized | ✔ |
+
|---|
| generator.unrecognized Unrecognized | ✔ |
✔ |
✔ |
✔ |
@@ -2928,7 +2948,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| more_options More Options | ✔ |
+
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| more_options More Options | ✔ |
✔ |
✔ |
✔ |
@@ -2948,7 +2968,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| most_important Most important | ✔ |
+
|---|
| most_important Most important | ✔ |
✔ |
✔ |
✔ |
@@ -3168,7 +3188,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| not-css1-style /* BE CAREFUL ! This is not a CSS1 property ! */ | ✔ |
+
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| not-css1-style /* BE CAREFUL ! This is not a CSS1 property ! */ | ✔ |
✔ |
✔ |
✔ |
@@ -3188,7 +3208,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| note Note | ✔ |
+
|---|
| note Note | ✔ |
✔ |
✔ |
✔ |
@@ -3408,7 +3428,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| parser.id_dim In CSS1, an id name can start with a digit ("#55ft"), unless it is a dimension ("#55in"). | ✔ |
+
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| parser.id_dim In CSS1, an id name can start with a digit ("#55ft"), unless it is a dimension ("#55in"). | ✔ |
✔ |
✔ |
✔ |
@@ -3428,7 +3448,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| parser.import_not_allowed @import are not allowed after any valid statement other than @charset and @import. | ✔ |
+
|---|
| parser.import_not_allowed @import are not allowed after any valid statement other than @charset and @import. | ✔ |
✔ |
✔ |
✔ |
@@ -3648,7 +3668,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| servlet.invalid-request You have sent an invalid request. | ✔ |
+
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| servlet.invalid-request You have sent an invalid request. | ✔ |
✔ |
✔ |
✔ |
@@ -3668,7 +3688,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| servlet.process Can't process the object | ✔ |
+
|---|
| servlet.process Can't process the object | ✔ |
✔ |
✔ |
✔ |
@@ -3888,7 +3908,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| tty TTY | ✔ |
+
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| tty TTY | ✔ |
✔ |
✔ |
✔ |
@@ -3908,7 +3928,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| tv TV | ✔ |
+
|---|
| tv TV | ✔ |
✔ |
✔ |
✔ |
@@ -4128,7 +4148,7 @@ Help complete the translation of the validator in your language
✘ |
✔ |
✘ |
-
|---|
| vext_errors Errors | ✘ |
+
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| vext_errors Errors | ✘ |
✘ |
✔ |
✔ |
@@ -4148,7 +4168,7 @@ Help complete the translation of the validator in your language
✘ |
✔ |
✔ |
-
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| vext_warnings Warnings | ✘ |
+
|---|
| vext_warnings Warnings | ✘ |
✘ |
✔ |
✔ |
@@ -4368,7 +4388,7 @@ Help complete the translation of the validator in your language
✘ |
✘ |
✘ |
-
|---|
| warning.deprecatedmedia The media “%s” has been deprecated | ✘ |
+
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| warning.deprecatedmedia The media “%s” has been deprecated | ✘ |
✘ |
✔ |
✘ |
@@ -4388,7 +4408,7 @@ Help complete the translation of the validator in your language
✘ |
✘ |
✘ |
-
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| warning.deprecatedproperty The property “%s” is deprecated | ✘ |
+
|---|
| warning.deprecatedproperty The property “%s” is deprecated | ✘ |
✘ |
✔ |
✘ |
@@ -4608,7 +4628,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| warning.negative negative value “%s” will be interpreted as “0” | ✘ |
+
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| warning.negative negative value “%s” will be interpreted as “0” | ✘ |
✘ |
✔ |
✘ |
@@ -4628,7 +4648,7 @@ Help complete the translation of the validator in your language
✘ |
✘ |
✔ |
-
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| warning.no-background-color You have no background-color set (or background-color is set to transparent) but you have set a color. Make sure that cascading of colors keeps the text reasonably legible. | ✔ |
+
|---|
| warning.no-background-color You have no background-color set (or background-color is set to transparent) but you have set a color. Make sure that cascading of colors keeps the text reasonably legible. | ✔ |
✔ |
✔ |
✔ |
@@ -4848,7 +4868,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| warning.notforusermedium Property “%s” doesn't exist for this usermedium | ✔ |
+
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| warning.notforusermedium Property “%s” doesn't exist for this usermedium | ✔ |
✔ |
✔ |
✔ |
@@ -4868,7 +4888,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| warning.notversion “%s” can not be used with this version of CSS : “%s” | ✔ |
+
|---|
| warning.notversion “%s” can not be used with this version of CSS : “%s” | ✔ |
✔ |
✔ |
✔ |
@@ -5088,7 +5108,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| warning.same-colors2 Same colors for color and background-color in two contexts “%s” and “%s” | ✔ |
+
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| warning.same-colors2 Same colors for color and background-color in two contexts “%s” and “%s” | ✔ |
✔ |
✔ |
✔ |
@@ -5108,7 +5128,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| warning.shape-separator Invalid separator in shape definition. It must be a comma. | ✘ |
+
|---|
| warning.shape-separator Invalid separator in shape definition. It must be a comma. | ✘ |
✘ |
✔ |
✘ |
@@ -5328,7 +5348,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| warning.xsl value “%s” only applies to XSL | ✔ |
+
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| warning.xsl value “%s” only applies to XSL | ✔ |
✔ |
✔ |
✔ |
@@ -5348,7 +5368,7 @@ Help complete the translation of the validator in your language
✔ |
✔ |
✔ |
-
|---|
| Property | Deutsch | Español | Français | 한국어 | Italiano | Nederlands | 日本語 | Polski | Português | Русский | فارسی | Svenska | Български | Українська | Čeština | Romanian | Magyar | Ελληνικά | हिन्दी | 简体中文 |
|---|
| warning.zero only “0” can be a “%s”. You must put a unit after your number | ✔ |
+
|---|
| warning.zero only “0” can be a “%s”. You must put a unit after your number | ✔ |
✔ |
✔ |
✔ |
|---|