Auto-generate list of authors and translators
authorColin Clark <colin.clark@cclark.uk>
Fri, 21 Apr 2023 10:01:59 +0000 (11:01 +0100)
committerColin Clark <colin.clark@cclark.uk>
Fri, 21 Apr 2023 10:01:59 +0000 (11:01 +0100)
- Get list of authors from git log, ordered by number of commits
- Get list of translators from headers in the .po files

- Lists are displayed in the About dialog

48 files changed:
AUTHORS [deleted file]
meson.build
po/ar.po
po/be.po
po/bg.po
po/ca.po
po/cs.po
po/da.po
po/de.po
po/el.po
po/en_GB.po
po/eo.po
po/es.po
po/et.po
po/eu.po
po/fi.po
po/fr.po
po/hu.po
po/id.po
po/it.po
po/ja.po
po/ko.po
po/nb.po
po/nl.po
po/pl.po
po/pt_BR.po
po/ro.po
po/ru.po
po/sk.po
po/sl.po
po/sr.po
po/sr@latin.po
po/sv.po
po/th.po
po/tlh.po
po/tr.po
po/uk.po
po/vi.po
po/zh_CN.po
po/zh_TW.po
src/credits/authors.sh [new file with mode: 0755]
src/credits/credits.gresource.xml [new file with mode: 0644]
src/credits/locales.txt [new file with mode: 0644]
src/credits/meson.build [new file with mode: 0644]
src/credits/translators.sh [new file with mode: 0755]
src/main.h
src/meson.build
src/preferences.cc

diff --git a/AUTHORS b/AUTHORS
deleted file mode 100644 (file)
index a67cc81..0000000
--- a/AUTHORS
+++ /dev/null
@@ -1,196 +0,0 @@
-John Ellis <johne@verizon.net>  (Original author and maintainer of GQview)
-
-The Geeqie Team:
-
-  Colin Clark <colin.clark@cclark.uk>
-  Klaus Ethgen <Klaus@Ethgen.de>
-  Laurent Monin <zas@norz.org>
-  Vladimir Nadvornik <nadvornik@suse.cz>
-  Petr Ostadal <postadal@suse.cz>
-  Omari Stephens <xsdg@google.com>
-
-Translations:
-
-    Grzegorz Kowal <g_kowal@poczta.onet.pl>
-    Zbigniew Chyla <cyba@gnome.pl>
-    Emil Nowak <emil5@go2.pl>
-    Wit Wilinski <wit.wilinski@gmail.com>
-    Tomasz Golinski <tomaszg@math.uwb.edu.pl>
-        for Polish translation
-
-    Christopher R. Gabriel <cgabriel@pluto.linux.it>
-    Di Maggio Salvatore <Salvatore.Dimaggio@bologna.marelli.it>
-    Costantino <inverness1ATvirgilio.it>
-        for Italian translation
-
-    Sandokan <cortex@nextra.sk>
-    Ivan Priesol <priesol@iris-sk.sk>
-    Mgr. Peter Tuharsky <tuharsky@misbb.sk>
-        for Slovak translation
-
-    Rodrigo Sancho Senosiain <ruy_ikari@bigfoot.com>
-    Ariel Fermani <the_end@bbs.frc.utn.edu.ar>
-        for Spanish translation
-
-    Laurent Monin <i18n@norz.org>
-    Eric Lassauge <lassauge@users.sf.net>
-    Jean-Pierre Pedron <jppedron@club-internet.fr>
-    Pascal Bleser <pascal.bleser@atosorigin.com>
-    Nicolas Boos <nicolas.boos@wanadoo.fr>
-    Nicolas Bonifas <nicolas_bonifas@users.sf.net>
-        for French translation
-
-    Fâtih Demir <kabalak@gmx.net>
-        for Turkish translation
-
-    Kam Tik <kamtik@hongkong.com>
-    Abel Cheung <deaddog@deaddog.ws>
-    S.J. Luo <crystal@mickey.ee.nctu.edu.tw>
-    Levin <zjlevin@hotmail.com>
-        for Traditional Chinese (Big5) translation
-
-    Junichi Uekawa <dancer@debian.org>
-    Oleg Andrjushenko <oandr@itec.cn.ua>
-    Michael Bravo <mbravo@tag-ltd.spb.ru>
-    Sergey Pinaev <dfo@antex.ru>
-        for Russian translation
-
-    Guilherme M. Schroeder <slump@ieg.com.br>
-    Vitor Fernandes <vitor_fernandes@SoftHome.net>
-    Herval Ribeiro de Azevêdo <heraze@gmail.com>
-        for Brazilian Portuguese translation
-
-    Shingo Akagaki <akagaki@ece.numazu-ct.ac.jp>
-    Yuuki Ninomiya <gm@debian.or.jp>
-    Sato Satoru <ss@gnome.gr.jp>
-    Takeshi AIHANA <aihana@gnome.gr.jp>
-        for Japanese translation
-
-    Matthias Warkus <mawarkus@t-online.de>
-    Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
-    Danny Milosavljevic <danny_milo@yahoo.com>
-    Ronny Steiner <Post@SIRSteiner.de>
-    Klaus Ethgen <Klaus@Ethgen.de>
-        for German translation
-
-    Matej Erman <matej.erman@guest.arnes.si>
-        for Slovene translation
-
-    MÃtyÃs Tibor <templar@tempi.scene.hu>
-    Koblinger Egmont <egmont@uhulinux.hu>
-    Sári Gábor <saga@externet.hu>
-        for Hungarian translation
-
-    Wu Yulun <migr@operamail.com>
-    Charles Wang <charlesw1234cn@yahoo.com.cn>
-        for simplified Chinese translation
-
-    Marcel Pol <marcel@timelord.nl>
-    H.J.Visser <H.J.Visser@harrie.mine.nu>
-    Tino Meinen <a.t.meinen@chello.nl>
-        for Dutch translation
-
-    Lauri Nurmi <lanurmi@iki.fi>
-        for Finnish translation
-
-    Ilmar Kerm <ikerm@hot.ee>
-        for Estonian translation
-
-    Volodymyr M. Lisivka <lvm@mystery.lviv.net>
-        for Ukrainian translation
-
-    Birger Langkjer <birger.langkjer@image.dk>
-        for Danish translation
-
-    Torgeir Ness Sundli <torgeir@mp3bil.no>
-        for Norwegian translation
-
-    Jan Raska <jan.raska@tiscali.cz>
-    Michal Bukovjan <bukm@centrum.cz>
-        for Czech translation
-
-    Phanumas Thanyaboon <maskung@hotmail.com>
-        for Thai translation
-
-    Harald Ersch <hersch@romatsa.ro>
-        for Romanian translation
-
-    pclouds <pclouds@vnlinux.org>
-        for Vietnamese translation
-
-    Tedi Heriyanto <tedi_h@gmx.net>
-        for Indonesian translation
-
-    Vladimir Petrov <vladux@mail.bg>
-        for Bulgarian translation
-
-    Hans Öfverbeck <hans.ofverbeck@home.se>
-        for Swedish translation
-
-    Youssef Assad <youssef@devcabal.org>
-        for Arabic translation
-
-    Àngel Mompó <mecaxis@mecatxis.cat>
-    Carles Pina i Estany <carles@pina.cat>
-        for Catalan translation
-
-    Hyun-Jin Moon <moonhyunjin@gmail.com>
-        for Korean translation
-
-    Pavel Piatruk <berserker@neolocation.com>
-        for Belarusian translation
-
-    Piarres Beobide <pi@beobide.net>
-        for Basque translation
-
-    Antonio C. Codazzi <f_sophia@libero.it>
-        for Esperanto translation
-
-    Nikos Papadopoulos
-        for Greek translation
-
-Fixes, additions, and patches:
-
-    Eric Swalens
-    Quy Tonthat
-        for initial Exif support.
-
-    Daniel M. German <dmgerman at uvic.ca>
-        for Canon raw image support.
-
-    Lars Ellenberg
-        for Fujifilm raw image support.
-
-    Diederen Damien <D.Diederen@student.ulg.ac.be>
-        for .xvpics thumbnail reading support.
-
-    Nick Rusnov <nick@grawk.net>
-    Ryan Murray <rmurray@debian.org>
-        for man page.
-
-    Martin Pool <mbp@samba.org>
-        for sort by number, misc. improvements.
-
-    Jörg Mensmann <joerg.mensmann@gmx.de>
-        for Xinerama support patch.
-
-    Vadim Shliakhov
-        for miscellaneous fixes.
-
-    Uwe Ohse
-        for Exif enhancements, histogram and other patches
-
-    Timo Horstschäfer
-        for customizable fullscreen overlay
-
-    Michael Mokeev
-        for print related enhancements
-
-    Carles Pina i Estany
-        for copy path to clipboard patch
-
-    Kjell Morgenstern
-        for random slide show speedup patch
-
-    And...
-        Thanks to the users for finding Geeqie useful.
index 3ba0256..c84543a 100644 (file)
@@ -444,7 +444,7 @@ if not option.disabled()
     else
         summary({'README' : ['pandoc not found - README.html created:', false]}, section : 'Documentation', bool_yn : true)
     endif
