File: make-pot.sh

package info (click to toggle)
frogatto-data 1.3.1%2Bdfsg-3
  • links: PTS, VCS
  • area: non-free
  • in suites: bookworm, bullseye
  • size: 254,432 kB
  • sloc: xml: 584; python: 396; perl: 249; sh: 126; ruby: 69; makefile: 30
file content (49 lines) | stat: -rwxr-xr-x 2,260 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#! /bin/sh
cat <<EOF
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Frogatto v1.0.3\n"
"Report-Msgid-Bugs-To: http://code.google.com/p/frogatto/issues/list\n"
EOF
echo '"POT-Creation-Date: '$(date +"%Y-%m-%d %H:%M%z")"\\\\n\""
cat <<EOF
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

EOF
(
# find metadata files
python ../utils/parse-metadata.py
# find preload messages
grep -Hn 'message:[ ]*"[^"][^"]*"' ../data/preload.cfg | \
	sed -ne 's/^\(.*:[0-9]*\):.*message:[ ]*"/#: \1\n"/;s/"\([^"]*\)".*/msgid "\1"\nmsgstr ""\n/gp'
# find level titles
grep -Hn '"\?title"\?: \?"[^"][^"]*"' ../data/level/*.cfg | \
	sed -e 's/\s"title"/title/g' | \
	sed -ne 's/^\(.*:[0-9]*\):title:[ ]*"/#: \1\n"/;s/"\([^"]*\)".*/msgid "\1"\nmsgstr ""\n/gp'
# find achievements
grep -Hn '\(name\|description\):[ ]*"[^"][^"]*"' ../data/achievements.cfg | \
	sed -ne 's/^\(.*:[0-9]*\):.*\(name\|description\):[ ]*"/#: \1\n"/;s/"\([^"]*\)".*/msgid "\1"\nmsgstr ""\n/gp'
# find marked strings ~...~ in level files
grep -Hn --exclude-dir=".svn" "~[^~][^~]*~" ../data/level/*.cfg | \
	sed -e 's/\\\\n/\\n/g' | \
	sed -ne ":A;s/\([a-z0-9/\._-]*:[0-9]*\):[^~]*~\([^~][^~]*\)~/\n#: \1\nmsgid \"\2\"\nmsgstr \"\"\n\1:/;tA;s/\n\([a-z0-9/\._-]*:[0-9]*\):[^\n]*//;p"
# find marked strings ~...~ in data files; files in data/*/experimental are ignored
grep -Hnr --exclude-dir=".svn" --exclude-dir="experimental" "~[^~][^~]*~" ../data/objects/ ../data/object_prototypes/ | \
	sed -e 's/\\\\n/\\n/g' | \
	sed -ne ":A;s/\([a-z0-9/\._-]*:[0-9]*\):[^~]*~\([^~][^~]*\)~/\n#: \1\nmsgid \"\2\"\nmsgstr \"\"\n\1:/;tA;s/\n\([a-z0-9/\._-]*:[0-9]*\):[^\n]*//;p"
# find marked strings _("...") in source files
grep -Hn '[^a-z]_("[^"]*")' ../../../src/*.cpp | \
	sed -ne 's/^\(.*:[0-9][0-9]*\):.*_("/#: \1\n_("/;s/_("\([^"]*\)").*\(_("\|\)/msgid "\1"\nmsgstr ""\n\2/gp'
) | cat