Skip to content

Commit e9480f4

Browse files
author
Bastian Heist
committed
TASK: Add correct plural forms to translations
1 parent 9f1fdeb commit e9480f4

File tree

4 files changed

+77
-34
lines changed

4 files changed

+77
-34
lines changed

Classes/Domain/Validator/CustomPasswordDtoValidator.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,25 +61,25 @@ protected function isValid($value)
6161

6262
// minNumberOfLowercaseLetters
6363
if (!$value->doesPasswordContainLowercaseLetters($this->passwordConstraints['minNumberOfLowercaseLetters'])) {
64-
$message = $this->translator->translateById('validations.password.lowercase', [$this->passwordConstraints['minNumberOfLowercaseLetters']], null, null, 'Main', 'Sandstorm.UserManagement');
64+
$message = $this->translator->translateById('validations.password.lowercase', [$this->passwordConstraints['minNumberOfLowercaseLetters']], $this->passwordConstraints['minNumberOfLowercaseLetters'], null, 'Main', 'Sandstorm.UserManagement');
6565
$this->result->forProperty('password')->addError(new Error($message, 1542220177));
6666
}
6767

6868
// minNumberOfUppercaseLetters
6969
if (!$value->doesPasswordContainUppercaseLetters($this->passwordConstraints['minNumberOfUppercaseLetters'])) {
70-
$message = $this->translator->translateById('validations.password.uppercase', [$this->passwordConstraints['minNumberOfUppercaseLetters']], null, null, 'Main', 'Sandstorm.UserManagement');
70+
$message = $this->translator->translateById('validations.password.uppercase', [$this->passwordConstraints['minNumberOfUppercaseLetters']], $this->passwordConstraints['minNumberOfUppercaseLetters'], null, 'Main', 'Sandstorm.UserManagement');
7171
$this->result->forProperty('password')->addError(new Error($message, 1542220177));
7272
}
7373

7474
// minNumberOfNumbers
7575
if (!$value->doesPasswordContainNumbers($this->passwordConstraints['minNumberOfNumbers'])) {
76-
$message = $this->translator->translateById('validations.password.numbers', [$this->passwordConstraints['minNumberOfNumbers']], null, null, 'Main', 'Sandstorm.UserManagement');
76+
$message = $this->translator->translateById('validations.password.numbers', [$this->passwordConstraints['minNumberOfNumbers']], $this->passwordConstraints['minNumberOfNumbers'], null, 'Main', 'Sandstorm.UserManagement');
7777
$this->result->forProperty('password')->addError(new Error($message, 1542220177));
7878
}
7979

80-
// minNumberOfNumbers
80+
// minNumberOfSpecialCharacters
8181
if (!$value->doesPasswordContainSpecialCharacters($this->passwordConstraints['minNumberOfSpecialCharacters'])) {
82-
$message = $this->translator->translateById('validations.password.special', [$this->passwordConstraints['minNumberOfSpecialCharacters']], null, null, 'Main', 'Sandstorm.UserManagement');
82+
$message = $this->translator->translateById('validations.password.special', [$this->passwordConstraints['minNumberOfSpecialCharacters']], $this->passwordConstraints['minNumberOfSpecialCharacters'], null, 'Main', 'Sandstorm.UserManagement');
8383
$this->result->forProperty('password')->addError(new Error($message, 1542220177));
8484
}
8585
}

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,6 @@ Feel free to submit issues/PRs :)
360360

361361
# 6. TODOs
362362

363-
* An important missing feature: configuring password restrictions (8 chars min, a smiley and a celtic rune, ...)
364363
* I18N for Templates.
365364
* More Tests.
366365

Resources/Private/Translations/de/Main.xlf