-    install_data('README.md', 'COPYING', 'TODO', 'AUTHORS', install_dir : helpdir)
+    install_data('README.md', 'COPYING', 'TODO', install_dir : helpdir)
 else
     summary({'pandoc' : ['disabled - README.html created:', false]}, section : 'Documentation', bool_yn : true)
 endif
index 6433871..b5c0072 100644 (file)
--- a/po/ar.po
+++ b/po/ar.po
@@ -3,6 +3,8 @@
 # translation of ar.po to
 # This file is distributed under the same license as the PACKAGE package.
 # Copyright (C) YEAR John Ellis, 2004.
+# Translators:
+# Youssef Assad
 #
 msgid ""
 msgstr ""
index 13972ed..2ec05aa 100644 (file)
--- a/po/be.po
+++ b/po/be.po
@@ -3,8 +3,10 @@
 # This file is distributed under the same license as the PACKAGE package.
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
 #
+# Translators:
 # Pavel Piatruk <berserker@neolocation.com>, 2006.
 # Pavel Piatruk <piatruk.p@gmail.com>, 2008.
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: geeqie-1.3\n"
index 3d75596..b564276 100644 (file)
--- a/po/bg.po
+++ b/po/bg.po
@@ -1,8 +1,9 @@
 # Bulgarian translation of Geeqie.
 # Copyright (C) 2005 John Ellis
 # This file is distributed under the same license as the Geeqie package.
+# Translators:
 # Vladimir Petrov <vladux@users.sourceforge.net>, 2005.
-#
+# Владимир Петров <vladux@users.sourceforge.net>
 #
 msgid ""
 msgstr ""
index 563c4ba..da30a9d 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
@@ -1,6 +1,7 @@
 # Penbwrdd yn Gymraeg.
 # Copyright (C) 2003 Free Software Foundation, Inc.
 # www.kyfieithu.co.uk, www.gyfieithu.co.uk, 2003.
+# Translators:
 # angel mompo <mecatxis@ya.com>, 2010.
 # Àngel Mompó <mecatxis@gmail.com>, 2012.
 # Carles Pina i Estany <carles@pina.cat>, 2021-2022
index 191b9fe..3f32112 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -1,5 +1,6 @@
 # gqview cs.po
 # Copyright (C) 2001 Free Software Foundation, Inc.
+# Translators:
 # Jan Raska <jan.raska@tiscali.cz>, 2001, 2004, 2005
 # Aktualizace Michal Bukovjan <bukm@centrum.cz>, 2002.
 # Vladimír Nádvorník <nadvornik@suse.cz>, 2009
index a6c969e..c50f069 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -1,5 +1,6 @@
 # Geeqie in Danish.
 # Copyright (C) 2001 Free Software Foundation, Inc.
+# Translators:
 # Birger Langkjer <birger.langkjer@image.dk>, 2001.
 #
 msgid ""
index 81648fc..c7a586c 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -1,8 +1,9 @@
 # geeqie de.po file.
-# Copyright (C) 1999 John Ellis.
-# Copyright (C) 2005 Danny Milosavljevic.
-# Copyright (C) 2006 Ronny Steiner
-# Copyright (C) 2009 Klaus Ethgen
+# Translators:
+# John Ellis.
+# Danny Milosavljevic.
+# Ronny Steiner
+# Klaus Ethgen
 # Matthias Warkus <mawa@iname.com>, 1999.
 #
 #
index 79ac08b..22084ee 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -1,4 +1,6 @@
+# Translators:
 # Nikos Papadopoulos <nikos <231036448@freemail.gr>>, 2016.
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: geeqie-1.3\n"
index 48009c5..78925dd 100644 (file)
@@ -1,6 +1,7 @@
 # Geeqie Britsh English translation
 # Copyright (C) 2018 The Geeqie Team
 # This file is distributed under the same license as the Geeqie package.
+# Translators:
 # Colin Clark <colin.clark@cclark.uk>, 2018-2019.
 #
 msgid ""
index 59d8113..68411d6 100644 (file)
--- a/po/eo.po
+++ b/po/eo.po
@@ -3,6 +3,8 @@
 # Copyright (C) Antonio C. Codazzi "la Filozofo" <f_sophia@libero.it>, 2006.
 #
 # Check Esperanto special letters= ĉŝĥĵĝŭ
+# Translators:
+# Antonio C. Codazzi <f_sophia@libero.it>
 #
 # Tradukaĵoj:
 # checksum = kontrolsumo
index 93a98b2..d8569e6 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -2,11 +2,12 @@
 # Copyright (C) 2000 Rodrigo Sancho Senosiain
 # Copyright (C) 2003, 2004, 2005, 2009 Ariel Fermani
 # Copyright (C) 2009 Redy Rodriguez
