diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile | 30 | ||||
-rw-r--r-- | src/load-locale-messages.sh.in | 33 | ||||
-rw-r--r-- | src/locale/eo.sh | 20 | ||||
-rw-r--r-- | src/locale/fr.sh | 20 | ||||
-rw-r--r-- | src/locale/pt.sh | 20 |
6 files changed, 115 insertions, 9 deletions
@@ -1,5 +1,6 @@ /public/ /src/git-permalink +/src/load-locale-messages.sh *.mo *.po~ /tests/remotes/ @@ -1,17 +1,29 @@ .POSIX: -PREFIX = /usr/local -MANPREFIX = $(PREFIX)/share/man DATE = 2021-07-16 VERSION = 0.2.3 NAME = git-permalink MAILING_LIST = public-inbox TRANSLATIONS = pt fr eo CONTRIBLANGS = +PREFIX = /usr/local +BINDIR = $(PREFIX)/bin +LIBEXECDIR = $(PREFIX)/libexec +SHAREDIR = $(PREFIX)/share +LOCALEDIR = $(SHAREDIR)/locale +MANDIR = $(SHAREDIR)/man + +.SUFFIXES: .SUFFIXES: .in .in: - sed -e 's/@VERSION@/$(VERSION)/g' -e 's/@DATE@/$(DATE)/g' < $< > $@ + sed \ + -e 's:@VERSION@:$(VERSION):g' \ + -e 's:@DATE@:$(DATE):g' \ + -e 's:@NAME@:$(NAME):g' \ + -e 's:@LIBEXECDIR@:$(LIBEXECDIR):g' \ + -e 's:@LOCALEDIR@:$(LOCALEDIR):g' \ + < $< > $@ if [ -x $< ]; then chmod +x $@; fi @@ -24,7 +36,7 @@ manpages.in = $(manpages.en.in) \ manpages = $(manpages.in:.in=) -all: src/git-permalink $(manpages) +all: src/git-permalink src/load-locale-messages.sh $(manpages) check: all sh tests/cli-opts.sh @@ -35,13 +47,13 @@ clean: src/git-permalink tests/destdirs/ tests/prefix/ tests/remotes/ install: all - mkdir -p $(DESTDIR)$(PREFIX)/bin - cp src/git-permalink $(DESTDIR)$(PREFIX)/bin - sh doc/manpages.sh -ip $(DESTDIR)$(MANPREFIX) $(manpages) + mkdir -p $(DESTDIR)$(BINDIR) + cp src/git-permalink $(DESTDIR)$(BINDIR) + sh doc/manpages.sh -ip $(DESTDIR)$(MANDIR) $(manpages) uninstall: - rm -f $(DESTDIR)$(PREFIX)/bin/git-permalink - sh doc/manpages.sh -up $(DESTDIR)$(MANPREFIX) $(manpages) + rm -f $(DESTDIR)$(BINDIR)/git-permalink + sh doc/manpages.sh -up $(DESTDIR)$(MANDIR) $(manpages) # diff --git a/src/load-locale-messages.sh.in b/src/load-locale-messages.sh.in new file mode 100644 index 0000000..4840e0f --- /dev/null +++ b/src/load-locale-messages.sh.in @@ -0,0 +1,33 @@ +#!/bin/sh +set -eu + +get_lang() { + # LC_MESSAGES="ll_CC.CODESET@modifier" -> ll_CC, where quotes are + # optional + locale 2>/dev/null | + grep ^LC_MESSAGES | + cut -d. -f1 | + cut -d\" -f2 | + cut -d= -f2 +} + +locpath() { + lang="$1" + printf '@LOCALEDIR@/%s/LC_MESSAGES/@NAME@.sh' "$lang" +} + +ll_CC="$(get_lang)" +ll="$(echo "$ll_CC" | cut -d_ -f1)" + +if [ -r "$(locpath "$ll")" ]; then + . "$(locpath "$ll")" +fi + +if [ -r "$(locpath "$ll_CC")" ]; then + . "$(locpath "$ll_CC")" +fi + +# locale hierarchy: +# 1. the language+country specific message +# 2. the language specific message +# 3. the default fallback value diff --git a/src/locale/eo.sh b/src/locale/eo.sh new file mode 100644 index 0000000..6e77ec9 --- /dev/null +++ b/src/locale/eo.sh @@ -0,0 +1,20 @@ +#!/bin/sh +set -eu + +MSG_USAGE='Uzmaniero: git permalink [-phV] DOSIERO [LINIONO]' + +MSG_HELP='Ebloj: + -p nur presas la ligon, ne provas malfermi ĝin + -h, --help montras ĉi tiun helpmesaĝon + -V, --version presas la versian numeron + +Vidu "man git-permalink" por pliaj informoj.' + +MSG_MISSING_FILE="La argumento DOSIERO mankas." + +MSG_UNSUPPORTED_ORIGIN='Origo ne estas subtenata: %s. + +Aldoni anstataŭan ŝablonon por uzi git-permalink (vidu +"man git-permalink.1" por instrukcioj).' + +MSG_OPEN='Malfermado de %s' diff --git a/src/locale/fr.sh b/src/locale/fr.sh new file mode 100644 index 0000000..455912f --- /dev/null +++ b/src/locale/fr.sh @@ -0,0 +1,20 @@ +#!/bin/sh +set -eu + +MSG_USAGE='Usage: git permalink [-phV] FICHIER [LINENO]' + +MSG_HELP='Options: + -p seulement imprimez le lien, n'"'"'essayez pas de l'"'"'ouvrir + -h, --help afficher ce message d'"'"'aide + -V, --version imprime le numeró de version + +Voir "man git-permalink" pour plus d'"'"'informations.' + +MSG_MISSING_FILE="L'argument FICHIER manque." + +MSG_UNSUPPORTED_ORIGIN='Origine n'"'"'es pas supporté: %s. + +Ajouter un modèle de remplacement pour utilisér git-permalink (regarde +"man git-permalink.1" pour les instructions).' + +MSG_OPEN='Ouverture de %s' diff --git a/src/locale/pt.sh b/src/locale/pt.sh new file mode 100644 index 0000000..e0ae89d --- /dev/null +++ b/src/locale/pt.sh @@ -0,0 +1,20 @@ +#!/bin/sh +set -eu + +MSG_USAGE='Uso: git permalink [-phV] ARQUIVO [NOLINHA]' + +MSG_HELP='Opções: + -p somemente imprime o link, não tenta abrí-lo + -h, --help mostra esta mensagem de ajuda + -V, --version imprime o número de versão + +Veja "man git-permalink" para mais informações.' + +MSG_MISSING_FILE="Faltando argumento ARQUIVO." + +MSG_UNSUPPORTED_ORIGIN='Origem sem suporte: %s. + +Adicione um modelo de substituição para usar o git-permalink (veja +"man git-permalink.1" para mais instruções).' + +MSG_OPEN='Abrindo %s' |