Commit graph

99 commits

Author SHA1 Message Date
Oneric
5b66d473d2 po/de: fix a few errors
Implements suggestions by arch1t3cht.
2023-04-30 17:56:05 +02:00
Oneric
da9842b70c po/de: import German translation from wangqr’s fork
This fixes a bunch of misspellings, borked C format strings and
increases translation coverage from 1288/1612 to 1516/1612
where still missing strings mostly don’t exists in wangqr’s build.

Original commit:
98abe53b15
2023-04-30 17:56:05 +02:00
Oneric
6b3cb7ec63 po: regenerate pot and po files
Using make_pot.sh and
  msgmerge --no-fuzzy-matching --sort-by-file $i.po aegisub.pot
since meson’s aegisub-pot target are still not covering all
translatable strings yet.
2023-04-30 17:56:05 +02:00
Oneric
bc3358fcfe po/make_pot: increase portability across shells
Base POSIX leaves the handling of backslahes in the operand
implementation defined. The XSI extension specifies several
escape sequences, like e.g. \n, which shall be transformed
upon printing.
Current make_pot.sh expects XSI behaviour and indeed e.g.
dash’s echo builtin implements this. echo builtins of other common
shells such as bash however, do not (by default). Avoid this portability
pitfall by just using printf at all relevant places. See:
  https://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html
  https://pubs.opengroup.org/onlinepubs/9699919799/utilities/printf.html

This also allows us to stop substituting each backslash with four
backslashes before piping to maybe_append. This substituion existed
to safely pass backslahes through maybe_append’s two layers of echo.

Also improve quoting. For consistency prefer single-quote quoting over
shell backslash escapes. QUote the unguarded *.lua to ensure it will
continue to work if there happen to be any lua files in the scripts
working directory.

This supersedes commits from wangqr/Aegisub which adjusted quoting and
echo usage to work with different shells. This is more throughout and
doesn't introduce semi-broken intermediate states.
  0fbcaea871
  4aee271d03
  940181c7bc
(Note the second commit actually didn't manage to achieve the intended
portability, since several echo usages remained and it forgot to adjust
the backslash substitution, which was then fixed in the third commit.)
2023-04-30 17:46:20 +02:00
Oneric
f417f6f1ad po/Make_pot: replace xmlstarelet+jq with gettext
gettext can deal with AppData (and other XML files)
since version 0.19.6 (2015). We already depend on gettext anyway so
let’s utilise this, to get rid of two build dependencies and simplify
the extraction logic.
This depends on the removal of underscore prefixes
as done in a prior commit.

After this the developer name "Aegisub Group"
is now also treated as a translateable string.
2023-04-30 17:40:55 +02:00
Oneric
6d9901ee3c po/make_pot: use gettext to process desktop file
gettext understands desktop files since 0.19 (2014),
so there’s no need for custom grep logic. This change
matches meson’s i18n which also uses gettext for this.

As a side efffect of this some long strings now get
broken into multiple lines (cosmetic only) and some
blank line gaps are normalised by gettext.

Cherry picks: 0e29c8d0e4
With fixups from: e98b7292f1
2023-04-30 17:38:28 +02:00
Oneric
afa290ecfb po/make_pot: don't silently omit strings if utilities are missing
Instead abort the script on any errors, which
also helps detecting other unexpected errors.

Adopts parts of: 940181c7bc
  and 4aee271d03
2023-04-30 17:10:27 +02:00
Oneric
87d810254c po/make_pot: sort lua files in POT
find may output matching files in any order.
To avoid unnecessary changes between regeneration
sort its output. For C++ sources xgettext’s --sort-by-file
already has an equivalent effect. All other files are already
statically listed in a fixed order.

Adopts part of: 4aee271d03
2023-04-30 17:10:27 +02:00
Oneric
5c00368e85 build: consider all translation keywords for C++
And document which aprts are still missing.
The keyword list is are copied from make_pot.sh.
Sorting by file helps keeping future PO(T) update diffs small'ish
and is also done in wangqr’s PO-file update procedure. (POT file
generation also sorts, but by preapplying `LC_ALL=C sort` to the
file list instead of using xgettext’s sorting option.)

