In the German UI, the thousands separator "," is used. In Germany, we use "." (and "," for the decimal separator). If you use the ' printf(3)/sprintf(3) flag, all should be fine in all translations. Of course you can also use localeconv(3) to get out the thousands separator. Reproducible: Always Steps to Reproduce: 1. 2. 3. Actual Results: , is the thousands separator. Expected Results: . is the thousands separator. [~] $ locale LANG=de_DE@euro LC_CTYPE="de_DE@euro" LC_NUMERIC="de_DE@euro" LC_TIME="de_DE@euro" LC_COLLATE="de_DE@euro" LC_MONETARY="de_DE@euro" LC_MESSAGES="de_DE@euro" LC_PAPER="de_DE@euro" LC_NAME="de_DE@euro" LC_ADDRESS="de_DE@euro" LC_TELEPHONE="de_DE@euro" LC_MEASUREMENT="de_DE@euro" LC_IDENTIFICATION="de_DE@euro" LC_ALL=
fixed in CVS, thanks.