+# Translators:
 # Rodrigo Sancho Senosiain <ruy_ikari@bigfoot.com>, 2000.
 # Ariel Fermani <the_end@bbs.frc.utn.edu.ar>, 2003, 2004, 2005.
 # Ariel Fermani <the_end@bbs.frc.utn.edu.ar>, 2009.
 # Redy Rodriguez <redy@users.sf.net>, 2009.
-#
+# micrococo
 #
 msgid ""
 msgstr ""
index 477306e..ce04e99 100644 (file)
--- a/po/et.po
+++ b/po/et.po
@@ -1,5 +1,6 @@
 # Geeqie eesti keele tõlge.
 # Copyright (C) 2001-2002 Free Software Foundation, Inc.
+# Translators:
 # Ilmar Kerm <ikerm@hot.ee>, 2001-2002.
 #
 msgid ""
index 08a91e0..f05c88f 100644 (file)
--- a/po/eu.po
+++ b/po/eu.po
@@ -2,7 +2,9 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 #
+# Translators:
 # Piarres Beobide <pi@beobide.net>, 2006.
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: geeqie-1.3\n"
index 2129221..c6f2feb 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -1,5 +1,6 @@
 # Geeqie Finnish translation.
 # Copyright (C) 2001, 2002, 2003, 2004, 2006 Lauri Nurmi
+# Translators:
 # Lauri Nurmi <lanurmi@iki.fi>, 2001-2006.
 #
 msgid ""
index 23aa421..27691c4 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,21 +1,20 @@
 # geeqie fr.po file.
 #
-# Last Translator :
-#  Laurent Monin <i18n@norz.org>, 2008-2009.
-#
-# Created by Jean-Pierre Pedron <jppedron@club-internet.fr>, 2000.
-# Updated by Pascal Bleser <pascal.bleser@atosorigin.com>, 2003.
-# Updated by Nicolas Boos <nicolas.boos@wanadoo.fr>, 2003.
-# Updated by Nicolas Bonifas <nicolas_bonifas@users.sf.net>, 2003-2004.
-# Updated by Éric Lassauge <lassauge@users.sourceforge.net>, 2001-2002, 2004-2005.
+# Translators:
+# Laurent Monin <i18n@norz.org>, 2008-2009.
+# Jean-Pierre Pedron <jppedron@club-internet.fr>, 2000.
+# Pascal Bleser <pascal.bleser@atosorigin.com>, 2003.
+# Nicolas Boos <nicolas.boos@wanadoo.fr>, 2003.
+# Nicolas Bonifas <nicolas_bonifas@users.sf.net>, 2003-2004.
+# Éric Lassauge <lassauge@users.sourceforge.net>, 2001-2002, 2004-2005.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: geeqie-1.3\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2022-09-05 19:35+0100\n"
-"PO-Revision-Date: 2012-08-16 23:32+0100\n"
-"Last-Translator: Laurent Monin <i18n@norz.org>\n"
+"PO-Revision-Date: 2023-04-18 18:36+0100\n"
+"Last-Translator: Colin Clark <cclark@TallTrees>\n"
 "Language-Team: french <geeqie-devel@lists.sourceforge.net>\n"
 "Language: french\n"
 "MIME-Version: 1.0\n"
index e580630..55234f5 100644 (file)
--- a/po/hu.po
+++ b/po/hu.po
@@ -1,5 +1,6 @@
 # translation of gqview.po to Hungarian
 # Copyright (C) 2004 Free Software Foundation, Inc.
+# Translators:
 # Mátyás Tibor <templar@tempi.scene.hu>, 2001.
 # Koblinger Egmont <egmont@uhulinux.hu>, 2004.
 # Sári Gábor <saga@externet.hu>, 2004.
index f58213a..ec48320 100644 (file)
--- a/po/id.po
+++ b/po/id.po
@@ -1,6 +1,7 @@
 # GQView (Indonesian)
 # Copyright (C) 2003 John Ellis
 # This file is distributed under the same license as the PACKAGE package.
+# Translators:
 # Tedi Heriyanto <tedi_h@gmx.net>, 2003.
 #
 msgid ""
index 8c1ab6b..e031a76 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -2,22 +2,23 @@
 # This file is distributed under the same license as the PACKAGE package.
 # Un ringraziamento per i preziosi suggerimenti a Marco Colombo <m.colomboATed.ac.uk>
 # e anche a Happy Cactus <happycactusATpeople.it>
+# Translators:
+# Christopher R. Gabriel <cgabriel@pluto.linux.it>, 2000 - 2001.
 # Kostantino <ciclope10ATalice.it>, 2006.
-# Copyright (C) Christopher R. Gabriel <cgabriel@pluto.linux.it>, 2000 - 2001.
-# Kostantino <ciclope10ATalice.it>, 2006.
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: geeqie-1.3\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2022-09-05 19:35+0100\n"
-"PO-Revision-Date: 2006-06-12 09:40+0200\n"
-"Last-Translator: Kostantino <ciclope10ATalice.it>\n"
+"PO-Revision-Date: 2023-04-18 18:35+0100\n"
+"Last-Translator: Colin Clark <cclark@TallTrees>\n"
 "Language-Team: italiano <it@li.org>\n"
 "Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.10.2\n"
+"X-Generator: Geany / PoHelper 1.38\n"
 
 #: geeqie.desktop.in:3
 #, fuzzy
index d35c102..1583e25 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -1,8 +1,10 @@
 # geeqie ja.po.
 # Copyright (C) 2000-2005 Free Software Foundation, Inc.
+# Translators:
 # SATO Satoru <ss@gnome.gr.jp>, 2001
 # Junichi Uekawa <dancer@debian.org>, 2002
 # Takeshi Aihana <aihana@gnome.gr.jp>, 2000-2005.
+#
 # , no-wrap
 #
 msgid ""
index 2237e38..7fcacd2 100644 (file)
--- a/po/ko.po
+++ b/po/ko.po
@@ -3,6 +3,7 @@
 # Translators:
 # Hyun-Jin Moon <moonhyunjin@gmail.com>, 2006.
 # JungHee Lee <daemul72@gmail.com>, 2022.
+# 이정희 <daemul72@gmail.com>
 #
 msgid ""
 msgstr ""
index f50d2b0..bed0f6c 100644 (file)
--- a/po/nb.po
+++ b/po/nb.po
@@ -1,5 +1,6 @@
 # Geeqie in Norwegian.
 # Copyright (C) 2001 Free Software Foundation, Inc.
+# Translators:
 # Torgeir Ness Sundli <torgeir@mp3bil.no>, 2001.
 #
 msgid ""
index cfd5968..a697b70 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,5 +1,6 @@
 # Nederlandse vertaling van Geeqie
 # Copyright (C) 2001-2023 Free Software Foundation, Inc.
+# Translators:
 # Hette J Visser <H.J.Visser@harrie.mine.nu>, 2001.
 # Tino Meinen <a.t.meinen@chello.nl>, 2003, 2004, 2005.
 # Marcel Pol <marcel@timelord.nl>, 2009-2010, 2021, 2023.