Without this, meson’s aegisub-pot missed the majority of translatable
strings from C++ sources. While this brings the target much closerto
make_pot.sh, the remaining strings aren't straigthforward to integrate
unfortunately. At the time of writing meson has no support for iss files
and make_pot.sh uses custom logic to select only specific strings
from Lua and JSON files.

Even after this commit, POT updates should
thus still continue to use make_pot.sh.
2023-04-30 17:10:24 +02:00
Oneric
8c35b1d642 Integrate appdata.xml into meson build
It used to be genrated and installed by the old custom build system,
but apparently got lost in switching to meson.

Rename to .in.in instead of .template.in, since i18n otherwise gets
utterly confused failing to recognise the file type and both erroring
out with "no ITS rules found" during merge_file and failing to extract
any translatable strings.
Also drop underscores which were previously processed by intltool.

This doesn't yet automatically replace the release version and date
in the appdata file, but neither did the old build.

Note: while this slightly improves the situation, meson’s aegisub-pot
target is still missing many strings. make_pot.sh should be used.
2023-04-30 03:09:56 +02:00
Oneric
66efa84eed Integrate desktop file translation into meson
meson’s i18n module get’s confused by .template and fails
to extract translatable strings, thus rename to in.in.

Note: while this slightly improves the situation, meson’s aegisub-pot
target is still missing many strings. make_pot.sh should be used.
2023-04-30 03:09:56 +02:00
Oneric
429455263f Fix generation and translation of desktop file
a91c4f70c3 switched processing of the
desktop file from intltool to gettext-backed i18n.merge_file and dropped
leading underscores which used to be processed by intltool.

However, this commit omitted dropping the underscore from Keywords,
resulting in this field being stripped from the installed version.

Furthermore, make_pot.sh was broken since it too relied on the
underscore meaning POT regeneration will now remove the desktop files
strings from translation files.
Since it was not added to po/POTFILES meson’s native aegisub-pot target
also doesn't add desktop file strings to the translation pool. Though,
this target still misses a lot of other strings as well and shouldn't be
used yet anyway.

