Commit graph

1094 commits

Author SHA1 Message Date
Will Thompson
4120af3b5f Rename metainfo file to appdata
gettext 0.19.7 gained support for translating appdata files, whereas
support for metainfo files was added in 0.20. These file formats are
effectively the same: as documented in the AppStream specification,
desktop applications can install files with the suffix .appdata.xml
rather than .metainfo.xml and these will still be handled correctly.

It is desirable for this project to support RHEL 7, which has gettext
0.19.8.1, so let's use the older filename.

As noted in the same section of the specification, appdata files were
previously installed to /usr/share/appdata rather than
/usr/share/metainfo, but the spec asserts that the newer metainfo path
works all the way back to RHEL 7, so we keep the newer installation
path.

Thanks to Shin-ichi TOYAMA for flagging this issue.

https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#spec-component-location
2022-06-29 13:05:40 +01:00
Bill Kendrick
416462935c Rebuilt POT/PO under new system
(See https://sourceforge.net/p/tuxpaint/tuxpaint/merge-requests/12/)

Also, updated RELEASE.txt to denote where changelog info
should be added into the new "metainfo" file for software repos.
2022-06-14 01:17:57 -07:00
Bill Kendrick
7e6f848994 check_translations.sh FIXME: Check LINGUAS 2022-06-14 00:55:31 -07:00
Will Thompson
74506214e7 Add appstream metainfo file
This is used by software centres such as GNOME Software to display
information about the app, both before and after it is installed.

The <id> used here follows the recommendations in the Appstream
specification, with the exception of violating the spec's strong
encouragement to use only lowercase characters. This is because the
version that is already published by Flathub uses an uppercase T in the
final component of the ID.[0] The file shipped by Fedora followed an older
convention of using the desktop file name as the ID. This is
acknowledged by the <provides> section near the bottom of the file,
which will allow software centres to associate the reverse-domain-name
ID with the older ID.[1]

Many fields in this file are translatable.  This was the motivation for
the preceeding two changes:

- By using xgettext rather than intltool, the untranslated template may
  be written using the normal appstream XML tags, rather than needing to
  use (for example) <_name>Tux Paint</_name> to mark that field for
  translation, which renders the template not valid for tools like
  'appstreamcli validate'.
- Merging translations at build time, rather than committing the
  translated XML to the repo as well, avoids another potentially
  error-prone manual step when updating the source file or translations.

The release notes are taken from the press releases on the Tuxpaint
website. They will be extracted for translation. Another option is to
replace the <description> with <url type="details">...</url>, but AFAIK
no software centres currently show these URLs.[2]

[0]: https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-id-generic
[1]: https://www.freedesktop.org/software/appstream/docs/sect-Metadata-Application.html#tag-id-desktopapp
[2]: https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-releases

TODO:

- align comment

Fixes: https://sourceforge.net/p/tuxpaint/feature-requests/172/
2022-06-10 21:45:44 +01:00
Will Thompson
b4aa697474 Merge desktop file at build time
Previously, both the .desktop.in template and the final .desktop file
were checked into source control.

While in some ways convenient, the manual step of updating it may be
forgotten after updating a translation or adjusting the template. It
also potentially introduces confusion as to which file to modify.

Instead, generate the .desktop file at build time. Since this is now
done using msgfmt rather than intltool, there is no additional
dependency beyond gettext, which is already used at build time to
compile .po files to .mo files.
2022-06-10 10:36:56 +01:00
Will Thompson
3141249969 Remove intltool dependency
Since gettext 0.19, gettext itself has been able to extract strings from
and merge translations to .desktop files. As a result, there is no need
to use intltool.  More details are available on
https://wiki.gnome.org/MigratingFromIntltoolToGettext, though that page
assumes a project using Autotools, which this project does not.

One advantage of using xgettext rather than intltool is that there is no
need to prefix translatable keys in the .desktop.in file with _. This
patch adjusts tuxpaint.desktop.in accordingly, which makes the input
file itself a valid desktop file.

The LINGUAS file contains the list of supported languages. This could
in principle be generated automatically from one of the other places in
the source tree that has a manually-maintained list of languages; but in
my experience it is generally maintained by hand and checked into the
source tree.

POTFILES.in.in must be updated to remove the intltool-specific file
encoding annotation; instead this is passed to xgettext.

Finally, update-po.sh is rewritten to invoke xgettext and msgfmt rather
than intltool commands.

The mangling of POTFILES.in.in to prefix all filenames with '../' is
only necessary to minimize the churn when updating the .pot and .po
files, to simplify review of this change. The alternative is to pass
--directory=.. to xgettext. This would cause all .po files to be updated
as follows when regenerated:

     #. Response to Black (0, 0, 0) color selected
    -#: ../colors.h:86
    +#: colors.h:86
     msgid "Black!"
     msgstr "Noir !"
2022-06-10 10:36:56 +01:00
Will Thompson
e7ec1efdc8 Remove unused, no-op create_pot_file.sh
614f6573e7 made this "a no-op script, for
now", in September 2006. It seems safe to assume, 16 years later, that
if it is needed it can be recovered from the Git history.
2022-06-10 10:36:56 +01:00
Pere Pujal i Carabantes
1d0ea00d95 Updating Catalan. 2022-06-04 10:03:42 +02:00
dolphin6k
f21018282c Updated Japanese translation (tile zoom) 2022-06-03 14:09:23 +09:00
Bill Kendrick
ff470263a0 Different description for Tile Zoom than plain Zoom
Oops, had committed to sdl2.0 only :eyeroll:
2022-06-02 21:17:23 -07:00
Pere Pujal i Carabantes
78586144ab Updating Catalan translation. 2022-05-31 00:04:28 +02:00
dolphin6k
8babe0e4ee Updated Japanese translation 2022-05-28 18:06:07 +09:00
Bill Kendrick
d3d2ecde1a Portuguese translation update
h/t Hugo
2022-05-18 00:00:56 -07:00
Bill Kendrick
ea7f88ab92 POT/PO update 2022-05-07 18:15:12 -07:00
dolphin6k
b6aab66898 Updated Japanese translations. 2022-04-22 15:57:57 +09:00
Bill Kendrick
b95bb10768 Refresh PO after tweaking color picker descr. 2022-03-17 01:29:23 -07:00
dolphin6k
43b84c774a Changed e-mail address of shin-ichi. 2022-03-11 19:57:56 +09:00
Pere Pujal i Carabantes
fd8c7bfc2a Updating Catalan translation. 2022-03-09 00:55:06 +01:00
Bill Kendrick
9702fcae1b Icelandic update
h/t Sveinn í Felli
2022-02-14 23:43:30 -08:00
prasantahembram
4810d41be7 Added Santali translation. 2022-02-11 18:46:46 +05:30
Bill Kendrick
ce4b8b9040 POT/PO refresh after more work on Label tool 2022-02-10 01:02:39 -08:00
Bill Kendrick
e9fdbe9373 POT/PO update for brush tips
(Also catching a Label tool tip edit.)
2022-02-09 02:15:30 -08:00
Bill Kendrick
7313f269ac Show tips & play sound effects w/ Label selector
Closes https://sourceforge.net/p/tuxpaint/bugs/245/
2022-02-07 23:57:36 -08:00
Mark Kim
d697d3faca better korean translations 2022-02-06 11:21:01 -05:00
Mark Kim
ab2d76d0b9 Update some Korean translations 2022-02-06 08:23:20 -05:00
Bill Kendrick
4dbaa0b320 Doc'ing and POT-izing macOS menu translation
h/t Mark Kim (for https://sourceforge.net/p/tuxpaint/bugs/183/)
2022-02-05 16:42:02 -08:00
dolphin6k
8ece611f8c Corrected Japanese translation for color mixer. 2022-02-04 17:08:20 +09:00
dolphin6k
61d8f8cee0 Japanese translation for color mixer. 2022-02-04 11:15:47 +09:00
dolphin6k
4c42cf8daa Updated Japanese translation 2022-02-04 08:55:32 +09:00
Bill Kendrick
e46226cfcc Refresh POT/PO after more Color Mixer coding 2022-01-28 02:17:26 -08:00
Bill Kendrick
42ca74df86 Update POT/PO to add new Color Mixer UI elements 2022-01-27 22:54:50 -08:00
Bill Kendrick
251259ab13 PO/POT update after adding shape + aspect ratio tip 2022-01-21 01:33:45 -08:00
Bill Kendrick
9f5769855b PO/POT update after adding heptagon 2022-01-21 00:34:33 -08:00
Bill Kendrick
1050e74336 PO/POT refresh after adding hexagon shape tool 2022-01-21 00:02:44 -08:00
Bill Kendrick
ac6aee7a43 Update src/po/check_translations.sh to work again
Docs shuffled around & gettext'ing a string in Tux Paint Config.
changed, which caused it to not find things.
2021-12-02 00:28:26 -08:00
Bill Kendrick
200df10456 Albanian translation update
h/t Besnik Bleta
2021-12-01 23:52:12 -08:00
Bill Kendrick
1c61f1b7f8 Doc'ing Slovak l10n update & adding contributor
Welcome Jozef!

(Also bump project-id-version in sk.po)
2021-12-01 22:28:35 -08:00
Jose Riha
de7f0cf857 Update Slovak translation. 2021-11-30 10:30:41 +01:00
Bill Kendrick
2b9bb5e440 Bump CHNAGES date; rebuild all POT/PO 2021-11-25 01:12:48 -08:00
Bill Kendrick
8a9ab25151 Updated Icelandic translation
h/t Sveinn
2021-11-19 14:06:28 -08:00
Bill Kendrick
b029ceeae7 Portuguese update
from Hugo Carvalho
2021-11-13 13:20:33 -08:00
dolphin6k
c31e0cd504 Updated Japanese translations. 2021-11-09 23:01:19 +09:00
Pere Pujal i Carabantes
f32d8b4ab8 Updating Catalan angle translations to a neutral singular/plural. 2021-11-08 23:23:52 +01:00
Pere Pujal i Carabantes
b187ca9bb1 Updating Catalan. 2021-11-08 21:12:25 +01:00
Bill Kendrick
58274ed01f Refresh PO/POT after Lightning desc. typo fix 2021-11-07 20:33:03 -08:00
dolphin6k
e9f31ac4ce Updated Japanese translations. 2021-10-30 18:51:54 +09:00
Bill Kendrick
0701eeae74 Portuguese translation update
From Hugo Carvalho
2021-10-28 10:01:02 -07:00
Bill Kendrick
32d3ac4ce2 Icelandic translation update
From Sveinn í Felli
2021-10-28 09:38:37 -07:00
Bill Kendrick
75d209e3f1 PO/POT update, adding Cartoon full-image mode desc 2021-10-27 22:57:30 -07:00
Bill Kendrick
27b89d0dba Blocks/Chalk: Full-image descriptive text 2021-10-27 22:24:13 -07:00