Jump to content

F36 i lokalizacja


ALvarez
 Share

Recommended Posts

Na PC zainstalowano Fedorę 36( nowa czysta instalacja)  z dwoma
użytkownikami A i B.
Użytkownik A założony na początku instalacji użytkownik B po
 pierwszym uruchomieniu po instalacji.
 Problem polega na tym, że część programów u użytkownika A jest po
polsku a część po angielsku. Użytkownik B ma wszysykie
zainstalowane programy po polsku.
Np. Inkscape u A angielski, u B polski, wywołany jako root - polski..
 Robiłem różne próby ale bez wyniku
 Co z tym można zrobic?

Link to comment
Share on other sites

tak to wygląda

zefir ~]$ locale
LANG=pl_PL.UTF-8
LC_CTYPE="pl_PL.UTF-8"
LC_NUMERIC=C.UTF-8
LC_TIME=C.UTF-8
LC_COLLATE="pl_PL.UTF-8"
LC_MONETARY=C.UTF-8
LC_MESSAGES="pl_PL.UTF-8"
LC_PAPER="pl_PL.UTF-8"
LC_NAME="pl_PL.UTF-8"
LC_ADDRESS="pl_PL.UTF-8"
LC_TELEPHONE="pl_PL.UTF-8"
LC_MEASUREMENT=C.UTF-8
LC_IDENTIFICATION="pl_PL.UTF-8"
LC_ALL=

zefir ~]$ localectl       
  System Locale: LANG=pl_PL.UTF-8
      VC Keymap: pl
     X11 Layout: pl


 

Link to comment
Share on other sites

16 minut temu, ALvarez napisał:

tak to wygląda

Zakładam, że jest to wynik dla użytkownika A.

Proponuje, dla wszystkich zmiennych gdzie jest wartość C.UTF-8 zmienić ustawienie na  pl_PL.UTF-8 poleceniem localectl, np.

localectl set-locale LC_NUMERIC=pl_PL.UTF-8

 

Link to comment
Share on other sites

tak, jest to wynik dla użytkownika A.

wykonałem to polecenie ale wartość LC_NUMERIC nie zmienia się, pozostaje C.UTF8.

@zefir ~]$ localectl set-locale LC_NUMERIC=pl_PL.UTF-8
@zefir ~]$ locale
LANG=pl_PL.UTF-8
LC_CTYPE="pl_PL.UTF-8"
LC_NUMERIC=C.UTF-8
LC_TIME=C.UTF-8
LC_COLLATE="pl_PL.UTF-8"
LC_MONETARY=C.UTF-8
LC_MESSAGES="pl_PL.UTF-8"
LC_PAPER="pl_PL.UTF-8"
LC_NAME="pl_PL.UTF-8"
LC_ADDRESS="pl_PL.UTF-8"
LC_TELEPHONE="pl_PL.UTF-8"
LC_MEASUREMENT=C.UTF-8
LC_IDENTIFICATION="pl_PL.UTF-8"
LC_ALL=

 

Mam wątpliwości wykonywania tego z poziomu root'a skoro skoro programy uruchamiane rootem są spolszczone.

Zainstalowałem F36 od  początku na drugim kompie  z tego samego źródła i wszystko jest OK(tylko jeden użytkownik)

Co robię źle??

Link to comment
Share on other sites

Dzień dobry w upale.

Wymienionych wyżej plików brak.

W /etc/profile/ jest plik lang.sh wklejony poniżej

 

# /etc/profile.d/lang.sh - exports environment variables, and provides fallback
#                          for CJK languages that can't be displayed in console.
#                          Resets the locale if unavailable.

unset LANG_backup

# If unavailable, reset to the default. Do this before reading in any
# explicit user configuration. We simply check if locale emits any
# warnings, and assume that the settings are invalid if it does.
if [ -n "$(/usr/bin/locale 2>&1 1>/dev/null)" ]; then
    [ -z "$LANG" ] || LANG=C.UTF-8
    unset LC_ALL
    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"
else
    LANG_backup="${LANG}"
fi

for config in /etc/locale.conf "${HOME}/.i18n"; do
    if [ -f "${config}" ]; then
        # NOTE: We are using eval & sed here to avoid invoking of any commands & functions from those files.
        if [ -x /usr/bin/sed ]; then
            eval $(/usr/bin/sed -r -e 's/^[[:blank:]]*([[:upper:]_]+)=([[:print:][:digit:]\._-]+|"[[:print:][:digit:]\._-]+")/export \1=\2/;t;d' ${config})
        else
            #but if we don't have sed, let's go old way and source it
            [ -f "${config}" ] && . "${config}"
        fi
    fi
done

if [ -n "${LANG_backup}" ]; then
    LANG="${LANG_backup}"
fi

unset LANG_backup config

