mirror of
https://github.com/odrling/Aegisub
synced 2025-04-11 22:56:02 +02:00
Merge branch 'pr_at_po-de' into feature
This commit is contained in:
commit
4365b16524
61
packages/desktop/aegisub.appdata.xml.in.in
Normal file
61
packages/desktop/aegisub.appdata.xml.in.in
Normal file
@ -0,0 +1,61 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>aegisub.desktop</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>BSD-3-Clause AND MIT AND MPL-1.1</project_license>
|
||||
<name>Aegisub</name>
|
||||
<summary>A free, cross-platform open source tool for creating and modifying subtitles</summary>
|
||||
<description>
|
||||
<p>Aegisub is a free, cross-platform open source tool for creating and modifying subtitles. Aegisub makes it quick and easy to time subtitles to audio, and features many powerful tools for styling them, including a built-in real-time video preview.</p>
|
||||
<p>Aegisub was originally created as a tool to make typesetting, particularly in anime fansubs, a less painful experience. At the time of the start of the project, many other programs that supported the Advanced Substation Alpha format lacked (and in many cases, still lack; development on several competing programs have since been dropped for various reasons completely unrelated to Aegisub) many vital functions, or were too buggy and/or unreliable to be really useful.</p>
|
||||
<p>Since then, Aegisub has grown into a fully fledged, highly customizable subtitle editor. It features a lot of convenient tools to help you with timing, typesetting, editing and translating subtitles, as well as a powerful scripting environment called Automation (originally mostly intended for creating karaoke effects, Automation can now be used much else, including creating macros and various other convenient tools).</p>
|
||||
<p>Some highlights of Aegisub:</p>
|
||||
<ul>
|
||||
<li>Simple and intuitive yet powerful interface for editing subtitles</li>
|
||||
<li>Support for many formats and character sets</li>
|
||||
<li>Powerful video mode</li>
|
||||
<li>Visual typesetting tools</li>
|
||||
<li>Intuitive and customizable audio timing mode</li>
|
||||
<li>Fully scriptable through the Automation module</li>
|
||||
</ul>
|
||||
</description>
|
||||
<!-- XXX: appstreamcli validation warning: cid-desktopapp-is-not-rdns
|
||||
If improving this, the <id> and filename should probably also be changed. -->
|
||||
<launchable type="desktop-id">aegisub.desktop</launchable>
|
||||
<kudos>
|
||||
<kudo>HiDpiIcon</kudo>
|
||||
<kudo>HighContrast</kudo>
|
||||
<kudo>UserDocs</kudo>
|
||||
</kudos>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<caption>Typesetting</caption>
|
||||
<image>https://aegisub.org/img/screenshots/unix/typesetting.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<caption>Audio video</caption>
|
||||
<image>https://aegisub.org/img/screenshots/unix/audio-video.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<caption>Audio timing</caption>
|
||||
<image>https://aegisub.org/img/screenshots/unix/audio-timing.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<developer_name>Aegisub Group</developer_name>
|
||||
<url type="bugtracker">https://github.com/Aegisub/Aegisub/issues</url>
|
||||
<url type="faq">https://aegisub.org/docs/latest/faq</url>
|
||||
<url type="help">https://aegisub.org/docs/latest</url>
|
||||
<url type="homepage">https://aegisub.org</url>
|
||||
<url type="translate">https://github.com/Aegisub/Aegisub</url>
|
||||
<content_rating type="oars-1.0">
|
||||
<content_attribute id="social-info">mild</content_attribute>
|
||||
</content_rating>
|
||||
<translation type="gettext">aegisub</translation>
|
||||
<provides>
|
||||
<binary>aegisub</binary>
|
||||
</provides>
|
||||
<releases>
|
||||
<!-- TODO: automatic replace at config time -->
|
||||
<release version="3.2.2" date="2014-12-08"/>
|
||||
</releases>
|
||||
</component>
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>aegisub.desktop</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>BSD-3-Clause AND MIT AND MPL-1.1</project_license>
|
||||
<_name>Aegisub</_name>
|
||||
<_summary>A free, cross-platform open source tool for creating and modifying subtitles</_summary>
|
||||
<description>
|
||||
<_p>Aegisub is a free, cross-platform open source tool for creating and modifying subtitles. Aegisub makes it quick and easy to time subtitles to audio, and features many powerful tools for styling them, including a built-in real-time video preview.</_p>
|
||||
<_p>Aegisub was originally created as a tool to make typesetting, particularly in anime fansubs, a less painful experience. At the time of the start of the project, many other programs that supported the Advanced Substation Alpha format lacked (and in many cases, still lack; development on several competing programs have since been dropped for various reasons completely unrelated to Aegisub) many vital functions, or were too buggy and/or unreliable to be really useful.</_p>
|
||||
<_p>Since then, Aegisub has grown into a fully fledged, highly customizable subtitle editor. It features a lot of convenient tools to help you with timing, typesetting, editing and translating subtitles, as well as a powerful scripting environment called Automation (originally mostly intended for creating karaoke effects, Automation can now be used much else, including creating macros and various other convenient tools).</_p>
|
||||
<_p>Some highlights of Aegisub:</_p>
|
||||
<ul>
|
||||
<_li>Simple and intuitive yet powerful interface for editing subtitles</_li>
|
||||
<_li>Support for many formats and character sets</_li>
|
||||
<_li>Powerful video mode</_li>
|
||||
<_li>Visual typesetting tools</_li>
|
||||
<_li>Intuitive and customizable audio timing mode</_li>
|
||||
<_li>Fully scriptable through the Automation module</_li>
|
||||
</ul>
|
||||
</description>
|
||||
<launchable type="desktop-id">aegisub.desktop</launchable>
|
||||
<kudos>
|
||||
<kudo>HiDpiIcon</kudo>
|
||||
<kudo>HighContrast</kudo>
|
||||
<kudo>UserDocs</kudo>
|
||||
</kudos>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<_caption>Typesetting</_caption>
|
||||
<image>http://static.aegisub.org/img/screenshots/unix/typesetting-efc51b7a.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<_caption>Audio video</_caption>
|
||||
<image>http://static.aegisub.org/img/screenshots/unix/audio-video-f1f81fc2.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<_caption>Audio timing</_caption>
|
||||
<image>http://static.aegisub.org/img/screenshots/unix/audio-timing-1d8fce7e.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<developer_name>Aegisub Group</developer_name>
|
||||
<url type="bugtracker">https://github.com/Aegisub/Aegisub/issues</url>
|
||||
<url type="faq">http://docs.aegisub.org/manual/FAQ</url>
|
||||
<url type="help">http://docs.aegisub.org</url>
|
||||
<url type="homepage">http://www.aegisub.org</url>
|
||||
<url type="translate">https://sites.google.com/site/rockytdrontransifex/aegisub</url>
|
||||
<content_rating type="oars-1.0">
|
||||
<content_attribute id="social-info">mild</content_attribute>
|
||||
</content_rating>
|
||||
<translation type="gettext">aegisub</translation>
|
||||
<provides>
|
||||
<binary>aegisub</binary>
|
||||
</provides>
|
||||
<releases>
|
||||
<release version="3.2.2" date="2014-12-08"/>
|
||||
</releases>
|
||||
</component>
|
@ -9,7 +9,7 @@ TryExec=@AEGISUB_COMMAND@
|
||||
Icon=aegisub
|
||||
Terminal=false
|
||||
Categories=AudioVideo;AudioVideoEditing;GTK;
|
||||
_Keywords=subtitles;subtitle;captions;captioning;video;audio;
|
||||
Keywords=subtitles;subtitle;captions;captioning;video;audio;
|
||||
MimeType=application/x-srt;text/plain;text/x-ass;text/x-microdvd;text/x-ssa;
|
||||
StartupNotify=true
|
||||
StartupWMClass=aegisub
|
@ -18,8 +18,8 @@ elif host_machine.system() == 'darwin'
|
||||
else
|
||||
conf_pkg.set('AEGISUB_COMMAND', 'aegisub')
|
||||
|
||||
desktop_template = configure_file(input: 'desktop/aegisub.desktop.template.in',
|
||||
output: 'aegisub.desktop.template',
|
||||
desktop_template = configure_file(input: 'desktop/aegisub.desktop.in.in',
|
||||
output: 'aegisub.desktop.in',
|
||||
configuration: conf_pkg)
|
||||
|
||||
i18n = import('i18n')
|
||||
@ -30,6 +30,16 @@ else
|
||||
install: true,
|
||||
install_dir: datadir / 'applications')
|
||||
|
||||
appdata_template = configure_file(input: 'desktop/aegisub.appdata.xml.in.in',
|
||||
output: 'aegisub.desktop.appdata.xml.in',
|
||||
configuration: conf_pkg)
|
||||
i18n.merge_file(input: appdata_template,
|
||||
output: 'aegisub.appdata.xml',
|
||||
type: 'xml',
|
||||
po_dir: '../po',
|
||||
install: true,
|
||||
install_dir: datadir / 'metainfo')
|
||||
|
||||
aegisub_logos = ['16x16.png', '22x22.png', '24x24.png', '32x32.png', '48x48.png', '64x64.png', 'scalable.svg']
|
||||
|
||||
foreach s: aegisub_logos
|
||||
|
@ -1,3 +1,6 @@
|
||||
packages/desktop/aegisub.desktop.in.in
|
||||
packages/desktop/aegisub.appdata.xml.in.in
|
||||
|
||||
src/ass_style.cpp
|
||||
src/audio_box.cpp
|
||||
src/audio_karaoke.cpp
|
||||
|
11898
po/aegisub.pot
11898
po/aegisub.pot
File diff suppressed because it is too large
Load Diff
11410
po/fr_FR.po
11410
po/fr_FR.po
File diff suppressed because it is too large
Load Diff
@ -1,19 +1,22 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
maybe_append() {
|
||||
while read -r msg; do
|
||||
msgfile=$(echo $msg | cut -d'|' -f1)
|
||||
msgline=$(echo $msg | cut -d'|' -f2)
|
||||
msgid=$(echo $msg | cut -d'|' -f3-)
|
||||
msgfile=$(printf '%s' "$msg" | cut -d'|' -f1)
|
||||
msgline=$(printf '%s' "$msg" | cut -d'|' -f2)
|
||||
msgid=$(printf '%s' "$msg" | cut -d'|' -f3-)
|
||||
|
||||
if ! grep -Fq "msgid $msgid" aegisub.pot; then
|
||||
echo "\n#: $msgfile:$msgline\nmsgid $msgid\nmsgstr \"\"\n" >> aegisub.pot
|
||||
printf "\n#: %s:%s\nmsgid %s\nmsgstr \"\"\n\n" \
|
||||
"$msgfile" "$msgline" "$msgid" >> aegisub.pot
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
find ../src ../src/command -name \*.cpp -o -name \*.h \
|
||||
| xgettext --files-from=- -o - --c++ -k_ -kSTR_MENU -kSTR_DISP -kSTR_HELP -kfmt_tl -kfmt_plural:2,3 -kwxT -kwxPLURAL:1,2 \
|
||||
find ../src ../src/command -name '*.cpp' -o -name '*.h' \
|
||||
| xgettext --files-from=- -o - --c++ --sort-by-file \
|
||||
-k_ -kSTR_MENU -kSTR_DISP -kSTR_HELP -kfmt_tl -kfmt_plural:2,3 -kwxT -kwxPLURAL:1,2 \
|
||||
| sed 's/SOME DESCRIPTIVE TITLE./Aegisub 3.2/' \
|
||||
| sed 's/YEAR/2005-2014/' \
|
||||
| sed "s/THE PACKAGE'S COPYRIGHT HOLDER/Rodrigo Braz Monteiro, Niels Martin Hansen, Thomas Goyne et. al./" \
|
||||
@ -33,28 +36,27 @@ grep '"[A-Za-z ]\+" : {' -n ../src/libresrc/default_hotkey.json \
|
||||
| sed 's/^\([0-9]\+:\).*\("[^"]\+"\).*$/default_hotkey.json|\1|\2/' \
|
||||
| maybe_append
|
||||
|
||||
find ../automation -name *.lua \
|
||||
| xargs grep tr\"[^\"]\*\" -o -n \
|
||||
find ../automation -name '*.lua' \
|
||||
| LC_ALL=C sort \
|
||||
| xargs grep 'tr"[^"]*"' -o -n \
|
||||
| sed 's/\(.*\):\([0-9]\+\):tr\(".*"\)/\1|\2|\3/' \
|
||||
| sed 's/\\/\\\\\\\\/g' \
|
||||
| maybe_append
|
||||
|
||||
for i in 'Name' 'GenericName' 'Comment' 'Keywords'
|
||||
do
|
||||
grep ^_$i -n ../packages/desktop/aegisub.desktop.template.in \
|
||||
| sed 's/\([0-9]\+\):[^=]\+=\(.*\)$/aegisub.desktop|\1|"\2"/' \
|
||||
| maybe_append
|
||||
done
|
||||
xgettext ../packages/desktop/aegisub.desktop.in.in \
|
||||
--language=Desktop --join-existing --omit-header -o aegisub.pot
|
||||
|
||||
if which xmlstarlet >/dev/null 2>&1 && which jq >/dev/null 2>&1; then
|
||||
for i in 'name' 'summary' 'p' 'li' 'caption'; do
|
||||
xmlstarlet sel -t -v "//_$i" ../packages/desktop/aegisub.appdata.xml.template.in | jq -R .
|
||||
done | nl -v0 -w1 -s'|' | sed -re 's/^/aegisub.appdata.xml|/' | maybe_append
|
||||
fi
|
||||
xgettext ../packages/desktop/aegisub.appdata.xml.in.in \
|
||||
--language=AppData --join-existing --omit-header -o aegisub.pot
|
||||
|
||||
grep '^_[A-Za-z0-9]*=.*' ../packages/win_installer/fragment_strings.iss.in | while read line
|
||||
do
|
||||
echo "$line" \
|
||||
printf '%s\n' "$line" \
|
||||
| sed 's/[^=]*=\(.*\)/packages\/win_installer\/fragment_strings.iss|1|"\1"/' \
|
||||
| maybe_append
|
||||
done
|
||||
|
||||
for lang in $(cat LINGUAS) ; do
|
||||
# If using gettext < 0.21, run twice to avoid reversing order of old strings
|
||||
# ref: https://savannah.gnu.org/bugs/?58778
|
||||
msgmerge --update --backup=none --no-fuzzy-matching --sort-by-file "$lang".po aegisub.pot
|
||||
done
|
||||
|
@ -1,4 +1,14 @@
|
||||
i18n = import('i18n')
|
||||
# This is currently busted on OSX
|
||||
# and incomplete on any platform.
|
||||
# It misses translatable strings not directly found in either
|
||||
# C++ source, desktop or appdata file. This affects strings
|
||||
# of the Windows installer (iss), from Lua scripts and JSON files.
|
||||
# Until a solution is found, POT updates should continue to use make_pot.sh.
|
||||
i18n.gettext('aegisub',
|
||||
args: [
|
||||
'-k_', '-kSTR_MENU', '-kSTR_DISP', '-kSTR_HELP', '-kwxT',
|
||||
'-kfmt_tl', '-kfmt_plural:2,3', '-kwxPLURAL:1,2',
|
||||
'--sort-by-file'
|
||||
],
|
||||
install_dir: localedir)
|
||||
|
12432
po/pt_BR.po
12432
po/pt_BR.po
File diff suppressed because it is too large
Load Diff
13277
po/pt_PT.po
13277
po/pt_PT.po
File diff suppressed because it is too large
Load Diff
13315
po/sr_RS.po
13315
po/sr_RS.po
File diff suppressed because it is too large
Load Diff
13283
po/sr_RS@latin.po
13283
po/sr_RS@latin.po
File diff suppressed because it is too large
Load Diff
11441
po/uk_UA.po
11441
po/uk_UA.po
File diff suppressed because it is too large
Load Diff
12396
po/zh_CN.po
12396
po/zh_CN.po
File diff suppressed because it is too large
Load Diff
12389
po/zh_TW.po
12389
po/zh_TW.po
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user