* 2024-02-15 21:17:44+0100, Franco Martelli wrote:

> Doesn't LC_ALL=C setting override LANG or LANGUAGE settings?

LC_ALL overrides LC_* variables. It's easy to test:

    $ locale
    LANG=fi_FI.UTF-8
    LANGUAGE=fi
    LC_CTYPE="fi_FI.UTF-8"
    LC_NUMERIC="fi_FI.UTF-8"
    LC_TIME="fi_FI.UTF-8"
    LC_COLLATE="fi_FI.UTF-8"
    LC_MONETARY="fi_FI.UTF-8"
    LC_MESSAGES=C
    LC_PAPER="fi_FI.UTF-8"
    LC_NAME="fi_FI.UTF-8"
    LC_ADDRESS="fi_FI.UTF-8"
    LC_TELEPHONE="fi_FI.UTF-8"
    LC_MEASUREMENT="fi_FI.UTF-8"
    LC_IDENTIFICATION="fi_FI.UTF-8"


    $ LC_ALL=C locale
    LANG=fi_FI.UTF-8
    LANGUAGE=fi
    LC_CTYPE="C"
    LC_NUMERIC="C"
    LC_TIME="C"
    LC_COLLATE="C"
    LC_MONETARY="C"
    LC_MESSAGES="C"
    LC_PAPER="C"
    LC_NAME="C"
    LC_ADDRESS="C"
    LC_TELEPHONE="C"
    LC_MEASUREMENT="C"
    LC_IDENTIFICATION="C"
    LC_ALL=C

    $ LC_ALL=C.UTF-8 locale
    LANG=fi_FI.UTF-8
    LANGUAGE=fi
    LC_CTYPE="C.UTF-8"
    LC_NUMERIC="C.UTF-8"
    LC_TIME="C.UTF-8"
    LC_COLLATE="C.UTF-8"
    LC_MONETARY="C.UTF-8"
    LC_MESSAGES="C.UTF-8"
    LC_PAPER="C.UTF-8"
    LC_NAME="C.UTF-8"
    LC_ADDRESS="C.UTF-8"
    LC_TELEPHONE="C.UTF-8"
    LC_MEASUREMENT="C.UTF-8"
    LC_IDENTIFICATION="C.UTF-8"
    LC_ALL=C.UTF-8

In my opinion it's often too much to set LC_ALL=C because it changes
charset to ASCII (LC_CTYPE).

To change programs' output messages to English LC_MESSAGES=C is often
enough. Sometimes LC_TIME and LC_NUMERIC are required too.

-- 
/// Teemu Likonen - .-.. https://www.iki.fi/tlikonen/
// OpenPGP: 6965F03973F0D4CA22B9410F0F2CAE0E07608462

Attachment: signature.asc
Description: PGP signature

Reply via email to