summaryrefslogtreecommitdiffstats
path: root/debug/translation.bash
diff options
context:
space:
mode:
Diffstat (limited to 'debug/translation.bash')
-rw-r--r--debug/translation.bash100
1 files changed, 100 insertions, 0 deletions
diff --git a/debug/translation.bash b/debug/translation.bash
new file mode 100644
index 0000000..df4210d
--- /dev/null
+++ b/debug/translation.bash
@@ -0,0 +1,100 @@
+#!/bin/bash
+
+###############################################################################
+#
+# Script to check output of some translated messages
+#
+# This should be useful for translators to check that the translated strings
+# look good. This doesn't make xz print all possible strings, but it should
+# cover most of the cases where mistakes can easily happen.
+#
+# Give the path and filename of the xz executable as an argument. If no
+# arguments are given, this script uses ../src/xz/xz (relative to the
+# location of this script).
+#
+# You may want to pipe the output of this script to less -S to view the
+# tables printed by xz --list on a 80-column terminal. On the other hand,
+# viewing the other messages may be better without -S.
+#
+###############################################################################
+#
+# Author: Lasse Collin
+#
+# This file has been put into the public domain.
+# You can do whatever you want with this file.
+#
+###############################################################################
+
+set -e
+
+# If an argument was given, use it to set the location of the xz executable.
+unset XZ
+if [ -n "$1" ]; then
+ XZ=$1
+ [ "x${XZ:0:1}" != "x/" ] && XZ="$PWD/$XZ"
+fi
+
+# Locate top_srcdir and go there.
+top_srcdir="$(cd -- "$(dirname -- "$0")" && cd .. && pwd)"
+cd -- "$top_srcdir"
+
+# If XZ wasn't already set, use the default location.
+XZ=${XZ-"$PWD/src/xz/xz"}
+if [ "$(type -t "$XZ" || true)" != "file" ]; then
+ echo "Give the location of the xz executable as an argument" \
+ "to this script."
+ exit 1
+fi
+XZ=$(type -p -- "$XZ")
+
+# Print the xz version and locale information.
+echo "$XZ --version"
+"$XZ" --version
+echo
+if [ -d .git ] && type git > /dev/null 2>&1; then
+ echo "Source code version in $PWD:"
+ git describe --abbrev=4
+fi
+echo
+locale
+echo
+
+# Make the test files directory the current directory.
+cd tests/files
+
+# Put xz in PATH so that argv[0] stays short.
+PATH=${XZ%/*}:$PATH
+
+# Some of the test commands are error messages and thus don't
+# return successfully.
+set +e
+
+for CMD in \
+ "xz --foobarbaz" \
+ "xz --memlimit=123abcd" \
+ "xz --memlimit=40MiB -6 /dev/null" \
+ "xz --memlimit=0 --info-memory" \
+ "xz --memlimit-compress=1234MiB --memlimit-decompress=50MiB --info-memory" \
+ "xz --verbose --verbose /dev/null | cat" \
+ "xz --lzma2=foobarbaz" \
+ "xz --lzma2=foobarbaz=abcd" \
+ "xz --lzma2=mf=abcd" \
+ "xz --lzma2=preset=foobarbaz" \
+ "xz --lzma2=mf=bt4,nice=2" \
+ "xz --lzma2=nice=50000" \
+ "xz --help" \
+ "xz --long-help" \
+ "xz --list good-*lzma2*" \
+ "xz --list good-1-check*" \
+ "xz --list --verbose good-*lzma2*" \
+ "xz --list --verbose good-1-check*" \
+ "xz --list --verbose --verbose good-*lzma2*" \
+ "xz --list --verbose --verbose good-1-check*" \
+ "xz --list --verbose --verbose unsupported-check.xz"
+do
+ echo "-----------------------------------------------------------"
+ echo
+ echo "\$ $CMD"
+ eval "$CMD"
+ echo
+done 2>&1