index fd5f04a..be856d0 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -1,3 +1,6 @@
+# Translators:
+# Tomasz Golinski <tomaszg@math.uwb.edu.pl>
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: geeqie-1.3\n"
index 37d3d90..22d3367 100644 (file)
@@ -1,8 +1,10 @@
 # geeqie pt_BR.po file.
 #
-# Created by Guilherme M. Schroeder <slump@linuxall.org>, 2001.
-# Updated by Herval Ribeiro de Azevêdo <heraze@gmail.com>, 2005.
-# Updated by Sérgio Cipolla <secipolla@gmail.com>, 2010.
+# Translators:
+# Guilherme M. Schroeder <slump@linuxall.org>, 2001.
+# Herval Ribeiro de Azevêdo <heraze@gmail.com>, 2005.
+# Sérgio Cipolla <secipolla@gmail.com>, 2010.
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: geeqie-1.3\n"
index 319f9e2..396fddc 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -1,7 +1,9 @@
 # translation of ro.po to Romanian
 # Copyright (C) 2004 Free Software Foundation, Inc.
+# Translators:
 # Harald Ersch <hersch@romatsa.ro>,2002.
 # Harald Ersch <harald@ersch.ro>, 2004.
+# Sabin Iacob <iacobs@gmail.com>
 #
 msgid ""
 msgstr ""
index f745a2c..c63a7cb 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -1,14 +1,15 @@
 # gqview ru.po file. Russian locale definition for gqview.
 # Copyright (C) 1999 Free Software Foundation, Inc.
+# Translators:
 # Oleg Andryuschenko <oandr@itek.com.ua>, 1999.
-# Edited by Michael Bravo <mbravo@acm.org>, 2000.
-# Edited by drF_ckoff <dfo@antex.ru>, 2001.
-# Edited by Oleg Andryuschenko <oandr@itek.com.ua>, 2002.
-# Edited by drF_ckoff <dfo@antex.ru>, 2003-2004.
-# Edited by Vitaly Lipatov <lav@altlinux.ru>, 2005.
-# Edited by Alexandre Prokoudine <alexandre.prokoudine@gmail.com>, 2008.
-# Edited by Denis Silakov <d_uragan@rambler.ru>, 2010.
-# Edited by ashed <craysy@gmail.com>, 2021.
+# Michael Bravo <mbravo@acm.org>, 2000.
+# drF_ckoff <dfo@antex.ru>, 2001.
+# Oleg Andryuschenko <oandr@itek.com.ua>, 2002.
+# drF_ckoff <dfo@antex.ru>, 2003-2004.
+# Vitaly Lipatov <lav@altlinux.ru>, 2005.
+# Alexandre Prokoudine <alexandre.prokoudine@gmail.com>, 2008.
+# Denis Silakov <d_uragan@rambler.ru>, 2010.
+# ashed <craysy@gmail.com>, 2021.
 #
 # $Id$
 #
index 66764eb..267fbe7 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
@@ -1,9 +1,10 @@
 # translation of sk.po to 
 # Slovak translations of Gqview.
 # Copyright (C) 2000,2004 Free Software Foundation, Inc.
-# Edited by Martin Pekar <cortex@nextra.sk>, 2000.
-# Edited by Ivan Priesol <priesol@iris-sk.sk>, 2001,2004.
-# Edited by Jose Riha <jose 1711 gmail com>, 2020.
+# Translators:
+# Martin Pekar <cortex@nextra.sk>, 2000.
+# Ivan Priesol <priesol@iris-sk.sk>, 2001,2004.
+# Jose Riha <jose 1711 gmail com>, 2020.
 #
 msgid ""
 msgstr ""
index 0c1c19a..204345f 100644 (file)
--- a/po/sl.po
+++ b/po/sl.po
@@ -1,5 +1,6 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) 2001 Free Software Foundation, Inc.
+# Translators:
 # Matej Erman <matej.erman@guest.arnes.si>, 2001.
 #
 msgid ""
index bbe4348..81c8ac7 100644 (file)
--- a/po/sr.po
+++ b/po/sr.po
@@ -4,7 +4,9 @@
 # This file is distributed under the same license as the Geeqie package.
 #
 #
-# Милош Поповић <gpopac@gmai, 2010.
+# Translators:
+# Милош Поповић <gpopac@gmail.com>, 2010.
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: geeqie-1.3\n"
index b8cd143..956293f 100644 (file)
@@ -4,7 +4,9 @@
 # This file is distributed under the same license as the Geeqie package.
 #
 #
-# Miloš Popović <gpopac@gmai, 2010.
+# Translators:
+# Miloš Popović <gpopac@gmail.com>, 2010.
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: geeqie-1.3\n"
index 92779fe..35e0d55 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -2,8 +2,10 @@
 # Svenska översättningar för paketet gqview.
 # Copyright (C) 2003 John Ellis
 # This file is distributed under the same license as the gqview package.
+# Translators:
 # Hans Öfverbeck <hans.ofverbeck@home.se>, 2003-2005.
 # Tore Ericsson <tore.ericsson@telia.com>, 2011.
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: geeqie-1.3\n"
index d23e566..a97b826 100644 (file)
--- a/po/th.po
+++ b/po/th.po
@@ -1,6 +1,8 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Free Software Foundation, Inc.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+# Translators:
+# Phanumas Thanyaboon <maskung@hotmail.com>
 #
 msgid ""
 msgstr ""
index e8add0b..9b083af 100644 (file)
--- a/po/tlh.po
+++ b/po/tlh.po
@@ -1,5 +1,6 @@
 # geeqie tlh.po file.
 # Copyright (C) 2016 Klaus Ethgen
+# Translators:
 # Klaus Ethgen <Klaus@Ethgen.de>, 2016.
 #
 msgid ""
index 2fb475e..92267a5 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -1,6 +1,9 @@
 # ---------------------------------------------------------------------
 # Copyright (C) 1999-2000 Free Software Foundation, Inc.
-# Fatih Demir <kabalak@gmx.net> , 1999-2000 .
+# Translators:
+# Fatih Demir <kabalak@gmx.net> , 1999-2000
+# Yaşar Çiv <yasarciv67@gmail.com>
+#
 # ---------------------------------------------------------------------
 msgid ""
 msgstr ""
index c6f30a3..05aa586 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -1,7 +1,9 @@
 # Ukrainian translation of Geeqie.
 # Copyright (C) 2001 Free Software Foundation, Inc.
+# Translators:
 # Volodymyr M. Lisivka <lvm@mystery.lviv.net>, 2001,2002.
 # Olexander Kunytsa, 2002
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: geeqie-1.3\n"
index c8c6f40..1aeb508 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -1,6 +1,8 @@
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) 2002 Free Software Foundation, Inc.
 # pclouds <pclouds@vnlinux.org>, 2002.
+# Translators:
+# pclouds <pclouds@vnlinux.org>
 #
 msgid ""
 msgstr ""
index fda06b0..71e3e5e 100644 (file)
@@ -1,5 +1,7 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
+# Translators:
+# Levin <zjlevin@hotmail.com>
 #
 msgid ""
 msgstr ""
