Revise gresources use
[geeqie.git] / scripts / translators.sh
1 #! /bin/sh
2 #**********************************************************************
3 # Copyright (C) 2023 - The Geeqie Team
4 #
5 # Author: Colin Clark
6 #
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2 of the License, or
10 # (at your option) any later version.
11 #
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License along
18 # with this program; if not, write to the Free Software Foundation, Inc.,
19 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 #**********************************************************************
21
22 ## @file
23 ## @brief Generate lists of people who have made commits to the repository.
24 ##
25 ## The lists will be displayed in the About - Credits dialog.
26 ##
27 ## $1 Meson PRIVATE_DIR \n
28 ## $2 po source list \n
29 ## $3 Meson current_build_dir \n
30 ## $4 locales.txt \n
31 ## $5 gresource.xml \n
32 ##
33 ## It is expected that the .po files have a list of translators in the form: \n
34 ## \# Translators: \n
35 ## \# translator1_name <translator1 email> \n
36 ## \# translator2_name <translator2 email> \n
37 ## \#
38
39 mkdir -p "$1"
40
41 printf %s "$2" | while read -r file
42 do
43         base=$(basename "$file")
44         locale=${base%.po}
45
46         printf "\n"
47         awk '$1 == "'"$locale"'" {print $0}' "$4"
48         awk '$0 ~/Translators:/ {
49                 while (1) {
50                         getline $0
51                 if ($0 == "#") {
52                         exit
53                         }
54                 else {
55                         print $0
56                         }
57                 }
58                 print $0
59         }' "$file"
60
61 done > "$1"/translators
62 printf "\n\0" >> "$1"/translators
63
64 glib-compile-resources --generate-header --sourcedir="$1" --target="$3"/translators.h "$5"
65 glib-compile-resources --generate-source --sourcedir="$1" --target="$3"/translators.c "$5"