From 8a61da6e7e6214565afa3ba6b88161044e8a3df6 Mon Sep 17 00:00:00 2001 From: John Stebbins Date: Fri, 13 Sep 2019 09:16:16 -0700 Subject: LinGui: use gettext instead of intltool gettext can do the whole translation parsing job now and intltool is deprecated. it is not available in flatpak's gnome sdk --- gtk/po/Makefile.in.in | 483 +++++++ gtk/po/Makevars | 78 ++ gtk/po/POTFILES.in | 7 +- gtk/po/Rules-quot | 58 + gtk/po/boldquot.sed | 10 + gtk/po/en@boldquot.header | 25 + gtk/po/en@quot.header | 22 + gtk/po/ghb.pot | 3172 ++++++++++++++++++++++++++++++++++++++++++++ gtk/po/insert-header.sin | 23 + gtk/po/quot.sed | 6 + gtk/po/remove-potcdate.sin | 19 + 11 files changed, 3899 insertions(+), 4 deletions(-) create mode 100644 gtk/po/Makefile.in.in create mode 100644 gtk/po/Makevars create mode 100644 gtk/po/Rules-quot create mode 100644 gtk/po/boldquot.sed create mode 100644 gtk/po/en@boldquot.header create mode 100644 gtk/po/en@quot.header create mode 100644 gtk/po/ghb.pot create mode 100644 gtk/po/insert-header.sin create mode 100644 gtk/po/quot.sed create mode 100644 gtk/po/remove-potcdate.sin (limited to 'gtk/po') diff --git a/gtk/po/Makefile.in.in b/gtk/po/Makefile.in.in new file mode 100644 index 000000000..38c293d2e --- /dev/null +++ b/gtk/po/Makefile.in.in @@ -0,0 +1,483 @@ +# Makefile for PO directory in any package using GNU gettext. +# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. This file is offered as-is, +# without any warranty. +# +# Origin: gettext-0.19.8 +GETTEXT_MACRO_VERSION = 0.19 + +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ + +SED = @SED@ +SHELL = /bin/sh +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ +datadir = @datadir@ +localedir = @localedir@ +gettextsrcdir = $(datadir)/gettext/po + +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ + +# We use $(mkdir_p). +# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as +# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, +# @install_sh@ does not start with $(SHELL), so we add it. +# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined +# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake +# versions, $(mkinstalldirs) and $(install_sh) are unused. +mkinstalldirs = $(SHELL) @install_sh@ -d +install_sh = $(SHELL) @install_sh@ +MKDIR_P = @MKDIR_P@ +mkdir_p = @mkdir_p@ + +# When building gettext-tools, we prefer to use the built programs +# rather than installed programs. However, we can't do that when we +# are cross compiling. +CROSS_COMPILING = @CROSS_COMPILING@ + +GMSGFMT_ = @GMSGFMT@ +GMSGFMT_no = @GMSGFMT@ +GMSGFMT_yes = @GMSGFMT_015@ +GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) +MSGFMT_ = @MSGFMT@ +MSGFMT_no = @MSGFMT@ +MSGFMT_yes = @MSGFMT_015@ +MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) +XGETTEXT_ = @XGETTEXT@ +XGETTEXT_no = @XGETTEXT@ +XGETTEXT_yes = @XGETTEXT_015@ +XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +POFILES = @POFILES@ +GMOFILES = @GMOFILES@ +UPDATEPOFILES = @UPDATEPOFILES@ +DUMMYPOFILES = @DUMMYPOFILES@ +DISTFILES.common = Makefile.in.in remove-potcdate.sin \ +$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) +DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ +$(POFILES) $(GMOFILES) \ +$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) + +POTFILES = \ + +CATALOGS = @CATALOGS@ + +POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot +POFILESDEPS_yes = $(POFILESDEPS_) +POFILESDEPS_no = +POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT)) + +DISTFILESDEPS_ = update-po +DISTFILESDEPS_yes = $(DISTFILESDEPS_) +DISTFILESDEPS_no = +DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO)) + +# Makevars gets inserted here. (Don't remove this line!) + +.SUFFIXES: +.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all: all-@USE_NLS@ + +all-yes: stamp-po +all-no: + +# Ensure that the gettext macros and this Makefile.in.in are in sync. +CHECK_MACRO_VERSION = \ + test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ + || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ + exit 1; \ + } + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + @$(CHECK_MACRO_VERSION) + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +# The determination of whether the package xyz is a GNU one is based on the +# heuristic whether some file in the top level directory mentions "GNU xyz". +# If GNU 'find' is available, we avoid grepping through monster files. +$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed + package_gnu="$(PACKAGE_GNU)"; \ + test -n "$$package_gnu" || { \ + if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \ + LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \ + -size -10000000c -exec grep 'GNU @PACKAGE@' \ + /dev/null '{}' ';' 2>/dev/null; \ + else \ + LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \ + fi; \ + } | grep -v 'libtool:' >/dev/null; then \ + package_gnu=yes; \ + else \ + package_gnu=no; \ + fi; \ + }; \ + if test "$$package_gnu" = "yes"; then \ + package_prefix='GNU '; \ + else \ + package_prefix=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --files-from=$(srcdir)/POTFILES.in \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --files-from=$(srcdir)/POTFILES.in \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_prefix}@PACKAGE@" \ + --package-version='@VERSION@' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot-header; then \ + sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \ + cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \ + rm -f $(DOMAIN).1po; \ + fi; \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(POFILESDEPS) + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install: install-exec install-data +install-exec: +install-data: install-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ + for file in $(DISTFILES.common) Makevars.template; do \ + $(INSTALL_DATA) $(srcdir)/$$file \ + $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + for file in Makevars; do \ + rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + else \ + : ; \ + fi +install-data-no: all +install-data-yes: all + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +install-strip: install + +installdirs: installdirs-exec installdirs-data +installdirs-exec: +installdirs-data: installdirs-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ + else \ + : ; \ + fi +installdirs-data-no: +installdirs-data-yes: + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +# Define this as empty until I found a useful application. +installcheck: + +uninstall: uninstall-exec uninstall-data +uninstall-exec: +uninstall-data: uninstall-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + for file in $(DISTFILES.common) Makevars.template; do \ + rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + else \ + : ; \ + fi +uninstall-data-no: +uninstall-data-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +check: all + +info dvi ps pdf html tags TAGS ctags CTAGS ID: + +mostlyclean: + rm -f remove-potcdate.sed + rm -f stamp-poT + rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po + rm -fr *.o + +clean: mostlyclean + +distclean: clean + rm -f Makefile Makefile.in POTFILES *.mo + +maintainer-clean: distclean + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + rm -f stamp-po $(GMOFILES) + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) +dist distdir: + test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS) + @$(MAKE) dist2 +# This is a separate target because 'update-po' must be executed before. +dist2: stamp-po $(DISTFILES) + dists="$(DISTFILES)"; \ + if test "$(PACKAGE)" = "gettext-tools"; then \ + dists="$$dists Makevars.template"; \ + fi; \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + dists="$$dists $(DOMAIN).pot stamp-po"; \ + fi; \ + if test -f $(srcdir)/ChangeLog; then \ + dists="$$dists ChangeLog"; \ + fi; \ + for i in 0 1 2 3 4 5 6 7 8 9; do \ + if test -f $(srcdir)/ChangeLog.$$i; then \ + dists="$$dists ChangeLog.$$i"; \ + fi; \ + done; \ + if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ + for file in $$dists; do \ + if test -f $$file; then \ + cp -p $$file $(distdir) || exit 1; \ + else \ + cp -p $(srcdir)/$$file $(distdir) || exit 1; \ + fi; \ + done + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: + +# Recreate Makefile by invoking config.status. Explicitly invoke the shell, +# because execution permission bits may not work on the current file system. +# Use @SHELL@, which is the shell determined by autoconf for the use by its +# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient. +Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ + cd $(top_builddir) \ + && @SHELL@ ./config.status $(subdir)/$@.in po-directories + +force: + +# Tell versions [3.59,3.63) of GNU make not to export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/gtk/po/Makevars b/gtk/po/Makevars new file mode 100644 index 000000000..9b02d79ba --- /dev/null +++ b/gtk/po/Makevars @@ -0,0 +1,78 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3 --add-comments + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Free Software Foundation, Inc. + +# This tells whether or not to prepend "GNU " prefix to the package +# name that gets inserted into the header of the $(DOMAIN).pot file. +# Possible values are "yes", "no", or empty. If it is empty, try to +# detect it automatically by scanning the files in $(top_srcdir) for +# "GNU packagename" string. +PACKAGE_GNU = + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' +# context. Possible values are "yes" and "no". Set this to yes if the +# package uses functions taking also a message context, like pgettext(), or +# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. +USE_MSGCTXT = no + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = + +# These options get passed to msginit. +# If you want to disable line wrapping when writing PO files, add +# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and +# MSGINIT_OPTIONS. +MSGINIT_OPTIONS = + +# This tells whether or not to regenerate a PO file when $(DOMAIN).pot +# has changed. Possible values are "yes" and "no". Set this to no if +# the POT file is checked in the repository and the version control +# program ignores timestamps. +PO_DEPENDS_ON_POT = yes + +# This tells whether or not to forcibly update $(DOMAIN).pot and +# regenerate PO files on "make dist". Possible values are "yes" and +# "no". Set this to no if the POT file and PO files are maintained +# externally. +DIST_DEPENDS_ON_UPDATE_PO = yes diff --git a/gtk/po/POTFILES.in b/gtk/po/POTFILES.in index fce202662..957df2b77 100644 --- a/gtk/po/POTFILES.in +++ b/gtk/po/POTFILES.in @@ -1,10 +1,9 @@ # List of source files containing translatable strings. -[type: gettext/glade]src/ghb.m4 -[type: gettext/xml]src/fr.handbrake.ghb.appdata.xml.template -src/main.c +src/ghb3.ui +src/fr.handbrake.ghb.appdata.template.xml src/audiohandler.c src/callbacks.c -src/ghbcellrenderertext.c +src/chapters.c src/ghb-dvd.c src/hb-backend.c src/main.c diff --git a/gtk/po/Rules-quot b/gtk/po/Rules-quot new file mode 100644 index 000000000..baf652858 --- /dev/null +++ b/gtk/po/Rules-quot @@ -0,0 +1,58 @@ +# This file, Rules-quot, can be copied and used freely without restrictions. +# Special Makefile rules for English message catalogs with quotation marks. + +DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot + +.SUFFIXES: .insert-header .po-update-en + +en@quot.po-create: + $(MAKE) en@quot.po-update +en@boldquot.po-create: + $(MAKE) en@boldquot.po-update + +en@quot.po-update: en@quot.po-update-en +en@boldquot.po-update: en@boldquot.po-update-en + +.insert-header.po-update-en: + @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ + if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + ll=`echo $$lang | sed -e 's/@.*//'`; \ + LC_ALL=C; export LC_ALL; \ + cd $(srcdir); \ + if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \ + | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \ + { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \ + $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \ + ;; \ + *) \ + $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \ + ;; \ + esac } 2>/dev/null > $$tmpdir/$$lang.new.po \ + ; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "creation of $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +en@quot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header + +en@boldquot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header + +mostlyclean: mostlyclean-quot +mostlyclean-quot: + rm -f *.insert-header diff --git a/gtk/po/boldquot.sed b/gtk/po/boldquot.sed new file mode 100644 index 000000000..4b937aa51 --- /dev/null +++ b/gtk/po/boldquot.sed @@ -0,0 +1,10 @@ +s/"\([^"]*\)"/“\1”/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“”/""/g +s/“/“/g +s/”/”/g +s/‘/‘/g +s/’/’/g diff --git a/gtk/po/en@boldquot.header b/gtk/po/en@boldquot.header new file mode 100644 index 000000000..fedb6a06d --- /dev/null +++ b/gtk/po/en@boldquot.header @@ -0,0 +1,25 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# +# This catalog furthermore displays the text between the quotation marks in +# bold face, assuming the VT100/XTerm escape sequences. +# diff --git a/gtk/po/en@quot.header b/gtk/po/en@quot.header new file mode 100644 index 000000000..a9647fc35 --- /dev/null +++ b/gtk/po/en@quot.header @@ -0,0 +1,22 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# diff --git a/gtk/po/ghb.pot b/gtk/po/ghb.pot new file mode 100644 index 000000000..a708c3743 --- /dev/null +++ b/gtk/po/ghb.pot @@ -0,0 +1,3172 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the ghb package. +# FIRST AUTHOR , YEAR. +# +#: src/main.c:250 src/main.c:255 src/main.c:315 src/main.c:319 +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: ghb 0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-09-13 08:41-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/ghb3.ui:23 +msgid "" +"Render the subtitle over the video.\n" +"\n" +"The subtitle will be part of the video and can not be disabled." +msgstr "" + +#: src/ghb3.ui:26 +msgid "Burned In" +msgstr "" + +#: src/ghb3.ui:32 src/ghb3.ui:9082 +msgid "" +"Set the default output subtitle track.\n" +"\n" +"Most players will automatically display this\n" +"subtitle track whenever the video is played.\n" +"\n" +"This is useful for creating a \"forced\" track\n" +"in your output." +msgstr "" + +#: src/ghb3.ui:39 +msgid "Default" +msgstr "" + +#: src/ghb3.ui:45 src/ghb3.ui:9044 +msgid "" +"Use only subtitles that have been flagged\n" +"as forced in the source subtitle track\n" +"\n" +"\"Forced\" subtitles are usually used to show\n" +"subtitles during scenes where someone is speaking\n" +"a foreign language." +msgstr "" + +#: src/ghb3.ui:51 +msgid "Forced Only" +msgstr "" + +#: src/ghb3.ui:57 +msgid "" +"Add (or subtract) an offset (in milliseconds)\n" +"to the start of the SRT subtitle track.\n" +"\n" +"Often, the start of an external SRT file\n" +"does not coincide with the start of the video.\n" +"This setting allows you to synchronize the files." +msgstr "" + +#: src/ghb3.ui:63 +msgid "SRT Offset" +msgstr "" + +#: src/ghb3.ui:69 +msgid "" +"The source subtitle track\n" +"\n" +"You can choose any of the subtitles\n" +"recognized in your source file.\n" +"\n" +"In addition, there is a special track option\n" +"\"Foreign Audio Scan\". This option will add\n" +"an extra pass to the encode that searches for\n" +"subtitles that may correspond to a foreign\n" +"language scene. This option is best used in\n" +"conjunction with the \"Forced\" option." +msgstr "" + +#: src/ghb3.ui:80 +msgid "Track" +msgstr "" + +#: src/ghb3.ui:87 +msgid "Open Source Directory" +msgstr "" + +#: src/ghb3.ui:91 +msgid "Open Destination Directory" +msgstr "" + +#: src/ghb3.ui:95 +msgid "Open Encode Log Directory" +msgstr "" + +#: src/ghb3.ui:99 +msgid "Open Encode Log" +msgstr "" + +#: src/ghb3.ui:108 +msgid "Reset Failed Jobs" +msgstr "" + +#: src/ghb3.ui:112 +msgid "Reset All Jobs" +msgstr "" + +#: src/ghb3.ui:116 +msgid "Clear Completed Jobs" +msgstr "" + +#: src/ghb3.ui:120 +msgid "Clear All Jobs" +msgstr "" + +#: src/ghb3.ui:124 +msgid "Import Queue" +msgstr "" + +#: src/ghb3.ui:128 +msgid "Export Queue" +msgstr "" + +#: src/ghb3.ui:135 +msgid "HandBrake Presets" +msgstr "" + +#: src/ghb3.ui:163 src/ghb3.ui:2088 +msgid "_Presets" +msgstr "" + +#: src/ghb3.ui:171 src/ghb3.ui:2096 +msgid "Set De_fault" +msgstr "" + +#: src/ghb3.ui:185 src/ghb3.ui:2110 +msgid "_Save" +msgstr "" + +#: src/ghb3.ui:194 src/ghb3.ui:2119 +msgid "Save _As" +msgstr "" + +#: src/ghb3.ui:203 src/ghb3.ui:2128 +msgid "_Rename" +msgstr "" + +#: src/ghb3.ui:212 src/ghb3.ui:2137 +msgid "_Delete" +msgstr "" + +#: src/ghb3.ui:226 src/ghb3.ui:2151 +msgid "_Import" +msgstr "" + +#: src/ghb3.ui:235 src/ghb3.ui:2160 +msgid "_Export" +msgstr "" + +#: src/ghb3.ui:249 src/ghb3.ui:2174 +msgid "Reset _Built-in Presets" +msgstr "" + +#: src/ghb3.ui:304 +msgid "Presets List" +msgstr "" + +#: src/ghb3.ui:318 +msgid "HandBrake Queue" +msgstr "" + +#: src/ghb3.ui:352 +msgid "Queue" +msgstr "" + +#: src/ghb3.ui:367 +msgid "0 jobs pending" +msgstr "" + +#: src/ghb3.ui:404 src/ghb3.ui:2284 src/queuehandler.c:2331 +#: src/queuehandler.c:2344 src/queuehandler.c:2355 +msgid "Start Encoding" +msgstr "" + +#: src/ghb3.ui:406 src/ghb3.ui:2286 src/ghb3.ui:6392 src/queuehandler.c:2330 +#: src/queuehandler.c:2343 +msgid "Start" +msgstr "" + +#: src/ghb3.ui:420 src/ghb3.ui:2299 src/queuehandler.c:2369 +#: src/queuehandler.c:2382 src/queuehandler.c:2393 +msgid "Pause Encoding" +msgstr "" + +#: src/ghb3.ui:422 src/ghb3.ui:2301 src/queuehandler.c:2368 +#: src/queuehandler.c:2381 +msgid "Pause" +msgstr "" + +#: src/ghb3.ui:480 +msgid "Options" +msgstr "" + +#: src/ghb3.ui:549 +msgid "When Done:" +msgstr "" + +#: src/ghb3.ui:630 +msgid "Reset" +msgstr "" + +#: src/ghb3.ui:632 +msgid "" +"Mark selected queue entry as pending.\n" +"Resets the queue job to pending and ready to run again." +msgstr "" + +#: src/ghb3.ui:647 +msgid "Edit" +msgstr "" + +#: src/ghb3.ui:692 +msgid "Actions" +msgstr "" + +#: src/ghb3.ui:741 src/ghb3.ui:4785 +msgid "Preset:" +msgstr "" + +#: src/ghb3.ui:777 +msgid "Source:" +msgstr "" + +#: src/ghb3.ui:818 +msgid "Destination:" +msgstr "" + +#: src/ghb3.ui:859 +msgid "Dimensions:" +msgstr "" + +#: src/ghb3.ui:895 +msgid "Video:" +msgstr "" + +#: src/ghb3.ui:931 +msgid "Audio:" +msgstr "" + +#: src/ghb3.ui:967 +msgid "Subtitles:" +msgstr "" + +#: src/ghb3.ui:1006 src/ghb3.ui:3145 +msgid "Summary" +msgstr "" + +#: src/ghb3.ui:1044 +msgid "Pass:" +msgstr "" + +#: src/ghb3.ui:1080 +msgid "Start Time:" +msgstr "" + +#: src/ghb3.ui:1116 +msgid "End Time:" +msgstr "" + +#: src/ghb3.ui:1156 +msgid "Paused Duration:" +msgstr "" + +#: src/ghb3.ui:1196 +msgid "Encode Time:" +msgstr "" + +#: src/ghb3.ui:1232 +msgid "File Size:" +msgstr "" + +#: src/ghb3.ui:1268 +msgid "Status:" +msgstr "" + +#: src/ghb3.ui:1307 +msgid "Statistics" +msgstr "" + +#: src/ghb3.ui:1372 +msgid "Activity Log" +msgstr "" + +#: src/ghb3.ui:1395 +msgid "HandBrake Activity Log" +msgstr "" + +#: src/ghb3.ui:1670 +msgid "About HandBrake" +msgstr "" + +#: src/ghb3.ui:1676 +msgid "" +"Copyright © 2008 - John Stebbins\n" +"Copyright © 2004 - , HandBrake Devs" +msgstr "" + +#: src/ghb3.ui:1678 +msgid "" +"HandBrake is a GPL-licensed, multiplatform, multithreaded video transcoder." +msgstr "" + +#: src/ghb3.ui:1680 +msgid "https://handbrake.fr" +msgstr "" + +#: src/ghb3.ui:1681 +msgid "" +"HandBrake 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.\n" +"\n" +"HandBrake 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.\n" +"\n" +"You should have received a copy of the GNU General Public License along with " +"Glade; if not, write to the Free Software Foundation, Inc., 51 Franklin " +"Street, Fifth Floor, Boston, MA 02110-1301, USA." +msgstr "" + +#: src/ghb3.ui:1867 +msgid "HandBrake" +msgstr "" + +#: src/ghb3.ui:1890 +msgid "_File" +msgstr "" + +#: src/ghb3.ui:1898 +msgid "Open _Source" +msgstr "" + +#: src/ghb3.ui:1907 +msgid "Open Single _Title" +msgstr "" + +#: src/ghb3.ui:1916 +msgid "Set _Destination" +msgstr "" + +#: src/ghb3.ui:1931 +msgid "_Preferences" +msgstr "" + +#: src/ghb3.ui:1946 +msgid "_Quit" +msgstr "" + +#: src/ghb3.ui:1961 src/ghb3.ui:2055 +msgid "_Queue" +msgstr "" + +#: src/ghb3.ui:1969 +msgid "_Add" +msgstr "" + +#: src/ghb3.ui:1978 +msgid "Add _Multiple" +msgstr "" + +#: src/ghb3.ui:1987 src/queuehandler.c:2354 +msgid "_Start Encoding" +msgstr "" + +#: src/ghb3.ui:1996 src/queuehandler.c:2392 +msgid "_Pause Encoding" +msgstr "" + +#: src/ghb3.ui:2005 +msgid "S_ave Queue" +msgstr "" + +#: src/ghb3.ui:2014 +msgid "_Load Queue File" +msgstr "" + +#: src/ghb3.ui:2029 +msgid "_View" +msgstr "" + +#: src/ghb3.ui:2037 +msgid "HandBrake For _Dumbies" +msgstr "" + +#: src/ghb3.ui:2046 +msgid "Presets _List" +msgstr "" + +#: src/ghb3.ui:2064 +msgid "_Preview" +msgstr "" + +#: src/ghb3.ui:2073 +msgid "_Activity Window" +msgstr "" + +#: src/ghb3.ui:2189 +msgid "_Help" +msgstr "" + +#: src/ghb3.ui:2197 +msgid "_About" +msgstr "" + +#: src/ghb3.ui:2206 +msgid "_Guide" +msgstr "" + +#: src/ghb3.ui:2244 src/callbacks.c:4115 +msgid "Choose Video Source" +msgstr "" + +#: src/ghb3.ui:2246 src/callbacks.c:4114 +msgid "Open Source" +msgstr "" + +#: src/ghb3.ui:2269 +msgid "Add to Queue" +msgstr "" + +#: src/ghb3.ui:2271 +msgid "Add To Queue" +msgstr "" + +#: src/ghb3.ui:2326 +msgid "Show Presets Window" +msgstr "" + +#: src/ghb3.ui:2328 +msgid "Presets" +msgstr "" + +#: src/ghb3.ui:2341 +msgid "Show Preview Window" +msgstr "" + +#: src/ghb3.ui:2343 +msgid "Preview" +msgstr "" + +#: src/ghb3.ui:2356 +msgid "Show Queue" +msgstr "" + +#: src/ghb3.ui:2358 src/callbacks.c:4559 +msgid "Queue" +msgstr "" + +#: src/ghb3.ui:2371 +msgid "Show Activity Window" +msgstr "" + +#: src/ghb3.ui:2373 +msgid "Activity" +msgstr "" + +#: src/ghb3.ui:2403 +msgid "Source:" +msgstr "" + +#: src/ghb3.ui:2429 src/hb-backend.c:60 src/hb-backend.c:72 src/hb-backend.c:85 +#: src/hb-backend.c:250 src/hb-backend.c:335 src/hb-backend.c:2422 +#: src/hb-backend.c:2648 src/subtitlehandler.c:1366 +msgid "None" +msgstr "" + +#: src/ghb3.ui:2474 src/callbacks.c:4087 +msgid "Scanning..." +msgstr "" + +#: src/ghb3.ui:2508 +msgid "Title:" +msgstr "" + +#: src/ghb3.ui:2536 +msgid "" +"Set the title to encode.\n" +"By default the longest title is chosen.\n" +"This is often the feature title of a DVD." +msgstr "" + +#: src/ghb3.ui:2558 +msgid "No Titles" +msgstr "" + +#: src/ghb3.ui:2576 +msgid "Angle:" +msgstr "" + +#: src/ghb3.ui:2588 +msgid "For multi-angle DVD's, select the desired angle to encode." +msgstr "" + +#: src/ghb3.ui:2604 +msgid "Range:" +msgstr "" + +#: src/ghb3.ui:2615 +msgid "Range of title to encode. Can be chapters, seconds, or frames." +msgstr "" + +#: src/ghb3.ui:2628 +msgid "Set the first chapter to encode." +msgstr "" + +#: src/ghb3.ui:2643 +msgid "-" +msgstr "" + +#: src/ghb3.ui:2655 +msgid "Set the last chapter to encode." +msgstr "" + +#: src/ghb3.ui:2680 +msgid "Preset:" +msgstr "" + +#: src/ghb3.ui:2716 +msgid "Choose Preset" +msgstr "" + +#: src/ghb3.ui:2747 +msgid "Modified" +msgstr "" + +#: src/ghb3.ui:2756 src/ghb3.ui:5129 src/ghb3.ui:5873 +msgid "Reload" +msgstr "" + +#: src/ghb3.ui:2759 +msgid "" +"Reload the settings for the currently selected preset.\n" +"Modifications will be discarded." +msgstr "" + +#: src/ghb3.ui:2771 +msgid "Save New Preset" +msgstr "" + +#: src/ghb3.ui:2774 +msgid "Save the current settings to a new Preset." +msgstr "" + +#: src/ghb3.ui:2856 +msgid "Format:" +msgstr "" + +#: src/ghb3.ui:2874 +msgid "Format to mux encoded tracks to." +msgstr "" + +#: src/ghb3.ui:2886 src/queuehandler.c:243 +msgid "Web Optimized" +msgstr "" + +#: src/ghb3.ui:2891 +msgid "" +"Optimize the layout of the MP4 file for progressive download.\n" +"This allows a player to initiate playback before downloading the entire file." +msgstr "" + +#: src/ghb3.ui:2907 +msgid "Align A/V Start" +msgstr "" + +#: src/ghb3.ui:2912 +msgid "" +"Aligns the initial timestamps of all audio and video streams by\n" +"inserting blank frames or dropping frames. May improve audio/video\n" +"sync for broken players that do not honor MP4 edit lists." +msgstr "" + +#: src/ghb3.ui:2929 +msgid "iPod 5G Support" +msgstr "" + +#: src/ghb3.ui:2934 +msgid "Add iPod Atom needed by some older iPods." +msgstr "" + +#: src/ghb3.ui:2956 +msgid "Duration:" +msgstr "" + +#: src/ghb3.ui:2974 +msgid "hh:mm:ss" +msgstr "" + +#: src/ghb3.ui:2989 +msgid "Tracks:" +msgstr "" + +#: src/ghb3.ui:3029 +msgid "Filters:" +msgstr "" + +#: src/ghb3.ui:3069 +msgid "Size:" +msgstr "" + +#: src/ghb3.ui:3094 src/ghb3.ui:3315 +msgid "--" +msgstr "" + +#: src/ghb3.ui:3187 +msgid "Auto Crop" +msgstr "" + +#: src/ghb3.ui:3192 +msgid "Automatically crop black borders around edges of the video." +msgstr "" + +#: src/ghb3.ui:3206 +msgid "Loose Crop" +msgstr "" + +#: src/ghb3.ui:3210 +msgid "" +"When picture settings require that the image\n" +"dimensions be rounded to some multiple number\n" +"of pixels, this setting will crop a few extra pixels\n" +"instead of doing exact cropping and then scaling to\n" +"the required multiple." +msgstr "" + +#: src/ghb3.ui:3232 +msgid "Left Crop" +msgstr "" + +#: src/ghb3.ui:3249 +msgid "Top Crop" +msgstr "" + +#: src/ghb3.ui:3266 +msgid "Bottom Crop" +msgstr "" + +#: src/ghb3.ui:3283 +msgid "Right Crop" +msgstr "" + +#: src/ghb3.ui:3300 +msgid "Crop Dimensions:" +msgstr "" + +#: src/ghb3.ui:3336 +msgid "Cropping" +msgstr "" + +#: src/ghb3.ui:3371 +msgid "Optimal for source" +msgstr "" + +#: src/ghb3.ui:3375 +msgid "" +"If enabled, select the 'optimal' storage resolution.\n" +"This will be the resolution that most closely matches the source resolution " +"after cropping." +msgstr "" + +#: src/ghb3.ui:3393 src/ghb3.ui:3608 +msgid "Width:" +msgstr "" + +#: src/ghb3.ui:3408 +msgid "" +"This is the width that the video will be stored at.\n" +"The actual display dimensions will differ if the pixel aspect ratio is not " +"1:1." +msgstr "" + +#: src/ghb3.ui:3426 src/ghb3.ui:3640 +msgid "Height:" +msgstr "" + +#: src/ghb3.ui:3441 +msgid "" +"This is the height that the video will be stored at.\n" +"The actual display dimensions will differ if the pixel aspect ratio is not " +"1:1." +msgstr "" + +#: src/ghb3.ui:3471 +msgid "Anamorphic:" +msgstr "" + +#: src/ghb3.ui:3486 +msgid "" +"Anamorphic Modes:\n" +"\n" +"None - Force pixel aspect ratio to 1:1.\n" +"Loose - Use a pixel aspect ratio that is as\n" +" close as possible to the source video pixel\n" +" aspect ratio while preserving the original\n" +" display aspect ratio\n" +"Automatic - Use a pixel aspect ratio that maximizes\n" +" storage resolution while preserving the original\n" +" display aspect ratio" +msgstr "" + +#: src/ghb3.ui:3510 +msgid "Alignment:" +msgstr "" + +#: src/ghb3.ui:3525 +msgid "" +"Align storage dimensions to multiples of this value.\n" +"\n" +"This setting is only necessary for compatibility with some devices.\n" +"You should use 2 unless you experience compatibility issues." +msgstr "" + +#: src/ghb3.ui:3550 +msgid "Storage Geometry" +msgstr "" + +#: src/ghb3.ui:3585 +msgid "Keep Aspect" +msgstr "" + +#: src/ghb3.ui:3590 +msgid "" +"If enabled, the original display aspect of the source will be maintained." +msgstr "" + +#: src/ghb3.ui:3623 +msgid "" +"This is the display width. It is the result of scaling the storage " +"dimensions by the pixel aspect." +msgstr "" + +#: src/ghb3.ui:3684 +msgid "Pixel Aspect:" +msgstr "" + +#: src/ghb3.ui:3699 +msgid "" +"Pixel aspect defines the shape of the pixels.\n" +"\n" +"A 1:1 ratio defines a square pixel. Other values define rectangular " +"shapes.\n" +"Players will scale the image in order to achieve the specified aspect." +msgstr "" + +#: src/ghb3.ui:3719 +msgid ":" +msgstr "" + +#: src/ghb3.ui:3734 +msgid "" +"Pixel aspect defines the shape of the pixels.\n" +"A 1:1 ratio defines a square pixel. Other values define rectangular " +"shapes.\n" +"Players will scale the image in order to achieve the specified aspect." +msgstr "" + +#: src/ghb3.ui:3754 +msgid "Display Aspect:" +msgstr "" + +#: src/ghb3.ui:3769 +msgid "--:--" +msgstr "" + +#: src/ghb3.ui:3790 +msgid "Display Geometry" +msgstr "" + +#: src/ghb3.ui:3808 +msgid "Dimensions" +msgstr "" + +#: src/ghb3.ui:3836 +msgid "Detelecine:" +msgstr "" + +#: src/ghb3.ui:3852 +msgid "" +"This filter removes 'combing' artifacts that are the result of telecining.\n" +"\n" +"Telecining is a process that adjusts film framerates that are 24fps to NTSC " +"video frame rates which are 30fps." +msgstr "" + +#: src/ghb3.ui:3867 +msgid "" +"Custom detelecine filter string format\n" +"\n" +"JunkLeft:JunkRight:JunkTop:JunkBottom:StrictBreaks:MetricPlane:Parity" +msgstr "" + +#: src/ghb3.ui:3895 +msgid "Interlace Detection:" +msgstr "" + +#: src/ghb3.ui:3911 +msgid "" +"This filter detects interlaced frames.\n" +"\n" +"If a deinterlace filter is enabled, only frames that this filter finds\n" +"to be interlaced will be deinterlaced." +msgstr "" + +#: src/ghb3.ui:3927 +msgid "" +"Custom interlace detection filter string format\n" +"\n" +"Mode:Spatial Metric:Motion Thresh:Spatial Thresh:Mask Filter Mode:\n" +"Block Thresh: Block Width: Block Height" +msgstr "" + +#: src/ghb3.ui:3956 +msgid "Deinterlace:" +msgstr "" + +#: src/ghb3.ui:3972 +msgid "" +"Choose decomb or deinterlace filter.\n" +"\n" +"The decomb filter supports a variety of interpolation algorithms.\n" +"The deinterlace filter is a classic YADIF deinterlacer.\n" +msgstr "" + +#: src/ghb3.ui:3991 +msgid "Deinterlace Preset:" +msgstr "" + +#: src/ghb3.ui:4007 +msgid "" +"Choose decomb or deinterlace filter options.\n" +"\n" +"The decomb filter supports a variety of interpolation algorithms.\n" +"The deinterlace filter is a classic YADIF deinterlacer.\n" +msgstr "" + +#: src/ghb3.ui:4050 +msgid "Deblock Filter:" +msgstr "" + +#: src/ghb3.ui:4066 src/ghb3.ui:4098 +msgid "" +"The deblocking filter removes a common type of compression artifact.\n" +"If your source exhibits 'blockiness', this filter may help clean it up." +msgstr "" + +#: src/ghb3.ui:4082 +msgid "Deblock Tune:" +msgstr "" + +#: src/ghb3.ui:4112 +msgid "" +"Custom deblock filter string format\n" +"\n" +"strength=weak|strong:thresh=0-100:blocksize=4-512" +msgstr "" + +#: src/ghb3.ui:4140 +msgid "Denoise Filter:" +msgstr "" + +#: src/ghb3.ui:4156 src/ghb3.ui:4189 src/ghb3.ui:4222 +msgid "" +"Denoise filtering reduces or removes the appearance of noise and grain.\n" +"Film grain and other types of high frequency noise are difficult to " +"compress.\n" +"Using this filter on such sources can result in smaller file sizes." +msgstr "" + +#: src/ghb3.ui:4173 +msgid "Denoise Preset:" +msgstr "" + +#: src/ghb3.ui:4206 +msgid "Denoise Tune:" +msgstr "" + +#: src/ghb3.ui:4237 src/ghb3.ui:4359 +msgid "" +"Custom denoise filter string format\n" +"\n" +"SpatialLuma:SpatialChroma:TemporalLuma:TemporalChroma" +msgstr "" + +#: src/ghb3.ui:4265 +msgid "Sharpen Filter:" +msgstr "" + +#: src/ghb3.ui:4281 src/ghb3.ui:4313 src/ghb3.ui:4345 +msgid "" +"Sharpen filtering enhances edges and other\n" +"high frequency components in the video." +msgstr "" + +#: src/ghb3.ui:4297 +msgid "Sharpen Preset:" +msgstr "" + +#: src/ghb3.ui:4329 +msgid "Sharpen Tune:" +msgstr "" + +#: src/ghb3.ui:4387 +msgid "Rotate Filter:" +msgstr "" + +#: src/ghb3.ui:4403 +msgid "Rotate the video clockwise in 90 degree increments." +msgstr "" + +#: src/ghb3.ui:4417 +msgid "Grayscale" +msgstr "" + +#: src/ghb3.ui:4422 +msgid "If enabled, filter colour components out of video." +msgstr "" + +#: src/ghb3.ui:4433 +msgid "Filters" +msgstr "" + +#: src/ghb3.ui:4464 +msgid "Video Encoder:" +msgstr "" + +#: src/ghb3.ui:4478 +msgid "Available video encoders." +msgstr "" + +#: src/ghb3.ui:4494 +msgid "Framerate:" +msgstr "" + +#: src/ghb3.ui:4509 +msgid "" +"Output framerate.\n" +"\n" +"'Same as source' is recommended. If your source video has\n" +"a variable framerate, 'Same as source' will preserve it." +msgstr "" + +#: src/ghb3.ui:4524 +msgid "Constant Framerate" +msgstr "" + +#: src/ghb3.ui:4529 +msgid "Enables constant framerate output." +msgstr "" + +#: src/ghb3.ui:4543 +msgid "Peak Framerate (VFR)" +msgstr "" + +#: src/ghb3.ui:4548 +msgid "" +"Enables variable framerate output with a peak\n" +"rate determined by the framerate setting.\n" +"\n" +"VFR is not compatible with some players." +msgstr "" + +#: src/ghb3.ui:4566 +msgid "Variable Framerate" +msgstr "" + +#: src/ghb3.ui:4571 +msgid "" +"Enables variable framerate output.\n" +"\n" +"VFR is not compatible with some players." +msgstr "" + +#: src/ghb3.ui:4607 src/ghb3.ui:4639 +msgid "" +"Set the desired quality factor.\n" +"The encoder targets a certain quality.\n" +"The scale used by each video encoder is different.\n" +"\n" +"x264's scale is logarithmic and lower values correspond to higher quality.\n" +"So small decreases in value will result in progressively larger increases\n" +"in the resulting file size. A value of 0 means lossless and will result\n" +"in a file size that is larger than the original source, unless the source\n" +"was also lossless.\n" +"\n" +"FFMpeg's and Theora's scale is more linear.\n" +"These encoders do not have a lossless mode." +msgstr "" + +#: src/ghb3.ui:4634 +msgid "Constant Quality:" +msgstr "" + +#: src/ghb3.ui:4665 +msgid "Bitrate (kbps): " +msgstr "" + +#: src/ghb3.ui:4670 src/ghb3.ui:4692 +msgid "" +"Set the average bitrate.\n" +"\n" +"The instantaneous bitrate can be much higher or lower at any point in time.\n" +"But the average over a long duration will be the value set here. If you " +"need\n" +"to limit instantaneous bitrate, look into x264's vbv-bufsize and vbv-maxrate " +"settings." +msgstr "" + +#: src/ghb3.ui:4709 +msgid "2-Pass Encoding" +msgstr "" + +#: src/ghb3.ui:4714 +msgid "" +"Perform 2 Pass Encoding.\n" +"\n" +"The 'Bitrate' option is prerequisite. During the 1st pass, statistics about\n" +"the video are collected. Then in the second pass, those statistics are " +"used\n" +"to make bitrate allocation decisions." +msgstr "" + +#: src/ghb3.ui:4732 +msgid "Turbo First Pass" +msgstr "" + +#: src/ghb3.ui:4737 +msgid "" +"During the 1st pass of a 2 pass encode, use settings that speed things along." +msgstr "" + +#: src/ghb3.ui:4799 +msgid "" +"Adjusts encoder settings to trade off compression efficiency against " +"encoding speed.\n" +"\n" +"This establishes your default encoder settings.\n" +"Tunes, profiles, levels and extra options string will be applied to this.\n" +"You should generally set this option to the slowest you can bear since " +"slower\n" +"settings will result in better quality or smaller files." +msgstr "" + +#: src/ghb3.ui:4825 +msgid "Tune:" +msgstr "" + +#: src/ghb3.ui:4842 +msgid "" +"Tune settings to optimize for common scenarios.\n" +"\n" +"This can improve efficiency for particular source characteristics or set\n" +"characteristics of the output file. Changes will be applied after the\n" +"preset but before all other parameters." +msgstr "" + +#: src/ghb3.ui:4858 +msgid "Fast Decode" +msgstr "" + +#: src/ghb3.ui:4863 +msgid "" +"Reduce decoder CPU usage.\n" +"\n" +"Set this if your device is struggling to play the output (dropped frames)." +msgstr "" + +#: src/ghb3.ui:4881 +msgid "Zero Latency" +msgstr "" + +#: src/ghb3.ui:4885 +msgid "" +"Minimize latency between input to encoder and output of decoder.\n" +"\n" +"This is useful for broadcast of live streams.\n" +"\n" +"Since HandBrake is not suitable for live stream broadcast purposes,\n" +"this setting is of little value here." +msgstr "" + +#: src/ghb3.ui:4909 +msgid "Profile:" +msgstr "" + +#: src/ghb3.ui:4926 +msgid "" +"Sets and ensures compliance with the specified profile.\n" +"\n" +"Overrides all other settings." +msgstr "" + +#: src/ghb3.ui:4944 +msgid "Level:" +msgstr "" + +#: src/ghb3.ui:4961 +msgid "" +"Sets and ensures compliance with the specified level.\n" +"\n" +"Overrides all other settings." +msgstr "" + +#: src/ghb3.ui:4986 +msgid "More Settings:" +msgstr "" + +#: src/ghb3.ui:5004 +msgid "" +"Additional encoder settings.\n" +"\n" +"Colon separated list of encoder options." +msgstr "" + +#: src/ghb3.ui:5038 src/main.c:1156 +msgid "Video" +msgstr "" + +#. Add Button +#: src/ghb3.ui:5104 src/ghb3.ui:5297 src/ghb3.ui:5834 src/ghb3.ui:6054 +#: src/audiohandler.c:1744 +msgid "Add" +msgstr "" + +#: src/ghb3.ui:5106 +msgid "Add new audio settings to the list" +msgstr "" + +#: src/ghb3.ui:5116 src/ghb3.ui:5846 +msgid "Add All" +msgstr "" + +#: src/ghb3.ui:5118 +msgid "Add all audio tracks to the list" +msgstr "" + +#: src/ghb3.ui:5131 +msgid "Reload all audio settings from defaults" +msgstr "" + +#: src/ghb3.ui:5175 src/ghb3.ui:5919 +msgid "Track List" +msgstr "" + +#: src/ghb3.ui:5206 src/ghb3.ui:5954 +msgid "Selection Behavior:" +msgstr "" + +#: src/ghb3.ui:5221 +msgid "Choose which audio tracks of the source media are used." +msgstr "" + +#: src/ghb3.ui:5282 +msgid "" +"Create a list of languages you would like to select audio for.\n" +"Tracks matching these languages will be selected using the chosen Selection " +"Behavior." +msgstr "" + +#: src/ghb3.ui:5313 src/ghb3.ui:6070 +msgid "Remove" +msgstr "" + +#: src/ghb3.ui:5331 src/ghb3.ui:6088 +msgid "Available Languages" +msgstr "" + +#: src/ghb3.ui:5344 src/ghb3.ui:6101 +msgid "Selected Languages" +msgstr "" + +#: src/ghb3.ui:5360 +msgid "Use only first encoder for secondary audio" +msgstr "" + +#: src/ghb3.ui:5365 +msgid "" +"Only the primary audio track will be encoded with the full encoder list.\n" +"All other secondary audio output tracks will be encoded with first encoder " +"only." +msgstr "" + +#: src/ghb3.ui:5401 +msgid "Auto Passthru:" +msgstr "" + +#: src/ghb3.ui:5412 +msgid "MP3" +msgstr "" + +#: src/ghb3.ui:5417 +msgid "" +"Enable this if your playback device supports MP3.\n" +"This permits MP3 passthru to be selected when automatic passthru selection " +"is enabled." +msgstr "" + +#: src/ghb3.ui:5433 +msgid "AAC" +msgstr "" + +#: src/ghb3.ui:5438 +msgid "" +"Enable this if your playback device supports AAC.\n" +"This permits AAC passthru to be selected when automatic passthru selection " +"is enabled." +msgstr "" + +#: src/ghb3.ui:5454 +msgid "AC-3" +msgstr "" + +#: src/ghb3.ui:5459 +msgid "" +"Enable this if your playback device supports AC-3.\n" +"This permits AC-3 passthru to be selected when automatic passthru selection " +"is enabled." +msgstr "" + +#: src/ghb3.ui:5475 +msgid "DTS" +msgstr "" + +#: src/ghb3.ui:5480 +msgid "" +"Enable this if your playback device supports DTS.\n" +"This permits DTS passthru to be selected when automatic passthru selection " +"is enabled." +msgstr "" + +#: src/ghb3.ui:5496 +msgid "DTS-HD" +msgstr "" + +#: src/ghb3.ui:5501 +msgid "" +"Enable this if your playback device supports DTS-HD.\n" +"This permits DTS-HD passthru to be selected when automatic passthru " +"selection is enabled." +msgstr "" + +#: src/ghb3.ui:5517 +msgid "EAC-3" +msgstr "" + +#: src/ghb3.ui:5522 +msgid "" +"Enable this if your playback device supports EAC-3.\n" +"This permits EAC-3 passthru to be selected when automatic passthru selection " +"is enabled." +msgstr "" + +#: src/ghb3.ui:5538 +msgid "TrueHD" +msgstr "" + +#: src/ghb3.ui:5543 +msgid "" +"Enable this if your playback device supports TrueHD.\n" +"This permits TrueHD passthru to be selected when automatic passthru " +"selection is enabled." +msgstr "" + +#: src/ghb3.ui:5559 +msgid "FLAC" +msgstr "" + +#: src/ghb3.ui:5564 +msgid "" +"Enable this if your playback device supports FLAC.\n" +"This permits FLAC passthru to be selected when automatic passthru selection " +"is enabled." +msgstr "" + +#: src/ghb3.ui:5597 +msgid "Passthru Fallback:" +msgstr "" + +#: src/ghb3.ui:5609 +msgid "" +"Set the audio codec to encode with when a suitable track can not be found " +"for audio passthru." +msgstr "" + +#: src/ghb3.ui:5638 +msgid "Audio Encoder Settings:" +msgstr "" + +#: src/ghb3.ui:5639 +msgid "Each selected source track will be encoded with all selected encoders" +msgstr "" + +#: src/ghb3.ui:5664 src/ghb3.ui:9239 +msgid "Encoder" +msgstr "" + +#: src/ghb3.ui:5675 src/ghb3.ui:9252 +msgid "Bitrate/Quality" +msgstr "" + +#: src/ghb3.ui:5686 +msgid "Mixdown" +msgstr "" + +#: src/ghb3.ui:5697 +msgid "Samplerate" +msgstr "" + +#: src/ghb3.ui:5708 src/ghb3.ui:9296 +msgid "Gain" +msgstr "" + +#: src/ghb3.ui:5719 src/ghb3.ui:9315 +msgid "DRC" +msgstr "" + +#: src/ghb3.ui:5756 src/ghb3.ui:6314 +msgid "Track Selection" +msgstr "" + +#: src/ghb3.ui:5768 +msgid "Audio" +msgstr "" + +#: src/ghb3.ui:5836 +msgid "Add new subtitle settings to the list" +msgstr "" + +#: src/ghb3.ui:5848 +msgid "Add all subtitle tracks to the list" +msgstr "" + +#: src/ghb3.ui:5858 src/queuehandler.c:560 src/queuehandler.c:991 +#: src/subtitlehandler.c:414 +msgid "Foreign Audio Scan" +msgstr "" + +#: src/ghb3.ui:5860 +msgid "" +"Add an extra pass to the encode which searches\n" +"for subtitle candidates that provide subtitles for\n" +"segments of the audio that are in a foreign language." +msgstr "" + +#: src/ghb3.ui:5875 +msgid "Reload all subtitle settings from defaults" +msgstr "" + +#: src/ghb3.ui:5969 +msgid "Choose which subtitle tracks of the source media are used." +msgstr "" + +#: src/ghb3.ui:6034 +msgid "" +"Create a list of languages you would like to select subtitles for.\n" +"Tracks matching these languages will be selected using the chosen Selection " +"Behavior.\n" +"\n" +"The first language in this list is your \"preferred\" language and will be " +"used\n" +"for determining subtitle selection settings when there is foreign audio." +msgstr "" + +#: src/ghb3.ui:6115 +msgid "Preferred Language: None" +msgstr "" + +#: src/ghb3.ui:6142 +msgid "Add Foreign Audio Scan Pass" +msgstr "" + +#: src/ghb3.ui:6147 +msgid "" +"Add \"Foreign Audio Scan\" when the default audio track is your preferred " +"language.\n" +"This search pass finds short sequences of foreign audio and provides " +"subtitles for them.\n" +"\n" +"This option requires a language to be set in the Selected Languages list." +msgstr "" + +#: src/ghb3.ui:6162 +msgid "Add subtitle track if default audio is foreign" +msgstr "" + +#: src/ghb3.ui:6167 +msgid "" +"When the default audio track is not your preferred language, add a subtitle " +"track.\n" +"\n" +"This option requires a language to be set in the Selected Languages list." +msgstr "" + +#: src/ghb3.ui:6181 +msgid "Add Closed Captions when available" +msgstr "" + +#: src/ghb3.ui:6186 +msgid "" +"Closed captions are text subtitles that can be added to any container as a " +"soft subtitle track" +msgstr "" + +#: src/ghb3.ui:6207 +msgid "Burn-In Behavior*:" +msgstr "" + +#: src/ghb3.ui:6219 +msgid "" +"Set the behavior of subtitle \"Burn-In\".\n" +"\n" +"Burned-In subtitles are part of the video and can not be disabled during " +"playback.\n" +"Only one subtitle track can be burned! Since conflicts can occur, the first " +"chosen wins." +msgstr "" + +#: src/ghb3.ui:6246 +msgid "Burn-In for deficient players*:" +msgstr "" + +#: src/ghb3.ui:6255 +msgid "DVD Subtitles" +msgstr "" + +#: src/ghb3.ui:6260 +msgid "" +"Burn the first selected DVD subtitle track. All other DVD subtitle tracks " +"will be discarded.\n" +"Use this option if your player software or device does not support DVD " +"subtitles.\n" +"\n" +"Only one subtitle track can be burned! Since conflicts can occur, the first " +"chosen wins." +msgstr "" + +#: src/ghb3.ui:6274 +msgid "Blu-ray Subtitles" +msgstr "" + +#: src/ghb3.ui:6279 +msgid "" +"Burn the first selected Blu-ray subtitle track. All other Blu-ray subtitle " +"tracks will be discarded.\n" +"Use this option if your player software or device does not support Blu-ray " +"subtitles.\n" +"\n" +"Only one subtitle track can be burned! Since conflicts can occur, the first " +"chosen wins." +msgstr "" + +#: src/ghb3.ui:6301 +msgid "" +"* Only one of the above subtitle burn options will be applied, " +"starting with the top." +msgstr "" + +#: src/ghb3.ui:6302 +msgid "" +"Only one subtitle track can be burned! Since conflicts can occur, the first " +"chosen wins." +msgstr "" + +#: src/ghb3.ui:6326 +msgid "Subtitles" +msgstr "" + +#: src/ghb3.ui:6341 src/queuehandler.c:233 +msgid "Chapter Markers" +msgstr "" + +#: src/ghb3.ui:6346 +msgid "Add chapter markers to output file." +msgstr "" + +#: src/ghb3.ui:6380 +msgid "Index" +msgstr "" + +#: src/ghb3.ui:6404 +msgid "Duration" +msgstr "" + +#: src/ghb3.ui:6415 +msgid "Title" +msgstr "" + +#: src/ghb3.ui:6452 +msgid "Chapters" +msgstr "" + +#: src/ghb3.ui:6472 +msgid "Title:" +msgstr "" + +#: src/ghb3.ui:6507 +msgid "Actors:" +msgstr "" + +#: src/ghb3.ui:6542 +msgid "Director:" +msgstr "" + +#: src/ghb3.ui:6577 +msgid "Release Date:" +msgstr "" + +#: src/ghb3.ui:6612 +msgid "Comment:" +msgstr "" + +#: src/ghb3.ui:6647 +msgid "Genre:" +msgstr "" + +#: src/ghb3.ui:6682 +msgid "Description:" +msgstr "" + +#: src/ghb3.ui:6717 +msgid "Plot:" +msgstr "" + +#: src/ghb3.ui:6755 +msgid "Tags" +msgstr "" + +#: src/ghb3.ui:6784 +msgid "Save As:" +msgstr "" + +#: src/ghb3.ui:6798 +msgid "Destination filename for your encode." +msgstr "" + +#: src/ghb3.ui:6818 +msgid "To:" +msgstr "" + +#: src/ghb3.ui:6831 +msgid "Destination directory for your encode." +msgstr "" + +#: src/ghb3.ui:6834 src/queuehandler.c:2178 +msgid "Destination Directory" +msgstr "" + +#: src/ghb3.ui:6927 src/ghb3.ui:7835 src/ghb3.ui:7987 src/ghb3.ui:8713 +#: src/ghb3.ui:9118 src/callbacks.c:5455 src/callbacks.c:5465 +#: src/callbacks.c:5473 src/hb-backend.c:4182 src/hb-backend.c:4215 +#: src/hb-backend.c:4254 src/hb-backend.c:4285 src/hb-backend.c:4313 +#: src/hb-backend.c:4359 src/hb-backend.c:4416 src/hb-backend.c:4436 +#: src/hb-backend.c:4456 src/hb-backend.c:4517 src/hb-backend.c:4572 +#: src/queuehandler.c:1788 src/queuehandler.c:1805 src/queuehandler.c:1819 +#: src/queuehandler.c:1834 +msgid "Cancel" +msgstr "" + +#: src/ghb3.ui:6936 src/ghb3.ui:7080 src/ghb3.ui:7844 src/ghb3.ui:7996 +#: src/ghb3.ui:8722 src/ghb3.ui:9127 +msgid "OK" +msgstr "" + +#: src/ghb3.ui:6965 +msgid "Select All" +msgstr "" + +#: src/ghb3.ui:6969 +msgid "Mark all titles for adding to the queue" +msgstr "" + +#: src/ghb3.ui:6982 +msgid "Clear All" +msgstr "" + +#: src/ghb3.ui:6986 +msgid "Unmark all titles" +msgstr "" + +#: src/ghb3.ui:7047 +msgid "Destination files OK. No duplicates detected." +msgstr "" + +#: src/ghb3.ui:7069 +msgid "Preferences" +msgstr "" + +#: src/ghb3.ui:7175 +msgid "Automatically check for updates" +msgstr "" + +#: src/ghb3.ui:7212 +msgid "When all encodes are complete" +msgstr "" + +#: src/ghb3.ui:7234 +msgid "Use automatic naming (uses modified source name)" +msgstr "" + +#: src/ghb3.ui:7235 +msgid "Create destination filename from source filename or volume label" +msgstr "" + +#: src/ghb3.ui:7259 +msgid "Auto-Name Template" +msgstr "" + +#: src/ghb3.ui:7270 +msgid "" +"Available Options: {source-path} {source} {title} {preset} {chapters} {date} " +"{time} {creation-date} {creation-time} {quality} {bitrate}" +msgstr "" + +#: src/ghb3.ui:7290 +msgid "Use iPod/iTunes friendly (.m4v) file extension for MP4" +msgstr "" + +#: src/ghb3.ui:7333 +msgid "Number of previews" +msgstr "" + +#: src/ghb3.ui:7371 +msgid "Filter short DVD and Blu-ray titles (seconds)" +msgstr "" + +#: src/ghb3.ui:7385 +msgid "Clear completed queue items after and encode completes" +msgstr "" + +#: src/ghb3.ui:7389 +msgid "" +"By default, completed jobs remain in the queue and are marked as complete.\n" +"Check this if you want the queue to clean itself up by deleting completed " +"jobs." +msgstr "" + +#: src/ghb3.ui:7406 +msgid "General" +msgstr "" + +#: src/ghb3.ui:7449 +msgid "Constant Quality fractional granularity" +msgstr "" + +#: src/ghb3.ui:7466 +msgid "Use dvdnav (instead of libdvdread)" +msgstr "" + +#: src/ghb3.ui:7489 +msgid "Monitor destination disk free space" +msgstr "" + +#: src/ghb3.ui:7493 src/ghb3.ui:7515 src/ghb3.ui:7696 +msgid "Pause encoding if free disk space drops below limit" +msgstr "" + +#: src/ghb3.ui:7530 +msgid "MB Limit" +msgstr "" + +#: src/ghb3.ui:7558 +msgid "Put individual encode logs in same location as movie" +msgstr "" + +#: src/ghb3.ui:7594 +msgid "Activity Log Verbosity Level" +msgstr "" + +#: src/ghb3.ui:7629 +msgid "Activity Log Longevity" +msgstr "" + +#: src/ghb3.ui:7650 +msgid "Scale down High Definition previews" +msgstr "" + +#: src/ghb3.ui:7667 +msgid "Automatically Scan DVD when loaded" +msgstr "" + +#: src/ghb3.ui:7671 +msgid "Scans the DVD whenever a new disc is loaded" +msgstr "" + +#: src/ghb3.ui:7710 +msgid "Activity Window Font Size" +msgstr "" + +#: src/ghb3.ui:7727 +msgid "Use the same settings for all titles in a batch" +msgstr "" + +#: src/ghb3.ui:7731 +msgid "" +"When checked, every title will use the same settings when adding a\n" +"batch of titles to the queue.\n" +"\n" +"Uncheck this if you want to allow changing each title's settings " +"independently." +msgstr "" + +#: src/ghb3.ui:7759 +msgid "Allow Tweaks" +msgstr "" + +#: src/ghb3.ui:7775 +msgid "Allow HandBrake For Dummies" +msgstr "" + +#: src/ghb3.ui:7803 +msgid "Advanced" +msgstr "" + +#: src/ghb3.ui:7881 +msgid "Rename Preset" +msgstr "" + +#: src/ghb3.ui:7901 +msgid "Name:" +msgstr "" + +#: src/ghb3.ui:7958 src/ghb3.ui:8305 +msgid "Description" +msgstr "" + +#: src/ghb3.ui:8039 +msgid "Category:" +msgstr "" + +#: src/ghb3.ui:8054 +msgid "Set the category that this preset will be shown under." +msgstr "" + +#: src/ghb3.ui:8070 +msgid "Category Name:" +msgstr "" + +#: src/ghb3.ui:8103 +msgid "Preset Name:" +msgstr "" + +#: src/ghb3.ui:8137 +msgid "Default Preset" +msgstr "" + +#: src/ghb3.ui:8142 +msgid "Make this the default Preset when HandBrake starts" +msgstr "" + +#: src/ghb3.ui:8168 +msgid "Dimensions" +msgstr "" + +#: src/ghb3.ui:8194 +msgid "Maximum Width:" +msgstr "" + +#: src/ghb3.ui:8199 +msgid "Enable maximum width limit." +msgstr "" + +#: src/ghb3.ui:8217 +msgid "" +"This is the maximum width that the video will be stored at.\n" +"\n" +"Whenever a new source is loaded, this value will be applied if the source " +"width is greater.\n" +"Setting this to 0 means there is no maximum width." +msgstr "" + +#: src/ghb3.ui:8234 +msgid "Maximum Height:" +msgstr "" + +#: src/ghb3.ui:8239 +msgid "Enable maximum height limit." +msgstr "" + +#: src/ghb3.ui:8257 +msgid "" +"This is the maximum height that the video will be stored at.\n" +"\n" +"Whenever a new source is loaded, this value will be applied if the source " +"height is greater.\n" +"Setting this to 0 means there is no maximum height." +msgstr "" + +#: src/ghb3.ui:8328 +msgid "HandBrake Preview" +msgstr "" + +#: src/ghb3.ui:8387 +msgid "Select preview frames." +msgstr "" + +#: src/ghb3.ui:8409 +msgid "" +"Encode and play a short sequence of video starting from the current preview " +"position." +msgstr "" + +#: src/ghb3.ui:8480 +msgid "Duration:" +msgstr "" + +#: src/ghb3.ui:8492 +msgid "Set the duration of the live preview in seconds." +msgstr "" + +#: src/ghb3.ui:8508 +msgid "Show Crop" +msgstr "" + +#: src/ghb3.ui:8512 +msgid "Show Cropped area of the preview" +msgstr "" + +#: src/ghb3.ui:8523 +msgid "Source Resolution" +msgstr "" + +#: src/ghb3.ui:8527 +msgid "Reset preview window to the source video's resolution" +msgstr "" + +#: src/ghb3.ui:8559 +msgid "_Cancel" +msgstr "" + +#: src/ghb3.ui:8571 +msgid "_Open" +msgstr "" + +#: src/ghb3.ui:8605 +msgid "Title Number:" +msgstr "" + +#: src/ghb3.ui:8641 +msgid "Detected DVD devices:" +msgstr "" + +#: src/ghb3.ui:8751 +msgid "Import SRT" +msgstr "" + +#: src/ghb3.ui:8756 +msgid "Enable settings to import an SRT subtitle file" +msgstr "" + +#: src/ghb3.ui:8767 +msgid "Import SSA" +msgstr "" + +#: src/ghb3.ui:8772 +msgid "Enable settings to import an SSA subtitle file" +msgstr "" + +#: src/ghb3.ui:8784 +msgid "Embedded Subtitle List" +msgstr "" + +#: src/ghb3.ui:8789 +msgid "Enable settings to select embedded subtitles" +msgstr "" + +#: src/ghb3.ui:8816 src/ghb3.ui:9159 +msgid "Source Track" +msgstr "" + +#: src/ghb3.ui:8831 +msgid "List of subtitle tracks available from your source." +msgstr "" + +#: src/ghb3.ui:8845 src/ghb3.ui:9189 +msgid "Track Name:" +msgstr "" + +#: src/ghb3.ui:8861 +msgid "" +"Set the subtitle track name.\n" +"\n" +"Players may use this in the subtitle selection list." +msgstr "" + +#: src/ghb3.ui:8894 +msgid "Language" +msgstr "" + +#: src/ghb3.ui:8908 +msgid "Character Code" +msgstr "" + +#: src/ghb3.ui:8922 +msgid "File:" +msgstr "" + +#: src/ghb3.ui:8937 +msgid "Offset (ms)" +msgstr "" + +#: src/ghb3.ui:8952 +msgid "" +"Set the language of this subtitle.\n" +"This value will be used by players in subtitle menus." +msgstr "" + +#: src/ghb3.ui:8970 +msgid "" +"Set the character code used by the SRT file you are importing.\n" +"\n" +"SRTs come in all flavours of character sets.\n" +"We translate the character set to UTF-8.\n" +"The source's character code is needed in order to perform this translation." +msgstr "" + +#: src/ghb3.ui:8994 +msgid "Select the SRT file to import." +msgstr "" + +#: src/ghb3.ui:8997 +msgid "Import File" +msgstr "" + +#: src/ghb3.ui:9015 +msgid "Adjust the offset in milliseconds between video and SRT timestamps" +msgstr "" + +#: src/ghb3.ui:9039 +msgid "Forced Subtitles Only" +msgstr "" + +#: src/ghb3.ui:9060 +msgid "Burn into video" +msgstr "" + +#: src/ghb3.ui:9065 +msgid "" +"Render the subtitle over the video.\n" +"The subtitle will be part of the video and can not be disabled." +msgstr "" + +#: src/ghb3.ui:9077 +msgid "Set Default Track" +msgstr "" + +#: src/ghb3.ui:9175 +msgid "List of audio tracks available from your source." +msgstr "" + +#: src/ghb3.ui:9205 +msgid "" +"Set the audio track name.\n" +"\n" +"Players may use this in the audio selection list." +msgstr "" + +#: src/ghb3.ui:9268 +msgid "Mix" +msgstr "" + +#: src/ghb3.ui:9281 +msgid "Sample Rate" +msgstr "" + +#: src/ghb3.ui:9311 src/ghb3.ui:9550 src/audiohandler.c:1917 +msgid "" +"Dynamic Range Compression: Adjust the dynamic range of the output " +"audio track.\n" +"\n" +"For source audio that has a wide dynamic range (very loud and very soft " +"sequences),\n" +"DRC allows you to 'compress' the range by making loud sounds softer and soft " +"sounds louder." +msgstr "" + +#: src/ghb3.ui:9332 src/audiohandler.c:1768 +msgid "Set the audio codec to encode this track with." +msgstr "" + +#: src/ghb3.ui:9354 src/audiohandler.c:1782 +msgid "Bitrate" +msgstr "" + +#: src/ghb3.ui:9359 +msgid "Enable bitrate setting" +msgstr "" + +#: src/ghb3.ui:9369 src/audiohandler.c:1787 +msgid "Quality" +msgstr "" + +#: src/ghb3.ui:9374 +msgid "Enable quality setting" +msgstr "" + +#: src/ghb3.ui:9395 src/audiohandler.c:1801 +msgid "Set the bitrate to encode this track with." +msgstr "" + +#: src/ghb3.ui:9415 +msgid "" +"Quality: For output codec's that support it, adjust the quality of " +"the output." +msgstr "" + +#: src/ghb3.ui:9437 +msgid "00.0" +msgstr "" + +#: src/ghb3.ui:9464 src/audiohandler.c:1853 +msgid "Set the mixdown of the output audio track." +msgstr "" + +#: src/ghb3.ui:9480 src/audiohandler.c:1866 +msgid "Set the sample rate of the output audio track." +msgstr "" + +#: src/ghb3.ui:9503 src/audiohandler.c:1887 +msgid "" +"Audio Gain: Adjust the amplification or attenuation of the output " +"audio track." +msgstr "" + +#. Audio Gain Label +#: src/ghb3.ui:9521 src/audiohandler.c:1897 +msgid "0dB" +msgstr "" + +#. Audio DRC Label +#: src/ghb3.ui:9568 src/audiohandler.c:417 src/audiohandler.c:754 +#: src/audiohandler.c:1157 src/audiohandler.c:1931 src/callbacks.c:5224 +#: src/hb-backend.c:123 src/hb-backend.c:201 src/hb-backend.c:213 +#: src/hb-backend.c:225 src/hb-backend.c:237 src/hb-backend.c:263 +#: src/hb-backend.c:275 src/hb-backend.c:287 src/hb-backend.c:348 +msgid "Off" +msgstr "" + +#: src/ghb3.ui:9604 +msgid "Skip This Version" +msgstr "" + +#: src/ghb3.ui:9612 +msgid "Remind Me Later" +msgstr "" + +#: src/ghb3.ui:9681 +msgid "A new version of HandBrake is available!" +msgstr "" + +#: src/ghb3.ui:9697 +msgid "HandBrake xxx is now available (you have yyy)." +msgstr "" + +#: src/ghb3.ui:9725 +msgid "Release Notes" +msgstr "" + +#: src/audiohandler.c:429 src/audiohandler.c:750 src/audiohandler.c:1225 +#, c-format +msgid "%ddB" +msgstr "" + +#: src/audiohandler.c:726 +msgid "Quality: " +msgstr "" + +#: src/audiohandler.c:733 +#, c-format +msgid "Bitrate: %dkbps\n" +msgstr "" + +#: src/audiohandler.c:745 +#, c-format +msgid "%.4gkHz" +msgstr "" + +#: src/audiohandler.c:760 +#, c-format +msgid "%d - %s (%.4gkHz)" +msgstr "" + +#: src/audiohandler.c:765 +#, c-format +msgid "Bitrate: %.4gkbps" +msgstr "" + +#: src/audiohandler.c:771 +msgid "Passthrough" +msgstr "" + +#: src/audiohandler.c:780 +#, c-format +msgid "" +"%sGain: %s\n" +"DRC: %s\n" +"Track Name: %s" +msgstr "" + +#: src/audiohandler.c:785 +#, c-format +msgid "" +"%sGain: %s\n" +"DRC: %s" +msgstr "" + +#: src/audiohandler.c:1746 +msgid "" +"Add an audio encoder.\n" +"Each selected source track will be encoded with all selected encoders." +msgstr "" + +#: src/audiohandler.c:1826 +msgid "" +"Audio Quality:\n" +"For encoders that support it, adjust the quality of the output." +msgstr "" + +#: src/audiohandler.c:1946 +msgid "Remove this audio encoder" +msgstr "" + +#: src/callbacks.c:794 src/callbacks.c:2136 +msgid "Closing HandBrake will terminate encoding.\n" +msgstr "" + +#: src/callbacks.c:1379 +msgid "Not Selected" +msgstr "" + +#. This needs to be in scanning and working since scanning +#. happens fast enough that it can be missed +#: src/callbacks.c:1703 src/callbacks.c:4174 +msgid "Scanning ..." +msgstr "" + +#: src/callbacks.c:1739 src/callbacks.c:1740 +msgid "Stop Scan" +msgstr "" + +#: src/callbacks.c:2727 src/hb-backend.c:2086 src/hb-backend.c:2206 +#: src/hb-backend.c:2218 +msgid "No Title Found" +msgstr "" + +#: src/callbacks.c:2728 +msgid "New Video" +msgstr "" + +#: src/callbacks.c:3514 src/callbacks.c:3536 src/callbacks.c:3555 +#: src/callbacks.c:3587 +#, c-format +msgid "" +"%s\n" +"\n" +"%s in %d seconds ..." +msgstr "" + +#: src/callbacks.c:3658 src/callbacks.c:3700 +#, c-format +msgid "%sYour movie will be lost if you don't continue encoding." +msgstr "" + +#: src/callbacks.c:3661 src/callbacks.c:3703 src/queuehandler.c:1730 +msgid "Cancel Current and Stop" +msgstr "" + +#: src/callbacks.c:3662 +msgid "Cancel Current, Start Next" +msgstr "" + +#: src/callbacks.c:3663 +msgid "Finish Current, then Stop" +msgstr "" + +#: src/callbacks.c:3664 src/callbacks.c:3704 +msgid "Continue Encoding" +msgstr "" + +#: src/callbacks.c:3882 +#, c-format +msgid "%d encode pending" +msgstr "" + +#: src/callbacks.c:3886 +#, c-format +msgid "%d encodes pending" +msgstr "" + +#: src/callbacks.c:3943 src/callbacks.c:4011 +#, c-format +msgid "job %d of %d, " +msgstr "" + +#: src/callbacks.c:3953 +#, c-format +msgid "pass %d (subtitle scan) of %d, " +msgstr "" + +#: src/callbacks.c:3958 +#, c-format +msgid "pass %d of %d, " +msgstr "" + +#: src/callbacks.c:3971 +#, c-format +msgid "Encoding: %s%s%.2f %% (%.2f fps, avg %.2f fps, ETA %02dh%02dm%02ds)" +msgstr "" + +#: src/callbacks.c:3981 src/callbacks.c:4021 +#, c-format +msgid "Encoding: %s%s%.2f %% (ETA %02dh%02dm%02ds)" +msgstr "" + +#: src/callbacks.c:3991 src/callbacks.c:4030 +#, c-format +msgid "Encoding: %s%s%.2f %%" +msgstr "" + +#: src/callbacks.c:4017 +msgid "Searching for start time, " +msgstr "" + +#: src/callbacks.c:4092 +#, c-format +msgid "Scanning title %d of %d..." +msgstr "" + +#: src/callbacks.c:4096 +#, c-format +msgid "Scanning title %d of %d preview %d..." +msgstr "" + +#: src/callbacks.c:4185 +msgid "Paused" +msgstr "" + +#: src/callbacks.c:4216 +msgid "Encode Done!" +msgstr "" + +#: src/callbacks.c:4220 +msgid "Encode Canceled." +msgstr "" + +#: src/callbacks.c:4225 +msgid "Encode Failed." +msgstr "" + +#: src/callbacks.c:4267 +msgid "Muxing: This may take a while..." +msgstr "" + +#: src/callbacks.c:4869 +msgid "Scan this DVD source" +msgstr "" + +#: src/callbacks.c:5257 +#, c-format +msgid "HandBrake %s/%s is now available (you have %s/%d)." +msgstr "" + +#: src/callbacks.c:5438 +msgid "Encode Complete" +msgstr "" + +#: src/callbacks.c:5440 +msgid "Put down that cocktail, Your HandBrake queue is done!" +msgstr "" + +#: src/callbacks.c:5453 src/callbacks.c:5463 src/callbacks.c:5471 +msgid "Your encode is complete." +msgstr "" + +#: src/callbacks.c:5454 +msgid "Shutting down the computer" +msgstr "" + +#: src/callbacks.c:5464 +msgid "Putting computer to sleep" +msgstr "" + +#: src/callbacks.c:5472 +msgid "Quitting Handbrake" +msgstr "" + +#: src/hb-backend.c:61 src/hb-backend.c:86 +msgid "First Track Matching Selected Languages" +msgstr "" + +#: src/hb-backend.c:62 src/hb-backend.c:87 +msgid "All Tracks Matching Selected Languages" +msgstr "" + +#: src/hb-backend.c:73 +msgid "Foreign Audio Subtitle Track" +msgstr "" + +#: src/hb-backend.c:74 +msgid "First Selected Track" +msgstr "" + +#: src/hb-backend.c:75 +msgid "Foreign Audio, then First Selected Track" +msgstr "" + +#: src/hb-backend.c:97 +msgid "Chapters:" +msgstr "" + +#: src/hb-backend.c:98 +msgid "Seconds:" +msgstr "" + +#: src/hb-backend.c:99 +msgid "Frames:" +msgstr "" + +#: src/hb-backend.c:109 +msgid "Do Nothing" +msgstr "" + +#: src/hb-backend.c:110 +msgid "Show Notification" +msgstr "" + +#: src/hb-backend.c:111 +msgid "Quit Handbrake" +msgstr "" + +#: src/hb-backend.c:112 +msgid "Put Computer To Sleep" +msgstr "" + +#: src/hb-backend.c:113 +msgid "Shutdown Computer" +msgstr "" + +#: src/hb-backend.c:124 src/hb-backend.c:253 +msgid "Automatic" +msgstr "" + +#: src/hb-backend.c:125 +msgid "Loose" +msgstr "" + +#: src/hb-backend.c:126 src/hb-backend.c:338 +msgid "Custom" +msgstr "" + +#: src/hb-backend.c:162 +msgid "Week" +msgstr "" + +#: src/hb-backend.c:163 +msgid "Month" +msgstr "" + +#: src/hb-backend.c:164 +msgid "Year" +msgstr "" + +#: src/hb-backend.c:165 +msgid "Immortal" +msgstr "" + +#: src/hb-backend.c:175 +msgid "Never" +msgstr "" + +#: src/hb-backend.c:176 +msgid "Daily" +msgstr "" + +#: src/hb-backend.c:177 +msgid "Weekly" +msgstr "" + +#: src/hb-backend.c:178 +msgid "Monthly" +msgstr "" + +#: src/hb-backend.c:202 +msgid "Decomb" +msgstr "" + +#: src/hb-backend.c:203 +msgid "Yadif" +msgstr "" + +#: src/hb-backend.c:214 +msgid "NLMeans" +msgstr "" + +#: src/hb-backend.c:215 +msgid "HQDN3D" +msgstr "" + +#: src/hb-backend.c:226 +msgid "Unsharp" +msgstr "" + +#: src/hb-backend.c:227 +msgid "Lapsharp" +msgstr "" + +#: src/hb-backend.c:238 +msgid "90 Degrees" +msgstr "" + +#: src/hb-backend.c:239 +msgid "180 Degrees" +msgstr "" + +#: src/hb-backend.c:240 +msgid "270 Degrees" +msgstr "" + +#: src/hb-backend.c:251 +msgid "Spatial" +msgstr "" + +#: src/hb-backend.c:252 +msgid "Temporal" +msgstr "" + +#: src/hb-backend.c:264 +msgid "Fast" +msgstr "" + +#: src/hb-backend.c:265 +msgid "Optimal" +msgstr "" + +#: src/hb-backend.c:276 +msgid "Strict" +msgstr "" + +#: src/hb-backend.c:277 +msgid "Normal" +msgstr "" + +#: src/hb-backend.c:288 +msgid "Simple" +msgstr "" + +#: src/hb-backend.c:289 +msgid "Smart" +msgstr "" + +#: src/hb-backend.c:299 +msgid "Diamond" +msgstr "" + +#: src/hb-backend.c:300 +msgid "Hexagon" +msgstr "" + +#: src/hb-backend.c:301 +msgid "Uneven Multi-Hexagon" +msgstr "" + +#: src/hb-backend.c:302 +msgid "Exhaustive" +msgstr "" + +#: src/hb-backend.c:303 +msgid "Hadamard Exhaustive" +msgstr "" + +#: src/hb-backend.c:313 +msgid "0: SAD, no subpel" +msgstr "" + +#: src/hb-backend.c:314 +msgid "1: SAD, qpel" +msgstr "" + +#: src/hb-backend.c:315 +msgid "2: SATD, qpel" +msgstr "" + +#: src/hb-backend.c:316 +msgid "3: SATD: multi-qpel" +msgstr "" + +#: src/hb-backend.c:317 +msgid "4: SATD, qpel on all" +msgstr "" + +#: src/hb-backend.c:318 +msgid "5: SATD, multi-qpel on all" +msgstr "" + +#: src/hb-backend.c:319 +msgid "6: RD in I/P-frames" +msgstr "" + +#: src/hb-backend.c:320 +msgid "7: RD in all frames" +msgstr "" + +#: src/hb-backend.c:321 +msgid "8: RD refine in I/P-frames" +msgstr "" + +#: src/hb-backend.c:322 +msgid "9: RD refine in all frames" +msgstr "" + +#: src/hb-backend.c:323 +msgid "10: QPRD in all frames" +msgstr "" + +#: src/hb-backend.c:324 +msgid "11: No early terminations in analysis" +msgstr "" + +#: src/hb-backend.c:334 +msgid "Most" +msgstr "" + +#: src/hb-backend.c:336 +msgid "Some" +msgstr "" + +#: src/hb-backend.c:337 src/main.c:1152 src/queuehandler.c:1560 +msgid "All" +msgstr "" + +#: src/hb-backend.c:349 +msgid "Encode only" +msgstr "" + +#: src/hb-backend.c:350 +msgid "Always" +msgstr "" + +#: src/hb-backend.c:1347 src/hb-backend.c:1407 src/hb-backend.c:1486 +msgid "Same as source" +msgstr "" + +#: src/hb-backend.c:1500 +msgid "(NTSC Film)" +msgstr "" + +#: src/hb-backend.c:1504 +msgid "(PAL Film/Video)" +msgstr "" + +#: src/hb-backend.c:1508 +msgid "(NTSC Video)" +msgstr "" + +#: src/hb-backend.c:2075 +#, c-format +msgid "%s - (%05d.MPLS)" +msgstr "" + +#: src/hb-backend.c:2225 +#, c-format +msgid "%3d - %02dh%02dm%02ds - %s" +msgstr "" + +#: src/hb-backend.c:2244 +#, c-format +msgid "%3d - %02dh%02dm%02ds - (%05d.MPLS)" +msgstr "" + +#: src/hb-backend.c:2250 +#, c-format +msgid "%3d - (%05d.MPLS)" +msgstr "" + +#: src/hb-backend.c:2256 +#, c-format +msgid "%3d - %02dh%02dm%02ds" +msgstr "" + +#: src/hb-backend.c:2290 +msgid "No Titles" +msgstr "" + +#. No audio. set some default +#: src/hb-backend.c:2575 +msgid "No Audio" +msgstr "" + +#: src/hb-backend.c:4171 +#, c-format +msgid "" +"Invalid Detelecine Settings:\n" +"\n" +"Preset:\t%s\n" +"Custom:\t%s\n" +msgstr "" + +#: src/hb-backend.c:4178 +#, c-format +msgid "" +"Invalid Detelecine Settings:\n" +"\n" +"Preset:\t%s\n" +msgstr "" + +#: src/hb-backend.c:4204 +#, c-format +msgid "" +"Invalid Comb Detect Settings:\n" +"\n" +"Preset:\t%s\n" +"Custom:\t%s\n" +msgstr "" + +#: src/hb-backend.c:4211 +#, c-format +msgid "" +"Invalid Comb Detect Settings:\n" +"\n" +"Preset:\t%s\n" +msgstr "" + +#: src/hb-backend.c:4240 +#, c-format +msgid "" +"Invalid Deinterlace Settings:\n" +"\n" +"Filter:\t%s\n" +"Preset:\t%s\n" +"Custom:\t%s\n" +msgstr "" + +#: src/hb-backend.c:4249 +#, c-format +msgid "" +"Invalid Deinterlace Settings:\n" +"\n" +"Filter:\t%s\n" +"Preset:\t%s\n" +msgstr "" + +#: src/hb-backend.c:4278 +#, c-format +msgid "" +"Invalid Denoise Settings:\n" +"\n" +"Filter:\t%s\n" +"Preset:\t%s\n" +"Tune:\t%s\n" +"Custom:\t%s\n" +msgstr "" + +#: src/hb-backend.c:4306 +#, c-format +msgid "" +"Invalid Sharpen Settings:\n" +"\n" +"Filter:\t%s\n" +"Preset:\t%s\n" +"Tune:\t%s\n" +"Custom:\t%s\n" +msgstr "" + +#: src/hb-backend.c:4340 +msgid "" +"Theora is not supported in the MP4 container.\n" +"\n" +"You should choose a different video codec or container.\n" +"If you continue, FFMPEG will be chosen for you." +msgstr "" + +#: src/hb-backend.c:4350 +msgid "" +"Only VP8 or VP9 is supported in the WebM container.\n" +"\n" +"You should choose a different video codec or container.\n" +"If you continue, one will be chosen for you." +msgstr "" + +#: src/hb-backend.c:4359 src/hb-backend.c:4416 src/hb-backend.c:4436 +#: src/hb-backend.c:4456 src/hb-backend.c:4517 src/hb-backend.c:4572 +msgid "Continue" +msgstr "" + +#. No valid title, stop right there +#: src/hb-backend.c:4385 src/hb-backend.c:4481 +msgid "No title found.\n" +msgstr "" + +#: src/hb-backend.c:4412 +msgid "" +"Only one subtitle may be burned into the video.\n" +"\n" +"You should change your subtitle selections.\n" +"If you continue, some subtitles will be lost." +msgstr "" + +#: src/hb-backend.c:4432 +msgid "" +"WebM in HandBrake only supports burned subtitles.\n" +"\n" +"You should change your subtitle selections.\n" +"If you continue, some subtitles will be lost." +msgstr "" + +#: src/hb-backend.c:4452 +msgid "" +"SRT file does not exist or not a regular file.\n" +"\n" +"You should choose a valid file.\n" +"If you continue, this subtitle will be ignored." +msgstr "" + +#: src/hb-backend.c:4513 +msgid "" +"The source does not support Pass-Thru.\n" +"\n" +"You should choose a different audio codec.\n" +"If you continue, one will be chosen for you." +msgstr "" + +#: src/hb-backend.c:4568 +#, c-format +msgid "" +"%s is not supported in the %s container.\n" +"\n" +"You should choose a different audio codec.\n" +"If you continue, one will be chosen for you." +msgstr "" + +#: src/main.c:98 +#, c-format +msgid "" +"Unable to create %s.\n" +"\n" +"Internal error. Could not parse UI description.\n" +"%s" +msgstr "" + +#: src/main.c:236 src/main.c:301 +msgid "Track Information" +msgstr "" + +#: src/main.c:363 +msgid "Preset Name" +msgstr "" + +#: src/main.c:581 +msgid "The device or file to encode" +msgstr "" + +#: src/main.c:582 +msgid "The preset values to use for encoding" +msgstr "" + +#: src/main.c:583 +msgid "Spam a lot" +msgstr "" + +#: src/main.c:584 +msgid "The path to override user config dir" +msgstr "" + +#: src/main.c:586 +msgid "Open a console for debug output" +msgstr "" + +#: src/presets.c:1233 +msgid "ghb_presets_menu_init: Failed to find presets folder." +msgstr "" + +#: src/presets.c:1389 +msgid "Failed to find parent folder when adding child." +msgstr "" + +#: src/presets.c:1849 +msgid "" +"Presets found are newer than what is supported by this version of " +"HandBrake!\n" +"\n" +"Would you like to continue?" +msgstr "" + +#: src/presets.c:1852 +msgid "Get me out of here!" +msgstr "" + +#: src/presets.c:1852 +msgid "Load backup presets" +msgstr "" + +#: src/presets.c:1998 +msgid "All (*)" +msgstr "" + +#: src/presets.c:2003 +msgid "Presets (*.json)" +msgstr "" + +#: src/presets.c:2009 +msgid "Legacy Presets (*.plist)" +msgstr "" + +#: src/presets.c:2105 +msgid "Export Preset" +msgstr "" + +#: src/presets.c:2432 +#, c-format +msgid "" +"Confirm deletion of %s:\n" +"\n" +"%s" +msgstr "" + +#: src/presets.c:2433 +msgid "folder" +msgstr "" + +#: src/presets.c:2433 +msgid "preset" +msgstr "" + +#: src/preview.c:488 +#, c-format +msgid "" +"Missing GStreamer plugin\n" +"Audio or Video may not play as expected\n" +"\n" +"%s" +msgstr "" + +#: src/queuehandler.c:193 +#, c-format +msgid "%s (Modified)" +msgstr "" + +#: src/queuehandler.c:238 +msgid "Align A/V" +msgstr "" + +#: src/queuehandler.c:248 +msgid "iPod 5G" +msgstr "" + +#: src/queuehandler.c:280 +#, c-format +msgid "" +"%d:%d:%d:%d Crop\n" +"%dx%d storage, %dx%d display\n" +"%d:%d Pixel Aspect Ratio\n" +"%s Display Aspect Ratio" +msgstr "" + +#: src/queuehandler.c:311 +#, c-format +msgid "%s, Bitrate %dkbps" +msgstr "" + +#: src/queuehandler.c:316 +#, c-format +msgid "%s, Bitrate %dkbps (2 Pass)" +msgstr "" + +#: src/queuehandler.c:323 +#, c-format +msgid "%s, Constant Quality %.4g(%s)" +msgstr "" + +#: src/queuehandler.c:356 +#, c-format +msgid "%sPreset %s" +msgstr "" + +#: src/queuehandler.c:361 +#, c-format +msgid "%sTune %s" +msgstr "" + +#: src/queuehandler.c:366 +#, c-format +msgid "%sProfile %s" +msgstr "" + +#: src/queuehandler.c:371 +#, c-format +msgid "%sLevel %s" +msgstr "" + +#: src/queuehandler.c:388 +#, c-format +msgid "" +"\n" +"Constant Framerate %s fps" +msgstr "" + +#: src/queuehandler.c:392 +#, c-format +msgid "" +"\n" +"Peak Framerate %s fps (may be lower)" +msgstr "" + +#: src/queuehandler.c:397 +#, c-format +msgid "" +"\n" +"Variable Framerate %s fps" +msgstr "" + +#: src/queuehandler.c:563 src/queuehandler.c:594 +msgid ", Forced Only" +msgstr "" + +#: src/queuehandler.c:567 src/queuehandler.c:598 +msgid ", Burned" +msgstr "" + +#: src/queuehandler.c:571 src/queuehandler.c:602 +msgid ", Default" +msgstr "" + +#: src/queuehandler.c:658 src/queuehandler.c:1157 +msgid "Completed" +msgstr "" + +#: src/queuehandler.c:662 src/queuehandler.c:1161 +msgid "Canceled" +msgstr "" + +#: src/queuehandler.c:666 src/queuehandler.c:1165 +msgid "Failed" +msgstr "" + +#: src/queuehandler.c:671 +msgid "Pending" +msgstr "" + +#: src/queuehandler.c:707 src/queuehandler.c:735 src/queuehandler.c:1205 +#: src/queuehandler.c:1233 +#, c-format +msgid "%d Day %02d:%02d:%02d" +msgstr "" + +#: src/queuehandler.c:710 src/queuehandler.c:738 src/queuehandler.c:1208 +#: src/queuehandler.c:1236 +#, c-format +msgid "%d Days %02d:%02d:%02d" +msgstr "" + +#: src/queuehandler.c:751 src/queuehandler.c:1249 +msgid "B" +msgstr "" + +#: src/queuehandler.c:755 src/queuehandler.c:1253 +msgid "KB" +msgstr "" + +#: src/queuehandler.c:760 src/queuehandler.c:1258 +msgid "MB" +msgstr "" + +#: src/queuehandler.c:765 src/queuehandler.c:1263 +msgid "GB" +msgstr "" + +#: src/queuehandler.c:776 src/queuehandler.c:1274 +msgid "Not Available" +msgstr "" + +#: src/queuehandler.c:1109 +msgid "Foreign Audio Search" +msgstr "" + +#: src/queuehandler.c:1113 +msgid "Encode" +msgstr "" + +#: src/queuehandler.c:1117 +msgid "Encode First Pass (Analysis)" +msgstr "" + +#: src/queuehandler.c:1121 +msgid "Encode Second Pass (Final)" +msgstr "" + +#. Should never happen +#: src/queuehandler.c:1126 +msgid "Error" +msgstr "" + +#: src/queuehandler.c:1130 +#, c-format +msgid "" +"pass %d of %d\n" +"%s" +msgstr "" + +#: src/queuehandler.c:1142 +msgid "Scanning Title" +msgstr "" + +#: src/queuehandler.c:1146 +msgid "Encoding Paused" +msgstr "" + +#: src/queuehandler.c:1150 +msgid "Encoding In Progress" +msgstr "" + +#. Should never happen +#: src/queuehandler.c:1170 +msgid "Unknown" +msgstr "" + +#: src/queuehandler.c:1723 +#, c-format +msgid "" +"%sThe destination filesystem is almost full: % MB free.\n" +"Destination: %s\n" +"Encode may be incomplete if you proceed.\n" +msgstr "" + +#: src/queuehandler.c:1728 +msgid "Resume, I've fixed the problem" +msgstr "" + +#: src/queuehandler.c:1729 +msgid "Resume, Don't tell me again" +msgstr "" + +#: src/queuehandler.c:1783 +#, c-format +msgid "" +"Destination: %s\n" +"\n" +"Another queued job has specified the same destination.\n" +"Do you want to overwrite?" +msgstr "" + +#: src/queuehandler.c:1788 src/queuehandler.c:1834 +msgid "Overwrite" +msgstr "" + +#: src/queuehandler.c:1801 +#, c-format +msgid "" +"Destination: %s\n" +"\n" +"This is not a valid directory." +msgstr "" + +#: src/queuehandler.c:1815 +#, c-format +msgid "" +"Destination: %s\n" +"\n" +"Can not read or write the directory." +msgstr "" + +#: src/queuehandler.c:1829 +#, c-format +msgid "" +"Destination: %s\n" +"\n" +"File already exists.\n" +"Do you want to overwrite?" +msgstr "" + +#: src/queuehandler.c:2142 +msgid "Select this title for adding to the queue.\n" +msgstr "" + +#. Title label +#: src/queuehandler.c:2150 +msgid "No Title" +msgstr "" + +#: src/queuehandler.c:2160 +msgid "" +"There is another title with the same destination file name.\n" +"This title will not be added to the queue unless you change\n" +"the output file name.\n" +msgstr "" + +#: src/queuehandler.c:2324 src/queuehandler.c:2337 +msgid "Stop" +msgstr "" + +#: src/queuehandler.c:2325 src/queuehandler.c:2338 src/queuehandler.c:2350 +msgid "Stop Encoding" +msgstr "" + +#: src/queuehandler.c:2349 +msgid "S_top Encoding" +msgstr "" + +#: src/queuehandler.c:2362 src/queuehandler.c:2375 +msgid "Resume" +msgstr "" + +#: src/queuehandler.c:2363 src/queuehandler.c:2376 src/queuehandler.c:2388 +msgid "Resume Encoding" +msgstr "" + +#: src/queuehandler.c:2387 +msgid "_Resume Encoding" +msgstr "" + +#: src/queuehandler.c:3018 +msgid "" +"You are currently encoding. What would you like to do?\n" +"\n" +msgstr "" + +#: src/subtitlehandler.c:1380 +#, c-format +msgid "Preferred Language: %s" +msgstr "" + +#: src/subtitlehandler.c:1394 +#, c-format +msgid "Add %s subtitle track if default audio is not %s" +msgstr "" + +#: src/subtitlehandler.c:1399 +msgid "Add subtitle track if default audio is not your preferred language" +msgstr "" + +#: src/videohandler.c:203 +#, c-format +msgid "" +"%s\n" +"\n" +"Expanded Options:\n" +"\"%s\"" +msgstr "" + +#: src/videohandler.c:206 +#, c-format +msgid "" +"%s\n" +"\n" +"Expanded Options:\n" +"\"\"" +msgstr "" + +#: src/videohandler.c:350 +#, c-format +msgid "%s: %.4g (Warning: lossless)" +msgstr "" diff --git a/gtk/po/insert-header.sin b/gtk/po/insert-header.sin new file mode 100644 index 000000000..b26de01f6 --- /dev/null +++ b/gtk/po/insert-header.sin @@ -0,0 +1,23 @@ +# Sed script that inserts the file called HEADER before the header entry. +# +# At each occurrence of a line starting with "msgid ", we execute the following +# commands. At the first occurrence, insert the file. At the following +# occurrences, do nothing. The distinction between the first and the following +# occurrences is achieved by looking at the hold space. +/^msgid /{ +x +# Test if the hold space is empty. +s/m/m/ +ta +# Yes it was empty. First occurrence. Read the file. +r HEADER +# Output the file's contents by reading the next line. But don't lose the +# current line while doing this. +g +N +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff --git a/gtk/po/quot.sed b/gtk/po/quot.sed new file mode 100644 index 000000000..0122c4631 --- /dev/null +++ b/gtk/po/quot.sed @@ -0,0 +1,6 @@ +s/"\([^"]*\)"/“\1”/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“”/""/g diff --git a/gtk/po/remove-potcdate.sin b/gtk/po/remove-potcdate.sin new file mode 100644 index 000000000..2436c49e7 --- /dev/null +++ b/gtk/po/remove-potcdate.sin @@ -0,0 +1,19 @@ +# Sed script that remove the POT-Creation-Date line in the header entry +# from a POT file. +# +# The distinction between the first and the following occurrences of the +# pattern is achieved by looking at the hold space. +/^"POT-Creation-Date: .*"$/{ +x +# Test if the hold space is empty. +s/P/P/ +ta +# Yes it was empty. First occurrence. Remove the line. +g +d +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} -- cgit v1.2.3