This commit removes leftover underscores and reintegrates desktop file
strings into both make_pot.sh. Integration into aegisub-pot is done in a
follow-up commit.
2023-04-30 03:09:56 +02:00
clr134
28e3e75c44
Polish translation corrections (#130) 2021-05-23 17:33:04 -04:00
Vardë
3c17671ad0
Updates French translation (#121)
* Updates French translation

* Missing spelling mistake

* Additional adjustments

* Improvements (#1)

Co-authored-by: Vardë <Ichunjo@users.noreply.github.com>

Co-authored-by: anne-o-pixel <81879599+anne-o-pixel@users.noreply.github.com>
2021-05-23 04:54:46 -04:00
Ryan
d583744b69 Merge in work from TypesettingTools fork 2021-01-16 02:12:31 -05:00
Ryan Lucia
89c788a4b3 autotools: remove remaining makefiles 2021-01-10 03:14:12 -05:00
Ryan Lucia
e3826cb17e meson: initial attempt to generate Aegisub.app on macOS 2021-01-10 03:14:12 -05:00
FichteFoll
650954f28e Move language specifications to LINGUAS file
This is required when using i18n.merge_file.
2021-01-10 03:14:12 -05:00
Ryan Lucia
cde5778283 Make spacing around colons consistent 2021-01-10 03:14:12 -05:00
Martin Herkt
48af346e94 Meson: add gettext i18n 2021-01-10 03:14:12 -05:00
Yakauleu Uladzislau
565b7cb86e Added Belarusian Localization 2019-09-22 19:23:39 -04:00
scx
0418d0b5be Desktop file: make Keywords translatable 2019-09-22 19:16:23 -04:00
scx
7ea2c09afa make_pot.sh: Check presence of xmlstarlet and jq 2019-09-22 19:15:36 -04:00
scx
c3a4a9122c Integrate AppData file with build system 2019-09-22 19:15:36 -04:00
Roxas Shadow
d893218e50 it.po: fix typo (#59) 2018-04-29 13:00:11 -07:00
computerfan
e401baa910 Update Simplified Chinese translation (#55)
Fix some wrong or ambiguous translation.
2018-04-29 12:59:59 -07:00
Eduard Ereza Martínez
b859ddbca4 Update Catalan translation (really) 2017-03-25 12:13:24 -07:00
Álex G.M
b5396eb382 Quick fix
Fixed a small mistranslation. Remove = quitar, eliminar ≠ remover
2016-06-26 19:42:57 +02:00
Cirrus Wazza
1f7a59afcb Update French translation
Closes #1882.
2015-08-30 16:47:59 -07:00
Thomas Goyne
f1252d1364 Update Vietnamese translation
loses #1878.
2015-07-27 10:29:23 -07:00
Tom Maneiro
2694332692 Update Spanish translation. Closes #1838. 2014-12-07 15:25:01 -08:00
Lasse Liehu
f1c177842a Update Finnish translation
Closes #1837.
2014-11-30 09:41:18 -08:00
Yuri
c2a6c168fb Update Hungarian translation
Closes #1836.
2014-11-22 13:04:02 -08:00
kotobenko
16a3f38f6d Improve the Ukrainian translation. Closes #1828. 2014-10-12 15:28:53 -07:00
Oleksiy Prytchyn
4958bf3612 Add Ukrainian translation. Closes #1809. 2014-08-11 07:13:18 -07:00
djcj
4c09f696d1 add '(Language)' after translated labels as suggested on the forums: http://forum.aegisub.org/viewtopic.php?f=5&t=66925#p91569 2014-07-28 12:08:23 -07:00
Xabier Aramendi
1835d5e2d8 Update Basque translation
Closes #1791.
2014-07-15 07:15:10 -07:00
doplank
3844a1cb80 Update Indonesian translation 2014-07-07 08:40:38 -07:00
电脑迷
ce503a1fb5 Update Chinese translations. Closes #1779. 2014-07-01 12:25:36 -07:00
Thomas Goyne
0f42155ca2 Make all of the syntax highlighter colors customizable
Closes #1782.
2014-07-01 12:25:22 -07:00
Thomas Goyne
6fec035958 Regenerate aegisub.pot 2014-06-27 11:20:04 -07:00
Thomas Goyne
481f9e42a7 Fix the path to the desktop file in make_pot.sh 2014-06-27 11:20:03 -07:00
Lasse Liehu
790d52b113 Update Finnish translation
Closes #1774.
2014-06-19 09:17:27 -07:00
Thomas Goyne
68eaab0f43 Convert the build system to non-recursive make
Speeds up a no-op build from 500ms to 60ms and significantly improves
dependency tracking.
2014-06-17 11:37:20 -07:00
Thomas Goyne
37c02ae127 Replace wxString::Format with agi::format
It's modestly faster, significantly more type-safe, and doesn't assert
when there's too few arguments, which causes problems for plural forms.

Closes #1733.
2014-05-30 11:53:14 -07:00
Arslanoglou Georgios
b9a683eeb2 Update Greek translation. Closes #1526. 2014-05-23 07:47:27 -07:00
Daniel Mota
6b8c1ff2b2 Update pt_PT.po 2014-05-19 19:35:34 -07:00
电脑迷
207a78fa1e Update Chinese translations. Closes #1755. 2014-05-17 18:01:40 -07:00
Thomas Goyne
796f26c008 Ask whether to check for updates in the installer
Gets rid of the last annoying modal dialog on first startup.
2014-05-15 12:07:46 -07:00
Thomas Goyne
1049b2d140 Make the "Create a start menu icon" string translatable 2014-05-15 11:09:42 -07:00