`ucfirst()` will cause localisation issues. We'll have to handle that differently.