Author: jorda-guest
Date: 2008-09-24 11:22:39 +0000 (Wed, 24 Sep 2008)
New Revision: 8191

Added:
   people/jorda/desktop-i18n/
   people/jorda/desktop-i18n/Makefile
   people/jorda/desktop-i18n/desktop-i18n.sh
   people/jorda/desktop-i18n/desktop-translate
   people/jorda/desktop-i18n/desktop-xgettext
Removed:
   people/jorda/xgettextdesktop
Log:
Move to subdirectory and import remaining scripts.


Added: people/jorda/desktop-i18n/Makefile
===================================================================
--- people/jorda/desktop-i18n/Makefile                          (rev 0)
+++ people/jorda/desktop-i18n/Makefile  2008-09-24 11:22:39 UTC (rev 8191)
@@ -0,0 +1,25 @@
+BASE_PATH := .
+DOMAIN := games-desktop
+POT := $(DOMAIN).pot
+POS := $(wildcard *.po)
+
+all: $(POT) $(POS) stats
+
+update-po: $(POT)-update $(POS)
+
+$(POT) $(POT)-update:
+       ./desktop-xgettext $(BASE_PATH) > $(POT)
+       msguniq -o $(POT) $(POT)
+
+$(POS): $(POT)
+       msgmerge -U $@ $<
+       touch $@
+
+clean:
+       rm -f *~
+
+stats:
+       @for i in $(POS); do \
+               echo -n `basename $$i | sed 's/\.po//'`": "; \
+               msgfmt --statistics -o /dev/null $$i; \
+       done

Added: people/jorda/desktop-i18n/desktop-i18n.sh
===================================================================
--- people/jorda/desktop-i18n/desktop-i18n.sh                           (rev 0)
+++ people/jorda/desktop-i18n/desktop-i18n.sh   2008-09-24 11:22:39 UTC (rev 
8191)
@@ -0,0 +1,30 @@
+#!/bin/sh
+#
+# Shell "library" for .desktop file internationalization.
+# 
+# Copyright © 2008 Jordà Polo <[EMAIL PROTECTED]>
+# 
+# This script is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 2 of the License, or (at your option)
+# any later version.
+
+# Keys such as GenericName are also translatable, but it looks like it is
+# heavily misused. Many desktop files in the pkg-games repos simply use the
+# same string for GenericName and for Name or Exec (which is wrong). See also:
+# http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s05.html
+i18n_keys="GenericName Comment"
+
+i18n_print_msg() {
+       string=$1
+       file=$2
+       comment=$3
+
+       echo ""
+       if [ "$comment" != "" ]; then
+               echo "#. $comment"
+       fi
+       echo "#: $file"
+       echo "msgid \"$string\""
+       echo "msgstr \"\""
+}

Added: people/jorda/desktop-i18n/desktop-translate
===================================================================
--- people/jorda/desktop-i18n/desktop-translate                         (rev 0)
+++ people/jorda/desktop-i18n/desktop-translate 2008-09-24 11:22:39 UTC (rev 
8191)
@@ -0,0 +1,42 @@
+#!/bin/sh
+# 
+# This script reads a .desktop file from stdin and prints the same file, with
+# up-to-date translations, to stdout.
+# 
+# Copyright © 2008 Jordà Polo <[EMAIL PROTECTED]>
+# 
+# This script is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 2 of the License, or (at your option)
+# any later version.
+
+. desktop-i18n.sh
+
+i18n_keys_re="^\(`echo $i18n_keys | sed 's/ /\\\|/'`\)="
+
+while read line; do
+       # Remove previous translations
+       if echo $line | grep '^.*\[.*\]=' > /dev/null; then
+               continue
+       fi
+
+       echo $line
+
+       # Check whether the current line is translatable
+       key=`echo $line | sed -n "s/$i18n_keys_re.*/\1/p"`
+       if [ -z "$key" ]; then
+               continue
+       fi
+
+       # Generate available translations
+       msgid=`echo $line | sed "s/$i18n_keys_re//"`
+       for po in *.po; do
+               lang=`basename $po | sed 's/\.po//'`
+               msgstr=`msgattrib --translated --no-obsolete --no-fuzzy $po \
+                                | msggrep --no-location --no-wrap --msgid -F 
-e "$msgid" \
+                                | tail -n 1 | sed 's/^msgstr "\(.*\)"$/\1/'`
+               if [ "$msgstr" != "" ]; then
+                       echo "$key[$lang]=$msgstr"
+               fi
+       done
+done


