Problem/Motivation
At the moment the message in password policy table about character types is not fully translatable, because the character type variable in translation is a key of the options array and not the translatable label.
Remaining tasks:
- Review the patch attached

Comments
Comment #2
nerdsteinMoving to needs review
Comment #3
dani3lr0se commentedThanks for the patch. It applied successfully but it's still not translating for me. I added a new language, enabled configuration translation for password policy, but still see it in english instead of the language I added. See attached screenshot. Is there another step I should be taking?
Comment #4
imen ch commentedI have tested the patch and it solved the problem, but this patch do not solve the problem of labels ('at least', 'at most') witch are not translatable on PasswordLength plugin.
I created a new patch (based on translatable_character_types.patch) , to make labels ('at least', 'at most') translatable.
@daniel_rose : after applying the patch you should load Password Policy Constraints summary page: ( Configuration -> Security -> Password Policies -> Configure Constraints), and then on user interface translation, translate theses labels:
- Uppercase, Lowercase, Numeric, Special characters, at least, at most.
Comment #6
imen ch commentedImprove the patch code to validate Drupal coding standard.
Comment #7
imen ch commentedNew patch to validate Drupal coding standard
Comment #8
imen ch commentedNew patch to validate Drupal coding standard
Comment #9
imen ch commentedNew patch to validate Drupal coding standard
Comment #10
shortspoken commentedWorks as expected. Thanks for the patch. :)
Comment #11
michael.acampora commentedUpdated the patch, the password length check translations (at least, at most) are already implemented.
Comment #12
aohrvetpv commentedSetting to "Needs review" so tests are run.
Comment #14
natew commentedWe ran into the same issues, I am attaching a patch that handles translations and formatting for plurals. We tried to use the same method as the status for the constraints. Also added back the "at most" and "at least".
Comment #15
natew commentedComment #16
aohrvetpv commented#14 doesn't apply.
Comment #17
sylus commentedSince the bottom half of patch was added just adding this here with it removed.
Comment #18
aohrvetpv commentedComment #19
ant1#17 seems to fix the issue for me. Strings are being translated, as they should be. Thanks.
Comment #20
hoemmawelt commented# 17 seems to fix the issue for me too. Now it is possible to translate the strings.
Comment #21
narres commentedWhy not just to change
to
?
Comment #22
narres commentedComment #23
lamp5Patch #17 works well, It fix also singular/plural form. @narres about your patch, it is not good approach to pass variables to the t() function, please check https://www.drupal.org/docs/8/api/translation-api/overview#s-variables-in-user-interface-text
Comment #24
lamp5Comment #25
paulocsPatch #17 looks good!
I'm re-adding it because the last patch of the issue is the patch that should be committed.
Comment #26
nerdsteinMerging in #17 after my review - thanks all!
Comment #28
nerdsteinMarking as fixed, thanks!