Daniel Muey
and 1 contributors


We want to make sure phrases end correctly and consistently.


Correct punctuation makes the meaning clearer to end users.

Clearer meaning makes it easier to make a good translation.

Consistent punctuation makes it easier for developers to work with.

Consistent punctuation is a sign of higher quality product.

Missing punctuation is a sign that partial phrases are in use or an error has been made.


… THIS FILTER Locale::Maketext::Utils::Phrase::Norm::Whitespace.

This is not enforced anywhere since we want to assume the coder knows what they are doing.

possible violations


possible warnings

Non title/label does not end with some sort of punctuation or bracket notation.

Problem should be self explanatory. Ending punctuation is not !, ?, ., :, bracket notation, or an ellipsis character.

If it is legit you could address this by adding a [comment] to the end for clarity and to make it harder to use as a partial phrase.

   For some reason I must not end well[comment,no puncuation because …]

If it is titlecase and it has word longer than 2 characters that must start with a lower case letter you have 2 options:

1 use asis()
    Buy [asis,aCme™] Products
2 use comment() with a comment that does not have a space or a non-break space:
    People [comment,this-has-to-start-with-lowercase-because-…]for Love

Entire filter only runs under extra filter mode.

See "extra filters" in Locale::Maketext::Utils::Phrase::Norm for more details.