From 89f317a2f8942e646cd1976a2fcf928d4915138e Mon Sep 17 00:00:00 2001 From: Colin Clark Date: Fri, 21 Apr 2023 11:01:59 +0100 Subject: [PATCH] Auto-generate list of authors and translators - 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 --- AUTHORS | 196 ------------- meson.build | 2 +- po/ar.po | 2 + po/be.po | 2 + po/bg.po | 3 +- po/ca.po | 1 + po/cs.po | 1 + po/da.po | 1 + po/de.po | 9 +- po/el.po | 2 + po/en_GB.po | 1 + po/eo.po | 2 + po/es.po | 3 +- po/et.po | 1 + po/eu.po | 2 + po/fi.po | 1 + po/fr.po | 19 +- po/hu.po | 1 + po/id.po | 1 + po/it.po | 11 +- po/ja.po | 2 + po/ko.po | 1 + po/nb.po | 1 + po/nl.po | 1 + po/pl.po | 3 + po/pt_BR.po | 8 +- po/ro.po | 2 + po/ru.po | 17 +- po/sk.po | 7 +- po/sl.po | 1 + po/sr.po | 4 +- po/sr@latin.po | 4 +- po/sv.po | 2 + po/th.po | 2 + po/tlh.po | 1 + po/tr.po | 5 +- po/uk.po | 2 + po/vi.po | 2 + po/zh_CN.po | 2 + po/zh_TW.po | 2 + src/credits/authors.sh | 34 +++ src/credits/credits.gresource.xml | 29 ++ src/credits/locales.txt | 445 ++++++++++++++++++++++++++++++ src/credits/meson.build | 38 +++ src/credits/translators.sh | 52 ++++ src/main.h | 1 + src/meson.build | 1 + src/preferences.cc | 77 ++++-- 48 files changed, 747 insertions(+), 260 deletions(-) delete mode 100644 AUTHORS create mode 100755 src/credits/authors.sh create mode 100644 src/credits/credits.gresource.xml create mode 100644 src/credits/locales.txt create mode 100644 src/credits/meson.build create mode 100755 src/credits/translators.sh diff --git a/AUTHORS b/AUTHORS deleted file mode 100644 index a67cc811..00000000 --- a/AUTHORS +++ /dev/null @@ -1,196 +0,0 @@ -John Ellis (Original author and maintainer of GQview) - -The Geeqie Team: - - Colin Clark - Klaus Ethgen - Laurent Monin - Vladimir Nadvornik - Petr Ostadal - Omari Stephens - -Translations: - - Grzegorz Kowal - Zbigniew Chyla - Emil Nowak - Wit Wilinski - Tomasz Golinski - for Polish translation - - Christopher R. Gabriel - Di Maggio Salvatore - Costantino - for Italian translation - - Sandokan - Ivan Priesol - Mgr. Peter Tuharsky - for Slovak translation - - Rodrigo Sancho Senosiain - Ariel Fermani - for Spanish translation - - Laurent Monin - Eric Lassauge - Jean-Pierre Pedron - Pascal Bleser - Nicolas Boos - Nicolas Bonifas - for French translation - - Fâtih Demir - for Turkish translation - - Kam Tik - Abel Cheung - S.J. Luo - Levin - for Traditional Chinese (Big5) translation - - Junichi Uekawa - Oleg Andrjushenko - Michael Bravo - Sergey Pinaev - for Russian translation - - Guilherme M. Schroeder - Vitor Fernandes - Herval Ribeiro de Azevêdo - for Brazilian Portuguese translation - - Shingo Akagaki - Yuuki Ninomiya - Sato Satoru - Takeshi AIHANA - for Japanese translation - - Matthias Warkus - Thomas Klausner - Danny Milosavljevic - Ronny Steiner - Klaus Ethgen - for German translation - - Matej Erman - for Slovene translation - - MÃtyÃs Tibor - Koblinger Egmont - Sári Gábor - for Hungarian translation - - Wu Yulun - Charles Wang - for simplified Chinese translation - - Marcel Pol - H.J.Visser - Tino Meinen - for Dutch translation - - Lauri Nurmi - for Finnish translation - - Ilmar Kerm - for Estonian translation - - Volodymyr M. Lisivka - for Ukrainian translation - - Birger Langkjer - for Danish translation - - Torgeir Ness Sundli - for Norwegian translation - - Jan Raska - Michal Bukovjan - for Czech translation - - Phanumas Thanyaboon - for Thai translation - - Harald Ersch - for Romanian translation - - pclouds - for Vietnamese translation - - Tedi Heriyanto - for Indonesian translation - - Vladimir Petrov - for Bulgarian translation - - Hans Öfverbeck - for Swedish translation - - Youssef Assad - for Arabic translation - - Àngel Mompó - Carles Pina i Estany - for Catalan translation - - Hyun-Jin Moon - for Korean translation - - Pavel Piatruk - for Belarusian translation - - Piarres Beobide - for Basque translation - - Antonio C. Codazzi - for Esperanto translation - - Nikos Papadopoulos - for Greek translation - -Fixes, additions, and patches: - - Eric Swalens - Quy Tonthat - for initial Exif support. - - Daniel M. German - for Canon raw image support. - - Lars Ellenberg - for Fujifilm raw image support. - - Diederen Damien - for .xvpics thumbnail reading support. - - Nick Rusnov - Ryan Murray - for man page. - - Martin Pool - for sort by number, misc. improvements. - - Jörg Mensmann - 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. diff --git a/meson.build b/meson.build index 3ba0256a..c84543a4 100644 --- a/meson.build +++ b/meson.build @@ -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 diff --git a/po/ar.po b/po/ar.po index 6433871c..b5c0072c 100644 --- 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 "" diff --git a/po/be.po b/po/be.po index 13972ed6..2ec05aa8 100644 --- 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 , 2006. # Pavel Piatruk , 2008. +# msgid "" msgstr "" "Project-Id-Version: geeqie-1.3\n" diff --git a/po/bg.po b/po/bg.po index 3d75596f..b5642768 100644 --- 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 , 2005. -# +# Владимир Петров # msgid "" msgstr "" diff --git a/po/ca.po b/po/ca.po index 563c4ba4..da30a9dc 100644 --- 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 , 2010. # Àngel Mompó , 2012. # Carles Pina i Estany , 2021-2022 diff --git a/po/cs.po b/po/cs.po index 191b9fe4..3f321126 100644 --- 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 , 2001, 2004, 2005 # Aktualizace Michal Bukovjan , 2002. # Vladimír Nádvorník , 2009 diff --git a/po/da.po b/po/da.po index a6c969e4..c50f0699 100644 --- 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 , 2001. # msgid "" diff --git a/po/de.po b/po/de.po index 81648fcc..c7a586c7 100644 --- 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 , 1999. # # diff --git a/po/el.po b/po/el.po index 79ac08b8..22084ee7 100644 --- a/po/el.po +++ b/po/el.po @@ -1,4 +1,6 @@ +# Translators: # Nikos Papadopoulos >, 2016. +# msgid "" msgstr "" "Project-Id-Version: geeqie-1.3\n" diff --git a/po/en_GB.po b/po/en_GB.po index 48009c5c..78925dda 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -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 , 2018-2019. # msgid "" diff --git a/po/eo.po b/po/eo.po index 59d81138..68411d61 100644 --- a/po/eo.po +++ b/po/eo.po @@ -3,6 +3,8 @@ # Copyright (C) Antonio C. Codazzi "la Filozofo" , 2006. # # Check Esperanto special letters= ĉŝĥĵĝŭ +# Translators: +# Antonio C. Codazzi # # Tradukaĵoj: # checksum = kontrolsumo diff --git a/po/es.po b/po/es.po index 93a98b23..d8569e68 100644 --- 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 , 2000. # Ariel Fermani , 2003, 2004, 2005. # Ariel Fermani , 2009. # Redy Rodriguez , 2009. -# +# micrococo # msgid "" msgstr "" diff --git a/po/et.po b/po/et.po index 477306e6..ce04e997 100644 --- 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 , 2001-2002. # msgid "" diff --git a/po/eu.po b/po/eu.po index 08a91e06..f05c88fa 100644 --- 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 , 2006. +# msgid "" msgstr "" "Project-Id-Version: geeqie-1.3\n" diff --git a/po/fi.po b/po/fi.po index 21292213..c6f2febb 100644 --- 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 , 2001-2006. # msgid "" diff --git a/po/fr.po b/po/fr.po index 23aa4217..27691c40 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1,21 +1,20 @@ # geeqie fr.po file. # -# Last Translator : -# Laurent Monin , 2008-2009. -# -# Created by Jean-Pierre Pedron , 2000. -# Updated by Pascal Bleser , 2003. -# Updated by Nicolas Boos , 2003. -# Updated by Nicolas Bonifas , 2003-2004. -# Updated by Éric Lassauge , 2001-2002, 2004-2005. +# Translators: +# Laurent Monin , 2008-2009. +# Jean-Pierre Pedron , 2000. +# Pascal Bleser , 2003. +# Nicolas Boos , 2003. +# Nicolas Bonifas , 2003-2004. +# Éric Lassauge , 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 \n" +"PO-Revision-Date: 2023-04-18 18:36+0100\n" +"Last-Translator: Colin Clark \n" "Language-Team: french \n" "Language: french\n" "MIME-Version: 1.0\n" diff --git a/po/hu.po b/po/hu.po index e580630a..55234f5d 100644 --- 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 , 2001. # Koblinger Egmont , 2004. # Sári Gábor , 2004. diff --git a/po/id.po b/po/id.po index f58213ad..ec483208 100644 --- 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 , 2003. # msgid "" diff --git a/po/it.po b/po/it.po index 8c1ab6b7..e031a76e 100644 --- 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 # e anche a Happy Cactus +# Translators: +# Christopher R. Gabriel , 2000 - 2001. # Kostantino , 2006. -# Copyright (C) Christopher R. Gabriel , 2000 - 2001. -# Kostantino , 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 \n" +"PO-Revision-Date: 2023-04-18 18:35+0100\n" +"Last-Translator: Colin Clark \n" "Language-Team: italiano \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 diff --git a/po/ja.po b/po/ja.po index d35c1020..1583e252 100644 --- 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 , 2001 # Junichi Uekawa , 2002 # Takeshi Aihana , 2000-2005. +# # , no-wrap # msgid "" diff --git a/po/ko.po b/po/ko.po index 2237e387..7fcacd2a 100644 --- a/po/ko.po +++ b/po/ko.po @@ -3,6 +3,7 @@ # Translators: # Hyun-Jin Moon , 2006. # JungHee Lee , 2022. +# 이정희 # msgid "" msgstr "" diff --git a/po/nb.po b/po/nb.po index f50d2b09..bed0f6c1 100644 --- 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 , 2001. # msgid "" diff --git a/po/nl.po b/po/nl.po index cfd59685..a697b700 100644 --- 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 , 2001. # Tino Meinen , 2003, 2004, 2005. # Marcel Pol , 2009-2010, 2021, 2023. diff --git a/po/pl.po b/po/pl.po index fd5f04a9..be856d09 100644 --- a/po/pl.po +++ b/po/pl.po @@ -1,3 +1,6 @@ +# Translators: +# Tomasz Golinski +# msgid "" msgstr "" "Project-Id-Version: geeqie-1.3\n" diff --git a/po/pt_BR.po b/po/pt_BR.po index 37d3d909..22d33675 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -1,8 +1,10 @@ # geeqie pt_BR.po file. # -# Created by Guilherme M. Schroeder , 2001. -# Updated by Herval Ribeiro de Azevêdo , 2005. -# Updated by Sérgio Cipolla , 2010. +# Translators: +# Guilherme M. Schroeder , 2001. +# Herval Ribeiro de Azevêdo , 2005. +# Sérgio Cipolla , 2010. +# msgid "" msgstr "" "Project-Id-Version: geeqie-1.3\n" diff --git a/po/ro.po b/po/ro.po index 319f9e27..396fddcc 100644 --- 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 ,2002. # Harald Ersch , 2004. +# Sabin Iacob # msgid "" msgstr "" diff --git a/po/ru.po b/po/ru.po index f745a2cb..c63a7cb6 100644 --- 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 , 1999. -# Edited by Michael Bravo , 2000. -# Edited by drF_ckoff , 2001. -# Edited by Oleg Andryuschenko , 2002. -# Edited by drF_ckoff , 2003-2004. -# Edited by Vitaly Lipatov , 2005. -# Edited by Alexandre Prokoudine , 2008. -# Edited by Denis Silakov , 2010. -# Edited by ashed , 2021. +# Michael Bravo , 2000. +# drF_ckoff , 2001. +# Oleg Andryuschenko , 2002. +# drF_ckoff , 2003-2004. +# Vitaly Lipatov , 2005. +# Alexandre Prokoudine , 2008. +# Denis Silakov , 2010. +# ashed , 2021. # # $Id$ # diff --git a/po/sk.po b/po/sk.po index 66764eb5..267fbe79 100644 --- 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 , 2000. -# Edited by Ivan Priesol , 2001,2004. -# Edited by Jose Riha , 2020. +# Translators: +# Martin Pekar , 2000. +# Ivan Priesol , 2001,2004. +# Jose Riha , 2020. # msgid "" msgstr "" diff --git a/po/sl.po b/po/sl.po index 0c1c19a3..204345f5 100644 --- 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 , 2001. # msgid "" diff --git a/po/sr.po b/po/sr.po index bbe43480..81c8ac74 100644 --- a/po/sr.po +++ b/po/sr.po @@ -4,7 +4,9 @@ # This file is distributed under the same license as the Geeqie package. # # -# Милош Поповић , 2010. +# msgid "" msgstr "" "Project-Id-Version: geeqie-1.3\n" diff --git a/po/sr@latin.po b/po/sr@latin.po index b8cd1436..956293fd 100644 --- a/po/sr@latin.po +++ b/po/sr@latin.po @@ -4,7 +4,9 @@ # This file is distributed under the same license as the Geeqie package. # # -# Miloš Popović , 2010. +# msgid "" msgstr "" "Project-Id-Version: geeqie-1.3\n" diff --git a/po/sv.po b/po/sv.po index 92779fe0..35e0d551 100644 --- 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 , 2003-2005. # Tore Ericsson , 2011. +# msgid "" msgstr "" "Project-Id-Version: geeqie-1.3\n" diff --git a/po/th.po b/po/th.po index d23e566a..a97b8269 100644 --- a/po/th.po +++ b/po/th.po @@ -1,6 +1,8 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. # FIRST AUTHOR , YEAR. +# Translators: +# Phanumas Thanyaboon # msgid "" msgstr "" diff --git a/po/tlh.po b/po/tlh.po index e8add0bd..9b083afd 100644 --- a/po/tlh.po +++ b/po/tlh.po @@ -1,5 +1,6 @@ # geeqie tlh.po file. # Copyright (C) 2016 Klaus Ethgen +# Translators: # Klaus Ethgen , 2016. # msgid "" diff --git a/po/tr.po b/po/tr.po index 2fb475eb..92267a52 100644 --- a/po/tr.po +++ b/po/tr.po @@ -1,6 +1,9 @@ # --------------------------------------------------------------------- # Copyright (C) 1999-2000 Free Software Foundation, Inc. -# Fatih Demir , 1999-2000 . +# Translators: +# Fatih Demir , 1999-2000 +# Yaşar Çiv +# # --------------------------------------------------------------------- msgid "" msgstr "" diff --git a/po/uk.po b/po/uk.po index c6f30a31..05aa5860 100644 --- 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 , 2001,2002. # Olexander Kunytsa, 2002 +# msgid "" msgstr "" "Project-Id-Version: geeqie-1.3\n" diff --git a/po/vi.po b/po/vi.po index c8c6f405..1aeb5083 100644 --- a/po/vi.po +++ b/po/vi.po @@ -1,6 +1,8 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) 2002 Free Software Foundation, Inc. # pclouds , 2002. +# Translators: +# pclouds # msgid "" msgstr "" diff --git a/po/zh_CN.po b/po/zh_CN.po index fda06b06..71e3e5e3 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -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 # msgid "" msgstr "" diff --git a/po/zh_TW.po b/po/zh_TW.po index d2fbf92c..2be192bd 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -1,7 +1,9 @@ # Geeqie Triditional Chinese (Big5) translation. # Copyright (C) 2000-2001 Free Software Foundation, Inc. +# Translators: # Kam Tik , 2000. # Abel Cheung , 2001. +# S.J. Luo # msgid "" msgstr "" diff --git a/src/credits/authors.sh b/src/credits/authors.sh new file mode 100755 index 00000000..667bdca8 --- /dev/null +++ b/src/credits/authors.sh @@ -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 index 00000000..2ec6df18 --- /dev/null +++ b/src/credits/credits.gresource.xml @@ -0,0 +1,29 @@ + + + + + + authors + translators + + diff --git a/src/credits/locales.txt b/src/credits/locales.txt new file mode 100644 index 00000000..0768f5f7 --- /dev/null +++ b/src/credits/locales.txt @@ -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 index 00000000..5d80cb0e --- /dev/null +++ b/src/credits/meson.build @@ -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 index 00000000..2e9a2536 --- /dev/null +++ b/src/credits/translators.sh @@ -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 diff --git a/src/main.h b/src/main.h index 544db00e..2112ee32 100644 --- a/src/main.h +++ b/src/main.h @@ -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 diff --git a/src/meson.build b/src/meson.build index e7054cfb..abd9efb2 100644 --- a/src/meson.build +++ b/src/meson.build @@ -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] diff --git a/src/preferences.cc b/src/preferences.cc index c9c386b6..df760068 100644 --- a/src/preferences.cc +++ b/src/preferences.cc @@ -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(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; } -- 2.20.1