Cestina v Mandrake 9.2

Tomas Rett rett na chmi.cz
Čtvrtek Listopad 13 12:31:42 CET 2003


Dne čt 13. listopadu 2003 12:16 jste napsal(a):
> On Thu, Nov 13, 2003 at 08:05:55AM +0100, Tomas Rett wrote:
> > Prosim o informaci, kde se nastavuje znakova sada (napr. pro prikaz man).
>
> /etc/sysconfig/i18n
>
> Co vypise prikaz "locale" ?

[rett na cps-rett /etc/sysconfig]$ locale
LANG=cs_CZ
LC_CTYPE=cs_CZ
LC_NUMERIC=cs_CZ
LC_TIME=cs_CZ
LC_COLLATE=cs_CZ
LC_MONETARY=cs_CZ
LC_MESSAGES=cs_CZ
LC_PAPER=cs_CZ
LC_NAME=cs_CZ
LC_ADDRESS=cs_CZ
LC_TELEPHONE=cs_CZ
LC_MEASUREMENT=cs_CZ
LC_IDENTIFICATION=cs_CZ
LC_ALL=

Zjistil jsem, ze ve verzi MDK 9.2 je nejak jinak napsany shell nroff pro groff 
a misto kodovani ascii (7bit) je potreba pouzit 8 bit pomoci nastaveni 
promenne LESSCHARSET=latin1 . Je to naprosty zmatek. V MDK 9.1 byly dostupne 
man stranky i v korejstine, atd.,  a groff umel kodovani ascii8 pro 8 bitu.

Ceske man stranky jsem rozchodil tedy pomoci export LESSCHARSET=latin1 v 
~/.bashrc , ale jinak se v problematice lokalizace nevyznam, zda se, ze MDK 
9.2 nema takovou podporu narodniho prostredi jako MDK 9.1 ?! MDK 9.1 mel i 
KOI8 kod.


Zatim moc dekuji, i18n jsem si prostudoval (viz vyse). Problem se presunul do 
roviny nastaveni groffu: groff -Tlatin1 misto groff -Tascii (groff -Tascii8 
na MDK 9.2 nejde).

Pro uplnost prikladam /usr/bin/nroff shell z MDK 9.2, na 9.1 je asi dvakrat 
obsaznejsi.

Tom

NROFF:
---------
#!/bin/sh
# Emulate nroff with groff.

prog="$0"
# Default device.
# First try the "locale charmap" command, because it's most reliable.
# On systems where it doesn't exist, look at the environment variables.
case "`locale charmap 2>/dev/null`" in
  UTF-8)
    T=-Tutf8 ;;
  ISO-8859-1)
    T=-Tlatin1 ;;
  IBM-1047)
    T=-Tcp1047 ;;
  *)
    case "${LC_ALL-${LC_CTYPE-${LANG}}}" in
      *.UTF-8)
        T=-Tutf8 ;;
      iso_8859_1 | *.ISO-8859-1)
        T=-Tlatin1 ;;
      *.IBM-1047)
        T=-Tcp1047 ;;
      *)
        case "$LESSCHARSET" in
          utf-8)
            T=-Tutf8 ;;
          latin1)
            T=-Tlatin1 ;;
          cp1047)
            T=-Tcp1047 ;;
          *)
            T=-Tascii ;;
          esac ;;
     esac ;;
esac
opts=
#!/bin/sh
# Emulate nroff with groff.

prog="$0"
# Default device.
# First try the "locale charmap" command, because it's most reliable.
# On systems where it doesn't exist, look at the environment variables.
case "`locale charmap 2>/dev/null`" in
  UTF-8)
    T=-Tutf8 ;;
  ISO-8859-1)
    T=-Tlatin1 ;;
  IBM-1047)
    T=-Tcp1047 ;;
  *)
    case "${LC_ALL-${LC_CTYPE-${LANG}}}" in
      *.UTF-8)
        T=-Tutf8 ;;
      iso_8859_1 | *.ISO-8859-1)
        T=-Tlatin1 ;;
      *.IBM-1047)
        T=-Tcp1047 ;;
      *)
        case "$LESSCHARSET" in
          utf-8)
            T=-Tutf8 ;;
          latin1)
            T=-Tlatin1 ;;
          cp1047)
            T=-Tcp1047 ;;
          *)
            T=-Tascii ;;
          esac ;;
     esac ;;
esac
opts=

# `for i; do' doesn't work with some versions of sh

for i
  do
  case $1 in
    -c)
      opts="$opts -P-c" ;;
    -h)
      opts="$opts -P-h" ;;
    -[eq] | -s*)
      # ignore these options
      ;;
    -[mrnoT])
      echo "$prog: option $1 requires an argument" >&2
      exit 1 ;;
    -[iptSUC] | -[mrno]*)
      opts="$opts $1" ;;
    -Tascii | -Tlatin1 | -Tutf8 | -Tcp1047)
      T=$1 ;;
    -T*)
      # ignore other devices
      ;;
    -u*)
      # Solaris 2.2 `man' uses -u0; ignore it,
      # since `less' and `more' can use the emboldening info.
      ;;
    -v | --version)
      echo "GNU nroff (groff) version 1.19"
      exit 0 ;;
    --help)
      echo "usage: nroff [-CchipStUv] [-mNAME] [-nNUM] [-oLIST] [-rCN] 
[-Tname] [FILE...]"
      exit 0 ;;
    --)
      shift
      break ;;
    -)
      break ;;
    -*)
      echo "$prog: invalid option $1" >&2
      exit 1 ;;
    *)
      break ;;
  esac
  shift
done

# This shell script is intended for use with man, so warnings are
# probably not wanted.  Also load nroff-style character definitions.


: ${GROFF_BIN_PATH=/usr/bin}
export GROFF_BIN_PATH
PATH=$GROFF_BIN_PATH:$PATH groff -mtty-char $T $opts ${1+"$@"}

# eof
# `for i; do' doesn't work with some versions of sh

for i
  do
  case $1 in
    -c)
      opts="$opts -P-c" ;;
    -h)
      opts="$opts -P-h" ;;
    -[eq] | -s*)
      # ignore these options
      ;;
    -[mrnoT])
      echo "$prog: option $1 requires an argument" >&2
      exit 1 ;;
    -[iptSUC] | -[mrno]*)
      opts="$opts $1" ;;
    -Tascii | -Tlatin1 | -Tutf8 | -Tcp1047)
      T=$1 ;;
    -T*)
      # ignore other devices
      ;;
    -u*)
      # Solaris 2.2 `man' uses -u0; ignore it,
      # since `less' and `more' can use the emboldening info.
      ;;
    -v | --version)
      echo "GNU nroff (groff) version 1.19"
      exit 0 ;;
    --help)
      echo "usage: nroff [-CchipStUv] [-mNAME] [-nNUM] [-oLIST] [-rCN] 
[-Tname] [FILE...]"
      exit 0 ;;
    --)
      shift
      break ;;
    -)
      break ;;
    -*)
      echo "$prog: invalid option $1" >&2
      exit 1 ;;
    *)
      break ;;
  esac
  shift
done

# This shell script is intended for use with man, so warnings are
# probably not wanted.  Also load nroff-style character definitions.


: ${GROFF_BIN_PATH=/usr/bin}
export GROFF_BIN_PATH
PATH=$GROFF_BIN_PATH:$PATH groff -mtty-char $T $opts ${1+"$@"}

# eof



Další informace o konferenci Linux