blob: 30404eb56449a6358d6a4ff35bf308c9f35e47f0 (
plain) (
tree)
|
|
#!/bin/sh
set -eu
usage() {
cat <<-'EOF'
Usage:
i18n
i18n -h
EOF
}
help() {
cat <<-'EOF'
Options:
-h, --help show this message
Look at the mappings file provided via STDIN and notify all of
the files of all of their translations, so that they can include
it in their header.
Examples:
Generate it from "po/i18n.mappings":
$ i18n < po/i18n.mappings
EOF
}
for flag in "$@"; do
case "$flag" in
--)
break
;;
--help)
usage
help
exit
;;
*)
;;
esac
done
while getopts 'h' flag; do
case "$flag" in
h)
usage
help
exit
;;
*)
usage >&2
exit 2
;;
esac
done
shift $((OPTIND - 1))
awk '
{
from = $3
idx[from][0] = "en:" from
for (i = 4; i <= NF; i++) {
to = $i
idx[from][length(idx[from])] = to
}
}
END {
for (k1 in idx) {
split(idx[k1][0], b, /:/)
base = b[2] ".i18n"
for (k2 in idx[k1]) {
split(idx[k1][k2], f, /:/)
file = f[2] ".i18n"
if (k2 == 0) {
for (k3 in idx[k1]) {
"url-for " f[2] | getline url
print idx[k1][k3] ":" url > file
}
} else {
ret = system("cp " base " " file)
if (ret) {
exit ret
}
}
}
}
}
'
|