# ----------------------------------------------

# The LC_ALL is not supposed to be set in /etc/locale.conf according to 'man 5 locale.conf'.
# If it is set, then we we expect it is user's explicit override (most likely from ~/.i18n file).
# See 'man 7 locale' for more info about LC_ALL.
if [ -n "${LC_ALL}" ]; then
    if [ "${LC_ALL}" != "${LANG}" -a -n "${LANG}" ]; then
        export LC_ALL
    else
        unset LC_ALL
    fi
fi

# The ${LANG} manipulation is necessary only in virtual terminal (a.k.a. console - /dev/tty*):
if [ -n "${LANG}" ] && [ "${TERM}" = 'linux' ] && /usr/bin/tty | /usr/bin/grep --quiet -e '/dev/tty'; then
    if /usr/bin/grep --quiet -E -i -e '^.+\.utf-?8$' <<< "${LANG}"; then
        case ${LANG} in
            ja*)    LANG=en_US.UTF-8 ;;
            ko*)    LANG=en_US.UTF-8 ;;
            si*)    LANG=en_US.UTF-8 ;;
            zh*)    LANG=en_US.UTF-8 ;;
            ar*)    LANG=en_US.UTF-8 ;;
            fa*)    LANG=en_US.UTF-8 ;;
            he*)    LANG=en_US.UTF-8 ;;
            en_IN*) true             ;;
            *_IN*)  LANG=en_US.UTF-8 ;;
        esac
    else
        case ${LANG} in
            ja*)    LANG=en_US ;;
            ko*)    LANG=en_US ;;
            si*)    LANG=en_US ;;
            zh*)    LANG=en_US ;;
            ar*)    LANG=en_US ;;
            fa*)    LANG=en_US ;;
            he*)    LANG=en_US ;;
            en_IN*) true       ;;
            *_IN*)  LANG=en_US ;;
        esac
    fi

    # NOTE: We are not exporting the ${LANG} here again on purpose.
    #       If user starts GUI session from console manually, then
    #       the previously set LANG should be okay to use.
fi

 

Link to comment
Share on other sites

Ponieważ jest dwoje użytkowników podaję:

Użyt, B - większość programów jest po polsku

Użyt, A - Tablica programów -  mieszana

                kaffeine - ang.

                pasjans - ang.

                kexi - amg.

                krusader - ang.

                inkscape - ang.

                digikam - ang.

i inne.

Oczywiście część jest po polsku jak np:  AudCITY, MONITOR SYSTEMU, DNFDRAGORA,

Większość programów ma opcję wybory języka ale w moim przypadku to nie działa,

Nie działa też komenda podana przez sunrise -  localectl set-locale LC_NUMERIC=pl_PL.UTF-8

 

Link to comment
Share on other sites

27 minut temu, ALvarez napisał:

Użyt, A - Tablica programów -  mieszana

                kaffeine - ang.

                pasjans - ang.

                kexi - amg.

                krusader - ang.

                inkscape - ang.

                digikam - ang.

 Masz sporo programów ze stajni KDE i QT. Używasz KDE? W takim razie co masz w ~/.config/plasma-localerc? W razie czego możesz bezpiecznie usunąć ten plik, przelogować się i w ustawieniach systemowych na nowo ustawić sobie poprawny język.

27 minut temu, ALvarez napisał:

W /etc/locale.conf jest

 

LANG="pl_PL.UTF-8"

Teoretycznie powinno wystarczyć, ale nie zaszkodzi, jak ustawisz trochę więcej. Tu przykład z mojego configu:

LANG=pl_PL.UTF-8
LC_ADDRESS=pl_PL.UTF-8
LC_IDENTIFICATION=pl_PL.UTF-8
LC_MEASUREMENT=pl_PL.UTF-8
LC_MONETARY=pl_PL.UTF-8
LC_NAME=pl_PL.UTF-8
LC_NUMERIC=pl_PL.UTF-8
LC_PAPER=pl_PL.UTF-8
LC_TELEPHONE=pl_PL.UTF-8
LC_TIME=pl_PL.UTF-8

 

Link to comment
Share on other sites

Gwoli ścisłości przypomnę jest dwóch użytkowników A i B

Użyt. A ma taki  ~/.config/plasma-localerc i mix językowy

[Formats]
LANG=pl_PL.UTF-8
LC_MEASUREMENT=Domyślne.UTF-8
LC_MONETARY=Domyślne.UTF-8
LC_NUMERIC=Domyślne.UTF-8
LC_TIME=Domyślne.UTF-8

[Translations]
LANGUAGE=pl:en_US

Użyt.B ma taki ~/.config/plasma-localerc i lokalizację polską

[Formats]
LANG=pl_PL.UTF-8

Zaraz sprawdzę jeden pomysł

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...