summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'MLEB/Translate/src/MessageValidator/Validators/IosVariableValidator.php')
-rw-r--r--MLEB/Translate/src/MessageValidator/Validators/IosVariableValidator.php21
1 files changed, 21 insertions, 0 deletions
diff --git a/MLEB/Translate/src/MessageValidator/Validators/IosVariableValidator.php b/MLEB/Translate/src/MessageValidator/Validators/IosVariableValidator.php
new file mode 100644
index 00000000..938db1f9
--- /dev/null
+++ b/MLEB/Translate/src/MessageValidator/Validators/IosVariableValidator.php
@@ -0,0 +1,21 @@
+<?php
+declare( strict_types = 1 );
+
+namespace MediaWiki\Extensions\Translate\MessageValidator\Validators;
+
+// phpcs:disable Generic.Files.LineLength.TooLong
+/**
+ * An insertable IOS variable validator.
+ * See: https://github.com/dcordero/Rubustrings/blob/61d477bffbb318ca3ffed9c2afc49ec301931d93/lib/rubustrings/action.rb#L91
+ * @author Abijeet Patro
+ * @license GPL-2.0-or-later
+ * @since 2020.03
+ */
+class IosVariableValidator extends InsertableRegexValidator {
+ public function __construct() {
+ parent::__construct(
+ "/%(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|\'[^$])?" .
+ "(-)?(\d+)?(?:\.(\d+))?(hh|ll|[hlLzjt])?([b-fiosuxX@])/"
+ );
+ }
+}