index d2fbf92..2be192b 100644 (file)
@@ -1,7 +1,9 @@
 # Geeqie Triditional Chinese (Big5) translation.
 # Copyright (C) 2000-2001 Free Software Foundation, Inc.
+# Translators:
 # Kam Tik <kamtik@hongkong.com>, 2000.
 # Abel Cheung <deaddog@deaddog.ws>, 2001.
+# S.J. Luo <crystal@mickey.ee.nctu.edu.tw>
 #
 msgid ""
 msgstr ""
diff --git a/src/credits/authors.sh b/src/credits/authors.sh
new file mode 100755 (executable)
index 0000000..667bdca
--- /dev/null
@@ -0,0 +1,34 @@
+#! /bin/sh
+#**********************************************************************
+# Copyright (C) 2023 - The Geeqie Team
+#
+# Author: Colin Clark
+#
+# This program 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.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#**********************************************************************
+
+## @file
+## @brief Generate a list of people who have made commits to the repository.
+##
+## This list will be displayed in the About - Credits dialog.
+##
+
+if [ "$2" = "running_from_git" ]
+then
+       git log --pretty=format:"%an <%ae>" | sed 's/<>//' | sort | uniq --count | sort --general-numeric-sort --reverse --stable --key 1,1 | cut  --characters 1-8 --complement > "$1"/authors
+       printf "\n\0" >> "$1"/authors
+else
+       printf "List of authors not available\n\0" > "$1"/authors
+fi
diff --git a/src/credits/credits.gresource.xml b/src/credits/credits.gresource.xml
new file mode 100644 (file)
index 0000000..2ec6df1
--- /dev/null
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ /*
+ * Copyright (C) 2023 The Geeqie Team
+ *
+ * Author: Colin Clark
+ *
+ * This program 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+-->
+
+<gresources>
+  <gresource prefix="/org/geeqie/credits">
+    <file>authors</file>
+    <file>translators</file>
+  </gresource>
+</gresources>
diff --git a/src/credits/locales.txt b/src/credits/locales.txt
new file mode 100644 (file)
index 0000000..0768f5f
--- /dev/null
@@ -0,0 +1,445 @@
+## @file
+## @brief List of .po file names against the equivalent language name.
+##
+## Derived from https://gist.github.com/jacobbubu/1836273
+##
+
+af     Afrikaans
+af_NA  Afrikaans (Namibia)
+af_ZA  Afrikaans (South Africa)
+ak     Akan
+ak_GH  Akan (Ghana)
+am     Amharic
+am_ET  Amharic (Ethiopia)
+ar     Arabic
+ar_AE  Arabic (United Arab Emirates)
+ar_BH  Arabic (Bahrain)
+ar_DZ  Arabic (Algeria)
+ar_EG  Arabic (Egypt)
+ar_IQ  Arabic (Iraq)
+ar_JO  Arabic (Jordan)
+ar_KW  Arabic (Kuwait)
+ar_LB  Arabic (Lebanon)
+ar_LY  Arabic (Libya)
+ar_MA  Arabic (Morocco)
+ar_OM  Arabic (Oman)
+ar_QA  Arabic (Qatar)
+ar_SA  Arabic (Saudi Arabia)
+ar_SD  Arabic (Sudan)
+ar_SY  Arabic (Syria)
+ar_TN  Arabic (Tunisia)
+ar_YE  Arabic (Yemen)
+as     Assamese
+as_IN  Assamese (India)
+asa    Asu
+asa_TZ Asu (Tanzania)
+az     Azerbaijani
+az_Cyrl        Azerbaijani (Cyrillic)
+az_Cyrl_AZ     Azerbaijani (Cyrillic, Azerbaijan)
+az_Latn        Azerbaijani (Latin)
+az_Latn_AZ     Azerbaijani (Latin, Azerbaijan)
+be     Belarusian
+be_BY  Belarusian (Belarus)
+bem    Bemba
+bem_ZM Bemba (Zambia)
+bez    Bena
+bez_TZ Bena (Tanzania)
+bg     Bulgarian
+bg_BG  Bulgarian (Bulgaria)
+bm     Bambara
+bm_ML  Bambara (Mali)
+bn     Bengali
+bn_BD  Bengali (Bangladesh)
+bn_IN  Bengali (India)
+bo     Tibetan
+bo_CN  Tibetan (China)
+bo_IN  Tibetan (India)
+bs     Bosnian
+bs_BA  Bosnian (Bosnia and Herzegovina)
+ca     Catalan
+ca_ES  Catalan (Spain)
+cgg    Chiga
+cgg_UG Chiga (Uganda)
+chr    Cherokee
+chr_US Cherokee (United States)
+cs     Czech
+cs_CZ  Czech (Czech Republic)
+cy     Welsh
+cy_GB  Welsh (United Kingdom)
+da     Danish
+da_DK  Danish (Denmark)
+dav    Taita
+dav_KE Taita (Kenya)
+de     German
+de_AT  German (Austria)
+de_BE  German (Belgium)
+de_CH  German (Switzerland)
+de_DE  German (Germany)
+de_LI  German (Liechtenstein)
+de_LU  German (Luxembourg)
+ebu    Embu
+ebu_KE Embu (Kenya)
+ee     Ewe
+ee_GH  Ewe (Ghana)
+ee_TG  Ewe (Togo)
+el     Greek
+el_CY  Greek (Cyprus)
+el_GR  Greek (Greece)
+en     English
+en_AS  English (American Samoa)
+en_AU  English (Australia)
+en_BE  English (Belgium)
+en_BW  English (Botswana)
+en_BZ  English (Belize)
+en_CA  English (Canada)
+en_GB  English (United Kingdom)
+en_GU  English (Guam)
+en_HK  English (Hong Kong SAR China)
+en_IE  English (Ireland)
+en_IN  English (India)
+en_JM  English (Jamaica)
+en_MH  English (Marshall Islands)
+en_MP  English (Northern Mariana Islands)
+en_MT  English (Malta)
+en_MU  English (Mauritius)
+en_NA  English (Namibia)
+en_NZ  English (New Zealand)
+en_PH  English (Philippines)
+en_PK  English (Pakistan)
+en_SG  English (Singapore)
+en_TT  English (Trinidad and Tobago)
+en_UM  English (U.S. Minor Outlying Islands)
+en_US  English (United States)
+en_US_POSIX    English (United States, Computer)
+en_VI  English (U.S. Virgin Islands)
+en_ZA  English (South Africa)
+en_ZW  English (Zimbabwe)
+eo     Esperanto
+es     Spanish
+es_419 Spanish (Latin America)
+es_AR  Spanish (Argentina)
+es_BO  Spanish (Bolivia)
+es_CL  Spanish (Chile)
+es_CO  Spanish (Colombia)
+es_CR  Spanish (Costa Rica)
+es_DO  Spanish (Dominican Republic)
+es_EC  Spanish (Ecuador)
+es_ES  Spanish (Spain)
+es_GQ  Spanish (Equatorial Guinea)
+es_GT  Spanish (Guatemala)
+es_HN  Spanish (Honduras)
+es_MX  Spanish (Mexico)
+es_NI  Spanish (Nicaragua)
+es_PA  Spanish (Panama)
+es_PE  Spanish (Peru)
+es_PR  Spanish (Puerto Rico)
+es_PY  Spanish (Paraguay)
+es_SV  Spanish (El Salvador)
+es_US  Spanish (United States)
+es_UY  Spanish (Uruguay)
+es_VE  Spanish (Venezuela)
+et     Estonian
+et_EE  Estonian (Estonia)
+eu     Basque
+eu_ES  Basque (Spain)
+fa     Persian
+fa_AF  Persian (Afghanistan)
+fa_IR  Persian (Iran)
+ff     Fulah
+ff_SN  Fulah (Senegal)
+fi     Finnish
+fi_FI  Finnish (Finland)
+fil    Filipino
+fil_PH Filipino (Philippines)
+fo     Faroese
+fo_FO  Faroese (Faroe Islands)
+fr     French
+fr_BE  French (Belgium)
+fr_BF  French (Burkina Faso)
+fr_BI  French (Burundi)
+fr_BJ  French (Benin)
+fr_BL  French (Saint Barthélemy)
+fr_CA  French (Canada)
+fr_CD  French (Congo - Kinshasa)
+fr_CF  French (Central African Republic)
+fr_CG  French (Congo - Brazzaville)
+fr_CH  French (Switzerland)
+fr_CI  French (Côte d’Ivoire)
+fr_CM  French (Cameroon)
+fr_DJ  French (Djibouti)
+fr_FR  French (France)
+fr_GA  French (Gabon)
+fr_GN  French (Guinea)
+fr_GP  French (Guadeloupe)
+fr_GQ  French (Equatorial Guinea)
+fr_KM  French (Comoros)
+fr_LU  French (Luxembourg)
+fr_MC  French (Monaco)
+fr_MF  French (Saint Martin)
+fr_MG  French (Madagascar)
+fr_ML  French (Mali)
+fr_MQ  French (Martinique)
+fr_NE  French (Niger)
+fr_RE  French (Réunion)
+fr_RW  French (Rwanda)
+fr_SN  French (Senegal)
+fr_TD  French (Chad)
+fr_TG  French (Togo)
+ga     Irish
+ga_IE  Irish (Ireland)
+gl     Galician
+gl_ES  Galician (Spain)
+gsw    Swiss German
+gsw_CH Swiss German (Switzerland)
+gu     Gujarati
+gu_IN  Gujarati (India)
+guz    Gusii
+guz_KE Gusii (Kenya)
+gv     Manx
+gv_GB  Manx (United Kingdom)
+ha     Hausa
+ha_Latn        Hausa (Latin)
+ha_Latn_GH     Hausa (Latin, Ghana)
+ha_Latn_NE     Hausa (Latin, Niger)
+ha_Latn_NG     Hausa (Latin, Nigeria)
+haw    Hawaiian
+haw_US Hawaiian (United States)
+he     Hebrew
+he_IL  Hebrew (Israel)
+hi     Hindi
+hi_IN  Hindi (India)
+hr     Croatian
+hr_HR  Croatian (Croatia)
+hu     Hungarian
+hu_HU  Hungarian (Hungary)
+hy     Armenian
+hy_AM  Armenian (Armenia)
+id     Indonesian
+id_ID  Indonesian (Indonesia)
+ig     Igbo
+ig_NG  Igbo (Nigeria)
+ii     Sichuan Yi
+ii_CN  Sichuan Yi (China)
+is     Icelandic
+is_IS  Icelandic (Iceland)
+it     Italian
+it_CH  Italian (Switzerland)
+it_IT  Italian (Italy)
+ja     Japanese
+ja_JP  Japanese (Japan)
+jmc    Machame
+jmc_TZ Machame (Tanzania)
+ka     Georgian
+ka_GE  Georgian (Georgia)
+kab    Kabyle
+kab_DZ Kabyle (Algeria)
+kam    Kamba
+kam_KE Kamba (Kenya)
+kde    Makonde
+kde_TZ Makonde (Tanzania)
+kea    Kabuverdianu
+kea_CV Kabuverdianu (Cape Verde)
+khq    Koyra Chiini
+khq_ML Koyra Chiini (Mali)
+ki     Kikuyu
+ki_KE  Kikuyu (Kenya)
+kk     Kazakh
+kk_Cyrl        Kazakh (Cyrillic)
+kk_Cyrl_KZ     Kazakh (Cyrillic, Kazakhstan)
+kl     Kalaallisut
+kl_GL  Kalaallisut (Greenland)
+kln    Kalenjin
+kln_KE Kalenjin (Kenya)
+km     Khmer
+km_KH  Khmer (Cambodia)
+kn     Kannada
+kn_IN  Kannada (India)
+ko     Korean
+ko_KR  Korean (South Korea)
+kok    Konkani
+kok_IN Konkani (India)
+kw     Cornish
+kw_GB  Cornish (United Kingdom)
+lag    Langi
+lag_TZ Langi (Tanzania)
+lg     Ganda
+lg_UG  Ganda (Uganda)
+lt     Lithuanian
+lt_LT  Lithuanian (Lithuania)
+luo    Luo
+luo_KE Luo (Kenya)
+luy    Luyia
+luy_KE Luyia (Kenya)
+lv     Latvian
+lv_LV  Latvian (Latvia)
+mas    Masai
+mas_KE Masai (Kenya)
+mas_TZ Masai (Tanzania)
+mer    Meru
+mer_KE Meru (Kenya)
+mfe    Morisyen
+mfe_MU Morisyen (Mauritius)
+mg     Malagasy
+mg_MG  Malagasy (Madagascar)
+mk     Macedonian
+mk_MK  Macedonian (Macedonia)
+ml     Malayalam
+ml_IN  Malayalam (India)
+mr     Marathi
+mr_IN  Marathi (India)
+ms     Malay
+ms_BN  Malay (Brunei)
+ms_MY  Malay (Malaysia)
+mt     Maltese
+mt_MT  Maltese (Malta)
+my     Burmese
+my_MM  Burmese (Myanmar [Burma])
+naq    Nama
+naq_NA Nama (Namibia)
+nb     Norwegian Bokmål
+nb_NO  Norwegian Bokmål (Norway)
+nd     North Ndebele
+nd_ZW  North Ndebele (Zimbabwe)
+ne     Nepali
+ne_IN  Nepali (India)
+ne_NP  Nepali (Nepal)
+nl     Dutch
+nl_BE  Dutch (Belgium)
+nl_NL  Dutch (Netherlands)
+nn     Norwegian Nynorsk
+nn_NO  Norwegian Nynorsk (Norway)
+nyn    Nyankole
+nyn_UG Nyankole (Uganda)
+om     Oromo
+om_ET  Oromo (Ethiopia)
+om_KE  Oromo (Kenya)
+or     Oriya
+or_IN  Oriya (India)
+pa     Punjabi
+pa_Arab        Punjabi (Arabic)
+pa_Arab_PK     Punjabi (Arabic, Pakistan)
+pa_Guru        Punjabi (Gurmukhi)
+pa_Guru_IN     Punjabi (Gurmukhi, India)
+pl     Polish
+pl_PL  Polish (Poland)
+ps     Pashto
+ps_AF  Pashto (Afghanistan)
+pt     Portuguese
+pt_BR  Portuguese (Brazil)
+pt_GW  Portuguese (Guinea-Bissau)
+pt_MZ  Portuguese (Mozambique)
+pt_PT  Portuguese (Portugal)
+rm     Romansh
+rm_CH  Romansh (Switzerland)
+ro     Romanian
+ro_MD  Romanian (Moldova)
+ro_RO  Romanian (Romania)
+rof    Rombo
+rof_TZ Rombo (Tanzania)
+ru     Russian
+ru_MD  Russian (Moldova)
+ru_RU  Russian (Russia)
+ru_UA  Russian (Ukraine)
+rw     Kinyarwanda
+rw_RW  Kinyarwanda (Rwanda)
+rwk    Rwa
+rwk_TZ Rwa (Tanzania)
+saq    Samburu
+saq_KE Samburu (Kenya)
+seh    Sena
+seh_MZ Sena (Mozambique)
+ses    Koyraboro Senni
+ses_ML Koyraboro Senni (Mali)
+sg     Sango
+sg_CF  Sango (Central African Republic)
+shi    Tachelhit
+shi_Latn       Tachelhit (Latin)
+shi_Latn_MA    Tachelhit (Latin, Morocco)
+shi_Tfng       Tachelhit (Tifinagh)
+shi_Tfng_MA    Tachelhit (Tifinagh, Morocco)
+si     Sinhala
+si_LK  Sinhala (Sri Lanka)
+sk     Slovak
+sk_SK  Slovak (Slovakia)
+sl     Slovenian
+sl_SI  Slovenian (Slovenia)
+sn     Shona
+sn_ZW  Shona (Zimbabwe)
+so     Somali
+so_DJ  Somali (Djibouti)
+so_ET  Somali (Ethiopia)
+so_KE  Somali (Kenya)
+so_SO  Somali (Somalia)
+sq     Albanian
+sq_AL  Albanian (Albania)
+sr     Serbian
+sr@latin       Sebian (Latin)
+sr_Cyrl        Serbian (Cyrillic)
+sr_Cyrl_BA     Serbian (Cyrillic, Bosnia and Herzegovina)
+sr_Cyrl_ME     Serbian (Cyrillic, Montenegro)
+sr_Cyrl_RS     Serbian (Cyrillic, Serbia)
+sr_Latn        Serbian (Latin)
+sr_Latn_BA     Serbian (Latin, Bosnia and Herzegovina)
+sr_Latn_ME     Serbian (Latin, Montenegro)
+sr_Latn_RS     Serbian (Latin, Serbia)
+sv     Swedish
+sv_FI  Swedish (Finland)
+sv_SE  Swedish (Sweden)
+sw     Swahili
+sw_KE  Swahili (Kenya)
+sw_TZ  Swahili (Tanzania)
+ta     Tamil
+ta_IN  Tamil (India)
+ta_LK  Tamil (Sri Lanka)
+te     Telugu
+te_IN  Telugu (India)
+teo    Teso
+teo_KE Teso (Kenya)
+teo_UG Teso (Uganda)
+th     Thai
+th_TH  Thai (Thailand)
+ti     Tigrinya
+ti_ER  Tigrinya (Eritrea)
+ti_ET  Tigrinya (Ethiopia)
+to     Tonga
+to_TO  Tonga (Tonga)
+tr     Turkish
+tr_TR  Turkish (Turkey)
+tzm    Central Morocco Tamazight
+tzm_Latn       Central Morocco Tamazight (Latin)
+tzm_Latn_MA    Central Morocco Tamazight (Latin, Morocco)
+uk     Ukrainian
+uk_UA  Ukrainian (Ukraine)
+ur     Urdu
+ur_IN  Urdu (India)
+ur_PK  Urdu (Pakistan)
+uz     Uzbek
+uz_Arab        Uzbek (Arabic)
+uz_Arab_AF     Uzbek (Arabic, Afghanistan)
+uz_Cyrl        Uzbek (Cyrillic)
+uz_Cyrl_UZ     Uzbek (Cyrillic, Uzbekistan)
+uz_Latn        Uzbek (Latin)
+uz_Latn_UZ     Uzbek (Latin, Uzbekistan)
+vi     Vietnamese
+vi_VN  Vietnamese (Vietnam)
+vun    Vunjo
+vun_TZ Vunjo (Tanzania)
+xog    Soga
+xog_UG Soga (Uganda)
+yo     Yoruba
+yo_NG  Yoruba (Nigeria)
+zh     Chinese
+zh_CN  Chinese (People's Republic of China)
+zh_Hans        Chinese (Simplified Han)
+zh_Hans_CN     Chinese (Simplified Han, China)
+zh_Hans_HK     Chinese (Simplified Han, Hong Kong SAR China)
+zh_Hans_MO     Chinese (Simplified Han, Macau SAR China)
+zh_Hans_SG     Chinese (Simplified Han, Singapore)
+zh_Hant        Chinese (Traditional Han)
+zh_Hant_HK     Chinese (Traditional Han, Hong Kong SAR China)
+zh_Hant_MO     Chinese (Traditional Han, Macau SAR China)
+zh_Hant_TW     Chinese (Traditional Han, Taiwan)
+zh_TW  Chinese (Taiwan)
+zu     Zulu
+zu_ZA  Zulu (South Africa)
+
diff --git a/src/credits/meson.build b/src/credits/meson.build
new file mode 100644 (file)
index 0000000..5d80cb0
--- /dev/null
@@ -0,0 +1,38 @@
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program 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.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#
+
+if running_from_git
+    run_command(find_program('authors.sh'),  meson.current_build_dir(), 'running_from_git', check : false)
+else
+    run_command(find_program('authors.sh'),  meson.current_build_dir(), '', check : false)
+endif
+
+run_command(find_program('translators.sh'),  meson.source_root(), meson.current_build_dir(), check : false)
+
+message(meson.current_build_dir())
+source_string = '--sourcedir=' + meson.current_build_dir()
+
+target_string = '--target=' + meson.current_build_dir() + '/credits.h'
+credits_resources_h = custom_target('credits_resources_h',
+                input : 'credits.gresource.xml',
+                output : 'credits.h',
+                command : [glib_compile_resources, '--generate-header', source_string,target_string, '@INPUT@'])
+
+target_string = '--target=' + meson.current_build_dir() + '/credits.c'
+credits_resources_c = custom_target('credits_resources_c',
+                input : 'credits.gresource.xml',
+                output : 'credits.c',
+                command : [glib_compile_resources, '--generate-source', target_string, source_string, '@INPUT@'])
+
+project_sources += credits_resources_h
+project_sources += credits_resources_c
diff --git a/src/credits/translators.sh b/src/credits/translators.sh
new file mode 100755 (executable)
index 0000000..2e9a253
--- /dev/null
@@ -0,0 +1,52 @@
+#! /bin/sh
+#**********************************************************************
+# Copyright (C) 2023 - The Geeqie Team
+#
+# Author: Colin Clark
+#
+# This program 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.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#**********************************************************************
+
+## @file
+## @brief Generate a list of people who have contributed translations.
+##
+## This list will be displayed in the About - Credits dialog.
+##
+## It is expected that the .po files have a list of translators preceded
+## by the line "# Translators:" and terminated by a line containing only "#"
+##
+
+for file in "$1"/po/*.po
+do
+       base=$(basename "$file")
+       locale=${base%.po}
+       awk '$1 == "'"$locale"'" {print $0}' locales.txt
+       awk '$2 ~/Translators:/ {
+               while (1) {
+                       getline $0
+               if ($0 == "#") {
+                       exit
+                       }
+               else {
+                       print substr($0, 3)
+                       }
+               }
+
+               print $0
+       }' "$file"
+
+       printf "\n"
+done > "$2"/translators
+printf "\n\0" >> "$2"/translators
index 544db00..2112ee3 100644 (file)
@@ -81,6 +81,7 @@
 #define GQ_WINDOW_LAYOUTS_DIR  "layouts"
 #define GQ_ARCHIVE_DIR "geeqie-archive"
 #define GQ_RESOURCE_PATH_ICONS "/org/geeqie/icons"
+#define GQ_RESOURCE_PATH_CREDITS "/org/geeqie/credits"
 
 #define GQ_SYSTEM_WIDE_DIR    "/etc/" GQ_APPNAME_LC
 
index e7054cf..abd9efb 100644 (file)
@@ -239,6 +239,7 @@ project_sources += main_sources
 subdir('icons')
 subdir('pan-view')
 subdir('view-file')
+subdir('credits')
 
 gqmarshal = gnome.genmarshal('gq-marshal', prefix : 'gq_marshal', sources : 'gq-marshal.list')
 project_sources += gqmarshal[0]
index c9c386b..df76006 100644 (file)
@@ -24,6 +24,8 @@
 
 #include "bar-keywords.h"
 #include "cache.h"
+#include "credits.h"
+#include "credits.c"
 #include "editors.h"
 #include "filedata.h"
 #include "filefilter.h"
@@ -4092,18 +4094,27 @@ void show_config_window(LayoutWindow *lw)
 
 void show_about_window(LayoutWindow *lw)
 {
-       GdkPixbuf *pixbuf_logo;
+       GDataInputStream *data_stream;
+       GInputStream *in_stream_authors;
+       GInputStream *in_stream_translators;
+       GResource *credits_resource;
+       GString *copyright;
        GdkPixbuf *pixbuf_icon;
+       GdkPixbuf *pixbuf_logo;
+       ZoneDetect *cd;
+       gchar *author_line;
        gchar *authors[1000];
+       gchar *authors_path;
        gchar *comment;
-       gint i_authors = 0;
-       gchar *path;
-       GString *copyright;
        gchar *timezone_path;
-       ZoneDetect *cd;
-       FILE *fp = NULL;
-#define LINE_LENGTH 1000
-       gchar line[LINE_LENGTH];
+       gchar *translators;
+       gchar *translators_path;
+       gint i_authors = 0;
+       gint n = 0;
+       gsize bytes_read;
+       gsize length;
+       gsize size;
+       guint32 flags;
 
        copyright = g_string_new(NULL);
        copyright = g_string_append(copyright, "This program comes with absolutely no warranty.\nGNU General Public License, version 2 or later.\nSee https://www.gnu.org/licenses/old-licenses/gpl-2.0.html\n\n");
@@ -4124,25 +4135,35 @@ void show_about_window(LayoutWindow *lw)
                }
        g_free(timezone_path);
 
+       credits_resource = credits_get_resource();
+
+       authors_path = g_build_filename(GQ_RESOURCE_PATH_CREDITS, "authors", NULL);
+
+       in_stream_authors = g_resource_open_stream(credits_resource, authors_path, G_RESOURCE_LOOKUP_FLAGS_NONE, NULL);
+
+       data_stream = g_data_input_stream_new(in_stream_authors);
+
        authors[0] = NULL;
-       path = g_build_filename(gq_helpdir, "AUTHORS", NULL);
-       fp = fopen(path, "r");
-       if (fp)
+       while ((author_line = g_data_input_stream_read_line(G_DATA_INPUT_STREAM(data_stream), &length, NULL, NULL)))
                {
-               while(fgets(line, LINE_LENGTH, fp))
-                       {
-                       /* get rid of ending \n from fgets */
-                       line[strlen(line) - 1] = '\0';
-                       authors[i_authors] = g_strdup(line);
-                       i_authors++;
-                       }
-               authors[i_authors] = NULL;
-               fclose(fp);
+               authors[i_authors] = g_strdup(author_line);
+               i_authors++;
+               g_free(author_line);
                }
