diff options
Diffstat (limited to 'MLEB/Translate/src/MessageValidator/Validators/IosVariableValidator.php')
-rw-r--r-- | MLEB/Translate/src/MessageValidator/Validators/IosVariableValidator.php | 21 |
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@])/" + ); + } +} |