# HG changeset patch # User Aleksej Bobylev # Date 1408909381 -10800 # Node ID 096a77a2021da52e8bc5f7874d851cd457307ae8 # Parent 633aff33b0523501b58cda982a263f112182377a Add: tramys-server and tramys-client (yesterday version for history). diff -r 633aff33b052 -r 096a77a2021d tramys-client/receipt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tramys-client/receipt Sun Aug 24 22:43:01 2014 +0300 @@ -0,0 +1,15 @@ +# SliTaz package receipt. + +PACKAGE="tramys-client" +VERSION="140823" +CATEGORY="system-tools" +SHORT_DESC="Tool for managing translation files for SliTaz GNU/Linux, client part" +MAINTAINER="al.bobylev@gmail.com" +LICENSE="GPL" +WEB_SITE="http://www.slitaz.org/" + +# Rules to gen a SliTaz package suitable for Tazpkg. +genpkg_rules() +{ + install -Dm755 -o root $stuff/tramys2 $fs/usr/bin/tramys2 +} diff -r 633aff33b052 -r 096a77a2021d tramys-client/stuff/tramys2 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tramys-client/stuff/tramys2 Sun Aug 24 22:43:01 2014 +0300 @@ -0,0 +1,15 @@ +#!/bin/sh +# tramys - TRAnslate MY Slitaz. Client solution +# Tool for managing translation files for SliTaz GNU/Linux +# Aleksej Bobylev , 2014 + +. /etc/slitaz/slitaz.conf +. /lib/libtaz.sh +check_root $@ +WORKING=$(mktemp -d) +busybox wget -U "$(cd $INSTALLED; ls -1 | tr '\n' ' ')" \ + "http://cook.slitaz.org/tramys.cgi?lang=$LANG" -O - | \ + busybox tar -C $WORKING -xz +chown -R root:root $WORKING +cp -fpr $WORKING/* / +rm -rf $WORKING diff -r 633aff33b052 -r 096a77a2021d tramys-server/receipt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tramys-server/receipt Sun Aug 24 22:43:01 2014 +0300 @@ -0,0 +1,18 @@ +# SliTaz package receipt. + +PACKAGE="tramys-server" +VERSION="140822" +CATEGORY="system-tools" +SHORT_DESC="Tool for managing translation files for SliTaz GNU/Linux, server part" +MAINTAINER="al.bobylev@gmail.com" +LICENSE="GPL" +WEB_SITE="http://www.slitaz.org/" + +DEPENDS="tramys" + +# Rules to gen a SliTaz package suitable for Tazpkg. +genpkg_rules() +{ + install -Dm755 -o www -g www $stuff/tramys.cgi \ + $fs/home/slitaz/www/cook/tramys.cgi +} diff -r 633aff33b052 -r 096a77a2021d tramys-server/stuff/tramys.cgi --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tramys-server/stuff/tramys.cgi Sun Aug 24 22:43:01 2014 +0300 @@ -0,0 +1,87 @@ +#!/bin/sh +# tramys - TRAnslate MY Slitaz. Server solution +# Tool for managing translation files for SliTaz GNU/Linux +# Aleksej Bobylev , 2014 + +# How to use: tramys.cgi?lang=$LANG +# Pass packages list in HTTP_USER_AGENT header +# (seems it have no restrictions for length and no encoded symbols ' ' and '+') + +. /usr/bin/httpd_helper.sh + +WORKING=$(mktemp -d) +DATADIR=/home/lexeii/Public/tramys + +# prepare list for search +# original GNU gettext searches precisely in this order +locales_list() { + LL=$(echo $1 | sed 's|^\([^_.@]*\).*$|\1|') + CC=$(echo $1 | sed -n '/_/s|^[^_]*\(_[^.@]*\).*$|\1|p') + EE=$(echo $1 | sed -n '/./s|^[^\.]*\(\.[^@]*\).*$|\1|p') + VV=$(echo $1 | sed -n '/@/s|^[^@]*\(@.*\)$|\1|p') + ee=$(echo $EE | tr A-Z a-z | tr -cd a-z0-9); [ "$ee" ] && ee=.$ee + [ "x$EE" == "x$ee" ] && ee='' + + [ "$CC" -a "$EE" -a "$VV" ] && echo -n "$LL$CC$EE$VV " + [ "$CC" -a "$ee" -a "$VV" ] && echo -n "$LL$CC$ee$VV " + [ "$CC" -a "$VV" ] && echo -n "$LL$CC$VV " + [ "$EE" -a "$VV" ] && echo -n "$LL$EE$VV " + [ "$ee" -a "$VV" ] && echo -n "$LL$ee$VV " + [ "$VV" ] && echo -n "$LL$VV " + [ "$CC" -a "$EE" ] && echo -n "$LL$CC$EE " + [ "$CC" -a "$ee" ] && echo -n "$LL$CC$ee " + [ "$CC" ] && echo -n "$LL$CC " + [ "$EE" ] && echo -n "$LL$EE " + [ "$ee" ] && echo -n "$LL$ee " + echo "$LL" +} +MY_LOCALES=$(locales_list $(GET lang)) + +# constants to use in lists +US="/usr/share" +LC="LC_MESSAGES" +PY="/usr/lib/python2.7/site-packages" +R="/usr/lib/R/library" +RT="$R/translations/%/$LC" + +for P in $HTTP_USER_AGENT; do + + for list_type in mo qm; do + IFS=$'\n' + for line in $(grep -e "^$P " $DATADIR/$list_type.list); do + locales=$(echo $line | cut -d' ' -f2) + names=$(echo $line | cut -d' ' -f3) + [ "x$names" == "x" ] && names=$P + pathes=$(echo $line | cut -d' ' -f4) + [ "x$pathes" == "x" ] && pathes="$US/locale/%/$LC" + + IFS=' ' + for locale in $MY_LOCALES; do + if $(echo " $locales " | grep -q " $locale "); then + + for name in $names; do + for path in $pathes; do + eval "fullname=${path//%/$locale}/${name//%/$locale}.$list_type" + mkdir -p $WORKING$(dirname $fullname) + cp -pf /home/slitaz/cooking/chroot/home/slitaz/wok/$P/install$fullname \ + $WORKING$fullname + done + done + break + fi + done + done + done +done + +busybox tar -czf $WORKING.tgz -C $WORKING . +cat <