Use late static binding in `Translator` class
Use late static binding in `Translator` class

Accessing its methods via `static::` instead of `self::` makes sure that method overrides in extending classes will be respected.

Also makes its properties protected instead of private, to avoid dynamic redeclaration in extending classes.

oscarotero/Gettext,oscarotero/Gettext