Property changes on: people/jorda/desktop-i18n/desktop-translate
___________________________________________________________________
Name: svn:executable
   + *

Copied: people/jorda/desktop-i18n/desktop-xgettext (from rev 8190, 
people/jorda/xgettextdesktop)
===================================================================
--- people/jorda/desktop-i18n/desktop-xgettext                          (rev 0)
+++ people/jorda/desktop-i18n/desktop-xgettext  2008-09-24 11:22:39 UTC (rev 
8191)
@@ -0,0 +1,45 @@
+#!/bin/sh
+# 
+# Extract translatable strings from .desktop files.
+#
+# Copyright © 2008 Jordà Polo <[EMAIL PROTECTED]>
+#
+# This script is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 2 of the License, or (at your option)
+# any later version.
+
+. desktop-i18n.sh
+
+if [ ! -d "$1" ]; then
+       echo "Usage: $0 input-directory"
+       exit 1
+fi
+
+cat <<HEADER
+# LANGUAGE translation of Debian Games .desktop files.
+# Copyright © `date +%Y` Debian Games Team
+# FIRST AUTHOR <[EMAIL PROTECTED]>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: pkg-games-desktop 0.1\n"
+"Report-Msgid-Bugs-To: [EMAIL PROTECTED]"
+"POT-Creation-Date: `date +"%F %H:%M%z"`\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <[EMAIL PROTECTED]>\n"
+"Language-Team: LANGUAGE <[EMAIL PROTECTED]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+HEADER
+
+for file in `find $1 -name *.desktop`; do
+       for key in $i18n_keys; do
+               msg=`grep "^$key=" $file | sed "s/^$key=//"`
+               if [ "$msg" != "" ]; then
+                       i18n_print_msg "$msg" "$file" "$key"
+               fi
+       done
+done


Property changes on: people/jorda/desktop-i18n/desktop-xgettext
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mergeinfo
   + 

Deleted: people/jorda/xgettextdesktop
===================================================================
--- people/jorda/xgettextdesktop        2008-09-23 18:31:12 UTC (rev 8190)
+++ people/jorda/xgettextdesktop        2008-09-24 11:22:39 UTC (rev 8191)
@@ -1,49 +0,0 @@
-#!/bin/sh
-
-# Keys such as GenericName are also translatable, but it looks like it is
-# heavily misused. Many desktop files in the pkg-games repos simply use the
-# same string for GenericName and for Name or Exec (which is wrong). See also:
-# http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s05.html
-translatable_keys="Comment"
-
-print_msg() {
-       string=$1
-       file=$2
-       comment=$3
-
-       echo ""
-       if [ "$comment" != "" ]; then
-               echo "#. $comment"
-       fi
-       echo "#: $file"
-       echo "msgid \"$string\""
-       echo "msgstr \"\""
-}
-
-cat <<HEADER
-# LANGUAGE translation of Debian Games .desktop files
-# Copyright © `date +%Y` Debian Games Team
-# FIRST AUTHOR <[EMAIL PROTECTED]>, YEAR
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: pkg-games-desktop 0.1\n"
-"Report-Msgid-Bugs-To: [EMAIL PROTECTED]"
-"POT-Creation-Date: `date +"%F %H:%M%z"`\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <[EMAIL PROTECTED]>\n"
-"Language-Team: LANGUAGE <[EMAIL PROTECTED]>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-HEADER
-
-for i in `find . -name *.desktop`; do
-       for j in Comment; do
-               msg=`grep "^$j=" $i | sed "s/^$j=//"`
-               if [ "$msg" != "" ]; then
-                       print_msg "$msg" "$i" "$j"
-               fi
-       done
-done


_______________________________________________
Pkg-games-commits mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/pkg-games-commits

Reply via email to