Adapted to easily support more languages.