Lines changed: 40 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,46 @@
1818
<source>Your password must be at most {0} characters long.</source>
1919
<target>Das Passwort darf höchstens {0} Zeichen lang sein.</target>
2020
</trans-unit>
21-
<trans-unit id="validations.password.lowercase" xml:space="preserve">
22-
<source>Your password needs to contain at least {0} lowercase letters.</source>
23-
<target>Das Passwort muss mindestens {0} Kleinbuchstaben enthalten.</target>
24-
</trans-unit>
25-
<trans-unit id="validations.password.uppercase" xml:space="preserve">
26-
<source>Your password needs to contain at least {0} uppercase letters.</source>
27-
<target>Das Passwort muss mindestens {0} Großbuchstaben enthalten.</target>
28-
</trans-unit>
29-
<trans-unit id="validations.password.numbers" xml:space="preserve">
30-
<source>Your password needs to contain at least {0} numbers.</source>
31-
<target>Das Passwort muss mindestens {0} Zahlen enthalten.</target>
32-
</trans-unit>
33-
<trans-unit id="validations.password.special" xml:space="preserve">
34-
<source>Your password needs to contain at least {0} special characters (e.g. %!=).</source>
35-
<target>Das Passwort muss mindestens {0} Sonderzeichen (z.B. %!=) enthalten.</target>
36-
</trans-unit>
21+
<group id="validations.password.lowercase" restype="x-gettext-plurals">
22+
<trans-unit id="validations.password.lowercase[0]">
23+
<source>Your password needs to contain at least {0} lowercase letter.</source>
24+
<target>Das Passwort muss mindestens {0} Kleinbuchstaben enthalten.</target>
25+
</trans-unit>
26+
<trans-unit id="validations.password.lowercase[1]">
27+
<source>Your password needs to contain at least {0} lowercase letters.</source>
28+
<target>Das Passwort muss mindestens {0} Kleinbuchstaben enthalten.</target>
29+
</trans-unit>
30+
</group>
31+
<group id="validations.password.uppercase" restype="x-gettext-plurals">
32+
<trans-unit id="validations.password.uppercase[0]">
33+
<source>Your password needs to contain at least {0} uppercase letter.</source>
34+
<target>Das Passwort muss mindestens {0} Großbuchstaben enthalten.</target>
35+
</trans-unit>
36+
<trans-unit id="validations.password.uppercase[1]">
37+
<source>Your password needs to contain at least {0} uppercase letters.</source>
38+
<target>Das Passwort muss mindestens {0} Großbuchstaben enthalten.</target>
39+
</trans-unit>
40+
</group>
41+
<group id="validations.password.numbers" restype="x-gettext-plurals">
42+
<trans-unit id="validations.password.numbers[0]">
43+
<source>Your password needs to contain at least {0} number.</source>
44+
<target>Das Passwort muss mindestens {0} Zahl enthalten.</target>
45+
</trans-unit>
46+
<trans-unit id="validations.password.numbers[1]">
47+
<source>Your password needs to contain at least {0} numbers.</source>
48+
<target>Das Passwort muss mindestens {0} Zahlen enthalten.</target>
49+
</trans-unit>
50+
</group>
51+
<group id="validations.password.special" restype="x-gettext-plurals">
52+
<trans-unit id="validations.password.special[0]">
53+
<source>Your password needs to contain at least {0} special character.</source>
54+
<target>Das Passwort muss mindestens {0} Sonderzeichen (z.B. %!=) enthalten.</target>
55+
</trans-unit>
56+
<trans-unit id="validations.password.special[1]">
57+
<source>Your password needs to contain at least {0} special characters.</source>
58+
<target>Das Passwort muss mindestens {0} Sonderzeichen (z.B. %!=) enthalten.</target>
59+
</trans-unit>
60+
</group>
3761
</body>
3862
</file>
3963
</xliff>

Resources/Private/Translations/en/Main.xlf

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,38 @@
1414
<trans-unit id="validations.password.maxlength" xml:space="preserve">
1515
<source>Your password must be at most {0} characters long.</source>
1616
</trans-unit>
17-
<trans-unit id="validations.password.lowercase" xml:space="preserve">
18-
<source>Your password needs to contain at least {0} lowercase letters.</source>
19-
</trans-unit>
20-
<trans-unit id="validations.password.uppercase" xml:space="preserve">
21-
<source>Your password needs to contain at least {0} uppercase letters.</source>
22-
</trans-unit>
23-
<trans-unit id="validations.password.numbers" xml:space="preserve">
24-
<source>Your password needs to contain at least {0} numbers.</source>
25-
</trans-unit>
26-
<trans-unit id="validations.password.special" xml:space="preserve">
27-
<source>Your password needs to contain at least {0} special characters (e.g. %!=).</source>
28-
</trans-unit>
17+
<group id="validations.password.lowercase" restype="x-gettext-plurals">
18+
<trans-unit id="validations.password.lowercase[0]">
19+
<source>Your password needs to contain at least {0} lowercase letter.</source>
20+
</trans-unit>
21+
<trans-unit id="validations.password.lowercase[1]">
22+
<source>Your password needs to contain at least {0} lowercase letters.</source>
23+
</trans-unit>
24+
</group>
25+
<group id="validations.password.uppercase" restype="x-gettext-plurals">
26+
<trans-unit id="validations.password.uppercase[0]">
27+
<source>Your password needs to contain at least {0} uppercase letter.</source>
28+
</trans-unit>
29+
<trans-unit id="validations.password.uppercase[1]">
30+
<source>Your password needs to contain at least {0} uppercase letters.</source>
31+
</trans-unit>
32+
</group>
33+
<group id="validations.password.numbers" restype="x-gettext-plurals">
34+
<trans-unit id="validations.password.numbers[0]">
35+
<source>Your password needs to contain at least {0} number.</source>
36+
</trans-unit>
37+
<trans-unit id="validations.password.numbers[1]">
38+
<source>Your password needs to contain at least {0} numbers.</source>
39+
</trans-unit>
40+
</group>
41+
<group id="validations.password.special" restype="x-gettext-plurals">
42+
<trans-unit id="validations.password.special[0]">
43+
<source>Your password needs to contain at least {0} special character.</source>
44+
</trans-unit>
45+
<trans-unit id="validations.password.special[1]">
46+
<source>Your password needs to contain at least {0} special characters.</source>
47+
</trans-unit>
48+
</group>
2949
</body>
3050
</file>
3151
</xliff>

0 commit comments

Comments
 (0)