mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-10-06 01:12:40 +02:00
Compare commits
11 Commits
62821736fb
...
wip/wormne
Author | SHA1 | Date | |
---|---|---|---|
|
6451ce3c80 | ||
|
81c67e5614 | ||
|
67fa72a94e | ||
|
6587256c3a | ||
|
ad9dbf2c8b | ||
|
2f0bfc569b | ||
|
36330a271a | ||
|
baa4825880 | ||
|
8c910c2b6b | ||
|
a025cfe41b | ||
|
41035c7589 |
@@ -1125,10 +1125,19 @@ welcome_dialog_create_release_page (Gimp *gimp,
|
||||
|
||||
tmp = g_strdup_printf (GIMP_VERSION);
|
||||
if (GIMP_MINOR_VERSION % 2 == 0 && ! strstr (tmp, "RC"))
|
||||
release_link = g_strdup_printf ("https://www.gimp.org/release-notes/gimp-%d.%d.html",
|
||||
GIMP_MAJOR_VERSION, GIMP_MINOR_VERSION);
|
||||
{
|
||||
if (GIMP_MICRO_VERSION == 0 && ! strstr (tmp, "RC"))
|
||||
release_link = g_strdup_printf ("https://www.gimp.org/release-notes/gimp-%d.%d.html",
|
||||
GIMP_MAJOR_VERSION, GIMP_MINOR_VERSION);
|
||||
else
|
||||
release_link = g_strdup_printf ("https://www.gimp.org/release/%d.%d.%d/",
|
||||
GIMP_MAJOR_VERSION, GIMP_MINOR_VERSION,
|
||||
GIMP_MICRO_VERSION);
|
||||
}
|
||||
else
|
||||
release_link = g_strdup ("https://www.gimp.org/");
|
||||
{
|
||||
release_link = g_strdup ("https://www.gimp.org/");
|
||||
}
|
||||
g_free (tmp);
|
||||
|
||||
widget = gtk_link_button_new_with_label (release_link, _("Learn more"));
|
||||
|
@@ -464,7 +464,7 @@ sanity_check_babl (void)
|
||||
|
||||
#define BABL_REQUIRED_MAJOR 0
|
||||
#define BABL_REQUIRED_MINOR 1
|
||||
#define BABL_REQUIRED_MICRO 114
|
||||
#define BABL_REQUIRED_MICRO 116
|
||||
|
||||
babl_get_version (&babl_major_version,
|
||||
&babl_minor_version,
|
||||
|
@@ -39,6 +39,7 @@
|
||||
#include "core/gimpimageproxy.h"
|
||||
#include "core/gimpitem.h"
|
||||
#include "core/gimplineart.h"
|
||||
#include "core/gimplinklayer.h"
|
||||
#include "core/gimppickable.h"
|
||||
#include "core/gimppickable-contiguous-region.h"
|
||||
#include "core/gimpprogress.h"
|
||||
@@ -50,6 +51,8 @@
|
||||
|
||||
#include "operations/layer-modes/gimp-layer-modes.h"
|
||||
|
||||
#include "path/gimpvectorlayer.h"
|
||||
|
||||
#include "widgets/gimphelp-ids.h"
|
||||
#include "widgets/gimpwidgets-utils.h"
|
||||
|
||||
@@ -620,7 +623,21 @@ gimp_bucket_fill_tool_button_press (GimpTool *tool,
|
||||
return;
|
||||
}
|
||||
|
||||
if (gimp_item_is_content_locked (GIMP_ITEM (drawable), &locked_item))
|
||||
if (gimp_item_is_link_layer (GIMP_ITEM (drawable)))
|
||||
{
|
||||
gimp_tool_message_literal (tool, display,
|
||||
_("Link layers must be rasterized "
|
||||
"before they can be painted on."));
|
||||
return;
|
||||
}
|
||||
else if (gimp_item_is_vector_layer (GIMP_ITEM (drawable)))
|
||||
{
|
||||
gimp_tool_message_literal (tool, display,
|
||||
_("Vector layers must be rasterized "
|
||||
"before they can be painted on."));
|
||||
return;
|
||||
}
|
||||
else if (gimp_item_is_content_locked (GIMP_ITEM (drawable), &locked_item))
|
||||
{
|
||||
gimp_tool_message_literal (tool, display,
|
||||
_("The selected layer's pixels are locked."));
|
||||
|
@@ -562,48 +562,50 @@ gimp_filter_tool_control (GimpTool *tool,
|
||||
|
||||
case GIMP_TOOL_ACTION_COMMIT:
|
||||
if (filter_tool->filter)
|
||||
drawable = gimp_drawable_filter_get_drawable (filter_tool->filter);
|
||||
|
||||
/* TODO: Expand non-destructive editing to other drawables
|
||||
* besides layers and channels */
|
||||
if ((! GIMP_IS_LAYER (drawable) && ! GIMP_IS_CHANNEL (drawable)) ||
|
||||
GIMP_IS_LAYER_MASK (drawable) ||
|
||||
(! filter_tool->existing_filter && options->merge_filter))
|
||||
non_destructive = FALSE;
|
||||
|
||||
if (filter_tool->operation)
|
||||
{
|
||||
gegl_node_get (filter_tool->operation,
|
||||
"operation", &operation_name,
|
||||
NULL);
|
||||
drawable = gimp_drawable_filter_get_drawable (filter_tool->filter);
|
||||
|
||||
if (! g_strcmp0 (operation_name, "gegl:nop"))
|
||||
/* TODO: Expand non-destructive editing to other drawables
|
||||
* besides layers and channels */
|
||||
if ((! GIMP_IS_LAYER (drawable) && ! GIMP_IS_CHANNEL (drawable)) ||
|
||||
GIMP_IS_LAYER_MASK (drawable) ||
|
||||
(! filter_tool->existing_filter && options->merge_filter))
|
||||
non_destructive = FALSE;
|
||||
|
||||
/* TODO: Once we can serialize GimpDrawable, remove so that filters with
|
||||
* aux nodes can be non-destructive */
|
||||
if (gegl_node_has_pad (filter_tool->operation, "aux") ||
|
||||
/* GEGL graph is dangerous even without using third-party
|
||||
* effects, because it may run any effect. E.g. it can
|
||||
* run sink effects overwriting any local files with user
|
||||
* rights. We leave a way in through an environment
|
||||
* variable because it is a useful tool for GEGL ops
|
||||
* developers but it should only be set while knowing what
|
||||
* you are doing.
|
||||
*/
|
||||
(g_strcmp0 (operation_name, "gegl:gegl") == 0 &&
|
||||
g_getenv ("GIMP_ALLOW_GEGL_GRAPH_LAYER_EFFECT") == NULL))
|
||||
non_destructive = FALSE;
|
||||
if (filter_tool->operation)
|
||||
{
|
||||
gegl_node_get (filter_tool->operation,
|
||||
"operation", &operation_name,
|
||||
NULL);
|
||||
|
||||
g_free (operation_name);
|
||||
if (! g_strcmp0 (operation_name, "gegl:nop"))
|
||||
non_destructive = FALSE;
|
||||
|
||||
/* TODO: Once we can serialize GimpDrawable, remove so that
|
||||
* filters with aux nodes can be non-destructive */
|
||||
if (gegl_node_has_pad (filter_tool->operation, "aux") ||
|
||||
/* GEGL graph is dangerous even without using third-party
|
||||
* effects, because it may run any effect. E.g. it can
|
||||
* run sink effects overwriting any local files with user
|
||||
* rights. We leave a way in through an environment
|
||||
* variable because it is a useful tool for GEGL ops
|
||||
* developers but it should only be set while knowing what
|
||||
* you are doing.
|
||||
*/
|
||||
(g_strcmp0 (operation_name, "gegl:gegl") == 0 &&
|
||||
g_getenv ("GIMP_ALLOW_GEGL_GRAPH_LAYER_EFFECT") == NULL))
|
||||
non_destructive = FALSE;
|
||||
|
||||
g_free (operation_name);
|
||||
}
|
||||
|
||||
/* Ensure that filters applied to group, vector or link layers are
|
||||
* non-destructive */
|
||||
if (GIMP_IS_GROUP_LAYER (drawable) ||
|
||||
gimp_item_is_vector_layer (GIMP_ITEM (drawable)) ||
|
||||
gimp_item_is_link_layer (GIMP_ITEM (drawable)))
|
||||
non_destructive = TRUE;
|
||||
}
|
||||
|
||||
/* Ensure that filters applied to group, vector or link layers are non-destructive */
|
||||
if (GIMP_IS_GROUP_LAYER (drawable) ||
|
||||
gimp_item_is_vector_layer (GIMP_ITEM (drawable)) ||
|
||||
gimp_item_is_link_layer (GIMP_ITEM (drawable)))
|
||||
non_destructive = TRUE;
|
||||
|
||||
gimp_filter_tool_commit (filter_tool, non_destructive);
|
||||
break;
|
||||
}
|
||||
|
@@ -1152,6 +1152,9 @@ gimp_clipboard_send_image (GtkClipboard *clipboard,
|
||||
{
|
||||
GimpClipboard *gimp_clip = gimp_clipboard_get (gimp);
|
||||
|
||||
if (gimp_clip == NULL)
|
||||
return;
|
||||
|
||||
gimp_set_busy (gimp);
|
||||
|
||||
if (info == 0)
|
||||
@@ -1212,6 +1215,9 @@ gimp_clipboard_send_buffer (GtkClipboard *clipboard,
|
||||
GimpClipboard *gimp_clip = gimp_clipboard_get (gimp);
|
||||
GdkPixbuf *pixbuf;
|
||||
|
||||
if (gimp_clip == NULL)
|
||||
return;
|
||||
|
||||
gimp_set_busy (gimp);
|
||||
|
||||
pixbuf = gimp_viewable_get_pixbuf (GIMP_VIEWABLE (gimp_clip->buffer),
|
||||
@@ -1256,6 +1262,9 @@ gimp_clipboard_send_svg (GtkClipboard *clipboard,
|
||||
{
|
||||
GimpClipboard *gimp_clip = gimp_clipboard_get (gimp);
|
||||
|
||||
if (gimp_clip == NULL)
|
||||
return;
|
||||
|
||||
gimp_set_busy (gimp);
|
||||
|
||||
if (gimp_clip->svg)
|
||||
@@ -1280,6 +1289,9 @@ gimp_clipboard_send_curve (GtkClipboard *clipboard,
|
||||
{
|
||||
GimpClipboard *gimp_clip = gimp_clipboard_get (gimp);
|
||||
|
||||
if (gimp_clip == NULL)
|
||||
return;
|
||||
|
||||
gimp_set_busy (gimp);
|
||||
|
||||
if (gimp_clip->curve)
|
||||
|
@@ -334,6 +334,9 @@ if get_option('buildtype') == 'debug' or get_option('buildtype') == 'debugoptimi
|
||||
if not platform_windows
|
||||
# DWARF symbols for GCC and LLDB on Unix
|
||||
debugging_format = 'native'
|
||||
elif cc.get_argument_syntax() == 'msvc'
|
||||
# CodeView symbols for DIA or DbgHelp debuggers and LLDB on Windows
|
||||
debugging_format = 'Native'
|
||||
elif platform_windows and get_option('win-debugging') == 'native' and cc.has_argument('-gcodeview') and cc.has_link_argument('-Wl,--pdb=') and cc.get_id() == 'clang'
|
||||
# CodeView symbols for DIA or DbgHelp debuggers and LLDB on Windows
|
||||
debugging_format = 'native'
|
||||
@@ -406,7 +409,7 @@ winsock = platform_windows ? cc.find_library('ws2_32') : no_dep
|
||||
mscms = platform_windows ? cc.find_library('mscms') : no_dep
|
||||
atk_minver = '2.4.0'
|
||||
atk = dependency('atk', version: '>='+atk_minver)
|
||||
babl_minver = '0.1.114'
|
||||
babl_minver = '0.1.116'
|
||||
babl = dependency('babl-0.1', version: '>='+babl_minver, required: false)
|
||||
if not babl.found()
|
||||
# babl changed its pkg-config name from 'babl' to 'babl-0.1' in version
|
||||
@@ -2046,7 +2049,7 @@ pkgconfig.generate(libgimpui,
|
||||
# Install native debug data (.pdb) on Windows
|
||||
# Ideally meson should take care of it automatically.
|
||||
# See: https://github.com/mesonbuild/meson/issues/12977
|
||||
if platform_windows and debugging_format == 'native'
|
||||
if platform_windows and debugging_format == 'native' and cc.get_argument_syntax() != 'msvc'
|
||||
install_win_debug_script = find_program('build/windows/2_bundle-gimp-uni_sym.py')
|
||||
meson.add_install_script(install_win_debug_script)
|
||||
endif
|
||||
|
@@ -1083,6 +1083,7 @@ zip_load (GFile *infile,
|
||||
if (r != ARCHIVE_OK)
|
||||
{
|
||||
archive_read_close (a);
|
||||
archive_read_free (a);
|
||||
|
||||
goto out;
|
||||
}
|
||||
@@ -1094,13 +1095,22 @@ zip_load (GFile *infile,
|
||||
if (r != ARCHIVE_OK)
|
||||
{
|
||||
archive_read_close (a);
|
||||
archive_read_free (a);
|
||||
|
||||
goto out;
|
||||
}
|
||||
archive_entry_free (entry);
|
||||
ret = TRUE;
|
||||
|
||||
if (archive_read_next_header (a, &entry) != ARCHIVE_EOF)
|
||||
/* Leave a chance for the load to succeed (in case the first
|
||||
* file happens to be an image file), yet still warns. This
|
||||
* procedure expects that the archive contains a single
|
||||
* file.
|
||||
*/
|
||||
g_message (_("This zip archive contains more than one file."));
|
||||
}
|
||||
archive_read_close (a);
|
||||
archive_read_free (a);
|
||||
}
|
||||
|
||||
out:
|
||||
|
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gimp-plug-ins\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gimp/issues\n"
|
||||
"POT-Creation-Date: 2025-09-29 19:54+0000\n"
|
||||
"PO-Revision-Date: 2025-09-29 22:59+0300\n"
|
||||
"POT-Creation-Date: 2025-10-02 00:31+0000\n"
|
||||
"PO-Revision-Date: 2025-10-02 11:21+0300\n"
|
||||
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
|
||||
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
|
||||
"Language: uk\n"
|
||||
@@ -2808,19 +2808,87 @@ msgstr "Непрозорість"
|
||||
msgid "gzip archive"
|
||||
msgstr "архів gzip"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:229
|
||||
msgid "Loads files compressed with gzip"
|
||||
msgstr "Завантажує файли, які стиснуто за допомогою gzip"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:230
|
||||
#| msgid ""
|
||||
#| "This plug-in loads files in the various Netpbm portable file formats."
|
||||
msgid "This procedure loads files in the gzip compressed format."
|
||||
msgstr "Ця процедура завантажує файли у стисненому форматі gzip."
|
||||
|
||||
#: plug-ins/common/file-compressor.c:234
|
||||
msgid "Exports files compressed with gzip"
|
||||
msgstr "Експортує файли, які стиснуто за допомогою gzip"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:235
|
||||
#| msgid "Exports files in the PNM file format"
|
||||
msgid "This procedure exports files in the gzip compressed format."
|
||||
msgstr "Ця процедура експортує файли у стисненому форматі gzip."
|
||||
|
||||
#: plug-ins/common/file-compressor.c:240
|
||||
msgid "bzip archive"
|
||||
msgstr "архів bzip"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:248
|
||||
msgid "Loads files compressed with bzip2"
|
||||
msgstr "Завантажує файли, які стиснуто за допомогою bzip2"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:249
|
||||
#| msgid ""
|
||||
#| "This plug-in loads files in the various Netpbm portable file formats."
|
||||
msgid "This procedure loads files in the bzip2 compressed format."
|
||||
msgstr "Ця процедура завантажує файли у стисненому форматі bzip2."
|
||||
|
||||
#: plug-ins/common/file-compressor.c:253
|
||||
msgid "Exports files compressed with bzip2"
|
||||
msgstr "Експортує файли, які стиснуто за допомогою bzip2"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:254
|
||||
#| msgid ""
|
||||
#| "This plug-in loads files in the various Netpbm portable file formats."
|
||||
msgid "This procedure exports files in the bzip2 compressed format."
|
||||
msgstr "Ця процедура експортує файли у стисненому форматі bzip2."
|
||||
|
||||
#: plug-ins/common/file-compressor.c:259
|
||||
msgid "xz archive"
|
||||
msgstr "архів xz"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:267
|
||||
msgid "Loads files compressed with xz"
|
||||
msgstr "Завантажує файли, які стиснуто за допомогою xz"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:268
|
||||
#| msgid ""
|
||||
#| "This plug-in loads files in the various Netpbm portable file formats."
|
||||
msgid "This procedure loads files in the xz compressed format."
|
||||
msgstr "Ця процедура завантажує файли у стисненому форматі xz."
|
||||
|
||||
#: plug-ins/common/file-compressor.c:272
|
||||
#| msgid "Error reading compressed data. "
|
||||
msgid "Exports files compressed with xz"
|
||||
msgstr "Експортує файли, які стиснуто за допомогою xz"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:273
|
||||
#| msgid "Exports files in the PNM file format"
|
||||
msgid "This procedure exports files in the xz compressed format."
|
||||
msgstr "Ця процедура експортує файли у стисненому форматі xz."
|
||||
|
||||
#: plug-ins/common/file-compressor.c:278
|
||||
#| msgid "gzip archive"
|
||||
msgid "zip archive"
|
||||
msgstr "архів zip"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:286
|
||||
msgid "Loads files compressed with zip"
|
||||
msgstr "Завантажує файли, які стиснуто за допомогою zip"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:287
|
||||
#| msgid ""
|
||||
#| "This plug-in loads files in the various Netpbm portable file formats."
|
||||
msgid "This procedure loads files in the zip compressed format."
|
||||
msgstr "Ця процедура завантажує файли у стисненому форматі zip."
|
||||
|
||||
#: plug-ins/common/file-compressor.c:471
|
||||
msgid "No sensible file extension, saving as compressed XCF."
|
||||
msgstr "Немає потрібного розширення, зберігається як стиснутий XCF."
|
||||
@@ -2834,6 +2902,15 @@ msgstr "Стиснення «%s»"
|
||||
msgid "No sensible file extension, attempting to load with file magic."
|
||||
msgstr "Немає потрібного розширення, спроба визначення типу за вмістом файлу."
|
||||
|
||||
#. Leave a chance for the load to succeed (in case the first
|
||||
#. * file happens to be an image file), yet still warns. This
|
||||
#. * procedure expects that the archive contains a single
|
||||
#. * file.
|
||||
#.
|
||||
#: plug-ins/common/file-compressor.c:1110
|
||||
msgid "This zip archive contains more than one file."
|
||||
msgstr "В архіві zip міститься декілька файлів."
|
||||
|
||||
#: plug-ins/common/file-desktop-link.c:114
|
||||
msgid "Desktop Link"
|
||||
msgstr "Посилання .desktop"
|
||||
|
146
po/it.po
146
po/it.po
@@ -45,8 +45,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gimp 2.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-09-23 16:13+0200\n"
|
||||
"PO-Revision-Date: 2025-09-23 16:09+0200\n"
|
||||
"POT-Creation-Date: 2025-10-01 12:30+0200\n"
|
||||
"PO-Revision-Date: 2025-10-01 12:37+0200\n"
|
||||
"Last-Translator: Marco Ciampa <ciampix@posteo.net>\n"
|
||||
"Language-Team: gimp@erlug.linux.it\n"
|
||||
"Language: it\n"
|
||||
@@ -124,7 +124,15 @@ msgstr ""
|
||||
msgid "If you wanted to quit immediately instead, call GIMP with --quit."
|
||||
msgstr "Se invece si desidera uscire immediatamente, chiamare GIMP con --quit."
|
||||
|
||||
#: ../app/gimp-update.c:444
|
||||
#: ../app/gimp-update.c:424
|
||||
msgid "Perhaps you are missing GIO backends and need to install GVFS?"
|
||||
msgstr "Forse mancano i backend GIO e bisogna installare GVFS?"
|
||||
|
||||
#: ../app/gimp-update.c:429
|
||||
msgid "Perhaps you are missing GIO backends."
|
||||
msgstr "Forse mancano i backend GIO."
|
||||
|
||||
#: ../app/gimp-update.c:466
|
||||
#, c-format
|
||||
msgid ""
|
||||
"A new version of GIMP (%s) was released.\n"
|
||||
@@ -2535,8 +2543,8 @@ msgid "Enter a description for the marker"
|
||||
msgstr "Inserire una descrizione per il marcatore"
|
||||
|
||||
#: ../app/actions/data-commands.c:90 ../app/actions/documents-commands.c:393
|
||||
#: ../app/actions/file-commands.c:234 ../app/dialogs/file-open-dialog.c:253
|
||||
#: ../app/dialogs/file-open-dialog.c:295
|
||||
#: ../app/actions/file-commands.c:234 ../app/dialogs/file-open-dialog.c:254
|
||||
#: ../app/dialogs/file-open-dialog.c:300
|
||||
#: ../app/dialogs/file-open-location-dialog.c:217
|
||||
#: ../app/dialogs/file-open-location-dialog.c:233
|
||||
#: ../app/display/gimpdisplayshell-dnd.c:646
|
||||
@@ -3053,134 +3061,124 @@ msgctxt "dialogs-action"
|
||||
msgid "Open the dashboard"
|
||||
msgstr "Apri il cruscotto"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:311 ../app/actions/dialogs-actions.c:312
|
||||
msgctxt "dialogs-action"
|
||||
msgid "_Settings..."
|
||||
msgstr "Impo_stazioni..."
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:314 ../app/actions/dialogs-actions.c:315
|
||||
#: ../app/actions/dialogs-actions.c:310 ../app/actions/dialogs-actions.c:311
|
||||
msgctxt "dialogs-action"
|
||||
msgid "_Preferences"
|
||||
msgstr "_Preferenze"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:318
|
||||
#: ../app/actions/dialogs-actions.c:313
|
||||
msgctxt "dialogs-action"
|
||||
msgid "Open the preferences dialog"
|
||||
msgstr "Apri la finestra delle preferenze"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:323
|
||||
#: ../app/actions/dialogs-actions.c:318
|
||||
msgctxt "dialogs-action"
|
||||
msgid "_Input Devices Editor"
|
||||
msgstr "Editor dispositivi di _ingresso"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:324
|
||||
#: ../app/actions/dialogs-actions.c:319
|
||||
msgctxt "dialogs-action"
|
||||
msgid "_Input Devices"
|
||||
msgstr "Dispositivi di _ingresso"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:326
|
||||
#: ../app/actions/dialogs-actions.c:321
|
||||
msgctxt "dialogs-action"
|
||||
msgid "Open the input devices editor"
|
||||
msgstr "Apri la modifica dei dispositivi d'ingresso"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:331
|
||||
#: ../app/actions/dialogs-actions.c:326
|
||||
msgctxt "dialogs-action"
|
||||
msgid "_Keyboard Shortcuts Editor"
|
||||
msgstr "Editor _tasti scorciatoia"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:332
|
||||
#: ../app/actions/dialogs-actions.c:327
|
||||
msgctxt "dialogs-action"
|
||||
msgid "_Keyboard Shortcuts"
|
||||
msgstr "_Tasti scorciatoia"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:334
|
||||
#: ../app/actions/dialogs-actions.c:329
|
||||
msgctxt "dialogs-action"
|
||||
msgid "Open the keyboard shortcuts editor"
|
||||
msgstr "Apri la modifica dei tasti scorciatoia"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:339
|
||||
#: ../app/actions/dialogs-actions.c:334
|
||||
msgctxt "dialogs-action"
|
||||
msgid "_Modules Dialog"
|
||||
msgstr "Finestra _moduli"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:340
|
||||
#: ../app/actions/dialogs-actions.c:335
|
||||
msgctxt "dialogs-action"
|
||||
msgid "_Modules"
|
||||
msgstr "_Moduli"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:342
|
||||
#: ../app/actions/dialogs-actions.c:337
|
||||
msgctxt "dialogs-action"
|
||||
msgid "Open the module manager dialog"
|
||||
msgstr "Apri finestra di gestione moduli"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:347
|
||||
#: ../app/actions/dialogs-actions.c:342
|
||||
msgctxt "dialogs-action"
|
||||
msgid "_Tip of the Day"
|
||||
msgstr "Suggerimenti del _giorno"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:349
|
||||
#: ../app/actions/dialogs-actions.c:344
|
||||
msgctxt "dialogs-action"
|
||||
msgid "Show some helpful tips on using GIMP"
|
||||
msgstr "Mostra alcuni utili suggerimenti sull'uso di GIMP"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:354
|
||||
#: ../app/actions/dialogs-actions.c:349
|
||||
msgctxt "dialogs-action"
|
||||
msgid "Welcome Dialog"
|
||||
msgstr "Finestra di benvenuto"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:356
|
||||
#: ../app/actions/dialogs-actions.c:351
|
||||
msgctxt "dialogs-action"
|
||||
msgid "Show information on running GIMP release"
|
||||
msgstr "Mostra informazioni sulla versione di GIMP in esecuzione"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:362 ../app/actions/dialogs-actions.c:369
|
||||
#: ../app/actions/dialogs-actions.c:357 ../app/actions/dialogs-actions.c:362
|
||||
msgctxt "dialogs-action"
|
||||
msgid "About GIMP"
|
||||
msgstr "Informazioni su GIMP"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:364
|
||||
msgctxt "dialogs-action"
|
||||
msgid "About"
|
||||
msgstr "Informazioni"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:366
|
||||
#: ../app/actions/dialogs-actions.c:359
|
||||
msgctxt "dialogs-action"
|
||||
msgid "_About"
|
||||
msgstr "_Informazioni"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:374
|
||||
#: ../app/actions/dialogs-actions.c:367
|
||||
msgctxt "dialogs-action"
|
||||
msgid "_Search and Run a Command"
|
||||
msgstr "Cerca ed e_segui un comando"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:376
|
||||
#: ../app/actions/dialogs-actions.c:369
|
||||
msgctxt "dialogs-action"
|
||||
msgid "Search commands by keyword, and run them"
|
||||
msgstr "Cerca comandi per parola-chiave e li esegue"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:382
|
||||
#: ../app/actions/dialogs-actions.c:375
|
||||
msgctxt "dialogs-action"
|
||||
msgid "Manage _Extensions"
|
||||
msgstr "Gestione _estensioni"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:384
|
||||
#: ../app/actions/dialogs-actions.c:377
|
||||
msgctxt "dialogs-action"
|
||||
msgid "Manage Extensions: search, install, uninstall, update."
|
||||
msgstr "Gestione estensioni: cerca, installa, disinstalla, aggiorna."
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:448
|
||||
#: ../app/actions/dialogs-actions.c:441
|
||||
msgid "Tool_box"
|
||||
msgstr "Pannello strumenti"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:449
|
||||
#: ../app/actions/dialogs-actions.c:442
|
||||
msgid "Raise the toolbox"
|
||||
msgstr "Alza il pannello strumenti"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:453
|
||||
#: ../app/actions/dialogs-actions.c:446
|
||||
msgid "New Tool_box"
|
||||
msgstr "Nuovo pannello strum_enti"
|
||||
|
||||
#: ../app/actions/dialogs-actions.c:454
|
||||
#: ../app/actions/dialogs-actions.c:447
|
||||
msgid "Create a new toolbox"
|
||||
msgstr "Crea un nuovo pennello strumenti"
|
||||
|
||||
@@ -12988,7 +12986,7 @@ msgstr ""
|
||||
|
||||
#: ../app/core/gimp-contexts.c:153 ../app/core/gimp-internal-data.c:338
|
||||
#: ../app/core/gimptooloptions.c:361 ../app/gui/modifiers.c:191
|
||||
#: ../app/gui/session.c:449 ../app/menus/menus.c:480
|
||||
#: ../app/gui/session.c:449 ../app/menus/menus.c:488
|
||||
#: ../app/widgets/gimpdevices.c:226
|
||||
#, c-format
|
||||
msgid "Deleting \"%s\" failed: %s"
|
||||
@@ -14960,11 +14958,11 @@ msgstr "Lunghezza massima chiusura diritta"
|
||||
msgid "Maximum straight length (in pixels) to close the line art"
|
||||
msgstr "Lunghezza massima retta (in pixel) per chiudere il tratteggio"
|
||||
|
||||
#: ../app/core/gimplink.c:255
|
||||
#: ../app/core/gimplink.c:256
|
||||
msgid "The file got deleted"
|
||||
msgstr "Il file è stato eliminato"
|
||||
|
||||
#: ../app/core/gimplink.c:349
|
||||
#: ../app/core/gimplink.c:351
|
||||
msgid "No file was set"
|
||||
msgstr "Nessun file impostato"
|
||||
|
||||
@@ -16146,10 +16144,15 @@ msgid "Search extensions matching these keywords"
|
||||
msgstr "Cerca le estensioni che corrispondono a queste parole chiave"
|
||||
|
||||
#: ../app/dialogs/file-open-dialog.c:142 ../app/dialogs/file-open-dialog.c:168
|
||||
#: ../app/dialogs/file-open-dialog.c:286
|
||||
#: ../app/dialogs/file-open-dialog.c:291
|
||||
msgid "Open layers"
|
||||
msgstr "Apri livelli"
|
||||
|
||||
#: ../app/dialogs/file-open-dialog.c:258
|
||||
#, c-format
|
||||
msgid "Opening '%s' failed."
|
||||
msgstr "L'apertura di '%s' è fallita."
|
||||
|
||||
#: ../app/dialogs/file-open-location-dialog.c:74
|
||||
msgid "Open Location"
|
||||
msgstr "Apri posizione"
|
||||
@@ -18867,13 +18870,13 @@ msgid "GIMP website"
|
||||
msgstr "Il sito di GIMP"
|
||||
|
||||
#: ../app/dialogs/welcome-dialog.c:545
|
||||
msgid "Tutorials"
|
||||
msgstr "Guide"
|
||||
|
||||
#: ../app/dialogs/welcome-dialog.c:550
|
||||
msgid "Documentation"
|
||||
msgstr "Documentazione"
|
||||
|
||||
#: ../app/dialogs/welcome-dialog.c:550
|
||||
msgid "Community Tutorials"
|
||||
msgstr "Guide della comunità"
|
||||
|
||||
#. XXX: should we add API docs for plug-in developers once it's
|
||||
#. * properly set up?
|
||||
#. Welcome message: right
|
||||
@@ -19920,26 +19923,26 @@ msgstr "Clic e trascina per spostare il punto cardine"
|
||||
msgid "Click-Drag to shear"
|
||||
msgstr "Clic e trascina per inclinare"
|
||||
|
||||
#: ../app/file/file-open.c:264
|
||||
#: ../app/file/file-open.c:272
|
||||
#, c-format
|
||||
msgid "%s plug-in returned SUCCESS but did not return an image"
|
||||
msgstr "Il plug-in %s ha risposto successo ma non ha restituito un'immagine"
|
||||
|
||||
#: ../app/file/file-open.c:275
|
||||
#: ../app/file/file-open.c:283
|
||||
#, c-format
|
||||
msgid "%s plug-in could not open image"
|
||||
msgstr "Il plug-in %s non poteva aprire l'immagine"
|
||||
|
||||
#: ../app/file/file-open.c:690
|
||||
#: ../app/file/file-open.c:698
|
||||
msgid "Image doesn't contain any layers"
|
||||
msgstr "L'immagine non contiene nessun livello"
|
||||
|
||||
#: ../app/file/file-open.c:748
|
||||
#: ../app/file/file-open.c:756
|
||||
#, c-format
|
||||
msgid "Opening '%s' failed: %s"
|
||||
msgstr "L'apertura di \"%s\" è fallita: %s"
|
||||
|
||||
#: ../app/file/file-open.c:836
|
||||
#: ../app/file/file-open.c:846
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Only platform-native file paths are supported: '%s' cannot be opened as link."
|
||||
@@ -19947,11 +19950,11 @@ msgstr ""
|
||||
"Sono supportati solo i percorsi file nativi della piattaforma: '%s' non può "
|
||||
"essere aperto come collegamento."
|
||||
|
||||
#: ../app/file/file-open.c:978 ../app/file/file-save.c:132
|
||||
#: ../app/file/file-open.c:985 ../app/file/file-save.c:132
|
||||
msgid "Not a regular file"
|
||||
msgstr "Non è un file normale"
|
||||
|
||||
#: ../app/file/file-open.c:987 ../app/file/file-save.c:141
|
||||
#: ../app/file/file-open.c:994 ../app/file/file-save.c:141
|
||||
msgid "Permission denied"
|
||||
msgstr "Permesso negato"
|
||||
|
||||
@@ -21716,11 +21719,7 @@ msgstr "Ruota livello vettoriale"
|
||||
msgid "Transform Vector Layer"
|
||||
msgstr "Trasforma livello vettoriale"
|
||||
|
||||
#: ../app/path/gimpvectorlayer.c:526
|
||||
msgid "Discard Vector Informations"
|
||||
msgstr "Abbandona le informazioni vettoriali"
|
||||
|
||||
#: ../app/path/gimpvectorlayer.c:669
|
||||
#: ../app/path/gimpvectorlayer.c:526 ../app/path/gimpvectorlayer.c:669
|
||||
msgid "Discard Vector Information"
|
||||
msgstr "Abbandona le informazioni vettoriali"
|
||||
|
||||
@@ -22277,7 +22276,7 @@ msgstr "Autoritaglio immagine"
|
||||
msgid "Autocrop layer"
|
||||
msgstr "Autoritaglio livello"
|
||||
|
||||
#: ../app/pdb/image-cmds.c:2556
|
||||
#: ../app/pdb/image-cmds.c:2564
|
||||
msgid ""
|
||||
"Image resolution is out of bounds, using the default resolution instead."
|
||||
msgstr ""
|
||||
@@ -22306,43 +22305,48 @@ msgstr "Trasformazione 2D"
|
||||
msgid "2D Transforming"
|
||||
msgstr "Trasformazione 2D in corso"
|
||||
|
||||
#: ../app/pdb/link-layer-cmds.c:67 ../app/pdb/link-layer-cmds.c:89
|
||||
#, c-format
|
||||
msgid "Failed to create link layer"
|
||||
msgstr "Impossibile creare livello collegato"
|
||||
|
||||
#: ../app/pdb/path-cmds.c:325
|
||||
msgid "Remove path stroke"
|
||||
msgstr "Rimuovi delineatura del tracciato"
|
||||
|
||||
#: ../app/pdb/path-cmds.c:362
|
||||
msgid "Close path stroke"
|
||||
msgstr "Chiudi la delineatura del tracciato"
|
||||
msgstr "Chiudi delineatura tracciato"
|
||||
|
||||
#: ../app/pdb/path-cmds.c:401
|
||||
msgid "Reverse path stroke"
|
||||
msgstr "Inverti delineatura del tracciato"
|
||||
msgstr "Inverti delineatura tracciato"
|
||||
|
||||
#: ../app/pdb/path-cmds.c:446
|
||||
msgid "Translate path stroke"
|
||||
msgstr "Trasla la delineatura del tracciato"
|
||||
msgstr "Trasla delineatura tracciato"
|
||||
|
||||
#: ../app/pdb/path-cmds.c:491
|
||||
msgid "Scale path stroke"
|
||||
msgstr "Scala la delineatura del tracciato"
|
||||
msgstr "Scala delineatura tracciato"
|
||||
|
||||
#: ../app/pdb/path-cmds.c:538
|
||||
msgid "Rotate path stroke"
|
||||
msgstr "Ruota la delineatura del tracciato"
|
||||
msgstr "Ruota delineatura tracciato"
|
||||
|
||||
#: ../app/pdb/path-cmds.c:583 ../app/pdb/path-cmds.c:632
|
||||
msgid "Flip path stroke"
|
||||
msgstr "Rifletti la delineatura del tracciato"
|
||||
msgstr "Rifletti delineatura tracciato"
|
||||
|
||||
#: ../app/pdb/path-cmds.c:761 ../app/pdb/path-cmds.c:884
|
||||
#: ../app/pdb/path-cmds.c:1114
|
||||
msgid "Add path stroke"
|
||||
msgstr "Aggiungi la delineatura del tracciato"
|
||||
msgstr "Aggiungi delineatura tracciato"
|
||||
|
||||
#: ../app/pdb/path-cmds.c:938 ../app/pdb/path-cmds.c:994
|
||||
#: ../app/pdb/path-cmds.c:1058
|
||||
msgid "Extend path stroke"
|
||||
msgstr "Estendi la delineatura del tracciato"
|
||||
msgstr "Estendi delineatura tracciato"
|
||||
|
||||
#: ../app/pdb/pdb-cmds.c:1185 ../app/pdb/pdb-cmds.c:1227
|
||||
#, c-format
|
||||
@@ -24333,7 +24337,7 @@ msgstr "Selezione sconosciuta"
|
||||
|
||||
#: ../app/tools/gimpforegroundselecttool.c:667
|
||||
msgid "press Enter to preview."
|
||||
msgstr "premere invio l'anteprima."
|
||||
msgstr "premere invio per l'anteprima."
|
||||
|
||||
#: ../app/tools/gimpforegroundselecttool.c:669
|
||||
msgid "press Escape to exit preview or Enter to apply."
|
||||
@@ -27751,7 +27755,7 @@ msgstr "Informazioni varie"
|
||||
msgid "Select fields"
|
||||
msgstr "Seleziona campi"
|
||||
|
||||
#. Tranlators: "N/A" is an abbreviation for "not available"
|
||||
#. Translators: "N/A" is an abbreviation for "not available"
|
||||
#: ../app/widgets/gimpdashboard.c:3323
|
||||
msgctxt "dashboard-value"
|
||||
msgid "N/A"
|
||||
|
@@ -20,45 +20,77 @@
|
||||
############################################
|
||||
|
||||
#### Usage ####
|
||||
if [ "$#" -ne 2 -a "$#" -ne 1 ]; then
|
||||
echo "Usage: $0 <GIMP_TAG_PREV> <GIMP_TAG_CUR>"
|
||||
echo
|
||||
echo " GIMP_TAG_PREV: last tag release or commit (non-included in stats)"
|
||||
echo " ex: GIMP_2_9_6"
|
||||
echo " GIMP_TAG_CUR: current tag release or commit (included in stats); ex: GIMP_2_9_8"
|
||||
echo " ex: GIMP_2_9_8."
|
||||
echo " Optional. If absent, statistics up to HEAD."
|
||||
exit 1
|
||||
fi
|
||||
printf "GIMP version to release: "; read ver
|
||||
|
||||
PREV=$1
|
||||
git --no-pager show $PREV >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "First tag is unknown: $PREV"
|
||||
exit 2
|
||||
fi
|
||||
if [ -z "$ver" ]; then
|
||||
TAG="HEAD"
|
||||
PREV_TAG=$(git ls-remote --tags --exit-code --refs "https://gitlab.gnome.org/GNOME/gimp.git" |grep -o "GIMP_[0-9]*_[0-9]*_[0-9]*" | sort --version-sort | tail -1)
|
||||
INTERMEDIATE_TAG=$PREV_TAG
|
||||
|
||||
if [ "$#" = 2 ]; then
|
||||
CUR=$2
|
||||
git --no-pager show $CUR >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Second tag is unknown: $CUR"
|
||||
exit 2
|
||||
fi
|
||||
is_dev_release=1
|
||||
else
|
||||
CUR='HEAD'
|
||||
major=$(echo "$ver" | cut -d'.' -f1)
|
||||
minor=$(echo "$ver" | cut -d'.' -f2)
|
||||
micro=$(echo "$ver" | cut -d'.' -f3)
|
||||
|
||||
TAG=GIMP_${major}_${minor}_${micro}
|
||||
|
||||
git --no-pager show $TAG >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Tag is unknown: $TAG"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
is_dev_release=$((minor % 2))
|
||||
|
||||
if [ $((micro % 2)) -ne 0 ]; then
|
||||
echo "Releases must have an even micro version."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# The previous tag will be in the same branch. For instance 3.0.4 is
|
||||
# previous to 3.0.6 even if we may have released 3.1 versions
|
||||
# in-between.
|
||||
PREV_TAG=$(git ls-remote --tags --exit-code --refs "https://gitlab.gnome.org/GNOME/gimp.git" |grep -o "GIMP_[0-9]*_[0-9]*_[0-9]*" | sort --version-sort | grep -B1 $TAG | head -1)
|
||||
# The intermediate tag is the actual version we released before.
|
||||
INTERMEDIATE_TAG=$(git ls-remote --tags --sort=taggerdate --exit-code --refs "https://gitlab.gnome.org/GNOME/gimp.git" |grep -o "GIMP_[0-9]*_[0-9]*_[0-9]*" | grep -B1 $TAG | head -1)
|
||||
fi
|
||||
|
||||
prev_date=`git log -1 --format=%ci $PREV`
|
||||
cur_date=`git log -1 --format=%ci $CUR`
|
||||
#if [ $is_dev_release -eq 0 ]; then
|
||||
#read -p "Previous stable GIMP version:" ver
|
||||
#elif [ $micro -eq 0 ];
|
||||
#else
|
||||
#read -p "Previous GIMP version:" ver
|
||||
#fi
|
||||
|
||||
prevmajor=$(echo "$1" | cut -d'_' -f2)
|
||||
prevminor=$(echo "$1" | cut -d'_' -f3)
|
||||
prevmicro=$(echo "$1" | cut -d'_' -f4)
|
||||
prevmajor=$(echo "$PREV_TAG" | cut -d'_' -f2)
|
||||
prevminor=$(echo "$PREV_TAG" | cut -d'_' -f3)
|
||||
prevmicro=$(echo "$PREV_TAG" | cut -d'_' -f4)
|
||||
|
||||
major=$(echo "$2" | cut -d'_' -f2)
|
||||
minor=$(echo "$2" | cut -d'_' -f3)
|
||||
micro=$(echo "$2" | cut -d'_' -f4)
|
||||
intmajor=$(echo "$INTERMEDIATE_TAG" | cut -d'_' -f2)
|
||||
intminor=$(echo "$INTERMEDIATE_TAG" | cut -d'_' -f3)
|
||||
intmicro=$(echo "$INTERMEDIATE_TAG" | cut -d'_' -f4)
|
||||
|
||||
echo "Previous Release: $prevmajor.$prevminor.$prevmicro"
|
||||
if [ "$PREV_TAG" != "$INTERMEDIATE_TAG" ]; then
|
||||
echo "Intermediate Release: $intmajor.$intminor.$intmicro"
|
||||
fi
|
||||
|
||||
#if [ $((prevmicro % 2)) -ne 0 ]; then
|
||||
#echo "Releases must have an even micro version."
|
||||
#exit 1
|
||||
#fi
|
||||
|
||||
#if [ $is_dev_release -eq 0 ]; then
|
||||
#if [ $((prevminor % 2)) -ne 0 ]; then
|
||||
#echo "$ver is not a stable version."
|
||||
#exit 1
|
||||
#fi
|
||||
#fi
|
||||
|
||||
prev_date=`git log -1 --format=%ci $PREV_TAG`
|
||||
int_date=`git log -1 --format=%ci $INTERMEDIATE_TAG`
|
||||
cur_date=`git log -1 --format=%ci $TAG`
|
||||
|
||||
get_issues_mrs()
|
||||
{
|
||||
@@ -116,7 +148,7 @@ count_contributors()
|
||||
folders=$1
|
||||
text=$2
|
||||
|
||||
contributors=`git --no-pager shortlog -sn $PREV..$CUR -- $folders`
|
||||
contributors=`git --no-pager shortlog -sn $PREV_TAG..$TAG -- $folders`
|
||||
if [ -n "$contributors" ]; then
|
||||
contributors=`echo "$contributors" | cut -f2`
|
||||
n_contributors=`echo "$contributors" | wc -l`
|
||||
@@ -152,11 +184,16 @@ count_repo_contributors()
|
||||
text=$3
|
||||
prev_tag=$4
|
||||
cur_tag=$5
|
||||
since_date=$6
|
||||
|
||||
cd $repo
|
||||
git fetch origin > /dev/null 2>&1
|
||||
if [ -z "$cur_tag" ]; then
|
||||
contributors=`git --no-pager shortlog -sn --since="$prev_date" --until="$cur_date" origin/$branch`
|
||||
if [ -z "$since_date" ]; then
|
||||
contributors=`git --no-pager shortlog -sn --since="$prev_date" --until="$cur_date" origin/$branch`
|
||||
else
|
||||
contributors=`git --no-pager shortlog -sn --since="$since_date" --until="$cur_date" origin/$branch`
|
||||
fi
|
||||
else
|
||||
contributors=`git --no-pager shortlog -sn $prev_tag..$cur_tag`
|
||||
fi
|
||||
@@ -177,15 +214,20 @@ count_repo_contributors()
|
||||
cd - > /dev/null
|
||||
}
|
||||
|
||||
echo "Copy the below text into your release news:"
|
||||
echo
|
||||
echo "-------------------------------------------"
|
||||
echo
|
||||
|
||||
echo "Since [GIMP $prevmajor.$prevminor.$prevmicro](/release/$prevmajor.$prevminor.$prevmicro/), in the main GIMP repository:"
|
||||
echo
|
||||
echo "* $closed_issues reports were closed as FIXED."
|
||||
echo "* $merged_mrs merge requests were merged."
|
||||
|
||||
# Main stats:
|
||||
contribs=`git --no-pager shortlog -s -n $PREV..$CUR`
|
||||
contribs=`git --no-pager shortlog -s -n $PREV_TAG..$TAG`
|
||||
contribs_n=`printf "$contribs" | wc -l`
|
||||
commits_n=`git log --oneline $PREV..$CUR | wc -l`
|
||||
commits_n=`git log --oneline $PREV_TAG..$TAG | wc -l`
|
||||
|
||||
echo "* $commits_n commits were pushed."
|
||||
|
||||
@@ -195,16 +237,16 @@ echo "* $commits_n commits were pushed."
|
||||
#commits_rate=$(( $commits_n / $days_n ))
|
||||
|
||||
#echo "Start date: $prev_date - End date: $cur_date"
|
||||
#echo "Between $PREV and $CUR, $contribs_n people contributed $commits_n commits to GIMP."
|
||||
#echo "Between $PREV_TAG and $TAG, $contribs_n people contributed $commits_n commits to GIMP."
|
||||
#echo "This is an average of $commits_rate commits a day."
|
||||
#echo
|
||||
#echo "Statistics on all files:" `git diff --shortstat $PREV..$CUR 2>/dev/null`
|
||||
#echo "Statistics on all files:" `git diff --shortstat $PREV_TAG..$TAG 2>/dev/null`
|
||||
#echo
|
||||
#echo "Total contributor list:"
|
||||
#printf "$contribs"
|
||||
|
||||
# Translation stats:
|
||||
i18n=`git --no-pager log --stat $PREV..$CUR -- po* | grep "Updated\? .* \(translation\|language\)"`
|
||||
i18n=`git --no-pager log --stat $PREV_TAG..$TAG -- po* | grep "Updated\? .* \(translation\|language\)"`
|
||||
i18n=`printf "$i18n" | sed "s/ *Updated\? \(.*\) \(translation\|language\).*/\\1/" | sort | uniq`
|
||||
i18n_n=`printf "$i18n" | wc -l`
|
||||
# It seems that if the last line has no newline, wc does not count it.
|
||||
@@ -214,7 +256,7 @@ i18n_comma=`printf "$i18n" | paste -s -d, | sed 's/,/, /g'`
|
||||
|
||||
echo "* $i18n_n translations were updated: $i18n_comma."
|
||||
|
||||
#echo "Statistics on C files:" `git diff --shortstat $PREV..$CUR -- "*.[ch]" 2>/dev/null`
|
||||
#echo "Statistics on C files:" `git diff --shortstat $PREV_TAG..$TAG -- "*.[ch]" 2>/dev/null`
|
||||
|
||||
echo
|
||||
echo "$contribs_n people contributed changes or fixes to GIMP $major.$minor.$micro codebase (order
|
||||
@@ -229,7 +271,7 @@ count_contributors 'themes/*/*.css themes/*/*png' "%d theme designers: %s"
|
||||
meson_builds=`find . -name meson.build -not -path gimp-data`
|
||||
count_contributors "meson_options.txt $meson_builds .gitlab-ci.yml build" "%d build, packaging or CI contributors: %s"
|
||||
count_contributors 'data/ etc/ desktop/ menus/ docs/ devel-docs/ NEWS INSTALL.in' "%d contributors on other types of resources: %s"
|
||||
count_repo_contributors "gimp-data" main "The gimp-data submodule had %d commits by %d contributors: %s"
|
||||
count_repo_contributors "gimp-data" main "The gimp-data submodule had %d commits by %d contributors: %s" "" "" $int_date
|
||||
count_data_contributors 'images' "%d image creators: %s"
|
||||
count_data_contributors 'icons/*.svg icons/*.png' "%d icon designers: %s"
|
||||
count_data_contributors 'cursors' "%d cursor designers: %s"
|
||||
@@ -251,23 +293,23 @@ echo "number of commits):"
|
||||
echo
|
||||
echo "* Our UX tracker had $ux_closed_issues reports closed as FIXED."
|
||||
|
||||
babl_ver=`get_latest_from_meson babl $CUR`
|
||||
prev_babl_ver=`get_latest_from_meson babl $PREV`
|
||||
babl_ver=`get_latest_from_meson babl $TAG`
|
||||
prev_babl_ver=`get_latest_from_meson babl $PREV_TAG`
|
||||
if [ "$babl_ver" != "$prev_babl_ver" ]; then
|
||||
prev_tag=`get_tag_from_version BABL $prev_babl_ver`
|
||||
cur_tag=`get_tag_from_version BABL $babl_ver`
|
||||
count_repo_contributors "../babl" master "babl $babl_ver is made of %d commits by %d contributors: %s" $prev_tag $cur_tag
|
||||
fi
|
||||
|
||||
gegl_ver=`get_latest_from_meson gegl $CUR`
|
||||
prev_gegl_ver=`get_latest_from_meson gegl $PREV`
|
||||
gegl_ver=`get_latest_from_meson gegl $TAG`
|
||||
prev_gegl_ver=`get_latest_from_meson gegl $PREV_TAG`
|
||||
if [ "$gegl_ver" != "$prev_gegl_ver" ]; then
|
||||
prev_tag=`get_tag_from_version GEGL $prev_gegl_ver`
|
||||
cur_tag=`get_tag_from_version GEGL $gegl_ver`
|
||||
count_repo_contributors "../gegl" master "GEGL $gegl_ver is made of %d commits by %d contributors: %s" $prev_tag $cur_tag
|
||||
fi
|
||||
|
||||
count_repo_contributors "../ctx.graphics" dev "[ctx](https://ctx.graphics/) had %d commits since $prevmajor.$prevminor.$prevmicro release by %d contributors: %s"
|
||||
count_repo_contributors "../ctx.graphics" dev "[ctx](https://ctx.graphics/) had %d commits since $intmajor.$intminor.$intmicro release by %d contributors: %s"
|
||||
count_repo_contributors "../gimp-test-images" main "The \`gimp-test-images\` (unit testing repository) repository had %d commits by %d contributors: %s"
|
||||
count_repo_contributors "../gimp-macos-build" master "The \`gimp-macos-build\` (macOS packaging scripts) release had %d commits by %d contributors: %s"
|
||||
# TODO:
|
||||
|
Reference in New Issue
Block a user