mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-05-03 03:41: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
46 lines
1.1 KiB
Fish
46 lines
1.1 KiB
Fish
# localization: tier1
|
|
function prevd --description "Move back in the directory history"
|
|
set -l options h/help l/list
|
|
argparse -n prevd --max-args=1 $options -- $argv
|
|
or return
|
|
|
|
if set -q _flag_help
|
|
__fish_print_help prevd
|
|
return 0
|
|
end
|
|
|
|
set -l times 1
|
|
if set -q argv[1]
|
|
if test $argv[1] -ge 0 2>/dev/null
|
|
set times $argv[1]
|
|
else
|
|
printf (_ "%s: The number of positions to skip must be a non-negative integer\n") prevd >&2
|
|
return 1
|
|
end
|
|
end
|
|
|
|
# Traverse history
|
|
set -l code 1
|
|
for i in (seq $times)
|
|
# Try one step forward
|
|
if __fish_move_last dirprev dirnext
|
|
# We consider it a success if we were able to do at least 1 step
|
|
# (low expectations are the key to happiness ;)
|
|
set code 0
|
|
else
|
|
break
|
|
end
|
|
end
|
|
|
|
# Show history if needed
|
|
if set -q _flag_list
|
|
dirh
|
|
end
|
|
|
|
# Set direction for 'cd -'
|
|
test $code = 0
|
|
and set -g __fish_cd_direction next
|
|
|
|
return $code
|
|
end
|