-       g_free(path);
+       authors[i_authors] = NULL;
+
+       g_input_stream_close(in_stream_authors, NULL, NULL);
 
-       comment = g_strconcat("Development and bug reports:\n", GQ_EMAIL_ADDRESS,
-                                               "\nhttps://github.com/BestImageViewer/geeqie/issues",NULL);
+       translators_path = g_build_filename(GQ_RESOURCE_PATH_CREDITS, "translators", NULL);
+
+       g_resource_get_info(credits_resource, translators_path, G_RESOURCE_LOOKUP_FLAGS_NONE, &size, &flags, NULL);
+
+       in_stream_translators = g_resource_open_stream(credits_resource, translators_path, G_RESOURCE_LOOKUP_FLAGS_NONE, NULL);
+       translators = static_cast<gchar *>(g_malloc0(size));
+       g_input_stream_read_all(in_stream_translators, translators, size, &bytes_read, NULL, NULL);
+       g_input_stream_close(in_stream_translators, NULL, NULL);
+
+       comment = g_strconcat("Project created by John Ellis\nGQview 1998\nGeeqie 2007\n\n\nDevelopment and bug reports:\n", GQ_EMAIL_ADDRESS, "\nhttps://github.com/BestImageViewer/geeqie/issues",NULL);
 
        pixbuf_logo = pixbuf_inline(PIXBUF_INLINE_LOGO);
        pixbuf_icon = pixbuf_inline(PIXBUF_INLINE_ICON);
@@ -4157,20 +4178,26 @@ void show_about_window(LayoutWindow *lw)
                "website-label", "Website",
                "comments", comment,
                "authors", authors,
-               "translator-credits", _("translator-credits"),
+               "translator-credits", translators,
                "wrap-license", TRUE,
                "license", copyright->str,
                NULL);
 
        g_string_free(copyright, TRUE);
 
-       gint n = 0;
        while(n < i_authors)
                {
                g_free(authors[n]);
                n++;
                }
+
+       g_free(authors_path);
        g_free(comment);
+       g_free(translators);
+       g_free(translators_path);
+       g_object_unref(data_stream);
+       g_object_unref(in_stream_authors);
+       g_object_unref(in_stream_translators);
 
        return;
 }