mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-04-29 00:21:14 -03:00
The overwhelming majority of localizable messages comes from
completions:
$ ls share/completions/ | wc -l
$ 1048
OTOH functions also contribute a small amount, mostly via their
descriptions (so usually just one per file).
$ ls share/functions/ | wc -l
$ 237
Most of these are private and almost never shown to the user, so it's
not worth bothering translators with them. So:
- Skip private (see the parent commit) and deprecated functions.
- Skip wrapper functions like grep (where the translation seems to
be provided by apropos), and even the English description is not
helpful.
- Assume that most real systems have "seq", "realpath" etc.,
so it's no use providing our own translations for our fallbacks.
- Mark fish's own functions as tier1, and some barely-used functiosn
and completions as tier3, so we can order them that way in
po/*.po. Most translators should only look at tier1 and tier2.
In future we could disable localization for tier3.
See the explanation at the bottom of
tests/checks/message-localization-tier-is-declared.fish
Part of #11833
31 lines
582 B
Fish
31 lines
582 B
Fish
# localization: tier1
|
|
function isatty -d "Tests if a file descriptor is a tty"
|
|
set -l options h/help
|
|
argparse -n isatty $options -- $argv
|
|
or return
|
|
|
|
if set -q _flag_help
|
|
__fish_print_help isatty
|
|
return 0
|
|
end
|
|
|
|
if set -q argv[2]
|
|
printf (_ "%s: Too many arguments") isatty >&2
|
|
return 1
|
|
end
|
|
|
|
set -l fd
|
|
switch "$argv"
|
|
case stdin ''
|
|
set fd 0
|
|
case stdout
|
|
set fd 1
|
|
case stderr
|
|
set fd 2
|
|
case '*'
|
|
set fd $argv[1]
|
|
end
|
|
|
|
test -t "$fd"
|
|
end
|